88 lines
2.1 KiB
JavaScript
88 lines
2.1 KiB
JavaScript
import {
|
|
defineStore
|
|
} from 'pinia';
|
|
import {
|
|
ref
|
|
} from 'vue';
|
|
import {
|
|
APIcustomlogin
|
|
} from '@/common/api/api.js'
|
|
|
|
export const Storelogin = defineStore('login', {
|
|
state: () => ({
|
|
token: '',
|
|
miniAppOpenId: '',
|
|
userInfo: ''
|
|
}),
|
|
actions: {
|
|
actionslogin() {
|
|
return new Promise((resolve, reject) => {
|
|
// #ifdef MP-WEIXIN
|
|
uni.login({
|
|
provider: 'weixin',
|
|
success: (data) => {
|
|
// 微信小程序环境
|
|
uni.getUserInfo({
|
|
provider: 'weixin',
|
|
success: async (infoRes) => {
|
|
let res = await APIcustomlogin({
|
|
code: data.code, //临时登录凭证
|
|
rawData: infoRes.rawData,
|
|
source: 'wechat'
|
|
})
|
|
if (res.code == 0) {
|
|
this.token = res.data.token
|
|
this.miniAppOpenId = res.data.userInfo
|
|
.miniAppOpenId
|
|
this.userInfo = res.data.userInfo
|
|
uni.cache.set('token', res.data.token);
|
|
uni.cache.set('miniAppOpenId', res.data
|
|
.userInfo
|
|
.miniAppOpenId)
|
|
uni.cache.set('userInfo', res.data
|
|
.userInfo);
|
|
}
|
|
resolve(true);
|
|
},
|
|
fail: (err) => {
|
|
reject(false);
|
|
}
|
|
});
|
|
}
|
|
});
|
|
// #endif
|
|
// #ifdef MP-ALIPAY
|
|
my.getAuthCode({
|
|
scopes: 'auth_base',
|
|
success: async (data) => {
|
|
console.log(data)
|
|
// 支付宝小程序环境
|
|
// my.getAuthUserInfo({
|
|
// success: async (infoRes) => {
|
|
let res = await APIcustomlogin({
|
|
code: data.authCode, //临时登录凭证
|
|
// rawData: JSON.stringify(infoRes),
|
|
source: 'alipay'
|
|
})
|
|
if (res.code == 0) {
|
|
this.token = res.data.token
|
|
this.miniAppOpenId = res.data.userInfo.miniAppOpenId
|
|
this.userInfo = res.data.userInfo
|
|
uni.cache.set('token', res.data.token);
|
|
uni.cache.set('miniAppOpenId', res.data.userInfo
|
|
.miniAppOpenId)
|
|
uni.cache.set('userInfo', res.data.userInfo);
|
|
resolve(true);
|
|
}
|
|
},
|
|
fail: (err) => {
|
|
reject(false);
|
|
}
|
|
});
|
|
}
|
|
});
|
|
// #endif
|
|
}).catch((e) => {});
|
|
}
|
|
}
|
|
}); |