Browse Source

feat: 优化、修复bug

1. 移除无用文件
2. 添加字体路径
zhupei@smartai.com 1 year ago
parent
commit
8c088ca1a5

+ 4 - 0
public/i18n/lang-en.json

@@ -263,6 +263,10 @@
     }
   },
   "permission": {
+    "no_permission_sorry": "Sorry, you do not have permission to access this page",
+    "no_permission_route": "You do not have permission to access this page. Please contact the administrator",
+    "btn_back": "Back",
+
     "query": "Query",
     "reset": "Reset",
     "delete": "Delete",

+ 4 - 0
public/i18n/lang-zh.json

@@ -256,6 +256,10 @@
     }
   },
   "permission": {
+    "no_permission_sorry": "抱歉,您无权限访问此页面",
+    "no_permission_route": "您没有权限访问此页面,请联系管理员",
+    "btn_back": "返回",
+
     "query": "查询",
     "reset": "重置",
     "delete": "删除",

BIN
src/assets/font/PingFang-SC-Bold.ttf


BIN
src/assets/font/PingFang-SC-Light.ttf


BIN
src/assets/font/PingFang-SC-Regular.ttf


+ 0 - 1
src/base/storage.js

@@ -12,7 +12,6 @@ export const localST_Theme = new MyLocalStorage('theme'); // 主题
 export const localST_Locale = new MyLocalStorage('locale'); // 多语言
 export const localST_RecentAgent = new MyLocalStorage('recent_agent'); // 近期使用的agent
 export const localST_AllAgent = new MyLocalStorage('full_agent'); // 所有可用的agent
-
 export const localST_UserInfo = new MyLocalStorage('user_info'); // 用户信息
 export const localST_RoutesList = new MyLocalStorage('routes_list'); // 用户身份token
 export const localST_RecentSearchType = new MyLocalStorage('recent_search_type'); // 最近的

+ 0 - 3
src/components/wujie/README.md

@@ -1,3 +0,0 @@
-# 无界微前端解决方案
-
-- [无界 文档](https://wujie-micro.github.io/doc/)

+ 0 - 85
src/components/wujie/WJExample.vue

@@ -1,85 +0,0 @@
-<template>
-  <!-- <div>项目的首页</div>
-  <div>
-    <div @click="handleChangeApp(1)">应用1</div>
-    <div @click="handleChangeApp(2)">应用2</div>
-  </div> -->
-
-  <WujieVue
-    width="100%"
-    height="100%"
-    name="child2"
-    :url="url"
-    :sync="true"
-    :fetch="fetch"
-    :props="props"
-    :plugins="plugins"
-  ></WujieVue>
-</template>
-<script setup>
-import { ref } from 'vue';
-
-const props = defineProps({
-  url: {
-    type: String,
-    request: true
-  }
-});
-
-// const url = ref('http://localhost:4001/');
-
-const app1_plug = [
-  {
-    // 对css脚本动态的进行替换
-    // code 为样式代码、url为样式的地址(内联样式为'')、base为子应用当前的地址
-    cssLoader: (code, url, base) => {
-      console.log('css-loader', url, code.slice(0, 50) + '...');
-      return code;
-    }
-  },
-  {
-    cssAfterLoaders: [
-      //在加载html所有样式之后添加一个外联样式
-      // { src: "https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/css/bootstrap.min.css" },
-      //在加载html所有样式之后添加一个内联样式
-      { content: 'body{background-color: blue; font-size: 15px;}' }
-    ]
-  }
-];
-
-const app2_plug = [
-  {
-    // 对css脚本动态的进行替换
-    // code 为样式代码、url为样式的地址(内联样式为'')、base为子应用当前的地址
-    cssLoader: (code, url, base) => {
-      console.log('css-loader', url, code.slice(0, 50) + '...');
-      return code;
-    }
-  },
-  {
-    cssAfterLoaders: [
-      //在加载html所有样式之后添加一个外联样式
-      // { src: "https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/css/bootstrap.min.css" },
-      //在加载html所有样式之后添加一个内联样式
-      { content: 'body{background-color: red; font-size: 30px;}' }
-    ]
-  }
-];
-
-const plugins = ref(app1_plug);
-
-const handleChangeApp = (app) => {
-  console.log(app, 'APP的ID');
-
-  if (app === 1) {
-    url.value = 'http://localhost:4000/';
-    plugins.value = app1_plug;
-  }
-
-  if (app === 2) {
-    url.value = 'http://localhost:4001/';
-    plugins.value = app2_plug;
-  }
-};
-</script>
-<style></style>

+ 0 - 1
src/config/config.js

@@ -1 +0,0 @@
-export default {};

+ 0 - 4
src/config/index.js

@@ -7,10 +7,6 @@ export const getConfigField = (key) => {
     return null;
   }
 
-  // if (!config) {
-  //   return null;
-  // }
-
   if (key in window) {
     return window[key];
   } else {

+ 0 - 0
src/directive/hasPermi/index.js → src/directive/has-permission/index.js


+ 1 - 1
src/directive/index.js

@@ -1,4 +1,4 @@
-import hasPermi from './hasPermi';
+import hasPermi from './has-permission';
 
 export default {
   install(Vue) {

+ 1 - 1
src/modules/permission/account/index.vue

@@ -470,7 +470,7 @@ onMounted(() => {
     getUserList();
     getDeptTree();
   } else {
-    router.push('/noPermission');
+    router.push('/denied');
   }
 });
 </script>

+ 1 - 1
src/modules/permission/group/index.vue

@@ -386,7 +386,7 @@ onMounted(() => {
   if (hasPermission('system:group:list')) {
     getGroupList();
   } else {
-    router.push('/noPermission');
+    router.push('/denied');
   }
 });
 </script>

+ 1 - 1
src/modules/permission/org/index.vue

@@ -235,7 +235,7 @@ onMounted(() => {
   if (hasPermission('system:dept:list')) {
     getDeptTree();
   } else {
-    router.push('/noPermission');
+    router.push('/denied');
   }
 });
 </script>

+ 1 - 1
src/modules/permission/resource/index.vue

@@ -205,7 +205,7 @@ onMounted(() => {
   if (hasPermission('system:menu:list')) {
     getResourceTree();
   } else {
-    router.push('/noPermission');
+    router.push('/denied');
   }
 });
 </script>

+ 1 - 1
src/modules/permission/role/index.vue

@@ -356,7 +356,7 @@ onMounted(() => {
     getMenuTree();
     getDeptTree();
   } else {
-    router.push('/noPermission');
+    router.push('/denied');
   }
 });
 </script>

+ 2 - 2
src/router/index.js

@@ -10,7 +10,7 @@ const router = createRouter({
 });
 
 /** 免验证白名单 */
-const whiteList = ['/login', '/reg', '/noPermission'];
+const whiteList = ['/login', '/reg', '/denied'];
 
 /** 是否已经生成过路由表 */
 let hasRouteFlag = false;
@@ -40,7 +40,7 @@ router.beforeEach(async (to, from, next) => {
     } else if (isLoginPage) {
       next('/');
     } else if (!flatRoutes.some((route) => route.path == to.path) && !isInWhiteList) {
-      next('/noPermission'); // 如果用户无访问权限且不在白名单中,重定向到无权限页面
+      next('/denied'); // 如果用户无访问权限且不在白名单中,重定向到无权限页面
     } else {
       next(); // 其他情况,正常访问
     }

+ 1 - 1
src/router/route.js

@@ -12,7 +12,7 @@ export const systemRoutes = [
   { path: '/reg', component: () => import('../views/Register.vue') },
 
   // 错误页面
-  { path: '/noPermission', component: () => import('../views/NoPermission.vue') }
+  { path: '/denied', component: () => import('../views/Denied.vue') }
 
   // // 会话
   // // { path: '/chat', redirect: '/chat/qa' },

+ 0 - 9
src/views/About.vue

@@ -1,9 +0,0 @@
-<template>
-  <iframe
-    src="http://192.168.20.116/chatbot/q8F58WkrUB2j4BcK"
-    style="width: 100%; height: 100%; min-height: 700px"
-    frameborder="0"
-    allow="microphone"
-  >
-  </iframe>
-</template>

+ 0 - 12
src/views/Agent.vue

@@ -1,12 +0,0 @@
-<template>
-  <LayoutExperience>
-    <ContentContainer>
-      <div class="agent">Agent</div>
-    </ContentContainer>
-  </LayoutExperience>
-</template>
-
-<script setup>
-import LayoutExperience from './layout/LayoutExperience.vue';
-import ContentContainer from './layout/ContentContainer.vue';
-</script>

+ 9 - 4
src/views/NoPermission.vue → src/views/Denied.vue

@@ -1,11 +1,11 @@
 <template>
   <div class="no-per">
-    <a-result status="warning" title="抱歉,您无权限访问此页面">
-      <template #subtitle> 您没有权限访问此页面,请联系管理员 </template>
+    <a-result status="warning" :title="$t('permission.no_permission_sorry')">
+      <template #subtitle> {{ $t('permission.no_permission_route') }} </template>
 
       <template #extra>
         <a-space>
-          <a-button type="primary" @click="handleBack">返回</a-button>
+          <a-button type="primary" @click="handleBack">{{ $t('permission.btn_back') }}</a-button>
         </a-space>
       </template>
     </a-result>
@@ -14,10 +14,15 @@
 
 <script setup>
 import { useRouter } from 'vue-router';
+
 const router = useRouter();
 
 const handleBack = () => {
-  router.go(-2);
+  if (history.length >= 2) {
+    router.go(-2);
+  } else {
+    router.replace('/');
+  }
 };
 </script>
 <style lang="css" scoped>

+ 2 - 33
src/views/Home.vue

@@ -1,38 +1,7 @@
 <template>
-  <div>home</div>
-
-  <!-- <ApiGetExample1 />
-
-  <ApiGetExample2 />
-
-  <ApiGetExample3 />
-
-  <div>
-    <ul>
-      <li><router-link class="arco-link" to="/">首页</router-link></li>
-      <li><router-link class="arco-link" to="/login">登录</router-link></li>
-      <li><router-link class="arco-link" to="/reg">注册</router-link></li>
-      <li><router-link class="arco-link" to="/chat">会话</router-link></li>
-      <li><router-link class="arco-link" to="/chat/history">历史会话</router-link></li>
-      <li><router-link class="arco-link" to="/chat/board">会话-智能体</router-link></li>
-      <li><router-link class="arco-link" to="/knowledge">知识库</router-link></li>
-      <li><router-link class="arco-link" to="/model">模型管理</router-link></li>
-      <li><router-link class="arco-link" to="/agent">Agent</router-link></li>
-      <li><router-link class="arco-link" to="/intelligent">智能体管理</router-link></li>
-      <li><router-link class="arco-link" to="/permission">权限</router-link></li>
-      <li><router-link class="arco-link" to="/permission/org">机构</router-link></li>
-      <li><router-link class="arco-link" to="/permission/account">用户</router-link></li>
-      <li><router-link class="arco-link" to="/permission/role">角色</router-link></li>
-      <li><router-link class="arco-link" to="/permission/group">用户组</router-link></li>
-      <li><router-link class="arco-link" to="/profile">个人中心</router-link></li>
-      <li><router-link class="arco-link" to="/setting">设置</router-link></li>
-      <li><router-link class="arco-link" to="/about">关于</router-link></li>
-    </ul>
-  </div> -->
+  <div>SmartAI</div>
 </template>
 
 <script setup>
-import ApiGetExample1 from '../components/ApiGetExample1.vue';
-import ApiGetExample2 from '../components/ApiGetExample2.vue';
-import ApiGetExample3 from '../components/ApiGetExample3.vue';
+// 系统第一页
 </script>

+ 0 - 12
src/views/Profiles.vue

@@ -1,12 +0,0 @@
-<template>
-  <LayoutExperience>
-    <ContentContainer>
-      <div class="profile">用户中心</div>
-    </ContentContainer>
-  </LayoutExperience>
-</template>
-
-<script setup>
-import LayoutExperience from './layout/LayoutExperience.vue';
-import ContentContainer from './layout/ContentContainer.vue';
-</script>

+ 0 - 9
src/views/RagFlowChat.vue

@@ -1,9 +0,0 @@
-<template>
-  <iframe
-    src="http://192.168.20.116/chatbot/q8F58WkrUB2j4BcK"
-    style="width: 100%; height: 100%; min-height: 700px"
-    frameborder="0"
-    allow="microphone"
-  >
-  </iframe>
-</template>

+ 0 - 3
src/views/Register.vue

@@ -1,3 +0,0 @@
-<template>
-  <div>注册</div>
-</template>

+ 0 - 12
src/views/Settings.vue

@@ -1,12 +0,0 @@
-<template>
-  <LayoutExperience>
-    <ContentContainer>
-      <div class="settings">设置</div>
-    </ContentContainer>
-  </LayoutExperience>
-</template>
-
-<script setup>
-import LayoutExperience from './layout/LayoutExperience.vue';
-import ContentContainer from './layout/ContentContainer.vue';
-</script>