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