ajax方法:
'''
// 请求封装
export const ajax = (url, data, f = true) => {
if (f) {
uni.showLoading({
title: '加载中...'
});
}
return uni.request({
method: 'GET',
url,
data,
header: {
"Content-Type": "application/x-www-form-urlencoded"
},
timeout: 30000,
}).then(result => {
uni.hideLoading();
if (Array.isArray(result) && result[1]) {
let data = result[1].data || {};
if (data.err_code == 0) {
return Promise.resolve(data);
} else {
if (data.err_code == 2001) {
// #ifdef APP-PLUS
wx.reLaunch({
url: '/pages/sms/smsverification'
})
// #endif
// #ifdef MP-WEIXIN
wx.reLaunch({
url: '/pages/index/index?login=2'
})
// #endif
} else {
//注释掉的原因是后台删除了某个设备组时请求数据会返回30001 权限不够
// let title = errorList[data.err_code];
// layer.toptip(title)
}
}
} else {
layer.fail('数据解析错误')
}
}).catch((err) => {
uni.hideLoading();
return Promise.reject(err);
});
}
'''
getWxSession方法
'''
//原生平台使用wx获取session
export const getWxSession = (userInfo) => {
var info = JSON.parse(userInfo);
console.log("---11---",info);
return ajax("**", info).then(res => {
console.log("---222---",res.data);
Object.assign(AppConfig, res.data);
console.log("------",AppConfig);
if (AppConfig.session != '' && AppConfig.session != null) {
uni.switchTab({
url: "/pages/index/index"
})
}
return res.data.userinfo;
});
}
'''
vue调用:
'''
uni.getProvider({
service: 'oauth',
success: function(res) {
if (~res.provider.indexOf('weixin')) {
uni.login({
provider: 'weixin',
success: function(loginRes) {
uni.getUserInfo({
success: (res) => {
var info = JSON.stringify(res.userInfo);
console.log("---------"+info);
getWxSession(info).then(userInfoRes => {
_other.saveTheLocal(userInfoRes,"weixin");
})
}
})
},
fail: function(res) {
// return Promise.resolve(res || {})
}
})
}
},
fail: (res) => {
console.log("---拉取第三方授权失败----", res);
}
});
'''
m***@163.com
您好 请问是怎么解决的?我们也遇到这样的问题了
2021-04-09 13:44