前提条件:有一个完成认证非个人的微信小程序,小程序有一个页面contactus有一个你的微信二维码图片,例如地址是/pages/contactus/contactus。
1、通过后端代码生成微信小程序的url-scheme链接,类似于这样的:weixin://dl/business/?t= *TICKET*,生成这个url-scheme链接的代码在最后面:
2、用url-scheme链接做一个跳转的h5网页
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum=1.0,minimum=1.0,user-scalable=0" />
<title>加我我好友</title>
<style>
body{
text-align: center;
padding-top: 200px;
}
</style>
</head>
<body>
<a href="weixin://dl/business/?t=TICKET">加我我好友</a>
</body>
</html>2、把这个网页放到web服务器上,然后在抖音中发送包含链接跳转的h5网页地址即可
参考:https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/qrcode-link/url-scheme/generateScheme.html
https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/url-scheme.html
最后奉上php生成微信小程序url-scheme链接的代码
点击查看全文
<?php
function curlPost($url, $data, $method = "POST") {
$ch = curl_init(); //1.初始化
curl_setopt($ch, CURLOPT_URL, $url); //2.请求地址
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method); //3.请求方式
//4.参数如下
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); //https
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)'); //模拟浏览器
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept-Encoding: gzip, deflate')); //gzip解压内容
curl_setopt($ch, CURLOPT_ENCODING, 'gzip,deflate');
if ($method == "POST") {
//5.post方式的时候添加数据
$data = json_encode($data);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$tmpInfo = curl_exec($ch); //6.执行
if (curl_errno($ch)) {
//7.如果出错
return curl_error($ch);
}
curl_close($ch); //8.关闭
return $tmpInfo;
}
$appid = "";
$appsecret = "";
//path是要跳转的小程序页面地址,query为要携带的参数,通过 URL Scheme 打开小程序的场景值为 1065。
$body = ['jump_wxa' => ['path' => '/pages/contactus/contactus',
'query' => 'fromsource=1']];
$tokenurl = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' . $appid . '&secret=' . $appsecret;
$data = file_get_contents($tokenurl);
$data = json_decode($data, true);
$token = $data['access_token'];
$url = "https://api.weixin.qq.com/wxa/generatescheme?access_token=" . $token;
$data = curlPost($url, $body);
$linkdata=json_decode($data,true);
echo $linkdata['openlink'];
var_dump($data); 网友回复
systemd-nspawn与unshare区别?
Firejail、Bubblewrap沙箱与docker、podman容器区别?
如何访问unshare -n -- python3 -m http.server 8000创建的网站url?
linux中如何限制进程执行非法的系统调用命令,例如reboot 删除等等?
pivot_root与chroot有啥区别?
linux中如何限制进程使用cpu、内存、网络的最大值?
用户态沙箱、硬件隔离、namespace + cgroups的隔离有啥不同?
OverlayFS、AUFS 、 Btrfs的区别是啥?
linux上各种Namespace有啥作用?
linux体积最小最精简的版本是多大?


