auth.uts 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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. return new Promise<string>((resolve) => {
  39. uni.request({
  40. url: `${globalConfig.host}${globalConfig.tokenURL}${getCurrentUserNameSync()}`,
  41. method: "GET",
  42. timeout: 30000,
  43. success: (res) => {
  44. console.log(res);
  45. // 处理嵌套的data结构
  46. let firstLayerData = res?.['data'] as UTSJSONObject ?? {} as UTSJSONObject
  47. let tokenObj = firstLayerData?.['data'] as UTSJSONObject ?? {} as UTSJSONObject
  48. console.log(tokenObj?.['token'] as string)
  49. setApiToken(tokenObj?.['token'] as string)
  50. resolve(tokenObj?.['token'] as string);
  51. },
  52. fail: (err) => {
  53. uni.hideLoading()
  54. uni.showModal({
  55. content: '获取Token失败:' + err.errMsg
  56. })
  57. resolve("");
  58. },
  59. })
  60. })
  61. }