auth.uts 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. import storage from '@/utils/storage';
  2. import { constant } from '@/utils/constant';
  3. import { globalConfig } from '@/config'
  4. const TokenKey = 'App-Token'
  5. const APITokenKey = 'Api-Token'
  6. export function getToken() : string {
  7. return uni.getStorageSync(TokenKey) as string | ''
  8. }
  9. export function setToken(token : string) : void {
  10. return uni.setStorageSync(TokenKey, token)
  11. }
  12. export function getApiToken() : string {
  13. return uni.getStorageSync(APITokenKey) as string | ''
  14. }
  15. export function setApiToken(token : string) : void {
  16. return uni.setStorageSync(APITokenKey, token)
  17. }
  18. export function removeToken() : void {
  19. return uni.removeStorageSync(TokenKey)
  20. }
  21. export function removeApiToken() : void {
  22. return uni.removeStorageSync(APITokenKey)
  23. }
  24. export function getCurrentUserSync() : string {
  25. return uni.getStorageSync(constant.name) as string | ''
  26. }
  27. export function setCurrentUserSync(name : string) : void {
  28. return uni.setStorageSync(constant.name, name)
  29. }
  30. export function getCurrentUserNameSync() : string {
  31. return uni.getStorageSync(constant.username) as string | '';
  32. }
  33. export function setCurrentUserNameSync(username : string) : void {
  34. return uni.setStorageSync(constant.username, username)
  35. }
  36. export function getTokenFromApi() : Promise<string> {
  37. console.log(`${globalConfig.host}${globalConfig.tokenURL}${getCurrentUserNameSync()}`)
  38. uni.showLoading({
  39. title: `${globalConfig.host}${globalConfig.tokenURL}${getCurrentUserNameSync()}`
  40. })
  41. return new Promise<string>((resolve) => {
  42. uni.request({
  43. url: `${globalConfig.host}${globalConfig.tokenURL}${getCurrentUserNameSync()}`,
  44. method: "GET",
  45. timeout: 30000,
  46. success: (res) => {
  47. console.log(res);
  48. // 处理嵌套的data结构
  49. let firstLayerData = res?.['data'] as UTSJSONObject ?? {} as UTSJSONObject
  50. let tokenObj = firstLayerData?.['data'] as UTSJSONObject ?? {} as UTSJSONObject
  51. console.log(tokenObj?.['token'] as string)
  52. setApiToken(tokenObj?.['token'] as string)
  53. resolve(tokenObj?.['token'] as string);
  54. },
  55. fail: (err) => {
  56. uni.hideLoading()
  57. uni.showModal({
  58. content: '获取Token失败:' + err.errMsg
  59. })
  60. resolve("");
  61. },
  62. })
  63. })
  64. }