燕园
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.
 
 
 

121 lines
3.0 KiB

<script>
// import toolMixin from '@/mixins/tool';
import { mapActions, mapGetters, mapMutations, mapState } from 'vuex';
export default {
// mixins: [toolMixin],
async onLaunch(options) {
// TODO: this 先判断是不是通过扫二维码进来的
console.log('options: ', options);
this.setScene(options.scene);
this.setEnterOptions(options);
if (options.scene === 1047) {
// 扫描小程序码
if (options.query && options.query.scene) {
const scene = options.query.scene;
console.log('scene: ', scene);
const toolCode = scene.substring(scene.length - 10);
this.setEnterByCode(true);
this.setToolCode(toolCode);
}
}
this.getSystemInfo(); // 获取系统设备信息
/* #ifdef MP-WEIXIN */
await this.signin();
/* #endif */
/* #ifdef H5 */
options.query.url && (this.$t.domain = options.query.url);
if (!this.token) {
// 不论有没有token都直接从userId获取token
// token有过期时间 从本地获取可能是过期 干脆直接从userId获取
if (!options.query || !options.query.u) {
// 参数里没有u (userId)提示
this.$t.ui.showToast('缺少用户信息参数');
} else {
const data = await this.getToken(options.query.u);
this.noPhone(data);
}
}
/* #endif */
this.initSocket();
},
computed: {
...mapGetters(['useStorage']),
...mapState('user', ['token']),
},
methods: {
...mapActions('user', ['getToken']),
...mapActions('socket', ['initSocket']),
...mapMutations(['setSystemInfo']),
...mapMutations('user', ['setToken', 'setUser']),
...mapMutations('yanyuan', ['setToolCode', 'setEnterByCode', 'setScene', 'setEnterOptions']),
// 登录
async signin() {
try {
const data = await this.$u.api.signin();
console.log('登录data: ', data);
if (data && data.token) {
this.setUser(data);
this.setToken(data.token);
this.noPhone(data);
} else {
this.$t.ui.showToast('返回数据异常');
}
} catch (error) {
console.error('error: ', error);
this.$t.ui.showToast(error || '登录失败');
}
},
/**
* 没有手机号 跳转绑定手机号的界面
* @param {string} phone
*/
async noPhone(data) {
if (!data.wxInfo || !data.wxInfo.nickname || !data.phone) {
this.$u.route('/pagesUser/git-phone-power/git-phone-power');
}
},
// 获取系统设备信息
getSystemInfo() {
uni.getSystemInfo({
success: result => {
this.setSystemInfo(result);
},
fail: error => {
console.error('getSystemInfo fail:', error);
},
});
},
},
};
</script>
<style lang="scss">
@import 'uview-ui/index.scss';
.min-0 {
min-width: 0;
}
.flex-shrink-0 {
flex-shrink: 0;
}
</style>
<style>
@import '@/common/styles/tailwind.scss';
.collapse-box >>> .u-collapse-body {
height: auto !important;
}
</style>