auth.ts 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. import Cookies from 'js-cookie'
  2. import { TokenType } from '@/api/login/types'
  3. import { decrypt, encrypt } from '@/utils/jsencrypt'
  4. const AccessTokenKey = 'ACCESS_TOKEN'
  5. const RefreshTokenKey = 'REFRESH_TOKEN'
  6. // 获取token
  7. export const getAccessToken = () => {
  8. // 此处与TokenKey相同,此写法解决初始化时Cookies中不存在TokenKey报错
  9. return Cookies.get(AccessTokenKey) ? Cookies.get(AccessTokenKey) : Cookies.get('ACCESS_TOKEN')
  10. }
  11. // 刷新token
  12. export const getRefreshToken = () => {
  13. return Cookies.get(RefreshTokenKey)
  14. }
  15. // 设置token
  16. export const setToken = (token: TokenType) => {
  17. Cookies.set(RefreshTokenKey, token.refreshToken, token.expiresTime)
  18. Cookies.set(AccessTokenKey, token.accessToken)
  19. }
  20. // 删除token
  21. export const removeToken = () => {
  22. Cookies.remove(AccessTokenKey)
  23. Cookies.remove(RefreshTokenKey)
  24. }
  25. /** 格式化token(jwt格式) */
  26. export const formatToken = (token: string): string => {
  27. return 'Bearer ' + token
  28. }
  29. // ========== 账号相关 ==========
  30. const UsernameKey = 'USERNAME'
  31. const PasswordKey = 'PASSWORD'
  32. const RememberMeKey = 'REMEMBER_ME'
  33. export const getUsername = () => {
  34. return Cookies.get(UsernameKey)
  35. }
  36. export const setUsername = (username: string) => {
  37. Cookies.set(UsernameKey, username)
  38. }
  39. export const removeUsername = () => {
  40. Cookies.remove(UsernameKey)
  41. }
  42. export const getPassword = () => {
  43. const password = Cookies.get(PasswordKey)
  44. return password ? decrypt(password) : undefined
  45. }
  46. export const setPassword = (password: string) => {
  47. Cookies.set(PasswordKey, encrypt(password))
  48. }
  49. export const removePassword = () => {
  50. Cookies.remove(PasswordKey)
  51. }
  52. export const getRememberMe = () => {
  53. return Cookies.get(RememberMeKey) === 'true'
  54. }
  55. export const setRememberMe = (rememberMe: string) => {
  56. Cookies.set(RememberMeKey, rememberMe)
  57. }
  58. export const removeRememberMe = () => {
  59. Cookies.remove(RememberMeKey)
  60. }
  61. // ========== 租户相关 ==========
  62. const TenantIdKey = 'TENANT_ID'
  63. const TenantNameKey = 'TENANT_NAME'
  64. export const getTenantName = () => {
  65. return Cookies.get(TenantNameKey)
  66. }
  67. export const setTenantName = (username: string) => {
  68. Cookies.set(TenantNameKey, username)
  69. }
  70. export const removeTenantName = () => {
  71. Cookies.remove(TenantNameKey)
  72. }
  73. export const getTenantId = () => {
  74. return Cookies.get(TenantIdKey)
  75. }
  76. export const setTenantId = (username: string) => {
  77. Cookies.set(TenantIdKey, username)
  78. }
  79. export const removeTenantId = () => {
  80. Cookies.remove(TenantIdKey)
  81. }