最近用的小程序和公众号功能

生成小程序链接,用于h5按钮跳转

获取 URL Link

$config = [
'app_id' => env('WXAPP_APP_ID'),
'secret' => env('WXAPP_SECRET'),
'mch_id' => env('WXAPP_MCH_ID'),
'key' => env('WXAPP_KEY'),
// 如需使用敏感接口(如退款、发送红包等)需要配置 API 证书路径(登录商户平台下载 API 证书)
'cert_path' => base_path(env('WXAPP_CERT_PATH')), // XXX: 绝对路径!!!!
'key_path' => base_path(env('WXAPP_KEY_PATH')),      // XXX: 绝对路径!!!!
];
$app = Factory::miniProgram($config);
$accessToken = $app->access_token;
$token = $accessToken->getToken(true); // 强制重新从微信服务器获取 token.
$access_token = $token['access_token'] ?? '';
$url = 'https://api.weixin.qq.com/wxa/generate_urllink?access_token=' . $access_token;
$data = [
'path' => 'pages/index/index',
//            'query' => "testid=111",
'is_expire' => false,//到期失效:true,永久有效:false
//            'expire_type' => 1,
//            'expire_interval' => 3,
];
$res = MyTools::httpPost($url, json_encode($data));
dd($res);

将公众号二维码转成小程序码[发布才能生效]

增加或修改二维码规则

$token = WechatController::getAccessToken();
$access_token = $token['access_token'] ?? '';
$url = 'https://api.weixin.qq.com/cgi-bin/wxopen/qrcodejumpadd?access_token=' . $access_token;
$data = [
'prefix' => 'http://weixin.qq.com/q/02aheXM_EscgD100000070',
//            'appid' => env('WXAPP_APP_ID'),
'appid' => 'xxxxx',
'path' => 'pages/home/index',
'is_edit' => 1,
];
$res = MyTools::httpPost($url, json_encode($data));
dd($res);

发布已设置的二维码规则

$token = WechatController::getAccessToken();
$access_token = $token['access_token'] ?? '';
$url = 'https://api.weixin.qq.com/cgi-bin/wxopen/qrcodejumppublish?access_token=' . $access_token;
$data = [
'prefix' => 'http://weixin.qq.com/q/02aheXM_EscgD100000070',
];
$res = MyTools::httpPost($url, json_encode($data));
dd($res);
public static function getAccessToken()
{
$app = app('wechat.official_account');
$accessToken = $app->access_token;
//        $token = $accessToken->getToken(); // token 数组  token['access_token'] 字符串
$token = $accessToken->getToken(true); // 强制重新从微信服务器获取 token.
return $token;
}

获取不限制的小程序码

生成可以切换小程序版本,正式版为 “release”,体验版为 “trial”,开发版为 “develop”。默认是正式版。
官方文档

$config = [
'app_id' => env('WXAPP_APP_ID'),
'secret' => env('WXAPP_SECRET'),
'mch_id' => env('WXAPP_MCH_ID'),
'key' => env('WXAPP_KEY'),
// 如需使用敏感接口(如退款、发送红包等)需要配置 API 证书路径(登录商户平台下载 API 证书)
'cert_path' => base_path(env('WXAPP_CERT_PATH')), // XXX: 绝对路径!!!!
'key_path' => base_path(env('WXAPP_KEY_PATH')),      // XXX: 绝对路径!!!!
];
$app = Factory::miniProgram($config);
$accessToken = $app->access_token;
$token = $accessToken->getToken(true); // 强制重新从微信服务器获取 token.
$access_token = $token['access_token'] ?? '';
$url = 'https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=' . $access_token;
$data = [
'scene' => 'param6666',
'page' => 'pages/index/index',
'env_version' => 'release', //要打开的小程序版本。正式版为 "release",体验版为 "trial",开发版为 "develop"。默认是正式版。
];
$content = MyTools::httpPost($url, json_encode($data));
$res = file_put_contents(public_path() . '/8888.jpg', $content); // 写入文件
dd($res);

二维码加logo

public static function qraddlogo($QR, $logo, $filename)
{
$QR = imagecreatefromstring(MyTools::httpGet($QR));
$logo = imagecreatefromstring(MyTools::httpGet($logo));
$QR_width = imagesx($QR);//二维码图片宽度
$QR_height = imagesy($QR);//二维码图片高度
$logo_width = imagesx($logo);//logo图片宽度
$logo_height = imagesy($logo);//logo图片高度
$logo_qr_width = $QR_width / 5;
$scale = $logo_width / $logo_qr_width;
$logo_qr_height = $logo_height / $scale;
$from_width = ($QR_width - $logo_qr_width) / 2;
//重新组合图片并调整大小
imagecopyresampled($QR, $logo, $from_width, $from_width, 0, 0, $logo_qr_width,
$logo_qr_height, $logo_width, $logo_height);

imagejpeg($QR, $filename);
}
本作品采用《CC 协议》,转载必须注明作者和本文链接
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 2

你也太优秀了呀

1年前 评论
my38778570 (楼主) 1年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!