From 05aec1e9986fbe3e907259bb1a1396f129bd0fa1 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期五, 06 二月 2026 14:14:48 +0800
Subject: [PATCH] 优化

---
 admin/src/views/login.vue |   42 ++++++++++++++++++++++++++++++++++++++----
 1 files changed, 38 insertions(+), 4 deletions(-)

diff --git a/admin/src/views/login.vue b/admin/src/views/login.vue
index 9d4a68c..989d283 100644
--- a/admin/src/views/login.vue
+++ b/admin/src/views/login.vue
@@ -1,7 +1,7 @@
 <template>
   <div class="wrap">
     <div class="introduce">
-      <h2>杩戝揩鍚庡彴绠$悊绯荤粺</h2>
+      <h2>蹇楅偊鐐瑰皢鍚庡彴绠$悊绯荤粺</h2>
       <h3></h3>
     </div>
     <div class="login">
@@ -22,8 +22,8 @@
 
 <script>
 import { mapMutations } from 'vuex'
-import { getCaptcha, loginByPassword } from '@/api/system/common'
-
+import { getCaptcha, loginByPassword, loginByDingTalk } from '@/api/system/common'
+import * as dd from 'dingtalk-jsapi';
 export default {
   name: 'Login',
   data () {
@@ -31,6 +31,7 @@
       loading: false,
       username: '',
       password: '',
+      unionId: '',
       // 楠岃瘉鐮�
       captcha: {
         loading: false,
@@ -57,7 +58,8 @@
         username: this.username.trim(),
         password: this.password,
         code: this.captcha.value.trim(),
-        uuid: this.captcha.uuid
+        uuid: this.captcha.uuid,
+        unionId: this.unionId
       },true)
         .then(() => {
           window.location.href = process.env.VUE_APP_CONTEXT_PATH
@@ -113,6 +115,38 @@
   },
   created () {
     this.refreshCaptcha()
+    var that = this
+    let href = window.location.href;
+    let corpId = ''
+    if (dd.env.platform !== 'notInDingTalk') {
+      // 鍏堝垽鏂湴鍧�涓婃湁娌℃湁corpId
+      if (href.indexOf('?corpid=') !== -1) {
+        // alert('浠庡湴鍧�鎷縞orpid')
+        corpId = href.substring(href.lastIndexOf('?corpid=') + 8, href.lastIndexOf('#'))
+        window.localStorage.setItem('corpId', corpId)
+      // 鍒ゆ柇娴忚鍣ㄧ紦瀛樻槸鍚︽湁corpId
+      } else if (window.localStorage.getItem('corpId')) {
+        corpId = window.localStorage.getItem('corpId')
+        // alert('浠庣紦瀛樻嬁corpid')
+      }
+      // dingulzemj5bynjciapg
+      dd.requestAuthCode({
+        corpId: corpId,
+        clientId: 'dingy7xdyzffnegiaszo',
+        onSuccess: function(result) {
+          loginByDingTalk({
+            code: result.code,
+            corpId: corpId
+          }).then(res => {
+            if (res.loginStatus) {
+              window.location.href = process.env.VUE_APP_CONTEXT_PATH
+              return
+            }
+            that.unionId = res.unionId
+          })
+        }
+      });
+    }
   }
 }
 </script>

--
Gitblit v1.9.3