index.vue 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <template>
  2. </template>
  3. <script setup lang="ts">
  4. import { ref } 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. import { storeToRefs } from 'pinia';
  12. const store = useUserStore();
  13. const { globalParameter } = storeToRefs(store);
  14. const formData = ref({
  15. appkey: null,
  16. appsecret: null,
  17. authCode: null,
  18. domainname: null,
  19. })
  20. const login = ()=> {
  21. dd.ready(()=> {
  22. dd.getAuthCode({}).then((result) => {
  23. if (result.code){
  24. formData.value.authCode = result.code
  25. }else {
  26. formData.value.authCode = result.auth_code
  27. }
  28. globalParameter.value.authCode = formData.value.authCode
  29. localStorage.setItem('authCode', formData.value.authCode);
  30. setTimeout(() => {
  31. getUserInfo(formData.value.authCode);
  32. }, 0);
  33. }).catch(err => {
  34. alert('不是钉钉环境',err)
  35. link.goLogin()
  36. })
  37. })
  38. }
  39. const getUserInfo = async (authCode) => {
  40. try {
  41. let res = await rest.post('/zyyp/ykz/getUserInfo?authCode='+ authCode,'')
  42. localStorage.setItem('zjhm', res.openid);
  43. localStorage.setItem('userName', res.lastName);
  44. localStorage.setItem('isLeader', res.leader);
  45. // alert("查看内容(2):" + JSON.stringify(res))
  46. link.goBJList(aesEncrypt(res.openid),aesEncrypt(res.lastName))
  47. } catch (error) {
  48. console.error(error);
  49. }
  50. };
  51. onLoad((res) => {
  52. if (res.auth_code && res.appkey && res.appSecret && res.domain){
  53. const auth_code = res.auth_code
  54. const appkey = res.appkey
  55. const appsecret = res.appsecret
  56. const domainname = res.domain
  57. const data = {
  58. authcode:auth_code,
  59. appkey:appkey,
  60. appsecret:appsecret,
  61. domainname:domainname,
  62. }
  63. }else{
  64. login()
  65. }
  66. })
  67. </script>
  68. <style>
  69. </style>