维基小程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

66 lines
1.6 KiB

<script>
import { mapState, mapMutations, mapActions } from 'vuex';
import { SIGN_IN_CLIENTS, SIGN_IN_TYPES } from 'config/user';
import { signin } from 'api/user';
import { bindMsg } from 'api/bindMsg';
export default {
async onLaunch(options) {
uni.login({
provider:'weixin',
success: async res => {
try {
const params ={
client: SIGN_IN_CLIENTS['mp'],
type: SIGN_IN_TYPES['mp'],
data: {
credential: 'enterprise',
identifier: res.code,
}
}
const data = await signin(params);
if (!data || !data.token) {
uni.showToast({
icon: 'none',
title: '登录返回信息有误'
});
return;
};
this.cacheData(data);
const pam = {}
const data1 = await bindMsg(pam)
this.cacheDataA(data1);
} catch (err) {
console.log(err)
uni.showToast({
icon: 'none',
title: err || '登录失败'
})
}
}
})
},
methods: {
...mapMutations('user', ['setToken', 'setUser','setBindMsg']),
// 缓存user data
cacheData(data) {
const { token } = data;
this.setToken(token);
this.setUser(data);
// console.log(this.$store.state.user.token)
// console.log(this.$store.state.user.user.wxInfo)
},
cacheDataA(data){
this.setBindMsg(data)
// console.log(this.$store.state.user.bindMsg)
}
},
};
</script>
<style lang="scss">
@import 'colorui/main.scss';
@import 'colorui/icon.scss';
@import 'colorui/animation.scss';
@import 'common/style/global';
@import 'common/style/iconfont';
</style>