auth.js 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. import request from '@/utils/request';
  2. import config from '@/config'
  3. const TokenKey = 'App-Token'
  4. export const isLoginSso = config.VITE_SSO_LOGIN
  5. export function getToken() {
  6. return uni.getStorageSync(TokenKey)
  7. }
  8. export function setToken(token) {
  9. return uni.setStorageSync(TokenKey, token)
  10. }
  11. export function removeToken() {
  12. return uni.removeStorageSync(TokenKey)
  13. }
  14. const SYS_CODE = 'XXLSSO';
  15. // 单点登录Token
  16. const SsoTokenKey = 'Sso-Admin-Token';
  17. // 获取单点登录Token
  18. export function getSsoAdminToken() {
  19. return uni.getStorageSync(SsoTokenKey);
  20. };
  21. // 设置单点登录Token
  22. export function setSsoAdminToken(token) {
  23. return uni.setStorageSync(SsoTokenKey, token);
  24. };
  25. // 删除单点登录Token
  26. export function removeSsoAdminToken() {
  27. return uni.removeStorageSync(SsoTokenKey);
  28. };
  29. // 当前环境
  30. // const VITE_APP_ENV = import.meta.env.VITE_APP_ENV;
  31. const VITE_APP_ENV = 'beta'
  32. function getEnv() {
  33. // let jumpEnv = 'http://localhost:88';
  34. // let curEnv = 'http://localhost:81/pages';
  35. // let suffix = 'localhost';
  36. // if (VITE_APP_ENV == 'production') {
  37. // // 生产环境
  38. // let jumpEnv = 'https://sso.huaxiazhizao.com';
  39. let jumpEnv = 'https://sso.huaxiazhizao.com';
  40. let curEnv = 'https://tools-m.huaxiazhizao.com/pages';
  41. let suffix = '.huaxiazhizao.com';
  42. // } else if (VITE_APP_ENV == 'beta') {
  43. // // 测试环境
  44. // jumpEnv = 'https://sso.huabaosmart.cn';
  45. // curEnv = 'https://sundry.huabaosmart.cn';
  46. // suffix = '.huabaosmart.cn';
  47. // };
  48. return { jumpEnv, curEnv, suffix };
  49. };
  50. /**
  51. * 获取当前用户 Token
  52. * @param {*} SSO_CODE
  53. * @param {*} noMessage
  54. * @returns
  55. */
  56. export function getOpenToken() {
  57. return request({
  58. url: '/open/ex_login',
  59. method: 'get',
  60. params: { sysCode: SYS_CODE, token: getSsoAdminToken() },
  61. noMessage: false
  62. });
  63. };
  64. export function ssoLogout() {
  65. removeEnv();
  66. document.cookie = "ssoLogout=true;path=/;domain=" + getEnv().suffix;
  67. };
  68. // 打开单点登录页面
  69. export function openWindowSso() {
  70. // 清除单点登录Token
  71. removeSsoAdminToken();
  72. // 清除Token
  73. removeToken();
  74. setEnv();
  75. // 登录失效跳转到单点登录页面
  76. window.open(getEnv().jumpEnv, '_self');
  77. };
  78. // 系统退出
  79. export function toolsLogout() {
  80. Cookies.set('tools-logout', true);
  81. };
  82. // 设置跳转 url
  83. export function setEnv() {
  84. document.cookie = "ssoLogin=" + getEnv().curEnv + ";path=/;domain=" + getEnv().suffix;
  85. };
  86. // 删除定点跳转cookie
  87. export function removeEnv() {
  88. var date = new Date();
  89. date.setTime(date.getTime() - 500000);
  90. document.cookie = "ssoLogin=' ';expires=" + date.toUTCString() + "path=/;domain=" + getEnv().suffix;
  91. };
  92. // 请求头
  93. // let search = window.location.search;
  94. // if (search && search.length > 1) {
  95. // let arr = search.split('=')
  96. // if (arr[0] === '?token') {
  97. // let token = arr[1];
  98. // Cookies.set('TokenKey', token);
  99. // // setToken(token) // 将token值按照子系统的方式保存下来,cookie或者localStorage均可
  100. // window.location.href = window.location.origin
  101. // }
  102. // }