|
|
@@ -0,0 +1,59 @@
|
|
|
+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 }
|
|
|
+}
|