auth-mock.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import { validateCredentials } from './validate-credentials.js'
  2. export { validateCredentials }
  3. const TOKEN_KEY = 'zkxw_mobile_token'
  4. const USER_KEY = 'zkxw_mobile_user'
  5. export function getToken() {
  6. try {
  7. return uni.getStorageSync(TOKEN_KEY) || ''
  8. } catch (e) {
  9. return ''
  10. }
  11. }
  12. export function isLoggedIn() {
  13. return !!getToken()
  14. }
  15. export function getUser() {
  16. try {
  17. const raw = uni.getStorageSync(USER_KEY)
  18. return raw ? JSON.parse(raw) : null
  19. } catch (e) {
  20. return null
  21. }
  22. }
  23. export function clearSession() {
  24. try {
  25. uni.removeStorageSync(TOKEN_KEY)
  26. uni.removeStorageSync(USER_KEY)
  27. } catch (e) {
  28. /* ignore */
  29. }
  30. }
  31. export function mockPasswordLogin({ username, password }) {
  32. const v = validateCredentials(username, password)
  33. if (!v.ok) {
  34. const err = new Error(v.message)
  35. err.code = v.code
  36. throw err
  37. }
  38. const u = (username || '').trim()
  39. const token = 'mock_' + Date.now()
  40. const user = { username: u, displayName: u }
  41. uni.setStorageSync(TOKEN_KEY, token)
  42. uni.setStorageSync(USER_KEY, JSON.stringify(user))
  43. return { token, user }
  44. }
  45. export function mockWechatLogin() {
  46. const token = 'mock_wx_' + Date.now()
  47. const user = { username: 'wx_user', displayName: '微信用户' }
  48. uni.setStorageSync(TOKEN_KEY, token)
  49. uni.setStorageSync(USER_KEY, JSON.stringify(user))
  50. return { token, user }
  51. }