loginSso.vue 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. <template>
  2. <div id="loader-wrapper">
  3. <div id="loader"></div>
  4. <div class="loader-section section-left"></div>
  5. <div class="loader-section section-right"></div>
  6. <div class="load_title">sso单点登录中,请耐心等待</div>
  7. </div>
  8. </template>
  9. <script>
  10. import {
  11. getCodeImg
  12. } from '@/api/login'
  13. import {
  14. setSsoAdminToken,
  15. getOpenToken,
  16. openWindowSso,
  17. ssoLogout,
  18. getSsoAdminToken,
  19. setEnv,
  20. removeEnv,
  21. setToken,
  22. getToken,
  23. isLoginSso
  24. } from '@/utils/auth';
  25. export default {
  26. data() {
  27. return {
  28. codeUrl: '',
  29. ssoCode: ''
  30. }
  31. },
  32. onLoad(query) {
  33. if(!isLoginSso){
  34. uni.redirectTo({
  35. url: '/pages/login'
  36. })
  37. return false
  38. }
  39. // console.log(query, 3333)
  40. this.ssoCode = query.ssoCode
  41. setSsoAdminToken(this.ssoCode);
  42. this.loginSso()
  43. },
  44. methods: {
  45. params() {
  46. var query = location.search.match(new RegExp("[\?\&][^\?\&]+=[^\?\&]+", "g"));
  47. console.log(query, 'query')
  48. query = query || '';
  49. var result = {};
  50. for (var i = 0; i < query.length; i++) {
  51. var item = query[i].substring(1).split('=');
  52. result[item[0]] = item[1];
  53. }
  54. return result;
  55. },
  56. loginSso() {
  57. // var route = useRoute();
  58. // const ssoCode = route.query.ssoCode;
  59. if (getSsoAdminToken() && getToken()) {
  60. var options = uni.getStorageSync('options')
  61. if (options) {
  62. uni.redirectTo({
  63. url: '/pages/trade/shoe-style/ShoeStyleView'
  64. })
  65. } else { //如果没有上一页返回首页
  66. uni.redirectTo({
  67. url: '/pages/trade/shoe-style/index'
  68. })
  69. }
  70. };
  71. if (!this.ssoCode) {
  72. if (!localStorage.getItem('ssoLogout')) {
  73. localStorage.removeItem('ssoLogout');
  74. setEnv();
  75. };
  76. ssoLogout();
  77. openWindowSso();
  78. return;
  79. };
  80. // 请求头
  81. getOpenToken().then(res => {
  82. removeEnv()
  83. setToken(res.data)
  84. var options = uni.getStorageSync('options')
  85. if (options) {
  86. this.$tab.reLaunch('/pages/trade/shoe-style/ShoeStyleView')
  87. } else { //如果没有上一页返回首页
  88. this.$tab.reLaunch('/pages/trade/shoe-style/index')
  89. }
  90. }).catch(err => {
  91. console.log('获取token失效');
  92. removeEnv();
  93. })
  94. }
  95. }
  96. }
  97. </script>
  98. <style lang="scss">
  99. #loader-wrapper .load_title span {
  100. font-weight: normal;
  101. font-style: italic;
  102. font-size: 13px;
  103. color: #FFF;
  104. opacity: 0.5;
  105. }
  106. </style>