App.vue 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <script lang="ts">
  2. import {clearToken, fetchToken} from "./utils/auth";
  3. import {body} from "@/utils/https";
  4. import {groupByKey} from "@/utils/common";
  5. export default <any>{
  6. globalData: {
  7. token: "",
  8. user: {
  9. },
  10. isLogin: false,
  11. last:{},
  12. device: {},
  13. deviceId:null,
  14. manualLogout:false
  15. },
  16. onLaunch() {
  17. uni.getSystemInfo({
  18. success: (res) => {
  19. this.globalData.device = res;
  20. },
  21. });
  22. setTimeout(()=>{
  23. console.log("onLaunch clean token")
  24. clearToken()
  25. })
  26. body(`/dict/list`).then((res: any) => {
  27. if (res) {
  28. let dicts = res.map((k:any) => {
  29. let {code, name, value, color} = k;
  30. return {code, name, value, color}
  31. })
  32. let dictMap = groupByKey(dicts, "code");
  33. uni.setStorage({key: 'dict', data: dictMap})
  34. }
  35. })
  36. this.globalData.token = fetchToken();
  37. },
  38. onPageNotFound() {
  39. uni.switchTab({
  40. url: "/pages/index/index",
  41. });
  42. },
  43. };
  44. </script>
  45. <style lang="scss">
  46. @import '@climblee/uv-ui/index.scss';
  47. @import './custom.scss';
  48. </style>