移动端
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.
 
 
 
 
 

119 lines
2.6 KiB

<script>
import config from './config'
import store from '@/store'
import { getAccessToken } from '@/utils/auth'
export default {
data() {
return {
invateId: ''
}
},
onLaunch: function (options) {
if (options.query.invateId) {
this.invateId = options.query.invateId
}
this.initApp()
},
methods: {
// 初始化应用
async initApp() {
await uni.hideTabBar()
uni.hideTabBar({
animation: false
})
// 初始化应用配置
await this.initConfig()
// 检查用户登录状态
this.checkLogin()
},
async initConfig() {
this.globalData.config = config
uni.requestSubscribeMessage({
//此处填写刚才申请模板的模板ID
tmplIds: ['E8RK91cPLMios6ZHoKx6FJOV4H2kodx6yPWYp7jpLJY'],
success(res) {
console.log('requestSubscribeMessage', res)
}
})
uni.getSystemInfoAsync({
success: res => {
uni.setStorageSync('MOBILE', res.model)
uni.setStorageSync('SYSTEM', res.system)
uni.setStorageSync('PIXELRATIO', res.pixelRatio)
},
fail: err => {
console.error('获取设备信息失败:', err)
}
})
},
checkLogin() {
if (!getAccessToken()) {
this.login()
} else {
this.loginSuccess()
}
},
login() {
uni.login({
success: res => {
const data = {
type: 34,
code: res.code,
state: 'default',
userType: this.getUserType()
}
// 系统登录
this.$store.dispatch('Login', data).then(() => {
this.loginSuccess()
})
}
})
},
getUserType() {
// 企业邀请
if (this.invateId) return 2
// if (this.type == 'internal') return 3
// return 1
return 3
},
loginSuccess() {
this.$store.dispatch('GetInfo').then(res => {
this.handlerNavigateTo(res.data.user)
})
},
handlerNavigateTo(user) {
// 邀请企业
if (this.invateId) {
uni.navigateTo({
url: `/sub/enterprise/edit?invateId=${this.invateId}`
})
return
}
// 审核中
if (user.audit == 1) {
uni.navigateTo({
url: '/sub/common/waiting'
})
return
}
// 审核通过
if (user.audit == 2) {
return
}
// 局内用户首次登录
uni.navigateTo({
url: '/sub/owner/edit'
})
}
}
}
</script>
<style lang="scss">
@import '@/uni_modules/windi-css-uniapp/index.scss';
@import '@/static/scss/index.scss';
</style>