YNUtdPlatform/store/modules/user.js

111 lines
3.1 KiB
JavaScript
Raw Normal View History

2024-08-07 14:53:53 +08:00
import config from '@/config'
import storage from '@/utils/storage'
import constant from '@/utils/constant'
2024-08-26 21:46:08 +08:00
import { login, appUserLoginByCode } from '@/api/login'
2024-08-07 14:53:53 +08:00
import { getToken, setToken, removeToken } from '@/utils/auth'
const baseUrl = config.baseUrl
const user = {
state: {
token: getToken(),
2024-08-26 21:46:08 +08:00
userId: storage.get(constant.userId),
2024-08-07 14:53:53 +08:00
userName: storage.get(constant.userName),
phone: storage.get(constant.phone),
pd: storage.get(constant.pd),
2024-08-26 21:46:08 +08:00
isFirstLogin: storage.get(constant.isFirstLogin)
2024-08-07 14:53:53 +08:00
},
mutations: {
SET_TOKEN: (state, token) => {
state.token = token
},
SET_USERID: (state, userId) => {
state.userId = userId
storage.set(constant.userId, userId)
},
SET_USERNAME: (state, userName) => {
state.userName = userName
storage.set(constant.userName, userName)
},
SET_PHONE: (state, phone) => {
state.phone = phone
storage.set(constant.phone, phone)
},
SET_PD: (state, pd) => {
state.pd = pd
storage.set(constant.pd, pd)
},
SET_IS_FIRST_LOGIN: (state, isFirstLogin) => {
state.isFirstLogin = isFirstLogin
storage.set(constant.isFirstLogin, isFirstLogin)
2024-08-26 21:46:08 +08:00
}
2024-08-07 14:53:53 +08:00
},
actions: {
// 登录
Login({ commit }, userInfo) {
const phone = userInfo.phone.trim()
const pd = userInfo.pd
2024-08-26 21:46:08 +08:00
commit('SET_PD', pd)
2024-08-07 14:53:53 +08:00
return new Promise((resolve, reject) => {
2024-08-26 21:46:08 +08:00
login(phone, pd)
.then(res => {
setToken(res.data.token)
commit('SET_TOKEN', res.data.token)
const user = res.data.user
commit('SET_USERID', user.id)
commit('SET_USERNAME', user.username)
commit('SET_PHONE', user.phone)
uni.setStorageSync('userPhone', user.phone)
commit('SET_IS_FIRST_LOGIN', user.isFirstLogin)
2024-11-03 15:24:43 +08:00
uni.setStorageSync('tyToken', res.data.token)
2024-08-26 21:46:08 +08:00
resolve(res)
})
.catch(error => {
reject(error)
})
2024-08-07 14:53:53 +08:00
})
},
// 验证码登录
LoginCode({ commit }, userInfo) {
const phone = userInfo.phone.trim()
const code = userInfo.code
return new Promise((resolve, reject) => {
2024-08-26 21:46:08 +08:00
appUserLoginByCode(phone, code)
.then(res => {
setToken(res.data.token)
commit('SET_TOKEN', res.data.token)
const user = res.data.user
commit('SET_USERID', user.id)
commit('SET_USERNAME', user.username)
commit('SET_PHONE', user.phone)
uni.setStorageSync('userPhone', user.phone)
commit('SET_IS_FIRST_LOGIN', user.isFirstLogin)
2024-11-03 15:24:43 +08:00
uni.setStorageSync('tyToken', res.data.token)
2024-08-26 21:46:08 +08:00
resolve(res)
})
.catch(error => {
reject(error)
})
2024-08-07 14:53:53 +08:00
})
},
// 退出系统
LogOut({ commit, state }) {
return new Promise((resolve, reject) => {
commit('SET_TOKEN', '')
removeToken()
2024-08-28 09:51:05 +08:00
uni.removeStorageSync('userPhone')
uni.removeStorageSync('userId')
uni.removeStorageSync('access_token')
2024-08-07 14:53:53 +08:00
storage.clean()
resolve()
})
}
}
}
export default user