You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
928 B
JavaScript
39 lines
928 B
JavaScript
import {
|
|
UserInfoAction,
|
|
$response
|
|
} from '@/api/index.js'
|
|
import {
|
|
getToken
|
|
} from './token.js'
|
|
const default_user_info = {
|
|
id: 0,
|
|
nickname: '未登录',
|
|
avatar: '/storage/assets/mp/user/用户头像@2x.png',
|
|
person: {
|
|
id: 0,
|
|
name: '',
|
|
phone: ''
|
|
},
|
|
dev: 2,
|
|
}
|
|
const UserInfo = async (cb, err = () => {}) => {
|
|
let token = getToken() ? getToken() : '';
|
|
if (token === '') return cb(JSON.parse(JSON.stringify(default_user_info)))
|
|
const user_person = uni.getStorageSync('USER_PERSON')
|
|
const response = await UserInfoAction({
|
|
id: user_person
|
|
})
|
|
$response(response, () => {
|
|
let info = response.data.info
|
|
uni.setStorageSync('USER_PERSON', response.data.info.person.id)
|
|
if (!!info) {
|
|
info.avatar = !!info.avatar ? info.avatar : '/storage/assets/mp/user/用户头像@2x.png'
|
|
} else {
|
|
info = JSON.parse(JSON.stringify(default_user_info))
|
|
}
|
|
cb(info)
|
|
}, () => {
|
|
err()
|
|
})
|
|
}
|
|
export default UserInfo |