index.vue 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <script setup lang="ts">
  2. import { onMounted, reactive, ref, watch } from 'vue'
  3. import * as ww from '@wecom/jssdk'
  4. import { getWeiComQrCode } from './api'
  5. import { useRoute } from 'vue-router'
  6. import { createWWLoginPanel } from '@wecom/jssdk'
  7. const route = useRoute();
  8. const code = ref('');
  9. watch(() => route.query, (newCode) => {
  10. if (newCode) {
  11. // code.value = newCode;
  12. console.log('Authorization Code:', newCode);
  13. // 这里可以添加更多处理code的逻辑
  14. }
  15. }, {deep: true});
  16. defineProps(['code', 'state', 'redirect', 'params'])
  17. // const authCode = ref('')
  18. // const qrCodeUrl = ref('')
  19. // async function fetchQrCode() {
  20. // try {
  21. // const response = await getWeiComQrCode()
  22. // qrCodeUrl.value= response.data
  23. // } catch(error) {
  24. // console.log('error:', error)
  25. // }
  26. // }
  27. function createWXQRCode() {
  28. ww.createWWLoginPanel({
  29. el: '#wx_qrcode',
  30. params: {
  31. login_type: 'CorpApp',
  32. appid: 'ww467ec1685e8262e6',
  33. agentid: '1000065',
  34. // redirect_uri: 'https://ads.vzzon.com/web/api/system/wechat/login',
  35. redirect_uri : "https://ads.vzzon.com/web/api/system/wechat/oauth_callback",
  36. state: 'loginState',
  37. // redirect_type: 'callback',
  38. },
  39. onCheckWeComLogin({ isWeComLogin }) {
  40. console.log(isWeComLogin)
  41. },
  42. onLoginSuccess({ code }) {
  43. console.log({ code })
  44. },
  45. onLoginFail(err) {
  46. console.log(err)
  47. },
  48. })
  49. }
  50. function onLoginSuccess({ code }) {
  51. console.log({ code })
  52. }
  53. </script>
  54. <template>
  55. <div>
  56. <el-button type="primary" @click="createWXQRCode" class="m-2.5">发送</el-button>
  57. </div>
  58. <div id="wx_qrcode" style="height: 300px; width: 300px;"></div>
  59. <!--<div>-->
  60. <!-- <h1>Login</h1>-->
  61. <!-- <p>Code: {{ code }}</p>-->
  62. <!-- <p>State: {{ state }}</p>-->
  63. <!-- <p>Redirect: {{ redirect }}</p>-->
  64. <!-- <p>Params: {{ params }}</p>-->
  65. <!--</div>-->
  66. <!--<iframe :src="qrCodeUrl" style="height: 300px; width: 300px;"></iframe>-->
  67. </template>
  68. <style scoped>
  69. </style>