103 lines
2.1 KiB
JavaScript
103 lines
2.1 KiB
JavaScript
export default {
|
|
data() {
|
|
return {
|
|
authInfo: {}
|
|
}
|
|
},
|
|
methods: {
|
|
/**
|
|
* 获取用户登录凭证code
|
|
*/
|
|
getCode(callback) {
|
|
// 微信小程序
|
|
// #ifdef MP-WEIXIN
|
|
uni.login({
|
|
provider: 'weixin',
|
|
timeout: 3000,
|
|
success: res => {
|
|
if (res.code) {
|
|
this.$api.sendRequest({
|
|
url: '/weapp/api/weapp/authcodetoopenid',
|
|
data: {
|
|
code: res.code
|
|
},
|
|
success: res => {
|
|
if (res.code >= 0) {
|
|
if (res.data.openid) this.authInfo.weapp_openid = res.data
|
|
.openid;
|
|
if (res.data.unionid) this.authInfo.wx_unionid = res.data
|
|
.unionid;
|
|
typeof callback == 'function' && callback(this.authInfo);
|
|
} else {
|
|
this.$util.showToast({
|
|
title: res.message ? res.message : '小程序配置错误'
|
|
});
|
|
}
|
|
}
|
|
})
|
|
}
|
|
},
|
|
fail: (res) => {
|
|
// #ifdef MP-WEIXIN
|
|
let scene = wx.getLaunchOptionsSync().scene;
|
|
if ([1154, 1155].indexOf(scene) == -1) {
|
|
this.$util.showToast({
|
|
title: res.errMsg
|
|
});
|
|
}
|
|
// #endif
|
|
}
|
|
})
|
|
// #endif
|
|
|
|
// #ifdef MP-ALIPAY
|
|
uni.login({
|
|
timeout: 3000,
|
|
success: res => {
|
|
if (res.code) {
|
|
this.$api.sendRequest({
|
|
url: '/aliapp/api/aliapp/authcodetouserid',
|
|
data: {
|
|
code: res.code
|
|
},
|
|
success: res => {
|
|
if (res.code >= 0) {
|
|
if (res.data.user_id) this.authInfo.ali_openid = res.data
|
|
.user_id;
|
|
typeof callback == 'function' && callback(this.authInfo);
|
|
} else {
|
|
this.$util.showToast({
|
|
title: res.message ? res.message : '小程序配置错误'
|
|
});
|
|
}
|
|
}
|
|
})
|
|
}
|
|
},
|
|
fail: (err) => {
|
|
this.$util.showToast({
|
|
title: res.errMsg
|
|
});
|
|
}
|
|
})
|
|
// #endif
|
|
|
|
// #ifdef H5
|
|
if (this.$util.isWeiXin()) {
|
|
this.$api.sendRequest({
|
|
url: '/wechat/api/wechat/authcode',
|
|
data: {
|
|
redirect_url: location.href,
|
|
scopes: 'snsapi_userinfo'
|
|
},
|
|
success: res => {
|
|
if (res.code >= 0) {
|
|
location.href = res.data;
|
|
}
|
|
}
|
|
});
|
|
}
|
|
// #endif
|
|
}
|
|
}
|
|
} |