auth.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. /**
  2. * TOKEN 等cookies的处理
  3. * <pre>
  4. * 作者:hugh zhuang
  5. * 邮箱:3378340995@qq.com
  6. * 日期:2018-10-08-下午3:29:34
  7. * 版权:广州流辰信息技术有限公司
  8. * </pre>
  9. */
  10. import Cookies from './util.cookies.js'
  11. import { UUID_KEY, LANG_KEY, TOKEN_STORE_KEY, REFRESH_TOKEN_STORE_KEY, TOKEN_STORE, TOKEN_DOMAIN, TOKEN_STORE_PREFIX, TENANT_ID } from '@/constant'
  12. // 是否需要前缀
  13. const isPrefix = TOKEN_STORE_PREFIX !== 'custom'
  14. function isEmpty(v) {
  15. return v === undefined || v === null || v === ''
  16. }
  17. /**
  18. * 获取token
  19. */
  20. export function getToken() {
  21. const val = Cookies.get(TOKEN_STORE_KEY, isPrefix)
  22. return !isEmpty(val) ? val : undefined
  23. }
  24. /**
  25. * 设置token
  26. */
  27. export function setToken(token, optins) {
  28. return Cookies.set(TOKEN_STORE_KEY, token, optins, isPrefix)
  29. }
  30. /**
  31. * 删除token
  32. */
  33. export function removeToken() {
  34. return Cookies.remove(TOKEN_STORE_KEY, isPrefix)
  35. }
  36. // ===========刷新token==========
  37. /**
  38. * 获取刷新token
  39. */
  40. export function getRefreshToken() {
  41. return Cookies.get(REFRESH_TOKEN_STORE_KEY, isPrefix)
  42. }
  43. /**
  44. * 设置刷新token
  45. */
  46. export function setRefreshToken(token, optins) {
  47. return Cookies.set(REFRESH_TOKEN_STORE_KEY, token, optins, isPrefix)
  48. }
  49. /**
  50. * 删除刷新token
  51. */
  52. export function removeRefreshToken() {
  53. return Cookies.remove(REFRESH_TOKEN_STORE_KEY, isPrefix)
  54. }
  55. /**
  56. * 删除租户信息
  57. */
  58. export function removeTenantId() {
  59. return Cookies.remove(TENANT_ID, isPrefix)
  60. }
  61. /**
  62. * 更新tonken(包含token和 refreshToken)
  63. */
  64. export function updateToken(data) {
  65. const domain = TOKEN_STORE === 'domain' ? TOKEN_DOMAIN : null
  66. // tonken 过期时间提前1分钟 前端不处理过期时间,后端处理过期时间
  67. // data.expires_in ? new Date(new Date().getTime() + ((parseInt(data.expires_in, 10) + 60) * 1000)) : 7
  68. setToken(data.access_token, {
  69. expires: null,
  70. domain: domain
  71. })
  72. // 刷新tonken过期时间提前2分钟
  73. setRefreshToken(data.refresh_token, {
  74. expires: null,
  75. domain: domain
  76. })
  77. }
  78. // UUID
  79. export function getUuid() {
  80. return Cookies.get(UUID_KEY, isPrefix)
  81. }
  82. export function setUuid(uuid, optins) {
  83. return Cookies.set(UUID_KEY, uuid, optins, isPrefix)
  84. }
  85. export function removeUuid() {
  86. return Cookies.remove(UUID_KEY, isPrefix)
  87. }
  88. // 语言
  89. export function getLang() {
  90. return Cookies.get(LANG_KEY, isPrefix)
  91. }
  92. export function setLang(value, optins) {
  93. return Cookies.set(LANG_KEY, value, optins, isPrefix)
  94. }
  95. export function removeLang() {
  96. return Cookies.remove(LANG_KEY, isPrefix)
  97. }