Ver Fonte

#add 更新登录

jc-wangyt há 1 mês atrás
pai
commit
f8b1988be8
4 ficheiros alterados com 45 adições e 12 exclusões
  1. 9 1
      src/api/sigon.js
  2. 6 2
      src/utils/jsencrypt.js
  3. 4 4
      src/views/SignOn.vue
  4. 26 5
      src/views/login.vue

+ 9 - 1
src/api/sigon.js

@@ -14,4 +14,12 @@ export function getToken(data) {
     method: 'post',
     data: data
   })
-}
+}
+// 双因子登录
+export function dualFactorLogin(data) {
+  return request({
+    url: '/api/auth/dualFactorLogin',
+    method: 'post',
+    data: data
+  })
+}

+ 6 - 2
src/utils/jsencrypt.js

@@ -2,9 +2,13 @@ import JSEncrypt from 'jsencrypt/bin/jsencrypt.min'
 
 // 密钥对生成 http://web.chacuo.net/netrsakeypair
 
-const publicKey = 'MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKoR8mX0rGKLqzcWmOzbfj64K8ZIgOdH\n' +
-  'nzkXSOVOZbFu/TJhZ7rFAN+eaGkl3C4buccQd/EjEsj9ir7ijT7h96MCAwEAAQ=='
+// const publicKey = 'MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKoR8mX0rGKLqzcWmOzbfj64K8ZIgOdH\n' +
+//   'nzkXSOVOZbFu/TJhZ7rFAN+eaGkl3C4buccQd/EjEsj9ir7ijT7h96MCAwEAAQ=='
 
+const publicKey = `MIGeMA0GCSqGSIb3DQEBAQUAA4GMADCBiAKBgEmLg1maj2xOSCgFYvQjHgc/542Y
+Vz4zSPsY/ngzlQNZqPVT+zUSuwTqIMxn4NapspQdfRpuOVNfe8ZJep7H8zvOt78t
+k31CA7Uz3konemuaLc96w+GhUVivH6CMavYGjWAZdHUVtfnmOiUZQEAtrGQZRluA
+PKCsWfpQuEQZ3XKVAgMBAAE=`
 const privateKey = 'MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAqhHyZfSsYourNxaY\n' +
   '7Nt+PrgrxkiA50efORdI5U5lsW79MmFnusUA355oaSXcLhu5xxB38SMSyP2KvuKN\n' +
   'PuH3owIDAQABAkAfoiLyL+Z4lf4Myxk6xUDgLaWGximj20CUf+5BKKnlrK+Ed8gA\n' +

+ 4 - 4
src/views/SignOn.vue

@@ -6,7 +6,7 @@
                     <div class="signOnContentHeaderTitle">新课标试题网</div>
                     <div class="signOnContentHeaderLine"></div>
                     <div class="signOnContentHeaderDesc">
-                      汇聚K12全学科教学资源,覆盖课前预习、课中互动、课后巩固全场景,地域专版,训练精准,赋能师生高效教与学。
+                        汇聚K12全学科教学资源,覆盖课前预习、课中互动、课后巩固全场景,地域专版,训练精准,赋能师生高效教与学。
                     </div>
                 </div>
             </div>
@@ -44,19 +44,19 @@ export default {
             if (getUserInfo.ret == 0) {
                 this.sysInfo = getUserInfo.data
                 this.sysInfo = this.sysInfo.map(item => {
-                    if (item.appName === "教学资源系统") {
+                    if (item.appId == "C0001") {
                         return {
                             ...item,
                             image: require("../assets/singleSignOn/resMgrSysBkg.png")
                         }
                     }
-                    else if (item.appName === "联考管理系统") {
+                    else if (item.appId == "C0002") {
                         return {
                             ...item,
                             image: require("../assets/singleSignOn/examMgmtSBgk.png")
                         }
                     }
-                    else if (item.appName === "阅卷评价系统") {
+                    else if (item.appId == "C0003") {
                         return {
                             ...item,
                             image: require("../assets/singleSignOn/onlineMarkingBgk.png")

+ 26 - 5
src/views/login.vue

@@ -27,6 +27,9 @@
 </template>
 
 <script>
+import { dualFactorLogin } from '@/api/sigon'
+import { encrypt, decrypt } from '@/utils/jsencrypt'
+
 export default {
     data() {
         return {
@@ -52,12 +55,30 @@ export default {
             this.$refs.loginForm.validate((valid) => {
                 if (valid) {
                     this.loginLoading = true;
-                    // 模拟登录请求
-                    setTimeout(() => {
-                        sessionStorage.setItem("getInfoName", this.loginForm.username);
-                        this.$router.push('/SignOn');
+                    // 加密账号
+                    this.loginForm.username = encrypt(this.loginForm.username)
+                    // 加密密码
+                    this.loginForm.password = encrypt(this.loginForm.password)
+                    // 调用登录接口
+                    dualFactorLogin(this.loginForm).then(res => {
+                        if (res.code === 200) {
+                            sessionStorage.setItem("getInfoName", this.loginForm.username);
+                            this.$router.push('/SignOn');
+                            this.loginLoading = false;
+                        } else {
+                            this.$message.error(res.message);
+                            this.loginLoading = false;
+                        }
+                    }).catch(() => {
+                        this.$message.error(res.message);
                         this.loginLoading = false;
-                    }, 500);
+                    });
+                    // 模拟登录请求
+                    // setTimeout(() => {
+                    //     sessionStorage.setItem("getInfoName", this.loginForm.username);
+                    //     this.$router.push('/SignOn');
+                    //     this.loginLoading = false;
+                    // }, 500);
                 }
             });
         }