index.vue 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <template>
  2. </template>
  3. <script setup lang="ts">
  4. import { ref, computed } from "vue";
  5. import * as link from '@/lib/link'
  6. import dd from 'gdt-jsapi';
  7. import rest from '@/stores/rest'
  8. import { aesEncrypt, aesDecrypt } from "@/lib/encryption"
  9. import { onLoad } from "@dcloudio/uni-app";
  10. import { useUserStore } from '@/lib/store';
  11. const store = useUserStore();
  12. const globalParameter = computed(() => store.getGlobalParameter);
  13. const formData = ref({
  14. appkey: null,
  15. appsecret: null,
  16. authCode: null,
  17. domainname: null,
  18. })
  19. const login = () => {
  20. dd.ready(() => {
  21. dd.getAuthCode({}).then((result) => {
  22. if (result.code) {
  23. formData.value.authCode = result.code
  24. } else {
  25. formData.value.authCode = result.auth_code
  26. }
  27. setTimeout(() => {
  28. getUserInfo(formData.value.authCode);
  29. }, 0);
  30. }).catch(err => {
  31. alert('不是钉钉环境', err)
  32. link.goLogin()
  33. })
  34. })
  35. }
  36. const getUserInfo = async (authCode) => {
  37. try {
  38. let res = await rest.post('/zyyp/ykz/getUserInfo?authCode=' + authCode, '')
  39. if (!res) return
  40. let obj = Object.assign({}, globalParameter.value)
  41. obj.authCode = formData.value.authCode;
  42. obj.zjhm = res.openid;
  43. obj.userName = res.lastName;
  44. obj.isLeader = res.leader;
  45. store.setGlobalParameter(obj)
  46. // alert("查看内容(2):" + JSON.stringify(res))
  47. link.goBJList(aesEncrypt(res.openid), aesEncrypt(res.lastName), true)
  48. } catch (error) {
  49. console.error(error);
  50. }
  51. };
  52. onLoad((res) => {
  53. login()
  54. })
  55. </script>
  56. <style>
  57. </style>