Pārlūkot izejas kodu

增加工作台跳转登录

dengshaobo 1 mēnesi atpakaļ
vecāks
revīzija
37c5d9ba4b
4 mainītis faili ar 137 papildinājumiem un 3 dzēšanām
  1. 1 1
      .env.development
  2. 1 1
      .env.production
  3. 1 1
      src/router/index.ts
  4. 134 0
      src/views/login/login_other.vue

+ 1 - 1
.env.development

@@ -3,4 +3,4 @@
 VITE_API_BASE_URL =
 VITE_RSA_PUBLIC_KEY = MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDmkP5hUxr7x3t76s9kiVrP1acGVp3JFyPsSoZzV+FvFSc78rfLSwEhj0WkUC0O+entDZ/hnvX1pSPsY8VwXtc20n5pSuo/G1HzrFSUCmFD9HWX3RRrFTHGn+G01CQswO/2JZokJQzbTsNDUnlK/w//NYQvXhxOhF9fM/S1L73CkYPIabHmIM1Rc8uik66XlTXrb9+gDQ8Uon+QZTGo3BzxWceONYYnVZZXdFQtzvaHLI5av8LSU5MLp03faX8fYlfB5FwyBL+dQZRVyTP09pbESn30487tsa0/+0pRZ1D+4Tsc2cjIpuXEg1IKGLrs0TSX78T1fROt/JcZ/lt3Tn9xAgMBAAECggEADEAD4/PgaSQuIWVWY4cQth4p46JSe86o7/L9tb8jkR1UmlDJBxoTE09jadmAq10H2rpwljI16zk88WBTqya+1IDWio2aaIPxFLtBOyRaCpxAazMp1I6puF3iRhNHYMFXfoJ88BKv3i8PHNKS8zMeDHcxcLrVUi6iSpKeG8pPkLjEqY0eccYjTUOyh2Q8YmLLwO3+lOOYrD9TcUZ1NqsZCqOI3pzLNONYatqaPprqiuZLUcloiO7D1OJ52LtTzlP2z7/jXM4fwUZK1/9U79zMYmjJifIORY9UiildkGaKzYs3G1ZAKiLKBehf7tGzorU0+tSIF99voyjhed286fMeqQKBgQDn7wH6oadnfZL5NknEaioua4GJ0LhBeZCiaLReYs116554zzBubb4Y752DTE4ka8LKsSIcnCqNbc/b6q0Kw+yThJJ5F/nFgaCzKHfhImqtslolqW5K1UVwUZ9RdFUeeqt8w+CtcnrJs/jIswv7XOnfHm6VKd0gSlpbnAPEVua75wKBgQD+farEb4PCNsOTaLQYcy0dSDh68lBskc5k+kMYmDsUloaOQel2S9ufEEYxZgy4Y2b0U9Y8nEJByFBoKZW+Mplp+hH9OWaK/QpMylh1uwoN44jUyRAKhR211kBZMXcgbIjr49PxG261OydxIyu9ntcJApVpHK30qzR+DBRD7H8+5wKBgQDGz/hQUZXgfqIoAkNFnQO/euQ1sLbhWUWEEmDar7MTq//R6zjG0EettGi/Df/F9KGrgh+NishnJ4SQLSBcJAp9gZzVNJoklbOdH8lzMT9k2Yew1QX4G81ENJNvDVuRnvG1J2tHAuUCVcWitOhGdiT732hHcPVeIp5F/Py1pxBubQKBgQDlVvJxm90tRJTzXsQN1J2vacocYgpADRXmwfF9VJLJdu1DffqadLoymkPneIO2Fz5MqNDERj0fcxmjBPbBNHA0pPtZLEVQs8B4e1FEp43j/kztFVSzZkrj93R97KniOm0Zx3LUMViPUgO1XXCprV8z63QiCYpql27yuIf6vkHduQKBgEe/BLwVHxAxmGzt/k0t9TZYn4MMQd5nx1UWlFzI+mNkNQqNC5cLGWarazeHC2YdcaYAsSMfi11NTvnVY79EbXYomxSBoN3Y63ML7W6Cj9fInVtUF6j002sdRyfey+e2BQtYiUHb9xW6A7sf4LyLZJ64LGYIh1uqWQc2iUeUsSWQ
 # webSocket环境地址配置
-VUE_APP_WEB_SOCKET_URL= 'wss://dev3.k12100.net/teaching/api/v1/teaching/websocket/'
+VUE_APP_WEB_SOCKET_URL= wss://dev3.k12100.net/teaching/api/v1/teaching/websocket/

+ 1 - 1
.env.production

@@ -1,6 +1,6 @@
 # 生产环境配置文件
 
-VITE_API_BASE_URL = https://dev3.k12100.net/teaching
+VITE_API_BASE_URL = https://www.k12100.com/teaching
 VITE_RSA_PUBLIC_KEY = MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDmkP5hUxr7x3t76s9kiVrP1acGVp3JFyPsSoZzV+FvFSc78rfLSwEhj0WkUC0O+entDZ/hnvX1pSPsY8VwXtc20n5pSuo/G1HzrFSUCmFD9HWX3RRrFTHGn+G01CQswO/2JZokJQzbTsNDUnlK/w//NYQvXhxOhF9fM/S1L73CkYPIabHmIM1Rc8uik66XlTXrb9+gDQ8Uon+QZTGo3BzxWceONYYnVZZXdFQtzvaHLI5av8LSU5MLp03faX8fYlfB5FwyBL+dQZRVyTP09pbESn30487tsa0/+0pRZ1D+4Tsc2cjIpuXEg1IKGLrs0TSX78T1fROt/JcZ/lt3Tn9xAgMBAAECggEADEAD4/PgaSQuIWVWY4cQth4p46JSe86o7/L9tb8jkR1UmlDJBxoTE09jadmAq10H2rpwljI16zk88WBTqya+1IDWio2aaIPxFLtBOyRaCpxAazMp1I6puF3iRhNHYMFXfoJ88BKv3i8PHNKS8zMeDHcxcLrVUi6iSpKeG8pPkLjEqY0eccYjTUOyh2Q8YmLLwO3+lOOYrD9TcUZ1NqsZCqOI3pzLNONYatqaPprqiuZLUcloiO7D1OJ52LtTzlP2z7/jXM4fwUZK1/9U79zMYmjJifIORY9UiildkGaKzYs3G1ZAKiLKBehf7tGzorU0+tSIF99voyjhed286fMeqQKBgQDn7wH6oadnfZL5NknEaioua4GJ0LhBeZCiaLReYs116554zzBubb4Y752DTE4ka8LKsSIcnCqNbc/b6q0Kw+yThJJ5F/nFgaCzKHfhImqtslolqW5K1UVwUZ9RdFUeeqt8w+CtcnrJs/jIswv7XOnfHm6VKd0gSlpbnAPEVua75wKBgQD+farEb4PCNsOTaLQYcy0dSDh68lBskc5k+kMYmDsUloaOQel2S9ufEEYxZgy4Y2b0U9Y8nEJByFBoKZW+Mplp+hH9OWaK/QpMylh1uwoN44jUyRAKhR211kBZMXcgbIjr49PxG261OydxIyu9ntcJApVpHK30qzR+DBRD7H8+5wKBgQDGz/hQUZXgfqIoAkNFnQO/euQ1sLbhWUWEEmDar7MTq//R6zjG0EettGi/Df/F9KGrgh+NishnJ4SQLSBcJAp9gZzVNJoklbOdH8lzMT9k2Yew1QX4G81ENJNvDVuRnvG1J2tHAuUCVcWitOhGdiT732hHcPVeIp5F/Py1pxBubQKBgQDlVvJxm90tRJTzXsQN1J2vacocYgpADRXmwfF9VJLJdu1DffqadLoymkPneIO2Fz5MqNDERj0fcxmjBPbBNHA0pPtZLEVQs8B4e1FEp43j/kztFVSzZkrj93R97KniOm0Zx3LUMViPUgO1XXCprV8z63QiCYpql27yuIf6vkHduQKBgEe/BLwVHxAxmGzt/k0t9TZYn4MMQd5nx1UWlFzI+mNkNQqNC5cLGWarazeHC2YdcaYAsSMfi11NTvnVY79EbXYomxSBoN3Y63ML7W6Cj9fInVtUF6j002sdRyfey+e2BQtYiUHb9xW6A7sf4LyLZJ64LGYIh1uqWQc2iUeUsSWQ
 # webSocket环境地址配置
 VITE_WEB_SOCKET_URL=wss://www.k12100.com/teaching/api/v1/teaching/websocket/

+ 1 - 1
src/router/index.ts

@@ -12,7 +12,7 @@ const routes: Array<RouteRecordRaw> = [
   {
     path: '/login',
     name: 'Login',
-    component: () => import('../views/login/login.vue')
+    component: () => import('../views/login/login_other.vue')
   },
   //主页面
   {

+ 134 - 0
src/views/login/login_other.vue

@@ -0,0 +1,134 @@
+<template>
+  <div>
+
+  </div>
+</template>
+<script setup lang="ts">
+import { ref, onMounted } from 'vue'
+
+import { login, getUserInfo } from '@/api/login'
+import { ElMessage } from 'element-plus' // 
+import { useRouter } from 'vue-router'
+import { useUserStore } from '@/store/user'
+// 1. 引入封装好的加密方法
+import { encryptPassword } from '@/utils/jsencrypt'
+
+const userStore = useUserStore()
+const router = useRouter() // 获取路由实例
+// 响应式数据
+const userName = ref('huijiaoyan')
+const passWord = ref('123456')
+const remeberPassWord = ref(false)
+const loadingLogin = ref(false)
+const showPass = ref(false)
+
+
+onMounted(() => {
+
+  //获取地址栏参数 token
+  const token = router.currentRoute.value.query.token;
+  if(token==undefined)
+  {
+    //没有token
+  }
+  else
+  {
+    console.log("打印token",token)
+    // 确保 token 是字符串类型
+    const tokenStr = Array.isArray(token) ? token[0] : token;
+    if(tokenStr)
+    {
+      localStorage.setItem('token', tokenStr)
+    }
+    
+    getUserInfo().then((userInfoRes) => { 
+      console.log("打印用户信息返回res",userInfoRes)
+      if (userInfoRes && userInfoRes.code === 200)
+      {
+        //获取用户信息成功 token未失效
+        // localStorage.setItem('userInfo', JSON.stringify(userInfoRes.data))
+        userStore.setUserInfo({
+          userId: userInfoRes.data.id,
+          userName: userInfoRes.data.userName,
+          schoolId: userInfoRes.data.schoolId,
+          schoolName: userInfoRes.data.schoolName,
+          accountName: userInfoRes.data.loginName,
+          phone: userInfoRes.data.phone,
+          identify: userInfoRes.data.identify,
+          roleNames: userInfoRes.data.roleNames,
+          roleCodes: userInfoRes.data.roleCodes,
+        })
+        // ElMessage.success('登录成功');
+        // 跳转到主页
+        router.push('/main/choice')
+      }
+    })
+  }
+  
+})
+
+// 清空输入框
+const ClearInput = () => {
+  userName.value = ''
+}
+ const menuList = ref([])
+// 登录提交
+const SubmitLogin = () => {
+  if(!userName.value || !passWord.value) {
+    ElMessage.error('请输入账号和密码');
+    return
+  }
+
+  const params = {
+    username: userName.value.trim(),
+    password: encryptPassword(passWord.value.trim()),
+    deviceType:'PC'
+  }
+  loadingLogin.value = true
+  login(params).then((res) => {
+    console.log("打印登录接口返回res",res)
+       loadingLogin.value = false
+      if (res.code === 200) {
+        console.log("登录成功返回",res)
+        localStorage.setItem('token', res.data.tokenValue)
+        menuList.value = res.data.pcMenuVOS
+        localStorage.setItem('menuList', JSON.stringify(res.data.pcMenuVOS))
+        localStorage.setItem('permissions', JSON.stringify(res.data.permissions))
+        // 登录成功后调用获取用户信息接口
+        return getUserInfo()
+      }
+  }).then((userInfoRes)=>{
+    console.log("获取用户信息返回",userInfoRes)
+    if (userInfoRes && userInfoRes.code === 200) {
+      // 存储用户信息到 localStorage 或 Pinia
+      // localStorage.setItem('userInfo', JSON.stringify(userInfoRes.data))
+      userStore.setUserInfo({
+        userId: userInfoRes.data.id,
+        userName: userInfoRes.data.userName,
+        schoolId: userInfoRes.data.schoolId,
+        schoolName: userInfoRes.data.schoolName,
+        accountName: userInfoRes.data.loginName,
+        phone: userInfoRes.data.phone,
+        identify: userInfoRes.data.identify,
+        roleNames: userInfoRes.data.roleNames,
+        roleCodes: userInfoRes.data.roleCodes,
+      })
+      ElMessage.success('登录成功');
+      // 跳转到主页
+      router.push('/main/choice')
+    }
+  }).catch((err) => {
+      loadingLogin.value = false
+
+      console.error(err)
+  })
+}
+
+// 去往官网
+const GoWebsite = () => {
+  window.open('https://www.k12100.com/website')
+}
+</script>
+<style lang="scss">
+@use "../../styles/login.scss" as *;
+</style>