link.vue 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. <template>
  2. <div>
  3. <SldHomeTopSearch/>
  4. <NavCatHeader/>
  5. <div class="bottom_line"></div>
  6. <div class="error_page flex_column_center_center">
  7. <div class="error_page_logo"></div>
  8. <div class="error_page_tips">The page is jumping......</div>
  9. </div>
  10. </div>
  11. </template>
  12. <script>
  13. import {ref, onMounted} from 'vue';
  14. import {useUserInfo} from "@/store/user.js";
  15. import {useFiltersStore} from "@/store/filter.js";
  16. export default {
  17. name: "OauthLink",
  18. setup() {
  19. const route = useRoute()
  20. const router = useRouter();
  21. const oauthKey = ref("");
  22. const configInfo = useUserInfo();
  23. const filtersStore = useFiltersStore();
  24. onMounted(() => {
  25. oauthKey.value = route.query.oauthKey;
  26. if (oauthKey.value != null && oauthKey.value != "" && oauthKey.value != undefined) {
  27. let param = {};
  28. param.oauthKey = oauthKey.value;
  29. post("v3/open/api/sso/login/pc", param, 1000 * 30).then(res => {
  30. if (res.state == 200) {
  31. //将用户信息存缓存,并跳转到首页
  32. filtersStore.setLoginStatus(true);
  33. filtersStore.setToken(res.data.access_token);
  34. filtersStore.setRefreshToken(res.data.refresh_token)
  35. filtersStore.setTime(new Date().getTime().toString())//存储refresh_token更新时间
  36. get("v3/member/front/member/getInfo").then(res => {
  37. if (res.state == 200) {
  38. filtersStore.setMemberInfo(res.data)
  39. if (window.history.state.back) {
  40. router.back();
  41. } else {
  42. router.replace({path: '/member/home'})
  43. }
  44. } else {
  45. router.replace({path: '/login'})
  46. }
  47. });
  48. } else {
  49. router.replace({path: '/login'})
  50. }
  51. });
  52. } else {
  53. router.replace({path: '/login'})
  54. }
  55. })
  56. return {configInfo, oauthKey}
  57. },
  58. };
  59. </script>
  60. <style lang="scss" scoped>
  61. .error_page {
  62. padding-top: 80px;
  63. padding-bottom: 100px;
  64. border-top: 3px solid $colorMain;
  65. .error_page_logo {
  66. width: 249px;
  67. height: 271px;
  68. background-image: url('/jump_logo.png');
  69. background-position: center;
  70. background-repeat: no-repeat;
  71. background-size: contain;
  72. }
  73. .error_page_tips {
  74. line-height: 70px;
  75. color: #333333;
  76. font-size: 24px;
  77. font-weight: bold;
  78. margin-top: 85px;
  79. margin-bottom: 0px;
  80. cursor: default;
  81. }
  82. }
  83. </style>