在此注明:这是一个篇2020年7月的文章,因为微信每个月都有更新到,我这里没有更新到这么快,比喻分享朋友圈这个是微信七月新出的功能,所以我后续可能不能更新这么快,如果有需要的话,可以AT博主更新。在此抱歉。
本文中会有以下这些功能的解读:
1、分享功能
2、客服功能
3、分享朋友圈功能
4、生成二维码功能
5、授权获取用户openid功能
6、直播功能
7、支付功能
一、分享功能
1、wxml代码:
<button class='fenxiang' open-type='share' >
分享功能
</button>
2、wxss代码:
/* 分享功能 */
.fenxiang{
background-color: #4CAF50; /* Green */
border: none;
color: white;
padding: 10px 25px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
margin: 10px 10px 10px 10px;
cursor: pointer;
}
3、js代码:
/*用户点击右上角分享 */
onShareAppMessage: function () {
return {
//填写你的简介或者信息
title: '案例',
//填写你分享出去,别人点击后跳转的页面
path: '/mzhk_sun/pages/index/index/',
//填写你分享也页面图片
imageUrl: 'https://xcx.malaci.com.cn/attachment/images/951/2019/07/fNxc0MQlaXiuQaPKuaQKKNwcQXaQIM.png',
success: function (res) {
// 转发成功
},
fail: function (res) {
// 转发失败
}
}
},
3、分享页面中的bear,是你分享过去的时候是会显示你,分享的小程序的名字跟图标的。
二、客服功能
前提:微信公众后台添加到这个功能,这个功能不可以在开发工具中打开,只能在真机调试模式测试。
<button class='fenxiang' open-type='contact' bindcontact="handleContact" >
客服
</button>
1、他跟分享功能是差不多的,使用了open-type组件。
2、你可以在图二中点击网页端客服或者移动端客服,进去客服后台,查看到客服信息和设置。
三、分享朋友圈功能
1、由于是微信七月更新的新功能,微信那边也不是很完善,也在一直更新,但是还是能用的,而且朋友圈的功能,也有很多好处的。这个功能整加了小程序的曝光度,都不用群发,就可以让大家看到你的小程序了。
1、分享后的封面图是默认小程序的logo,标题是默认当前分享的小程序的页面导航标题。
2、使用的时候再真机调试使用,或者上线也可以。
3、调试基础库用最高的
2、自定义分享的封面、标题和页面参数
可以使用页面的分享朋友圈事件处理函数:onShareTimeline(),
编写方法参考微信开发文档:https://developers.weixin.qq.com/miniprogram/dev/reference/api/Page.html#onShareTimeline
3、调用wx.showShareMenu,在需要转发的页面的onLoad(onShow也可以)事件里加入如下代码:
wx.showShareMenu({
withShareTicket: true,
menus: ['shareAppMessage', 'shareTimeline']
})
四、生成二维码功能
微信小程序二维码的生成,主要也是调用了微信的第三方接口,通过接口返回的数据,进行生成一张二维码图片。
开发文档链接:https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/qr-code/wxacode.getUnlimited.html
1、html
/*点击生成二维码的按钮*/
<view class='fenxiang' style="width: 100px;" bindtap='erweima'>
生成二维码
</view>
/*二维码生成的图片*/
<view style="height: 200rpx;width: 200rpx;">
<image src="{
{imgUrl}}" style="height:200rpx;width:200rpx;"></image>
</view>
2、js
erweima(e) {
wx.request({
//接口方法的url,下面改成你们自己方法路径
'url': '填写自己方法接口',
//成功后返回的数据res
success: function (res) {
//打印返回的数据
console.log(res);
//声明常量
var imgUrl = res.data;
//输出数据到html中
that.setData({
imgUrl: imgUrl
})
}
})
},
3、后端
//生成微信二维码
public function doPageerweima()
{
$appid = "填自己的小程序appid";
$secret = "填自己的小程序密钥";
header('content-type:text/html;charset=utf-8');
//配置APPID、APPSECRET
$APPID = $appid;
$APPSECRET = $secret;
//获取access_token
$access_token = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$APPID&secret=$APPSECRET";
function httptoken ($access_token, $data=null)
{
$curl = curl_init();
//curl_setopt设置一个cURL传输选项。
//CURLOPT_URL需要获取的URL地址,也可以在curl_init()函数中设置。
curl_setopt($curl, CURLOPT_URL, $access_token);
//CURLOPT_SSL_VERIFYPEER禁用后cURL将终止从服务端进行验证。使用CURLOPT_CAINFO选项设置证书使用CURLOPT_CAPATH选项设置证书目录 如果CURLOPT_SSL_VERIFYPEER(默认值为2)被启用,CURLOPT_SSL_VERIFYHOST需要被设置成TRUE否则设置为FALSE。
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
if (!empty($data)) {
//CURLOPT_POST启用时会发送一个常规的POST请求,类型为:application/x-www-form-urlencoded,就像表单提交的一样。
curl_setopt($curl, CURLOPT_POST, 1);
//CURLOPT_POSTFIELDS全部数据使用HTTP协议中的"POST"操作来发送。要发送文件,在文件名前面加上@前缀并使用完整路径。这个参数可以通过urlencoded后的字符串类似'para1=val1¶2=val2&...'或使用一个以字段名为键值,字段数据为值的数组。如果value是一个数组,Content-Type头将会被设置成multipart/form-data。
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
}
//CURLOPT_RETURNTR