Bladeren bron

✅ test: wecom scan test

WanGxC 1 jaar geleden
bovenliggende
commit
37f1246af0
3 gewijzigde bestanden met toevoegingen van 68 en 24 verwijderingen
  1. 3 2
      src/views/demo/index.vue
  2. 7 0
      src/views/system/login/api.ts
  3. 58 22
      src/views/system/login/component/scan.vue

+ 3 - 2
src/views/demo/index.vue

@@ -18,7 +18,7 @@ function createWXQRCode() {
       console.log(isWeComLogin)
     },
     onLoginSuccess({ code }) {
-      console.log({ code })
+      // console.log({ code })
       handleWeComLogin({ code: code, state: 'Wechat' })
     },
     onLoginFail(err) {
@@ -29,7 +29,8 @@ function createWXQRCode() {
 
 async function handleWeComLogin(query) {
   try {
-    await WeComLogin(query)
+    const res = await WeComLogin(query)
+    console.log('res', res)
   } catch (error) {
     console.log('error:', error)
   }

+ 7 - 0
src/views/system/login/api.ts

@@ -38,3 +38,10 @@ export function postWorkWeChatCode(body) {
     data: body
   })
 }
+export function WeComLogin(query: any) {
+  return request({
+    url: '/api/system/wechat/login/test',
+    method: 'get',
+    params: query,
+  });
+}

+ 58 - 22
src/views/system/login/component/scan.vue

@@ -1,29 +1,65 @@
 <script lang="ts">
 import { ref, defineComponent, onMounted } from 'vue';
 import QRCode from 'qrcodejs2-fixes';
+import * as ww from '@wecom/jssdk'
+import { WeComLogin } from '../api'
 
-export default defineComponent({
-  name: 'loginScan',
-  setup() {
-    const qrcodeRef = ref<HTMLElement | null>(null);
-    // 初始化生成二维码
-    const initQrcode = () => {
-      (qrcodeRef.value as HTMLElement).innerHTML = '';
-      new QRCode(qrcodeRef.value, {
-        text: `https://jq.qq.com/?_wv=1027&k=hUu2GeU1`,
-        width: 260,
-        height: 260,
-        colorDark: '#000000',
-        colorLight: '#ffffff',
-      });
-    };
-    // 页面加载时
-    onMounted(() => {
-      initQrcode();
-    });
-    return { qrcodeRef };
-  },
-});
+function createWXQRCode() {
+  ww.createWWLoginPanel({
+    el: '#wx_qrcode',
+    params: {
+      login_type: 'CorpApp',
+      appid: 'ww467ec1685e8262e6',
+      agentid: '1000065',
+      redirect_uri: 'http://amzads.zositechc.cn/web/',
+      state: 'Wechat',
+      scope: 'snsapi_privateinfo',
+      redirect_type: 'callback',
+    },
+    onCheckWeComLogin({ isWeComLogin }) {
+      console.log(isWeComLogin)
+    },
+    onLoginSuccess({ code }) {
+      // console.log({ code })
+      handleWeComLogin({ code: code, state: 'Wechat' })
+    },
+    onLoginFail(err) {
+      console.log(err)
+    },
+  })
+}
+
+async function handleWeComLogin(query) {
+  try {
+    const res = await WeComLogin(query)
+    console.log('res', res)
+  } catch (error) {
+    console.log('error:', error)
+  }
+}
+
+// export default defineComponent({
+//   name: 'loginScan',
+//   setup() {
+//     const qrcodeRef = ref<HTMLElement | null>(null);
+//     // 初始化生成二维码
+//     const initQrcode = () => {
+//       (qrcodeRef.value as HTMLElement).innerHTML = '';
+//       new QRCode(qrcodeRef.value, {
+//         text: `https://jq.qq.com/?_wv=1027&k=hUu2GeU1`,
+//         width: 260,
+//         height: 260,
+//         colorDark: '#000000',
+//         colorLight: '#ffffff',
+//       });
+//     };
+//     // 页面加载时
+//     onMounted(() => {
+//       initQrcode();
+//     });
+//     return { qrcodeRef };
+//   },
+// });
 </script>
 
 <template>