Files
zkxw/mobile-h5/utils/auth-mock.js
T
2026-08-10 14:39:48 +08:00

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 }
}