App.vue 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <script>
  2. import {
  3. onMounted,
  4. ref
  5. } from 'vue'
  6. import * as link from '@/lib/link'
  7. import {
  8. computed
  9. } from "vue";
  10. import rest from '@/stores/rest'
  11. import dd from 'gdt-jsapi';
  12. import {
  13. useUserStore
  14. } from '@/lib/store'
  15. import {
  16. storeToRefs
  17. } from 'pinia'
  18. export default {
  19. setup() {
  20. const store = useUserStore();
  21. const globalParameter = computed(() => store.getGlobalParameter);
  22. const formData = ref({
  23. appkey: null,
  24. appsecret: null,
  25. authCode: null,
  26. domainname: null,
  27. })
  28. const getBasicInfo = () => {
  29. console.log("监听咯")
  30. getAuthCode()
  31. }
  32. const getAuthCode = () => {
  33. console.log("监听咯-getAuthCode")
  34. dd.ready(() => {
  35. dd.getAuthCode({}).then((result) => {
  36. if (result.code) {
  37. formData.value.authCode = result.code
  38. } else {
  39. formData.value.authCode = result.auth_code
  40. }
  41. let obj = Object.assign({}, globalParameter.value)
  42. obj.authCode = formData.value.authCode;
  43. store.setGlobalParameter(obj)
  44. }).catch(err => {
  45. link.goLogin()
  46. })
  47. })
  48. }
  49. const getUserInfo = async () => {
  50. try {
  51. await rest.post('/zyyp/ykz/getUserInfo?authCode=' + formData.value.authCode, '')
  52. } catch (error) {
  53. console.error(error);
  54. }
  55. };
  56. const startIntervalTask = () => {
  57. // 每 60 分钟执行一次任务
  58. setInterval(() => {
  59. getBasicInfo();
  60. }, 60 * 60 * 1000); // 60 分钟
  61. };
  62. onMounted(() => {
  63. console.log('App Created');
  64. startIntervalTask();
  65. });
  66. return {
  67. formData,
  68. getBasicInfo,
  69. getAuthCode,
  70. getUserInfo,
  71. startIntervalTask,
  72. };
  73. }
  74. }
  75. </script>
  76. <style lang="scss">
  77. /*每个页面公共css */
  78. @import "uni.scss";
  79. @import "static/style/base.scss";
  80. </style>