1.wxacode.getUnlimited
请求地址后面必须拼接 ?access_token=ACCESS_TOKEN
2.小程序接口报错request:fail response data convert to UTF8 fail
报错原因是因为这个API需要在后端调用而不是前端调用
3.关于授权拒绝后再次调用授权
调用某个需要授权的API失败出现的情况:
I:第一次调用自动弹出授权弹,拒绝后再次调用失败。
II:第一次调用自动弹出授权弹,授权后再次调用因某些原因失败
使用wx.getSetting()查询授权状态,如果已授权则直接调用wx.openSetting()打开授权设置,若未授权直接调用wx.openSetting()无效,所以调用wx.openSetting()前先弹框询问后再调用
//to do something...
fail(res) {
//调用失败
//查询授权状态
wx.getSetting({
success(res) {
//保存到相册权限
if (!res.authSetting["scope.writePhotosAlbum"]) {
//若直接调用无效
// wx.openSetting({
// success(res){}
//});
wx.showModal({
title: "是否授权保存图片到相册",
content:"需要授权,否则无法保存图片到相册",
success(res) {
if (res.confirm) {
mpvue.openSetting({
success(res){
console.log(res);
}
})
}
}
});
}else{
wx.openSetting();
}
},
})
}
4request请求返回数据为{cookies: Array(0), errMsg: "request:ok"}导致return resolve(res)出错
解决方案
将
改为
5关于小程序码参数解析问题
文档中说明
因此代码为
mounted() {
// 隐藏右上角转发按钮
mpvue.hideShareMenu();
const that = this;
const data = this.$root.$mp.query;
// 判断是否为小程序码进入该页面
if (data.scene) {
// 小程序码传入的参数
let scene = decodeURIComponent(data.scene);
let tempArray = scene.split('&');
tempArray.forEach(element => {
let data = element.split('=');
switch (data[0]) {
case 'pid'://参数pid
posterId = data[1]
break;
case 'sid'://参数sid
sid = data[1]
break;
case 'mid'://参数mid
mid = data[1]
break;
default:
break;
}
});
}
},