60 lines
1.3 KiB
JavaScript
60 lines
1.3 KiB
JavaScript
import { validateCredentials } from './validate-credentials.js'
|
|
|
|
export { validateCredentials }
|
|
|
|
const TOKEN_KEY = 'zkxw_mobile_token'
|
|
const USER_KEY = 'zkxw_mobile_user'
|
|
|
|
export function getToken() {
|
|
try {
|
|
return uni.getStorageSync(TOKEN_KEY) || ''
|
|
} catch (e) {
|
|
return ''
|
|
}
|
|
}
|
|
|
|
export function isLoggedIn() {
|
|
return !!getToken()
|
|
}
|
|
|
|
export function getUser() {
|
|
try {
|
|
const raw = uni.getStorageSync(USER_KEY)
|
|
return raw ? JSON.parse(raw) : null
|
|
} catch (e) {
|
|
return null
|
|
}
|
|
}
|
|
|
|
export function clearSession() {
|
|
try {
|
|
uni.removeStorageSync(TOKEN_KEY)
|
|
uni.removeStorageSync(USER_KEY)
|
|
} catch (e) {
|
|
/* ignore */
|
|
}
|
|
}
|
|
|
|
export function mockPasswordLogin({ username, password }) {
|
|
const v = validateCredentials(username, password)
|
|
if (!v.ok) {
|
|
const err = new Error(v.message)
|
|
err.code = v.code
|
|
throw err
|
|
}
|
|
const u = (username || '').trim()
|
|
const token = 'mock_' + Date.now()
|
|
const user = { username: u, displayName: u }
|
|
uni.setStorageSync(TOKEN_KEY, token)
|
|
uni.setStorageSync(USER_KEY, JSON.stringify(user))
|
|
return { token, user }
|
|
}
|
|
|
|
export function mockWechatLogin() {
|
|
const token = 'mock_wx_' + Date.now()
|
|
const user = { username: 'wx_user', displayName: '微信用户' }
|
|
uni.setStorageSync(TOKEN_KEY, token)
|
|
uni.setStorageSync(USER_KEY, JSON.stringify(user))
|
|
return { token, user }
|
|
}
|