Pārlūkot izejas kodu

init basic framework

Damon 4 gadi atpakaļ
vecāks
revīzija
8b1d49f649

+ 35 - 33
.eslintrc.js

@@ -1,36 +1,38 @@
 module.exports = {
-    root: true,
-    parserOptions: {
-        parser: 'babel-eslint'
-    },
-    env: {
-        browser: true,
-    },
-    // consider switching to `plugin:vue/strongly-recommended` or `plugin:vue/recommended` for stricter rules.
-    extends: ['plugin:vue/vue3-essential'],
-    // required to lint *.vue files
-    plugins: [
-        'vue'
-    ],
-    // check if imports actually resolve
-    settings: {
-        'import/resolver': {
-            webpack: {
-                config: 'build/webpack.base.conf.js'
-            }
-        }
-    },
-    // add your custom rules here
-    rules: {
-        // allow debugger during development
-        'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
-        'no-console': 'off',
-        'no-plusplus': 'off',
-        'no-unused-vars': 'off',
-        'arrow-parens': 'off',
-        'no-restricted-syntax': 'off',
-        'linebreak-style': ["off", "windows"],
-        "max-len": ["error", { code: 200 }],
-        'semi': ["error", "always"]
+  root: true,
+  parserOptions: {
+    parser: 'babel-eslint'
+  },
+  env: {
+    browser: true,
+  },
+  // consider switching to `plugin:vue/strongly-recommended` or `plugin:vue/recommended` for stricter rules.
+  extends: ['plugin:vue/vue3-essential'],
+  // required to lint *.vue files
+  plugins: [
+    'vue'
+  ],
+  // check if imports actually resolve
+  settings: {
+    'import/resolver': {
+      webpack: {
+        config: 'build/webpack.base.conf.js'
+      }
     }
+  },
+  // add your custom rules here
+  rules: {
+    // allow debugger during development
+    'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
+    'no-console': 'off',
+    'no-plusplus': 'off',
+    'no-unused-vars': 'off',
+    'arrow-parens': 'off',
+    'no-restricted-syntax': 'off',
+    'linebreak-style': ["off", "windows"],
+    "max-len": ["warn", { code: 500 }],
+    'semi': ["error", "always"],
+    // 'comma-dangle': ["error", "always"],
+    // 'quotes': [1, "single"],
+  }
 };

+ 17 - 1
README.md

@@ -2,5 +2,21 @@
 
 
 
-**推荐环境**: - [NodeJS: 14.18.* --- npm: 6.14.15](https://nodejs.org/zh-cn/download/releases/)
+**推荐开发环境**: - [NodeJS: 14.18.* --- npm: 6.14.15](https://nodejs.org/zh-cn/download/releases/)
 
+**参考文档**: [新门户系统前端参考文档](https://seecoder.yuque.com/gcbqv7/auxsi6/fzxk8q)
+
+**注意**:
+
+- ```./global/register-element.js```文件中声明了对```elementPlus```组件库的按需引入,有新组件需求请在对应位置修改
+
+- 开发环境下```devServer```启动后将会在```8888```端口启动一个包大小分析页面,可通过注释掉```new BundleAnalyzerPlugin()```取消
+
+
+**待确定事项**:
+
+- 与```coder```系统、```eval```系统的对接方式
+
+- 登录页迁移方式(老门户有一套)
+
+- ```sass```使用与否, 若最后使用建议弃用```node-sass```,官方推荐新的```dart-sass | sass```[sass官网](https://www.sasscss.com/dart-sass) | [npm上的JS版本](https://www.npmjs.com/package/sass)

BIN
public/favicon.ico


+ 28 - 13
public/index.html

@@ -1,17 +1,32 @@
 <!DOCTYPE html>
-<html lang="">
-  <head>
+<html lang="zh-cn">
+<head>
     <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width,initial-scale=1.0">
-    <link rel="icon" href="favicon.ico">
+    <meta content="IE=edge" http-equiv="X-UA-Compatible">
+    <meta content="width=device-width,initial-scale=1.0" name="viewport">
+    <link href="./favicon.ico" rel="icon" type="image/x-icon">
     <title><%= htmlWebpackPlugin.options.title %></title>
-  </head>
-  <body>
-    <noscript>
-      <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
-    </noscript>
-    <div id="app"></div>
-    <!-- built files will be auto injected -->
-  </body>
+    <style>
+        ::-webkit-scrollbar {
+            width: 12px;
+        }
+
+        ::-webkit-scrollbar-thumb {
+            border-radius: 3px;
+            background: rgba(0, 0, 0, 0.2);
+        }
+
+        body {
+            margin: 0;
+        }
+    </style>
+</head>
+<body>
+<noscript>
+    <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled.
+        Please enable it to continue.</strong>
+</noscript>
+<div id="app"></div>
+<!-- built files will be auto injected -->
+</body>
 </html>

+ 1 - 25
src/App.vue

@@ -1,27 +1,3 @@
 <template>
-  <div id="nav">
-    <router-link to="/">Home</router-link> |
-    <router-link to="/about">About</router-link>
-  </div>
   <router-view/>
-</template>
-
-<style>
-/*#app {*/
-/*  font-family: Avenir, Helvetica, Arial, sans-serif;*/
-/*  -webkit-font-smoothing: antialiased;*/
-/*  -moz-osx-font-smoothing: grayscale;*/
-/*  text-align: center;*/
-/*  color: #2c3e50;*/
-/*}*/
-
-#nav {
-  padding: 30px;
-}
-
-#nav a {
-  font-weight: bold;
-  color: #2c3e50;
-}
-
-</style>
+</template>

+ 7 - 0
src/api/course.js

@@ -0,0 +1,7 @@
+// import { axios } from "@/requests/axios.config";
+
+const courseAPIs = {
+
+};
+
+export default courseAPIs;

+ 7 - 0
src/api/index.js

@@ -0,0 +1,7 @@
+import mockAPIs from "@/api/mock";
+
+const api = {
+  ...mockAPIs
+};
+
+export default api;

+ 11 - 0
src/api/mock.js

@@ -0,0 +1,11 @@
+import { axios } from "@/requests/axios.config";
+
+function example() {
+  return axios.get('/example');
+}
+
+const mockAPIs = {
+  example
+};
+
+export default mockAPIs;

BIN
src/assets/adminPage.png


BIN
src/assets/allCourse.png


BIN
src/assets/allTest.png


BIN
src/assets/carousel.png


BIN
src/assets/coursePage.png


BIN
src/assets/homePage.png


BIN
src/assets/infoCard.png


BIN
src/assets/logo.png


BIN
src/assets/messagePage.png


BIN
src/assets/myCourse.png


BIN
src/assets/myTest.png


BIN
src/assets/seec-logo-full-temp.png


BIN
src/assets/taskPage.png


BIN
src/assets/testPage.png


+ 111 - 0
src/components/GlobalHeader.vue

@@ -0,0 +1,111 @@
+<template>
+  <div id="global-header-body">
+    <div @click="toPortal">
+      <img id="global-header-logo" alt="err" src="@/assets/seec-logo-full-temp.png">
+    </div>
+    <div><span style="color: #a4a4a4">[定位用空白及调试信息]</span>———当前: <span style="color: red">{{ currentPage }}</span>页———[顶部栏样式和交互待补全]</div>
+    <div id="global-header-navigator">
+      <div class="global-header-navigator-tab" @click="toPortal"><span class="global-header-navigator-tab-text">首页</span></div>
+      <div class="global-header-navigator-tab" @click="toTask"><span class="global-header-navigator-tab-text">任务</span></div>
+      <div class="global-header-navigator-tab" @click="toAdmin"><span class="global-header-navigator-tab-text">教师[临]</span></div>
+      <div class="global-header-navigator-tab"><span class="global-header-navigator-tab-text">可能的其他页面</span></div>
+      <div class="global-header-navigator-tab"><span class="global-header-navigator-tab-text">...</span></div>
+    </div>
+    <div id="global-header-icon">
+      <div class="global-header-icon-content" @click="toMessage">
+        <svg height="36" viewBox="0 0 1024 1024" width="36" xmlns="http://www.w3.org/2000/svg">
+          <path
+            d="M849.6 713.4c8.4-0.4 16.7 1.8 23.8 6.4-28.9-18.5-46.4-50.4-46.3-84.8V436c0-145.9-105.7-267.6-246.9-297.5v-7.2c0-37.1-30.1-67.1-67.2-67.1h-0.1c-37.1 0-67.3 30.1-67.3 67.2v7C304.3 168.4 198.7 290 198.7 436v199.1c0 35.7-18.6 66.9-46.4 84.8 7-4.6 15.4-6.9 23.8-6.4-24.7-0.9-45.5 18.4-46.4 43.1-0.9 24.7 18.4 45.5 43.1 46.4h676.6c24.7 0.1 44.8-20 44.9-44.7 0.1-24.8-19.9-44.9-44.7-44.9zM513 959.8c62 0 112.2-50.2 112.2-111.9H400.7c0 61.7 50.2 111.9 112.3 111.9z"
+            fill="#E8AA5B"></path>
+        </svg>
+      </div>
+      <div class="global-header-icon-content" @click="toHome">
+        <svg height="40" viewBox="0 0 1025 1024" width="40" xmlns="http://www.w3.org/2000/svg">
+          <path
+            d="M511.999723 331.913794m-117.748854 0a117.748854 117.748854 0 1 0 235.497708 0 117.748854 117.748854 0 1 0-235.497708 0Z"
+            fill="#82BAD8"></path>
+          <path
+            d="M511.999723 0.000554A511.999723 511.999723 0 1 0 1025.10767 512.000277 512.276779 512.276779 0 0 0 511.999723 0.000554zM792.380524 779.636496a24.935051 24.935051 0 0 1-24.935052-24.935052 255.445749 255.445749 0 0 0-510.614442 0 24.935051 24.935051 0 0 1-49.870103 0 304.76174 304.76174 0 0 1 205.29859-288.138372 167.896013 167.896013 0 1 1 199.480412 0 304.76174 304.76174 0 0 1 205.575646 288.138372 24.935051 24.935051 0 0 1-24.935051 24.935052z"
+            fill="#82BAD8"></path>
+        </svg>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "GlobalHeader",
+
+  computed: {
+    currentPage: function () {
+      return this.$route.name;
+    },
+  },
+
+  methods: {
+    toPortal() {
+      this.$router.push('/portal');
+    },
+    toTask() {
+      this.$router.push('/task');
+    },
+    toAdmin() {
+      this.$router.push('/admin');
+    },
+    toMessage() {
+      this.$router.push('/message');
+    },
+    toHome() {
+      this.$router.push('/home');
+    },
+  },
+};
+</script>
+
+<style scoped>
+#global-header-body {
+  height: 64px;
+  position: sticky;
+  top: 0;
+  z-index: 999;
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  background: white;
+  box-shadow: 0 3px 6px 1px #a4a4a4;
+}
+
+#global-header-logo {
+  height: 48px;
+  margin-left: 8px;
+  cursor: pointer;
+}
+
+#global-header-navigator {
+  display: flex;
+}
+
+.global-header-navigator-tab {
+  height: 64px;
+  width: 72px;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+}
+
+.global-header-navigator-tab:hover {
+  cursor: pointer;
+}
+
+#global-header-icon {
+  width: 120px;
+  margin-right: 8px;
+  display: flex;
+  justify-content: space-around;
+}
+
+.global-header-icon-content:hover {
+  cursor: pointer;
+}
+</style>

+ 0 - 58
src/components/HelloWorld.vue

@@ -1,58 +0,0 @@
-<template>
-  <div class="hello">
-    <h1>{{ msg }}</h1>
-    <p>
-      For a guide and recipes on how to configure / customize this project,<br>
-      check out the
-      <a href="https://cli.vuejs.org" target="_blank" rel="noopener">vue-cli documentation</a>.
-    </p>
-    <h3>Installed CLI Plugins</h3>
-    <ul>
-      <li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-babel" target="_blank" rel="noopener">babel</a></li>
-      <li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-eslint" target="_blank" rel="noopener">eslint</a></li>
-    </ul>
-    <h3>Essential Links</h3>
-    <ul>
-      <li><a href="https://vuejs.org" target="_blank" rel="noopener">Core Docs</a></li>
-      <li><a href="https://forum.vuejs.org" target="_blank" rel="noopener">Forum</a></li>
-      <li><a href="https://chat.vuejs.org" target="_blank" rel="noopener">Community Chat</a></li>
-      <li><a href="https://twitter.com/vuejs" target="_blank" rel="noopener">Twitter</a></li>
-      <li><a href="https://news.vuejs.org" target="_blank" rel="noopener">News</a></li>
-    </ul>
-    <h3>Ecosystem</h3>
-    <ul>
-      <li><a href="https://router.vuejs.org" target="_blank" rel="noopener">vue-router</a></li>
-      <li><a href="https://vuex.vuejs.org" target="_blank" rel="noopener">vuex</a></li>
-      <li><a href="https://github.com/vuejs/vue-devtools#vue-devtools" target="_blank" rel="noopener">vue-devtools</a></li>
-      <li><a href="https://vue-loader.vuejs.org" target="_blank" rel="noopener">vue-loader</a></li>
-      <li><a href="https://github.com/vuejs/awesome-vue" target="_blank" rel="noopener">awesome-vue</a></li>
-    </ul>
-  </div>
-</template>
-
-<script>
-export default {
-  name: 'HelloWorld',
-  props: {
-    msg: String
-  }
-};
-</script>
-
-<!-- Add "scoped" attribute to limit CSS to this component only -->
-<style scoped>
-h3 {
-  margin: 40px 0 0;
-}
-ul {
-  list-style-type: none;
-  padding: 0;
-}
-li {
-  display: inline-block;
-  margin: 0 10px;
-}
-a {
-  color: #42b983;
-}
-</style>

+ 1 - 1
src/global/index.js

@@ -1,5 +1,5 @@
 import registerElement from './register-element';
 
-export function globalRegister(app) {
+export function globalComponentRegister(app) {
     app.use(registerElement);
 }

+ 4 - 5
src/main.js

@@ -1,11 +1,10 @@
 import { createApp } from 'vue';
-import { globalRegister } from './global';
+import { globalComponentRegister } from './global';
 import App from './App.vue';
 import router from './router';
 import store from './store';
+import api from "@/api";
 
-const app = createApp(App).use(store).use(router);
-app.use(router);
-app.use(store);
-app.use(globalRegister);
+const app = createApp(App).use(store).use(router).use(globalComponentRegister);
+app.config.globalProperties.$api = api;
 app.mount('#app');

+ 1 - 1
src/requests/axios.config.js

@@ -1,7 +1,7 @@
 import axios from "axios";
 
 const instance = axios.create({
-    baseURL: ''
+    baseURL: 'http://localhost:8080'
 });
 
 // instance.interceptors.request.use((config) => {

+ 39 - 12
src/router/index.js

@@ -1,25 +1,52 @@
-import { createRouter, createWebHashHistory } from 'vue-router';
-import Home from '../views/Home.vue';
+import { createRouter, createWebHashHistory, } from 'vue-router';
+import PortalPage from "@/views/PortalPage/PortalPage";
 
 const routes = [
   {
     path: '/',
+    redirect: '/portal',
+  },
+  {
+    path: '/portal',
+    name: 'Portal',
+    // 落地页同步加载
+    component: PortalPage,
+  },
+  {
+    path: '/task',
+    name: 'Task',
+    component: () => import('../views/TaskPage/TaskPage.vue'),
+  },
+  {
+    path: '/home',
     name: 'Home',
-    component: Home
+    component: () => import('../views/HomePage/HomePage.vue'),
   },
   {
-    path: '/about',
-    name: 'About',
-    // route level code-splitting
-    // this generates a separate chunk (about.[hash].js) for this route
-    // which is lazy-loaded when the route is visited.
-    component: () => import(/* webpackChunkName: "about" */ '../views/About.vue')
-  }
+    path: '/message',
+    name: 'Message',
+    component: () => import('../views/MessagePage/MessagePage.vue'),
+  },
+  {
+    path: '/admin',
+    name: 'Admin',
+    component: () => import('../views/AdminPage/AdminPage.vue'),
+  },
+  {
+    path: '/course',
+    name: 'Course',
+    component: () => import('../views/CoursePage/CoursePage.vue'),
+  },
+  {
+    path: '/test',
+    name: 'Test',
+    component: () => import('../views/TestPage/TestPage.vue'),
+  },
 ];
 
 const router = createRouter({
   history: createWebHashHistory(),
-  routes
-});
+  routes,
+},);
 
 export default router;

+ 0 - 5
src/views/About.vue

@@ -1,5 +0,0 @@
-<template>
-  <div class="about">
-    <h1>This is an about page</h1>
-  </div>
-</template>

+ 17 - 0
src/views/AdminPage/AdminPage.vue

@@ -0,0 +1,17 @@
+<template>
+  <GlobalHeader/>
+  <p style="text-align: center; font-weight: bolder; font-size: xxx-large">教师/HR页</p>
+  <img alt="err" src="@/assets/adminPage.png" style="width: 100%">
+</template>
+
+<script>
+import GlobalHeader from "@/components/GlobalHeader";
+export default {
+  name: "AdminPage",
+  components: { GlobalHeader }
+};
+</script>
+
+<style scoped>
+
+</style>

+ 17 - 0
src/views/CoursePage/CoursePage.vue

@@ -0,0 +1,17 @@
+<template>
+  <GlobalHeader/>
+  <p style="text-align: center; font-weight: bolder; font-size: xxx-large">全部课程页(预计有大改动)</p>
+  <img alt="err" src="@/assets/coursePage.png" style="width: 100%">
+</template>
+
+<script>
+import GlobalHeader from "@/components/GlobalHeader";
+export default {
+  name: "CoursePage",
+  components: { GlobalHeader }
+};
+</script>
+
+<style scoped>
+
+</style>

+ 0 - 18
src/views/Home.vue

@@ -1,18 +0,0 @@
-<template>
-  <div class="home">
-    <img alt="Vue logo" src="../assets/logo.png">
-    <HelloWorld msg="Welcome to Your Vue.js App"/>
-  </div>
-</template>
-
-<script>
-// @ is an alias to /src
-import HelloWorld from '@/components/HelloWorld.vue';
-
-export default {
-  name: 'Home',
-  components: {
-    HelloWorld
-  }
-};
-</script>

+ 17 - 0
src/views/HomePage/HomePage.vue

@@ -0,0 +1,17 @@
+<template>
+  <GlobalHeader/>
+  <p style="text-align: center; font-weight: bolder; font-size: xxx-large">个人中心</p>
+  <img alt="err" src="@/assets/homePage.png" style="width: 100%">
+</template>
+
+<script>
+import GlobalHeader from "@/components/GlobalHeader";
+export default {
+  name: 'HomePage',
+  components: { GlobalHeader },
+};
+</script>
+
+<style scoped>
+
+</style>

+ 17 - 0
src/views/MessagePage/MessagePage.vue

@@ -0,0 +1,17 @@
+<template>
+  <GlobalHeader/>
+  <p style="text-align: center; font-weight: bolder; font-size: xxx-large">消息中心</p>
+  <img alt="err" src="@/assets/messagePage.png" style="width: 100%;">
+</template>
+
+<script>
+import GlobalHeader from "@/components/GlobalHeader";
+export default {
+  name: "MessagePage",
+  components: { GlobalHeader }
+};
+</script>
+
+<style scoped>
+
+</style>

+ 95 - 0
src/views/PortalPage/PortalPage.vue

@@ -0,0 +1,95 @@
+<template>
+  <GlobalHeader/>
+  <div id="portal-body">
+    <div id="portal-main-left">
+      <Carousel/>
+      <div>blank</div>
+      <div id="a" :style="{height:(this.extending?'650px':'200px'), transition: 'height 0.5s'}" style="cursor: pointer;" @click="toCourse">精选课程
+        <img alt="err" src="@/assets/allCourse.png" style="width: 100%; height: 80%">
+      </div>
+      <div>blank</div>
+      <div :style="{height:(this.extending?'650px':'200px'), transition: 'height 0.5s'}" style="cursor: pointer" @click="toTest">智能测试
+        <img alt="err" src="@/assets/allTest.png" style="width: 100%; height: 80%">
+      </div>
+      <div>滚动查看更多</div>
+      <div>滚动查看更多</div>
+      <div>滚动查看更多</div>
+      <div>滚动查看更多</div>
+      <div>滚动查看更多</div>
+    </div>
+
+    <div id="portal-main-right">
+      <InfoCard/>
+      <div>blank</div>
+      <div :style="{height:(this.extending?'650px':'200px'), transition: 'height 0.5s'}">我的课程
+        <img alt="err" src="@/assets/myCourse.png" style="width: 100%; height: 80%">
+      </div>
+      <div>blank</div>
+      <div :style="{height:(this.extending?'650px':'200px'), transition: 'height 0.5s'}">我的测试
+        <img alt="err" src="@/assets/myTest.png" style="width: 100%; height: 80%">
+      </div>
+      <div>滚动查看更多</div>
+      <div>滚动查看更多</div>
+      <div>滚动查看更多</div>
+      <div>滚动查看更多</div>
+      <div>滚动查看更多</div>
+    </div>
+  </div>
+</template>
+
+<script>
+import GlobalHeader from "@/components/GlobalHeader";
+import Carousel from "@/views/PortalPage/components/Carousel";
+import InfoCard from "@/views/PortalPage/components/InfoCard";
+
+export default {
+  //属性
+  name: "PortalPage",
+  components: { InfoCard, Carousel, GlobalHeader },
+  data() {
+    return {
+      extending: false,
+    };
+  },
+
+  //生命周期函数
+  beforeMount() {
+    window.addEventListener('scroll', this.handleScroll, true);
+  },
+  beforeUnmount() {
+    window.removeEventListener('scroll', this.handleScroll);
+  },
+
+  //其他函数
+  methods: {
+    toTest() {
+      this.$router.push('/test');
+    },
+    toCourse() {
+      this.$router.push('/course');
+    },
+    handleScroll() {
+      let scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
+      if (scrollTop > 15) {
+        this.extending = true;
+      } else if (scrollTop < 5) {
+        this.extending = false;
+      }
+    },
+  }
+};
+</script>
+
+<style scoped>
+#portal-body {
+  display: flex;
+}
+
+#portal-main-left {
+  flex: 1;
+}
+
+#portal-main-right {
+  width: 400px;
+}
+</style>

+ 15 - 0
src/views/PortalPage/components/Carousel.vue

@@ -0,0 +1,15 @@
+<template>
+  <div style="height: 200px;">轮播
+    <img alt="err" src="@/assets/carousel.png" style="width: 100%; height: 100%">
+  </div>
+</template>
+
+<script>
+export default {
+  name: "Carousel"
+};
+</script>
+
+<style scoped>
+
+</style>

+ 15 - 0
src/views/PortalPage/components/InfoCard.vue

@@ -0,0 +1,15 @@
+<template>
+  <div style="height: 200px;">登录状态卡
+    <img alt="err" src="@/assets/infoCard.png" style="width: 100%; height: 100%">
+  </div>
+</template>
+
+<script>
+export default {
+  name: "InfoCard"
+};
+</script>
+
+<style scoped>
+
+</style>

+ 17 - 0
src/views/TaskPage/TaskPage.vue

@@ -0,0 +1,17 @@
+<template>
+  <GlobalHeader/>
+  <p style="text-align: center; font-weight: bolder; font-size: xxx-large">任务页</p>
+  <img alt="err" src="@/assets/taskPage.png" style="width: 100%">
+</template>
+
+<script>
+import GlobalHeader from "@/components/GlobalHeader";
+export default {
+  name: "TaskPage",
+  components: { GlobalHeader }
+};
+</script>
+
+<style scoped>
+
+</style>

+ 17 - 0
src/views/TestPage/TestPage.vue

@@ -0,0 +1,17 @@
+<template>
+  <GlobalHeader/>
+  <p style="text-align: center; font-weight: bolder; font-size: xxx-large">全部测试页(预计有大改动)</p>
+  <img alt="err" src="@/assets/testPage.png" style="width: 100%">
+</template>
+
+<script>
+import GlobalHeader from "@/components/GlobalHeader";
+export default {
+  name: "TestPage",
+  components: { GlobalHeader }
+};
+</script>
+
+<style scoped>
+
+</style>

+ 1 - 1
vue.config.js

@@ -11,7 +11,7 @@ module.exports = {
       .plugin('html')
       .tap(args => {
         // NOTE 确定系统正式名称
-        args[0].title = '[temp]SEEC门户系统';
+        args[0].title = 'SEEC门户系统';
         return args;
       });
   },