Procházet zdrojové kódy

1、新增默认内部测试租户
2、登录连接附带参数链接全部调回登录
3、统一管理平台名称、写死的数字人的id都.env配置

liyanbo před 4 měsíci
rodič
revize
68ad855f18

+ 18 - 5
.env

@@ -1,12 +1,25 @@
 # 标题
-VITE_APP_TITLE=AI课程网
+VITE_APP_TITLE=人工智能通识课平台
 
 # 请求路径
 # VITE_BASE_URL='http://59.110.91.129:8088/admin-api'
 # VITE_BASE_URL='https://learn-ai.com.cn/admin-api'
 VITE_BASE_URL='http://192.168.110.8:8080/admin-api'
-    
+
 # 默认账户密码
-VITE_APP_DEFAULT_LOGIN_TENANT =
-VITE_APP_DEFAULT_LOGIN_USERNAME =
-VITE_APP_DEFAULT_LOGIN_PASSWORD =
+VITE_APP_DEFAULT_LOGIN_TENANT=
+VITE_APP_DEFAULT_LOGIN_USERNAME=
+VITE_APP_DEFAULT_LOGIN_PASSWORD=
+
+# 广电默认登录账号
+VITE_APP_GUANGDIAN_LOGIN_USERNAME=zdxyz
+VITE_APP_GUANGDIAN_LOGIN_PASSWORD=zdxyz
+
+# 登录短信模版id
+VITE_APP_LOGIN_SMS_TEMPLATE_ID=21
+
+# AI虚拟实验室-智能台灯数字人id
+VITE_APP_AI_LAB_LIGHT_TEMPLATE_ID=75
+
+# AI虚拟实验室-智能家居数字人id
+VITE_APP_AI_LAB_HOME_TEMPLATE_ID=94

+ 1 - 1
index.html

@@ -4,7 +4,7 @@
     <meta charset="UTF-8" />
     <!-- <link rel="icon" type="image/svg+xml" href="/vite.svg" /> -->
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <title>人工智能通识课平台</title>
+      <title>%VITE_APP_TITLE%</title>
   </head>
   <body>
     <div id="app"></div>

+ 1 - 1
src/components/HomePage.vue

@@ -123,7 +123,7 @@ import { logout } from '@/api/login/login.js'
 import { Message } from '@/utils/message/Message.js'
 
 // 平台标题响应式变量
-const platformTitle = ref('人工智能通识课平台')
+const platformTitle = ref(import.meta.env.VITE_APP_TITLE)
 // 更新平台标题
 const updatePlatformTitle = () => {
   platformTitle.value = localStorage.getItem('tenantName') || import.meta.env.VITE_APP_DEFAULT_LOGIN_TENANT

+ 2 - 2
src/components/blockly/BlocklyEditor.vue

@@ -713,8 +713,8 @@ const aiService = {
 
     // 如果没有活跃的对话ID,创建新对话
     if (!state.activeConversationId) {
-      // 使用与TextToText.vue相同的方式创建对话
-      const res = await CreateDialogue({ roleId: 75 });
+      // 使用与TextToText.vue相同的方式创建对话BlocklyEditor.vue
+      const res = await CreateDialogue({ roleId: import.meta.env.VITE_APP_AI_LAB_LIGHT_TEMPLATE_ID });
       state.activeConversationId = res.data;
       console.log("AI智能体创建成功,请等待。。。");
     }

+ 32 - 22
src/views/Login.vue

@@ -9,7 +9,7 @@
     <!-- 登录输入框 -->
     <div class="login-wrapper">
       <div class="login-input">
-         <span>人工智能通识课平台</span>
+        <span>{{ appTitle }}</span>
         <el-form
           ref="loginFormRef"
           :model="loginData.loginForm"
@@ -18,15 +18,15 @@
           class="input-item"
         >
           <el-form-item prop="tenantName">
-            <el-input
+            <el-input v-show="!tenantNameQuery"
               v-model="loginData.loginForm.tenantName"
               :prefix-icon="HomeFilled"
               placeholder="学校"
             />
           </el-form-item>
-          
+
           <!-- 条件显示手机号和短信验证码或账号和密码 -->
-         <template v-if="isAuthorized"> 
+         <template v-if="isAuthorized">
             <el-form-item prop="username">
               <el-input
                 v-model="loginData.loginForm.username"
@@ -44,8 +44,8 @@
                 show-password
               />
             </el-form-item>
-          </template> 
-          
+          </template>
+
        <template v-else>
             <el-form-item prop="phoneNumber">
               <el-input
@@ -62,8 +62,8 @@
                   placeholder="短信验证码"
                   class="sms-input"
                 />
-                <el-button 
-                  type="primary" 
+                <el-button
+                  type="primary"
                   @click="getSmsCode"
                   :disabled="countingDown"
                   class="get-code-btn"
@@ -73,7 +73,7 @@
                 </el-button>
               </div>
             </el-form-item>
-          </template> 
+          </template>
 
           <!-- 登录按钮 -->
           <el-form-item>
@@ -102,9 +102,11 @@ import { ElLoading, ElMessage } from 'element-plus'
 
 import BGImages from '@/assets/images/homeBG.png'
 
-
 const router = useRouter()
 
+// 获取环境变量
+const appTitle = import.meta.env.VITE_APP_TITLE
+
 const loginFormRef = ref(null)
 
 const loginData = ref({
@@ -123,6 +125,8 @@ const loading = ref() // ElLoading.service 返回的实例
 const tenantId = ref('')
 // 登录状态标识
 const isLoggedIn = ref(false)
+//地址栏传参默认值
+const tenantNameQuery = ref()
 
 // 短信验证码相关状态
 const countingDown = ref(false)
@@ -216,12 +220,11 @@ const getSmsCode = async () => {
   }
 }
 
-
 // 验证码倒计时函数
 const startCountDown = () => {
   countingDown.value = true
   countDown.value = 60
-  
+
   if (countDownTimer) {
     clearInterval(countDownTimer)
   }
@@ -258,7 +261,7 @@ const handleLogin = async params => {
             { 'Tenant-Id': tenantId.value },{
             mobile: loginData.value.loginForm.phoneNumber,
             code: loginData.value.loginForm.smsCode,
-          }) 
+          })
         } else {
           // 授权状态,使用账号密码登录
           res = await login(
@@ -266,7 +269,7 @@ const handleLogin = async params => {
             loginDataLoginForm
           )
         }
-        
+
         if (!res) {
           return
         }
@@ -317,15 +320,13 @@ const handleLogin = async params => {
   })
 }
 
-
-
 // 在组件挂载时检查登录状态和恢复登录信息
 onMounted(() => {
   const storedStatus = localStorage.getItem('isLoggedIn') // isLoggedIn
   const storedTenantName = localStorage.getItem('tenantName')
   const storedUserName = localStorage.getItem('userName')
   const storedPassword = localStorage.getItem('password')
-  
+
   // 恢复登录信息到输入框
   if (storedTenantName) {
     loginData.value.loginForm.tenantName = storedTenantName
@@ -337,7 +338,16 @@ onMounted(() => {
     loginData.value.loginForm.password = storedPassword
     loginData.value.loginForm.rememberMe = true
   }
-  
+
+  // 检查地址栏是否有tenantName参数
+  let tenantName = router.currentRoute.value.query?.TENANT;
+  if (tenantName && tenantName === "内部测试租户") {
+    loginData.value.loginForm.tenantName = tenantNameQuery.value = tenantName
+  } else if (Object.keys(router.currentRoute.value.query).length > 0) {
+    // 其他参数,重定向到登录页
+    router.replace('/login')
+  }
+
   // 检查登录状态,如果已登录则直接跳转到首页
   if (storedStatus === 'true') {
     isLoggedIn.value = true
@@ -350,9 +360,9 @@ onMounted(() => {
       handleLogin()
     }
   }
-  
+
   document.addEventListener('keydown', handleKeyPress)
-  
+
   // 在组件卸载时移除事件监听
   onUnmounted(() => {
     document.removeEventListener('keydown', handleKeyPress)
@@ -389,8 +399,8 @@ onMounted(() => {
   flex: 1; // 登录框占比为 1
   background: linear-gradient(to bottom, #001169, #8a78d0);
   padding: 20px;
-  position: static; 
-  transform: none; 
+  position: static;
+  transform: none;
   display: flex; // 添加 Flexbox 布局
   justify-content: center; // 水平居中
   align-items: center; // 垂直居中

+ 3 - 3
src/views/QuickLogin.vue

@@ -20,9 +20,9 @@ let loading = null
 
 // 测试账号信息
 const testAccount = {
-  tenantName: '人工智能通识课平台',
-  username: 'zdxyz',
-  password: 'zdxyz' 
+  tenantName: import.meta.env.VITE_APP_TITLE,
+  username: import.meta.env.VITE_APP_GUANGDIAN_LOGIN_USERNAME,
+  password: import.meta.env.VITE_APP_GUANGDIAN_LOGIN_PASSWORD
 }
 
 // 获取租户 ID

+ 1 - 1
src/views/blockly/Blockly.vue

@@ -644,7 +644,7 @@ const aiService = {
     // 如果没有活跃的对话ID,创建新对话
     if (!state.activeConversationId) {
       // 使用与TextToText.vue相同的方式创建对话
-      const res = await CreateDialogue({ roleId: 75 });
+      const res = await CreateDialogue({ roleId: import.meta.env.VITE_APP_AI_LAB_LIGHT_TEMPLATE_ID });
       state.activeConversationId = res.data;
       console.log("AI智能体创建成功,请等待。。。");
     }

+ 1 - 1
src/views/blockly/Blockly2.vue

@@ -665,7 +665,7 @@ const aiService = {
     // 如果没有活跃的对话ID,创建新对话
     if (!state.activeConversationId) {
       // 使用与TextToText.vue相同的方式创建对话
-      const res = await CreateDialogue({ roleId: 94 });
+      const res = await CreateDialogue({ roleId: import.meta.env.VITE_APP_AI_LAB_HOME_TEMPLATE_ID });
       state.activeConversationId = res.data;
       console.log("AI智能体创建成功,请等待。。。");
     }