Prechádzať zdrojové kódy

Merge branch 'master' of http://gcls-git.helxsoft.cn/GCLS/GCLS_Page_ROOT into master

秦鹏 3 rokov pred
rodič
commit
2abfbf4f58
44 zmenil súbory, kde vykonal 169 pridanie a 1877 odobranie
  1. BIN
      GCLS_Page_ROOT.zip
  2. BIN
      GCLS_Page_ROOT/favicon.ico
  3. 0 0
      GCLS_Page_ROOT/index.html
  4. 0 0
      GCLS_Page_ROOT/static/css/app.04db4c53.css
  5. 1 0
      GCLS_Page_ROOT/static/css/chunk-40399d54.99f39928.css
  6. 0 0
      GCLS_Page_ROOT/static/css/chunk-elementUI.68c70ad5.css
  7. 0 0
      GCLS_Page_ROOT/static/css/chunk-libs.887691f5.css
  8. BIN
      GCLS_Page_ROOT/static/fonts/FZJCGFKTK.af47fab6.TTF
  9. BIN
      GCLS_Page_ROOT/static/fonts/GB PINYINOK-A.92e05e3b.TTF
  10. BIN
      GCLS_Page_ROOT/static/fonts/GB PINYINOK-B.a2291f45.TTF
  11. BIN
      GCLS_Page_ROOT/static/fonts/GB PINYINOK-C.e341280b.TTF
  12. BIN
      GCLS_Page_ROOT/static/fonts/GB PINYINOK-D.cbe788d9.TTF
  13. BIN
      GCLS_Page_ROOT/static/fonts/GB PINYINOK-E.c62ba215.TTF
  14. BIN
      GCLS_Page_ROOT/static/fonts/GB PINYINOK-F.36f8f072.TTF
  15. BIN
      GCLS_Page_ROOT/static/fonts/GB PINYINOK-G.43ced66c.TTF
  16. BIN
      GCLS_Page_ROOT/static/fonts/GB PINYINOK-H.27157c3e.TTF
  17. BIN
      GCLS_Page_ROOT/static/fonts/GB PINYINOK-I.716876ed.TTF
  18. BIN
      GCLS_Page_ROOT/static/fonts/GB PINYINOK-J.a8879020.TTF
  19. BIN
      GCLS_Page_ROOT/static/fonts/GB PINYINOK.468eb26e.TTF
  20. BIN
      GCLS_Page_ROOT/static/fonts/Roboto-Regular.f36638c2.ttf
  21. BIN
      GCLS_Page_ROOT/static/fonts/SourceSansPro-Regular.c1678b46.ttf
  22. BIN
      GCLS_Page_ROOT/static/fonts/element-icons.535877f5.woff
  23. BIN
      GCLS_Page_ROOT/static/fonts/element-icons.732389de.ttf
  24. BIN
      GCLS_Page_ROOT/static/fonts/iconfont.888fd671.woff
  25. BIN
      GCLS_Page_ROOT/static/img/image 4.41fe027d.png
  26. BIN
      GCLS_Page_ROOT/static/img/indexBG.eca6d944.png
  27. BIN
      GCLS_Page_ROOT/static/img/indexBG2.0deeb5db.png
  28. 0 0
      GCLS_Page_ROOT/static/js/app.cb1a8cc8.js
  29. 1 0
      GCLS_Page_ROOT/static/js/chunk-40399d54.c1c02edb.js
  30. 0 0
      GCLS_Page_ROOT/static/js/chunk-elementUI.5ebc2577.js
  31. 7 0
      GCLS_Page_ROOT/static/js/chunk-libs.f83eb4a5.js
  32. 63 63
      package.json
  33. 0 191
      src/components/Personalcenter/AccountSet.vue
  34. 0 125
      src/components/Personalcenter/Mycourse.vue
  35. 0 125
      src/components/Personalcenter/Mytextbook.vue
  36. 0 365
      src/components/Personalcenter/OneselfNav.vue
  37. 0 276
      src/components/Personalcenter/Purchasehitory.vue
  38. 21 244
      src/components/login/LoginNav.vue
  39. 2 177
      src/components/login/LoginNav2.vue
  40. 5 15
      src/components/login/login.vue
  41. 3 11
      src/components/login/registration.vue
  42. 21 26
      src/router/index.js
  43. 0 241
      src/views/Personalcenter.vue
  44. 45 18
      src/views/login/index.vue

BIN
GCLS_Page_ROOT.zip


BIN
GCLS_Page_ROOT/favicon.ico


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
GCLS_Page_ROOT/index.html


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
GCLS_Page_ROOT/static/css/app.04db4c53.css


+ 1 - 0
GCLS_Page_ROOT/static/css/chunk-40399d54.99f39928.css

@@ -0,0 +1 @@
+.signup[data-v-e5787d9e]{background:#e5e5e5;padding-bottom:30px}

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
GCLS_Page_ROOT/static/css/chunk-elementUI.68c70ad5.css


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
GCLS_Page_ROOT/static/css/chunk-libs.887691f5.css


BIN
GCLS_Page_ROOT/static/fonts/FZJCGFKTK.af47fab6.TTF


BIN
GCLS_Page_ROOT/static/fonts/GB PINYINOK-A.92e05e3b.TTF


BIN
GCLS_Page_ROOT/static/fonts/GB PINYINOK-B.a2291f45.TTF


BIN
GCLS_Page_ROOT/static/fonts/GB PINYINOK-C.e341280b.TTF


BIN
GCLS_Page_ROOT/static/fonts/GB PINYINOK-D.cbe788d9.TTF


BIN
GCLS_Page_ROOT/static/fonts/GB PINYINOK-E.c62ba215.TTF


BIN
GCLS_Page_ROOT/static/fonts/GB PINYINOK-F.36f8f072.TTF


BIN
GCLS_Page_ROOT/static/fonts/GB PINYINOK-G.43ced66c.TTF


BIN
GCLS_Page_ROOT/static/fonts/GB PINYINOK-H.27157c3e.TTF


BIN
GCLS_Page_ROOT/static/fonts/GB PINYINOK-I.716876ed.TTF


BIN
GCLS_Page_ROOT/static/fonts/GB PINYINOK-J.a8879020.TTF


BIN
GCLS_Page_ROOT/static/fonts/GB PINYINOK.468eb26e.TTF


BIN
GCLS_Page_ROOT/static/fonts/Roboto-Regular.f36638c2.ttf


BIN
GCLS_Page_ROOT/static/fonts/SourceSansPro-Regular.c1678b46.ttf


BIN
GCLS_Page_ROOT/static/fonts/element-icons.535877f5.woff


BIN
GCLS_Page_ROOT/static/fonts/element-icons.732389de.ttf


BIN
GCLS_Page_ROOT/static/fonts/iconfont.888fd671.woff


BIN
GCLS_Page_ROOT/static/img/image 4.41fe027d.png


BIN
GCLS_Page_ROOT/static/img/indexBG.eca6d944.png


BIN
GCLS_Page_ROOT/static/img/indexBG2.0deeb5db.png


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
GCLS_Page_ROOT/static/js/app.cb1a8cc8.js


+ 1 - 0
GCLS_Page_ROOT/static/js/chunk-40399d54.c1c02edb.js

@@ -0,0 +1 @@
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-40399d54"],{"2a5c":function(n,t,e){"use strict";e.r(t);var o=function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("div",{staticClass:"signup"},[e("LoginNav2"),e("Registration")],1)},c=[],a=e("dd54"),i=e("09b8"),u={components:{Registration:a["a"],LoginNav2:i["a"]},props:{},data:function(){return{}},computed:{},watch:{},methods:{},created:function(){},mounted:function(){},beforeCreated:function(){},beforeMount:function(){},beforUpdate:function(){},updated:function(){},beforeDestory:function(){},destoryed:function(){},activated:function(){}},d=u,f=(e("ca1a"),e("2877")),r=Object(f["a"])(d,o,c,!1,null,"e5787d9e",null);t["default"]=r.exports},ca1a:function(n,t,e){"use strict";e("d26f")},d26f:function(n,t,e){}}]);

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
GCLS_Page_ROOT/static/js/chunk-elementUI.5ebc2577.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 7 - 0
GCLS_Page_ROOT/static/js/chunk-libs.f83eb4a5.js


+ 63 - 63
package.json

@@ -1,64 +1,64 @@
 {
-    "name": "vue-admin-template",
-    "version": "4.4.0",
-    "description": "A vue admin template with Element UI & axios & iconfont & permission control & lint",
-    "author": "Pan <panfree23@gmail.com>",
-    "scripts": {
-        "dev": "vue-cli-service serve",
-        "build:prod": "vue-cli-service build",
-        "build:stage": "vue-cli-service build --mode staging",
-        "preview": "node build/index.js --preview",
-        "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml",
-        "lint": "eslint --ext .js,.vue src",
-        "test:unit": "jest --clearCache && vue-cli-service test:unit",
-        "test:ci": "npm run lint && npm run test:unit"
-    },
-    "dependencies": {
-        "axios": "0.18.1",
-        "core-js": "3.6.5",
-        "element-ui": "2.13.2",
-        "js-base64": "^3.6.1",
-        "js-cookie": "2.2.0",
-        "normalize.css": "7.0.0",
-        "nprogress": "0.2.0",
-        "path-to-regexp": "2.4.0",
-        "vue": "2.6.10",
-        "vue-i18n": "^8.24.5",
-        "vue-router": "3.0.6",
-        "vuex": "3.1.0"
-    },
-    "devDependencies": {
-        "@vue/cli-plugin-babel": "4.4.4",
-        "@vue/cli-plugin-eslint": "4.4.4",
-        "@vue/cli-plugin-unit-jest": "4.4.4",
-        "@vue/cli-service": "4.4.4",
-        "@vue/test-utils": "1.0.0-beta.29",
-        "autoprefixer": "9.5.1",
-        "babel-eslint": "10.1.0",
-        "babel-jest": "23.6.0",
-        "babel-plugin-dynamic-import-node": "2.3.3",
-        "chalk": "2.4.2",
-        "connect": "3.6.6",
-        "eslint": "6.7.2",
-        "eslint-plugin-vue": "6.2.2",
-        "html-webpack-plugin": "3.2.0",
-        "mockjs": "1.0.1-beta3",
-        "runjs": "4.3.2",
-        "sass": "1.26.8",
-        "sass-loader": "8.0.2",
-        "script-ext-html-webpack-plugin": "2.1.3",
-        "serve-static": "1.13.2",
-        "svg-sprite-loader": "4.1.3",
-        "svgo": "1.2.2",
-        "vue-template-compiler": "2.6.10"
-    },
-    "browserslist": [
-        "> 1%",
-        "last 2 versions"
-    ],
-    "engines": {
-        "node": ">=8.9",
-        "npm": ">= 3.0.0"
-    },
-    "license": "MIT"
-}
+  "name": "vue-admin-template",
+  "version": "4.4.0",
+  "description": "A vue admin template with Element UI & axios & iconfont & permission control & lint",
+  "author": "Pan <panfree23@gmail.com>",
+  "scripts": {
+    "dev": "vue-cli-service serve",
+    "build:prod": "vue-cli-service build",
+    "build:stage": "vue-cli-service build --mode staging",
+    "preview": "node build/index.js --preview",
+    "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml",
+    "lint": "eslint --ext .js,.vue src",
+    "test:unit": "jest --clearCache && vue-cli-service test:unit",
+    "test:ci": "npm run lint && npm run test:unit"
+  },
+  "dependencies": {
+    "axios": "0.18.1",
+    "core-js": "3.6.5",
+    "element-ui": "2.13.2",
+    "js-base64": "^3.6.1",
+    "js-cookie": "2.2.0",
+    "normalize.css": "7.0.0",
+    "nprogress": "0.2.0",
+    "path-to-regexp": "2.4.0",
+    "vue": "2.6.10",
+    "vue-i18n": "^8.24.5",
+    "vue-router": "3.0.6",
+    "vuex": "3.1.0"
+  },
+  "devDependencies": {
+    "@vue/cli-plugin-babel": "4.4.4",
+    "@vue/cli-plugin-eslint": "4.4.4",
+    "@vue/cli-plugin-unit-jest": "4.4.4",
+    "@vue/cli-service": "4.4.4",
+    "@vue/test-utils": "1.0.0-beta.29",
+    "autoprefixer": "9.5.1",
+    "babel-eslint": "10.1.0",
+    "babel-jest": "23.6.0",
+    "babel-plugin-dynamic-import-node": "2.3.3",
+    "chalk": "2.4.2",
+    "connect": "3.6.6",
+    "eslint": "6.7.2",
+    "eslint-plugin-vue": "6.2.2",
+    "html-webpack-plugin": "3.2.0",
+    "mockjs": "1.0.1-beta3",
+    "runjs": "4.3.2",
+    "sass": "1.26.8",
+    "sass-loader": "8.0.2",
+    "script-ext-html-webpack-plugin": "2.1.3",
+    "serve-static": "1.13.2",
+    "svg-sprite-loader": "4.1.3",
+    "svgo": "1.2.2",
+    "vue-template-compiler": "2.6.10"
+  },
+  "browserslist": [
+    "> 1%",
+    "last 2 versions"
+  ],
+  "engines": {
+    "node": ">=8.9",
+    "npm": ">= 3.0.0"
+  },
+  "license": "MIT"
+}

+ 0 - 191
src/components/Personalcenter/AccountSet.vue

@@ -1,191 +0,0 @@
-<template>
-  <!-- 账号设置 -->
-  <div class="AccountSet">
-    <div class="form">
-      <el-form
-        :model="form"
-        ref="ruleForm"
-        class="demo-ruleForm"
-        :hide-required-asterisk="true"
-        :show-message="false"
-      >
-        <div class="title">User information</div>
-        <el-form-item prop="Username">
-          <span slot="label" class="lable">
-            <img src="../../assets/login/singin1.png" alt="" />
-            <span> Username </span>
-          </span>
-          <el-input
-            placeholder="Please enter"
-            v-model="form.Username"
-            @blur="trimInput('Username')"
-          ></el-input>
-        </el-form-item>
-        <el-form-item prop="Realname">
-          <span slot="label" class="lable">
-            <img src="../../assets/login/singin2.png" alt="" />
-            <span> Realname </span>
-          </span>
-          <el-input
-            placeholder="Please enter"
-            v-model="form.Realname"
-            @blur="trimInput('Username')"
-          ></el-input>
-        </el-form-item>
-        <el-form-item prop="FromWhere" class="Noafter">
-          <span slot="label" class="lable">
-            <img src="../../assets/login/singin3.png" alt="" />
-            <span> From where </span>
-          </span>
-          <el-select
-            v-model="form.FromWhere"
-            placeholder="Select country and region"
-          >
-            <!-- <el-option></el-option> -->
-          </el-select>
-        </el-form-item>
-        <el-form-item prop="org_id" class="Noafter">
-          <span slot="label" class="lable">
-            <img src="../../assets/login/singin4.png" alt="" />
-            <span> Mechanism </span>
-          </span>
-          <el-select v-model="form.org_id" placeholder="Selection mechanism">
-          </el-select>
-          <el-button class="btn">修改机构</el-button>
-        </el-form-item>
-        <hr />
-        <div class="title2">Registration information</div>
-        <el-form-item prop="email">
-          <span slot="label" class="lable">
-            <img src="../../assets/login/singin6.png" alt="" />
-            <span> Email </span>
-          </span>
-          <el-input
-            v-model="form.email"
-            placeholder="Email"
-            @blur="trimInput('email')"
-          />
-          <el-button class="btn">修改邮箱</el-button>
-        </el-form-item>
-        <el-form-item prop="phone">
-          <span slot="label" class="lable">
-            <img src="../../assets/login/phone2.png" alt="" />
-            <span> Email </span>
-          </span>
-          <el-input
-            v-model="form.phone"
-            placeholder="phone"
-            @blur="trimInput('email')"
-          />
-          <el-button class="btn">修改手机号</el-button>
-        </el-form-item>
-        <el-form-item prop="password">
-          <span slot="label" class="lable">
-            <img src="../../assets/login/singin9.png" alt="" />
-            <span> Password </span>
-          </span>
-          <el-input
-            v-model="form.password"
-            placeholder="password"
-            @blur="trimInput('password')"
-          />
-          <el-button class="btn">修改密码</el-button>
-        </el-form-item>
-      </el-form>
-    </div>
-  </div>
-</template>
-
-<script>
-//这里可以导入其它文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
-//例如:import 《组件名称》from ‘《组件路径》';
-export default {
-  //import引入的组件需要注入到对象中才能使用
-  components: {},
-  props: {},
-  data() {
-    //这里存放数据
-    return {
-      form: {},
-    };
-  },
-  //计算属性 类似于data概念
-  computed: {},
-  //监控data中数据变化
-  watch: {},
-  //方法集合
-  methods: {
-    // 去除空格
-    trimInput(key) {
-      this.form[key] = this.form[key].trim();
-    },
-  },
-  //生命周期 - 创建完成(可以访问当前this实例)
-  created() {},
-  //生命周期 - 挂载完成(可以访问DOM元素)
-  mounted() {},
-  //生命周期-创建之前
-  beforeCreated() {},
-  //生命周期-挂载之前
-  beforeMount() {},
-  //生命周期-更新之前
-  beforUpdate() {},
-  //生命周期-更新之后
-  updated() {},
-  //生命周期-销毁之前
-  beforeDestory() {},
-  //生命周期-销毁完成
-  destoryed() {},
-  //如果页面有keep-alive缓存功能,这个函数会触发
-  activated() {},
-};
-</script>
-<style lang="scss" scoped>
-/* @import url(); 引入css类 */
-.AccountSet {
-  .form {
-    padding-left: 64px;
-    padding-top: 51px;
-    .title {
-      font-size: 20px;
-      font-weight: 600;
-      color: #000000;
-    }
-    .title2 {
-      font-size: 20px;
-      font-weight: 600;
-      color: #000000;
-      margin-top: 32px;
-    }
-    hr {
-      width: 474px;
-      height: 1px;
-      background: #d9d9d9;
-      margin: 0;
-    }
-    .el-input,
-    .el-select {
-      width: 334px;
-    }
-    .el-form-item {
-      margin-top: 24px;
-      display: flex;
-      .lable {
-        display: inline-block;
-        width: 120px !important;
-        text-align: left;
-        img {
-          width: 24px;
-          vertical-align: middle;
-        }
-        span {
-          margin-left: 10px;
-        }
-      }
-      .btn {
-        margin-left: 16px;
-      }
-    }
-  }
-}
-</style>

+ 0 - 125
src/components/Personalcenter/Mycourse.vue

@@ -1,125 +0,0 @@
-<template>
-  <!-- 我的教材 -->
-  <div class="Mycourse">
-    <div class="bookList">
-      <div v-for="(item, i) in bookList" :key="i">
-        <img
-          :src="
-            require('../../assets/Personalcenter/image/img' +
-              `${i + 5}` +
-              '.png')
-          "
-          alt=""
-        />
-        <p>{{ item.name }}</p>
-      </div>
-    </div>
-    <div class="paging">
-      <el-pagination
-        layout="prev, pager, next"
-        :current-page="currentPage"
-        :total="1000"
-        :page-size="10"
-        @current-change="changecurrentPage"
-      />
-    </div>
-  </div>
-</template>
-
-<script>
-//这里可以导入其它文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
-//例如:import 《组件名称》from ‘《组件路径》';
-export default {
-  //import引入的组件需要注入到对象中才能使用
-  components: {},
-  props: {},
-  data() {
-    //这里存放数据
-    return {
-      bookList: [
-        {
-          name: "Learn Chinese with Ease-Learn Chinese with ",
-        },
-        {
-          name: "Learn Chinese",
-        },
-        {
-          name: "Learn Chinese with Ease-Learn Chinese with ",
-        },
-        {
-          name: "Learn Chinese ",
-        },
-        {
-          name: "Learn Chinese with Ease-Learn Chinese with ",
-        },
-        {
-          name: "Learn Chinese with Ease-Learn Chinese with ",
-        },
-        {
-          name: "Learn Chinese",
-        },
-      ],
-      currentPage: 1,
-    };
-  },
-  //计算属性 类似于data概念
-  computed: {},
-  //监控data中数据变化
-  watch: {},
-  //方法集合
-  methods: {
-    //   修改当前页
-    changecurrentPage(val) {
-      this.currentPage = val;
-    },
-  },
-  //生命周期 - 创建完成(可以访问当前this实例)
-  created() {},
-  //生命周期 - 挂载完成(可以访问DOM元素)
-  mounted() {},
-  //生命周期-创建之前
-  beforeCreated() {},
-  //生命周期-挂载之前
-  beforeMount() {},
-  //生命周期-更新之前
-  beforUpdate() {},
-  //生命周期-更新之后
-  updated() {},
-  //生命周期-销毁之前
-  beforeDestory() {},
-  //生命周期-销毁完成
-  destoryed() {},
-  //如果页面有keep-alive缓存功能,这个函数会触发
-  activated() {},
-};
-</script>
-<style lang="scss" scoped>
-/* @import url(); 引入css类 */
-.Mycourse {
-  .bookList {
-    display: flex;
-    flex-wrap: wrap;
-    > div {
-      width: 192px;
-      margin: 40px 0 0 40px;
-      img {
-        width: 100%;
-        height: 108px;
-        cursor: pointer;
-      }
-      > p {
-        word-break: break-all;
-        display: -webkit-box;
-        -webkit-box-orient: vertical;
-        -webkit-line-clamp: 2;
-        text-overflow: ellipsis;
-        overflow: hidden;
-      }
-    }
-  }
-  .paging {
-    margin-left: 25px;
-    margin-top: 20px;
-  }
-}
-</style>

+ 0 - 125
src/components/Personalcenter/Mytextbook.vue

@@ -1,125 +0,0 @@
-<template>
-  <!-- 我的教材 -->
-  <div class="Mytextbook">
-    <div class="bookList">
-      <div v-for="(item, i) in bookList" :key="i">
-        <img
-          :src="
-            require('../../assets/Personalcenter/image/img' +
-              `${i + 1}` +
-              '.png')
-          "
-          alt=""
-        />
-        <p>{{ item.name }}</p>
-      </div>
-    </div>
-    <div class="paging">
-      <el-pagination
-        layout="prev, pager, next"
-        :current-page="currentPage"
-        :total="1000"
-        :page-size="10"
-        @current-change="changecurrentPage"
-      />
-    </div>
-  </div>
-</template>
-
-<script>
-//这里可以导入其它文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
-//例如:import 《组件名称》from ‘《组件路径》';
-export default {
-  //import引入的组件需要注入到对象中才能使用
-  components: {},
-  props: {},
-  data() {
-    //这里存放数据
-    return {
-      bookList: [
-        {
-          name: "Learn Chinese with Ease-Learn Chinese with ",
-        },
-        {
-          name: "Learn Chinese",
-        },
-        {
-          name: "Learn Chinese with Ease-Learn Chinese with ",
-        },
-        {
-          name: "Learn Chinese ",
-        },
-        {
-          name: "Learn Chinese with Ease-Learn Chinese with ",
-        },
-        {
-          name: "Learn Chinese with Ease-Learn Chinese with ",
-        },
-        {
-          name: "Learn Chinese",
-        },
-      ],
-      currentPage: 1,
-    };
-  },
-  //计算属性 类似于data概念
-  computed: {},
-  //监控data中数据变化
-  watch: {},
-  //方法集合
-  methods: {
-    //   修改当前页
-    changecurrentPage(val) {
-      this.currentPage = val;
-    },
-  },
-  //生命周期 - 创建完成(可以访问当前this实例)
-  created() {},
-  //生命周期 - 挂载完成(可以访问DOM元素)
-  mounted() {},
-  //生命周期-创建之前
-  beforeCreated() {},
-  //生命周期-挂载之前
-  beforeMount() {},
-  //生命周期-更新之前
-  beforUpdate() {},
-  //生命周期-更新之后
-  updated() {},
-  //生命周期-销毁之前
-  beforeDestory() {},
-  //生命周期-销毁完成
-  destoryed() {},
-  //如果页面有keep-alive缓存功能,这个函数会触发
-  activated() {},
-};
-</script>
-<style lang="scss" scoped>
-/* @import url(); 引入css类 */
-.Mytextbook {
-  .bookList {
-    display: flex;
-    flex-wrap: wrap;
-    > div {
-      width: 144px;
-      margin: 40px 0 0 40px;
-      img {
-        width: 100%;
-        height: 192px;
-        cursor: pointer;
-      }
-      > p {
-        word-break: break-all;
-        display: -webkit-box;
-        -webkit-box-orient: vertical;
-        -webkit-line-clamp: 2;
-        text-overflow: ellipsis;
-        overflow: hidden;
-      }
-    }
-  }
-  .paging {
-    margin-top: 20px;
-    margin-left: 25px;
-  }
-}
-</style>

+ 0 - 365
src/components/Personalcenter/OneselfNav.vue

@@ -1,365 +0,0 @@
-<template>
-  <!-- 顶部登录导航 -->
-  <div class="OneselfNav">
-    <div class="logo">
-      <!-- <span> logo </span> -->
-      <el-menu
-        :default-active="activeIndex"
-        class="el-menu-demo"
-        mode="horizontal"
-        @select="handleSelect"
-        text-color="black"
-        active-text-color="#FF9900"
-      >
-        <el-menu-item index="1">HOME PAGE</el-menu-item>
-        <el-menu-item index="2">
-          <el-dropdown trigger="click" @command="handleCommand">
-            <span
-              class="el-dropdown-link"
-              :style="{ color: LoginNavIndex == 2 ? '#FF9900' : 'black' }"
-            >
-              {{ projectName }}
-              <!-- SYSTEM -->
-              <i class="el-icon-arrow-down el-icon--right"></i>
-            </span>
-            <el-dropdown-menu slot="dropdown" style="width: 300px">
-              <el-dropdown-item
-                v-for="(item, i) in projectList"
-                :key="i"
-                :command="item.name.toUpperCase()"
-              >
-                <img
-                  style="position: relative; top: 5px; width: 24px"
-                  :src="require('../../assets/login/' + item.img + '.png')"
-                  alt=""
-                />
-                <span style="margin-left: 16px">
-                  {{ item.name }}
-                </span>
-              </el-dropdown-item>
-              <!-- <el-dropdown-item command="LEARING CENTER">
-                Learning Center
-              </el-dropdown-item>
-              <el-dropdown-item command="TESTING CENTER"
-                >Testing Center</el-dropdown-item
-              >
-              <el-dropdown-item command="TEACHER CENTER"
-                >Teacher Center</el-dropdown-item
-              > -->
-            </el-dropdown-menu>
-          </el-dropdown>
-        </el-menu-item>
-      </el-menu>
-    </div>
-    <div class="userName">
-      <el-dropdown
-        style="margin-right: 16px"
-        trigger="click"
-        @command="yuyanhandleCommand"
-      >
-        <span class="el-dropdown-link" style="color: black">
-          <img class="flag" src="../../assets/login/Ellipse 74.png" alt="" />
-          English<i class="el-icon-arrow-down el-icon--right"></i>
-        </span>
-        <el-dropdown-menu slot="dropdown" style="width: 200px">
-          <el-dropdown-item
-            v-for="(item, i) in language_list"
-            :key="i"
-            :command="item.language_name_zh"
-          >
-            <span>{{ item.language_name_zh }}</span>
-          </el-dropdown-item>
-        </el-dropdown-menu>
-      </el-dropdown>
-      <div v-if="!userMessage" class="selectLoginOrRegistration">
-        <span @click="cutLoginReg('login')">LOGIN</span>
-        <span> | </span>
-        <span @click="cutLoginReg('signin')">SIGN UP</span>
-      </div>
-      <!-- 用户头像和用户名 -->
-      <div class="user" v-else>
-        <img
-          @click="userShow = !userShow"
-          class="headPhoto"
-          src="../../assets/login/Group3214.png"
-          alt=""
-        />
-        <span @click="userShow = !userShow">{{ userMessage.user_name }}</span>
-        <div class="userShow" v-show="userShow">
-          <p @click="gotoPersonalcenter">
-            <img src="../../assets/login/project7.png" alt="" />
-            个人中心
-          </p>
-          <p @click="QuitLogin">
-            <img src="../../assets/login/Frame77.png" alt="" />
-            退出登录
-          </p>
-        </div>
-      </div>
-      <!-- 消息 铃铛图片 -->
-      <div class="message">
-        <img src="../../assets/login/Vector.png" alt="" />
-        <!-- <span class="redDot"></span> -->
-      </div>
-    </div>
-  </div>
-</template>
-
-<script>
-import Cookies from "js-cookie";
-import { getAcsCode } from "@/api/api";
-
-export default {
-  props: ["type", "changeLoginReg", "FatheruserMessage", "language_list"],
-  data() {
-    return {
-      activeIndex: "2",
-      LoginNavIndex: "2",
-      projectName: "PERSONAL PROFILE",
-      projectList: [
-        {
-          name: "Teaching management system",
-          img: "project1",
-        },
-        {
-          name: "Textbook management system",
-          img: "project2",
-        },
-        {
-          name: "Teacher training center",
-          img: "project3",
-        },
-        {
-          name: "Learning Center",
-          img: "project4",
-        },
-        {
-          name: "Testing Center",
-          img: "project5",
-        },
-        {
-          name: "Teacher Center",
-          img: "project6",
-        },
-        {
-          name: "Personal Profile",
-          img: "project7",
-        },
-      ],
-      userMessage: null,
-      userShow: false,
-    };
-  },
-  watch: {
-    FatheruserMessage(newval, oldval) {
-      this.userMessage = null;
-      this.userMessage = newval;
-    },
-  },
-  methods: {
-    // 切换导航
-    handleSelect(key, keyPath) {
-      this.LoginNavIndex = key;
-      if (this.LoginNavIndex == "1") {
-        this.$router.push("/");
-      } else {
-        let ulobj = document.getElementsByClassName("el-dropdown-menu")[0];
-        ulobj.classList.add("LoginNavSeleProject");
-      }
-    },
-    // 切换项目
-    async handleCommand(command) {
-      this.LoginNavIndex = 2;
-      let user = Cookies.get("userMessage");
-      if (!user) {
-        this.$message.warning("Please login first");
-        this.projectName = "SYSTEM";
-        return;
-      }
-      let session_id = Cookies.get("session_id");
-      let user_code = Cookies.get("user_code");
-      let user_type = Cookies.get("user_type");
-      let MethodName = "login_control-CreateAccessCode";
-      let acsCode = null;
-      await getAcsCode(MethodName, {
-        UserCode: user_code,
-        SessionID: session_id,
-        UserType: user_type,
-      }).then((res) => {
-        acsCode = res.access_code;
-      });
-      this.projectName = command;
-      if (this.projectName == "TEXTBOOK MANAGEMENT SYSTEM") {
-        // 教材管理系统         TEXTBOOK MANAGEMENT SYSTEM
-        location.href = `http://gcls.helxsoft.cn/GCLS_Book/#/courselist?AccessCode=${acsCode}`;
-      } else {
-        this.$message.warning("正则开发中,请期待");
-        this.projectName = "SYSTEM";
-      }
-    },
-    // 切换语言
-    yuyanhandleCommand(command) {
-      console.log(command);
-    },
-    // 切换登录的注册
-    cutLoginReg(value) {
-      this.changeLoginReg(value);
-    },
-    // 前往个人中心
-    gotoPersonalcenter() {
-      this.userShow = false;
-    },
-    QuitLogin() {
-      Cookies.remove("userMessage");
-      Cookies.remove("session_id");
-      Cookies.remove("user_code");
-      Cookies.remove("user_type");
-      this.userShow = false;
-      this.userMessage = null;
-      this.$router.push("/")
-    },
-  },
-  created() {
-    if (this.FatheruserMessage) {
-      this.userMessage = this.FatheruserMessage;
-    } else {
-      this.userMessage = null;
-    }
-    let user = Cookies.get("userMessage");
-    if (user) {
-      this.userMessage = JSON.parse(user);
-    } else {
-      this.userMessage = null;
-    }
-  },
-};
-</script>
-
-<style lang="scss" scoped>
-.OneselfNav {
-  height: 65px;
-  position: relative;
-  display: flex;
-  align-items: center;
-  justify-content: space-between;
-  padding: 0 24px 0 40px;
-  z-index: 999;
-  font-family: "sourceR";
-  box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.15);
-  .logo {
-    display: flex;
-    align-items: center;
-    .el-menu-demo {
-      background: rgba(0, 0, 0, 0);
-      // margin-left: 100px;
-      li:hover {
-        background: none;
-      }
-      li {
-        background: none;
-      }
-    }
-    // 取消组件默认的样式
-    .el-menu.el-menu--horizontal {
-      border-bottom: none;
-    }
-  }
-  .userName {
-    display: flex;
-    align-items: center;
-    .seek {
-      margin-right: 100px;
-      position: relative;
-      img {
-        left: 10px;
-        top: 11px;
-        position: absolute;
-      }
-    }
-    .flag {
-      position: relative;
-      top: 5px;
-    }
-    .headPhoto {
-      width: 50px;
-      height: 50px;
-      // background: url("../assets/teacherTrain/image 4.png") no-repeat 100% 100%;
-      // background-size: 100%;
-      border-radius: 50%;
-      // margin-right: 10px;
-    }
-    .message {
-      position: relative;
-      margin-left: 16px;
-      img {
-        width: 32px;
-        height: 32px;
-      }
-      .redDot {
-        width: 6px;
-        height: 6px;
-        position: absolute;
-        display: inline-block;
-        background: red;
-        border-radius: 50%;
-        right: 0;
-      }
-    }
-    .selectLoginOrRegistration {
-      display: flex;
-      width: 161px;
-      height: 32px;
-      border: 1px solid #ffffff;
-      box-sizing: border-box;
-      border-radius: 4px;
-      justify-content: space-evenly;
-      align-items: center;
-      > :first-child {
-        cursor: pointer;
-      }
-      > :last-child {
-        cursor: pointer;
-      }
-    }
-    .user {
-      display: flex;
-      align-items: center;
-      cursor: pointer;
-      position: relative;
-      > img {
-        width: 34px;
-        height: 34px;
-      }
-      > span {
-        padding-left: 10px;
-      }
-      .userShow {
-        position: absolute;
-        width: 156px;
-        height: 96px;
-        background: #ffffff;
-        box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.15);
-        border-radius: 8px;
-        bottom: -100px;
-        color: black;
-        img {
-          width: 24px;
-          height: 24px;
-          margin-right: 10px;
-        }
-        p {
-          height: 40px;
-          display: flex;
-          align-items: center;
-          padding-left: 20px;
-          margin: 0;
-          margin-top: 5px;
-        }
-        > p:hover {
-          background: #f2f2f2;
-        }
-      }
-    }
-  }
-}
-</style>

+ 0 - 276
src/components/Personalcenter/Purchasehitory.vue

@@ -1,276 +0,0 @@
-<template>
-  <!-- 购买记录 -->
-  <div class="Purchasehitory">
-    <div class="cut">
-      <div class="sele">
-        <div
-          @click="SelectShowEvent('1')"
-          :class="SelectShow == '1' ? 'select' : ''"
-        >
-          已购买
-        </div>
-        <div
-          @click="SelectShowEvent('2')"
-          :class="SelectShow == '1' ? '' : 'select'"
-        >
-          待付款
-        </div>
-      </div>
-    </div>
-    <div class="list">
-      <!-- 已购买 -->
-      <div v-if="SelectShow == '1'" class="haveBought">
-        <div>
-          <div class="image">
-            <img src="../../assets/Personalcenter/image/img1.png" alt="" />
-          </div>
-          <div class="text">
-            <p class="title">
-              <span>Learn Chinese with Ease-Learn Chinese with Ease</span>
-              <span>2021-05-21 16:43:12</span>
-            </p>
-            <p>Beijing language and Culture University</p>
-            <p>Esther Howard</p>
-            <div class="buy">
-              <span class="price">
-                $
-                <span class="price_1" v-text="changePrice('1', '19.99')"></span>
-                <span class="price_2" v-text="changePrice('2', '19.99')"></span>
-              </span>
-              <button>已购买</button>
-            </div>
-          </div>
-        </div>
-      </div>
-      <!-- 待付款 -->
-      <div v-else class="obligation">
-        <div>
-          <div class="image">
-            <img src="../../assets/Personalcenter/image/img1.png" alt="" />
-          </div>
-          <div class="text">
-            <p class="title">
-              <span>Learn Chinese with Ease-Learn Chinese with Ease</span>
-              <span>2021-05-21 16:43:12</span>
-            </p>
-            <p>Beijing language and Culture University</p>
-            <p>Esther Howard</p>
-            <div class="buy">
-              <span class="price">
-                $
-                <span class="price_1" v-text="changePrice('1', '19.99')"></span>
-                <span class="price_2" v-text="changePrice('2', '19.99')"></span>
-              </span>
-              <button>购买</button>
-            </div>
-          </div>
-        </div>
-      </div>
-    </div>
-  </div>
-</template>
-
-<script>
-//这里可以导入其它文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
-//例如:import 《组件名称》from ‘《组件路径》';
-export default {
-  //import引入的组件需要注入到对象中才能使用
-  components: {},
-  props: {},
-  data() {
-    //这里存放数据
-    return {
-      SelectShow: "1",
-    };
-  },
-  //计算属性 类似于data概念
-  computed: {},
-  //监控data中数据变化
-  watch: {},
-  //方法集合
-  methods: {
-    // 选择已购买还是待付款
-    SelectShowEvent(num) {
-      this.SelectShow = num;
-    },
-    // 处理价格
-    changePrice(type, item) {
-      if (item.indexOf(".") != -1) {
-        if (type == 1) {
-          return item.split(".")[0];
-        } else if (type == 2) {
-          return "." + item.split(".")[1];
-        }
-      } else {
-        if (type == 1) {
-          return item;
-        }
-      }
-    },
-  },
-  //生命周期 - 创建完成(可以访问当前this实例)
-  created() {},
-  //生命周期 - 挂载完成(可以访问DOM元素)
-  mounted() {},
-  //生命周期-创建之前
-  beforeCreated() {},
-  //生命周期-挂载之前
-  beforeMount() {},
-  //生命周期-更新之前
-  beforUpdate() {},
-  //生命周期-更新之后
-  updated() {},
-  //生命周期-销毁之前
-  beforeDestory() {},
-  //生命周期-销毁完成
-  destoryed() {},
-  //如果页面有keep-alive缓存功能,这个函数会触发
-  activated() {},
-};
-</script>
-<style lang="scss" scoped>
-/* @import url(); 引入css类 */
-.Purchasehitory {
-  .cut {
-    margin: 32px;
-    .sele {
-      width: 318px;
-      height: 48px;
-      background: #ebebeb;
-      border-radius: 30px;
-      color: #9f9f9f;
-      font-size: 20px;
-      display: flex;
-      align-items: center;
-      > div {
-        width: 158px;
-        height: 48px;
-        border-radius: 30px;
-        line-height: 48px;
-        text-align: center;
-        cursor: pointer;
-      }
-      .select {
-        background: #ff9900;
-        color: white;
-        box-shadow: 0px 2px 8px rgba(255, 153, 0, 0.15);
-      }
-    }
-  }
-  .list {
-    .haveBought {
-      > div {
-        display: flex;
-        height: 160px;
-        width: 100%;
-        padding: 16px 16px 16px 32px;
-        border-bottom: 1px solid #9f9f9f;
-        .image {
-          img {
-            width: 96px;
-            height: 128px;
-          }
-        }
-        .text {
-          width: 800px;
-          margin-left: 16px;
-          margin-right: 16px;
-          p {
-            margin: 0;
-            font-size: 16px;
-          }
-          .title {
-            font-weight: 600;
-            color: #2c2c2c;
-            display: flex;
-            justify-content: space-between;
-            :nth-child(2) {
-              color: #2c2c2c;
-              opacity: 0.7;
-            }
-          }
-          p:not(.title) {
-            margin-top: 8px;
-            color: #2c2c2c;
-            opacity: 0.7;
-          }
-          .buy {
-            text-align: right;
-            button {
-              width: 120px;
-              height: 40px;
-              background: #d5d5d5;
-              border-radius: 4px;
-              border: none;
-              outline: none;
-              cursor: pointer;
-              color: white;
-              margin-left: 16px;
-            }
-          }
-        }
-      }
-    }
-    .obligation {
-      > div {
-        display: flex;
-        height: 160px;
-        width: 100%;
-        padding: 16px 16px 16px 32px;
-        border-bottom: 1px solid #9f9f9f;
-        .image {
-          img {
-            width: 96px;
-            height: 128px;
-          }
-        }
-        .text {
-          width: 800px;
-          margin-left: 16px;
-          margin-right: 16px;
-          p {
-            margin: 0;
-            font-size: 16px;
-          }
-          .title {
-            font-weight: 600;
-            color: #2c2c2c;
-            display: flex;
-            justify-content: space-between;
-            :nth-child(2) {
-              color: #2c2c2c;
-              opacity: 0.7;
-            }
-          }
-          p:not(.title) {
-            margin-top: 8px;
-            color: #2c2c2c;
-            opacity: 0.7;
-          }
-          .buy {
-            text-align: right;
-            button {
-              width: 120px;
-              height: 40px;
-              background: #ff9900;
-              border-radius: 4px;
-              border: none;
-              outline: none;
-              cursor: pointer;
-              color: white;
-              margin-left: 16px;
-            }
-          }
-        }
-      }
-    }
-    .price {
-      font-weight: 600;
-      font-size: 24px;
-      .price_2 {
-        font-size: 16px;
-      }
-    }
-  }
-}
-</style>

+ 21 - 244
src/components/login/LoginNav.vue

@@ -12,7 +12,7 @@
         active-text-color="#FF9900"
       >
         <el-menu-item index="1">首页</el-menu-item>
-        <el-menu-item index="2">
+        <el-menu-item index="2" v-if="projectList.length > 0">
           <el-dropdown trigger="click" @command="handleCommand">
             <span
               class="el-dropdown-link"
@@ -25,7 +25,6 @@
                 src="../../assets/login/dropdownIcon.png"
                 alt=""
               />
-              <!-- <i class="el-icon-arrow-down el-icon--right"></i> -->
             </span>
             <el-dropdown-menu slot="dropdown" style="width: 300px">
               <el-dropdown-item
@@ -43,22 +42,12 @@
                   {{ item.name }}
                 </span>
               </el-dropdown-item>
-              <!-- <el-dropdown-item command="LEARING CENTER">
-                Learning Center
-              </el-dropdown-item>
-              <el-dropdown-item command="TESTING CENTER"
-                >Testing Center</el-dropdown-item
-              >
-              <el-dropdown-item command="TEACHER CENTER"
-                >Teacher Center</el-dropdown-item
-              > -->
             </el-dropdown-menu>
           </el-dropdown>
         </el-menu-item>
       </el-menu>
     </div>
     <div class="userName">
-      <!-- <div class="headPhoto"></div> -->
       <el-dropdown
         v-if="userMessage"
         style="margin-right: 16px"
@@ -85,13 +74,6 @@
       </div>
       <!-- 用户头像和用户名 -->
       <div class="user" v-else>
-        <!-- :src="
-            userMessage.image_url
-              ? userMessage.image_url
-              : require('../../assets/login/Group3214.png')+
-          " 
-          src="../../assets/login/Group3214.png"
-          -->
         <img
           @click="userShow = !userShow"
           class="headPhoto"
@@ -123,7 +105,6 @@
           src="../../assets/login/Vector2.png"
           alt=""
         />
-        <!-- <span class="redDot"></span> -->
       </div>
     </div>
   </div>
@@ -131,12 +112,11 @@
 
 <script>
 import Cookies from "js-cookie";
-import { getAcsCode, getStaticContent, getContent } from "@/api/api";
+import { getStaticContent, getContent } from "@/api/api";
 import { setI18nLang } from "@/utils/i18n";
-import { mapGetters } from "vuex";
 import { getToken, removeToken } from "@/utils/auth";
 export default {
-  props: ["type", "changeLoginReg", "FatheruserMessage"],
+  props: ["type", "changeLoginReg", "FatheruserMessage", "projectList"],
   data() {
     return {
       activeIndex: "1",
@@ -145,85 +125,6 @@ export default {
       userMessage: null,
       userShow: false,
       projectDownIndex: 0,
-      projectList: [
-        {
-          id: 0,
-          name: "教学中心",
-          img: "project1",
-        },
-
-        {
-          id: 2,
-          name: "教培中心",
-          img: "project3",
-        },
-        {
-          id: 3,
-          name: "教研中心",
-          img: "project6",
-        },
-        {
-          id: 5,
-          name: "学习中心",
-          img: "project4",
-        },
-        {
-          id: 6,
-          name: "个人中心",
-          img: "project7",
-        },
-      ],
-      teacherProList: [
-        //普通教师
-        {
-          id: 0,
-          name: "教学中心",
-          img: "project1",
-        },
-
-        {
-          id: 2,
-          name: "教培中心",
-          img: "project3",
-        },
-        {
-          id: 3,
-          name: "教研中心",
-          img: "project6",
-        },
-        {
-          id: 5,
-          name: "学习中心",
-          img: "project4",
-        },
-        {
-          id: 4,
-          name: "考试中心",
-          img: "project5",
-        },
-        {
-          id: 6,
-          name: "个人中心",
-          img: "project7",
-        },
-      ],
-      stuProList: [
-        {
-          id: 0,
-          name: "教学中心",
-          img: "project1",
-        },
-        {
-          id: 5,
-          name: "学习中心",
-          img: "project4",
-        },
-        {
-          id: 6,
-          name: "个人中心",
-          img: "project7",
-        },
-      ],
       language_list: [],
       lang: "",
     };
@@ -232,21 +133,15 @@ export default {
     FatheruserMessage(newval, oldval) {
       this.userMessage = null;
       this.userMessage = newval;
-      if (this.userMessage) {
-        let popedom_code_list = this.userMessage.popedom_code_list;
-        if (this.userMessage.user_type == "TEACHER") {
-          this.projectList = this.handleProList(popedom_code_list);
-        } else if (this.userMessage.user_type == "STUDENT") {
-          this.projectList = this.stuProList;
+    },
+    projectList: {
+      handler: function (val, oldVal) {
+        if (val.length > 0) {
+          this.projectName = val[0].name;
         }
-        this.projectList.forEach((item, index) => {
-          if (item.id == 4) {
-            this.LoginNavIndex = index;
-          }
-        });
-      } else {
-        this.projectList = this.teacherProList;
-      }
+      },
+      // 深度观察监听
+      deep: true,
     },
   },
   methods: {
@@ -356,7 +251,7 @@ export default {
       removeToken();
       this.userShow = false;
       this.userMessage = null;
-      this.changeLoginReg("", null);
+      this.changeLoginReg("login", null);
     },
     getLangList() {
       let MethodName = "language_manager-GetLanguageList";
@@ -372,113 +267,6 @@ export default {
         }
       });
     },
-    handleProList(list) {
-      let projectList = [];
-      if (list.length == 0) {
-        let arr = [
-          {
-            id: 2,
-            name: "教培中心",
-            img: "project3",
-          },
-          {
-            id: 3,
-            name: "教研中心",
-            img: "project6",
-          },
-          {
-            id: 5,
-            name: "学习中心",
-            img: "project4",
-          },
-          {
-            id: 4,
-            name: "考试中心",
-            img: "project5",
-          },
-          {
-            id: 6,
-            name: "个人中心",
-            img: "project7",
-          },
-        ];
-        projectList = arr;
-      } else if (list.includes(2000001)) {
-        projectList = JSON.parse(JSON.stringify(this.teacherProList));
-        for (let i = 0; i < list.length; i++) {
-          let code = list[i];
-          if (code == 2000003) {
-            projectList.push({
-              id: 1,
-              name: "教材管理系统",
-              img: "project2",
-            });
-          }
-          if (code == 2000005) {
-            projectList.push({
-              id: 4,
-              name: "考试中心",
-              img: "project5",
-            });
-          }
-        }
-      } else {
-        for (let i = 0; i < list.length; i++) {
-          let code = list[i];
-          if (code == 2000002) {
-            projectList.push({
-              id: 0,
-              name: "教学管理系统",
-              img: "project1",
-            });
-          } else if (code == 2000003) {
-            projectList.push({
-              id: 1,
-              name: "教材管理系统",
-              img: "project2",
-            });
-          } else if (code == 2000004) {
-            projectList.push({
-              id: 2,
-              name: "教师培训中心",
-              img: "project3",
-            });
-          } else if (code == 2000005) {
-            projectList.push({
-              id: 4,
-              name: "考试中心",
-              img: "project5",
-            });
-          } else if (code == 2000006) {
-            projectList.push({
-              id: 3,
-              name: "教研中心",
-              img: "project4",
-            });
-          }
-        }
-        projectList.push({
-          id: 6,
-          // Teacher training center
-          name: "个人中心",
-          img: "project7",
-          text: "您收集和购买的所有资源都可以在这里轻松找到。",
-        });
-      }
-      // 排序
-      for (var i = 0; i < projectList.length - 1; i++) {
-        for (var j = 0; j < projectList.length - 1 - i; j++) {
-          // 相邻元素两两对比,元素交换,大的元素交换到后面
-          if (projectList[j].id > projectList[j + 1].id) {
-            var temp = projectList[j];
-            projectList[j] = projectList[j + 1];
-            projectList[j + 1] = temp;
-          }
-        }
-      }
-      this.projectName = projectList[0].name;
-      return projectList;
-    },
   },
   created() {
     let _this = this;
@@ -487,33 +275,15 @@ export default {
     } else {
       _this.userMessage = null;
     }
-    // let user = Cookies.get("userMessage");
-    // if (user) {
-    //   _this.userMessage = JSON.parse(user);
-    //   let popedom_code_list = _this.userMessage.popedom_code_list;
-    //   if (_this.userMessage.user_type == "TEACHER") {
-    //     _this.projectList = _this.handleProList(popedom_code_list);
-    //   } else if (_this.userMessage.user_type == "STUDENT") {
-    //     _this.projectList = _this.stuProList;
-    //   }
-    //   _this.projectList.forEach((item, index) => {
-    //     if (item.id == 0) {
-    //       _this.LoginNavIndex = index;
-    //     }
-    //   });
-    // } else {
-    //   _this.userMessage = null;
-    //   this.projectName = this.projectList[0].name;
-    // }
-    this.projectName = this.projectList[0].name;
     _this.getLangList();
   },
+  mounted() {},
 };
 </script>
 
 <style lang="scss" scoped>
 .LoginNav {
-  height: 65px;
+  height: 64px;
   position: relative;
   display: flex;
   align-items: center;
@@ -653,14 +423,21 @@ export default {
   background: #ff9900;
 }
 .LoginNav {
+  .el-menu--horizontal > .el-menu-item {
+    height: 64px;
+  }
   .el-menu-item {
     font-size: 16px;
   }
   .is-active {
     font-weight: bold;
+    line-height: 64px;
   }
   .el-menu-item i {
     color: white;
   }
+  .el-dropdown {
+    font-size: 16px;
+  }
 }
 </style>

+ 2 - 177
src/components/login/LoginNav2.vue

@@ -2,7 +2,6 @@
   <!-- 顶部登录导航 -->
   <div class="LoginNav">
     <div class="logo">
-      <!-- <span> logo </span> -->
       <el-menu
         :default-active="activeIndex"
         class="el-menu-demo"
@@ -12,38 +11,9 @@
         active-text-color="#FF9900"
       >
         <el-menu-item index="1">首页</el-menu-item>
-        <!-- <el-menu-item index="2">
-          <el-dropdown trigger="click" @command="handleCommand">
-            <span
-              class="el-dropdown-link"
-              :style="{ color: LoginNavIndex == 2 ? '#FF9900' : 'black' }"
-            >
-              {{ projectName }}
-              <i class="el-icon-arrow-down el-icon--right"></i>
-            </span>
-            <el-dropdown-menu slot="dropdown" style="width: 300px">
-              <el-dropdown-item
-                v-for="(item, i) in projectList"
-                :key="i"
-                :command="i"
-                :class="projectDownIndex == i ? 'downsele' : ''"
-              >
-                <img
-                  style="position: relative; top: 5px; width: 24px"
-                  :src="require('../../assets/login/' + item.img + '.png')"
-                  alt=""
-                />
-                <span style="margin-left: 16px">
-                  {{ item.name }}
-                </span>
-              </el-dropdown-item>
-            </el-dropdown-menu>
-          </el-dropdown>
-        </el-menu-item> -->
       </el-menu>
     </div>
     <div class="userName">
-      <!-- <div class="headPhoto"></div> -->
       <el-dropdown
         v-if="userMessage"
         style="margin-right: 16px"
@@ -68,17 +38,8 @@
         <span> | </span>
         <span @click="cutLoginReg('signin')">注册</span>
       </div>
-      <!-- 用户头像和用户名 -->
-      <!-- <img
-        class="headPhoto"
-        src="../../assets/login/image 4.png"
-        alt=""
-      />
-      <span>evelyn</span> -->
-      <!-- 消息 铃铛图片 -->
       <div class="message">
         <img src="../../assets/login/Vector.png" alt="" />
-        <!-- <span class="redDot"></span> -->
       </div>
     </div>
   </div>
@@ -87,89 +48,16 @@
 <script>
 import Cookies from "js-cookie";
 import { getAcsCode, getStaticContent, getContent } from "@/api/api";
-import { getToken } from '@/utils/auth';
+import { getToken } from "@/utils/auth";
 
 export default {
   props: ["type", "changeLoginReg"],
   data() {
     return {
-      activeIndex: "1",
+      activeIndex: "",
       LoginNavIndex: "1",
       projectName: "教学中心",
       projectDownIndex: 0,
-      projectList: [
-        {
-          id: 0,
-          name: "教学中心",
-          img: "project5",
-        },
-        {
-          id: 2,
-          name: "教培中心",
-          img: "project3",
-        },
-        {
-          id: 3,
-          name: "教研中心",
-          img: "project6",
-        },
-        {
-          id: 5,
-          name: "学习中心",
-          img: "project4",
-        },
-        {
-          id: 6,
-          name: "个人中心",
-          img: "project7",
-        },
-      ],
-      teacherProList: [
-        //普通教师
-        {
-          id: 0,
-          name: "教学中心",
-          img: "project5",
-        },
-
-        {
-          id: 2,
-          name: "教培中心",
-          img: "project3",
-        },
-        {
-          id: 3,
-          name: "教研中心",
-          img: "project6",
-        },
-        {
-          id: 5,
-          name: "学习中心",
-          img: "project4",
-        },
-        {
-          id: 6,
-          name: "个人中心",
-          img: "project7",
-        },
-      ],
-      stuProList: [
-        {
-          id: 0,
-          name: "教学中心",
-          img: "project5",
-        },
-        {
-          id: 5,
-          name: "学习中心",
-          img: "project4",
-        },
-        {
-          id: 6,
-          name: "个人中心",
-          img: "project7",
-        },
-      ],
       language_list: [],
       lang: "",
     };
@@ -267,72 +155,9 @@ export default {
         }
       });
     },
-    handleProList(list) {
-      let projectList = [];
-      if (list.includes(2000001)) {
-        projectList = this.teacherProList;
-      } else {
-        for (let i = 0; i < list.length; i++) {
-          let code = list[i];
-          if (code == 2000002) {
-            projectList.push({
-              id: 0,
-              name: "教学管理系统",
-              img: "project1",
-            });
-          } else if (code == 2000003) {
-            projectList.push({
-              id: 1,
-              name: "教材管理系统",
-              img: "project2",
-            });
-          } else if (code == 2000004) {
-            projectList.push({
-              id: 2,
-              name: "教师培训中心",
-              img: "project3",
-            });
-          } else if (code == 2000005) {
-            projectList.push({
-              id: 4,
-              name: "考试中心",
-              img: "project5",
-            });
-          } else if (code == 2000006) {
-            projectList.push({
-              id: 3,
-              name: "教研中心",
-              img: "project4",
-            });
-          }
-        }
-      }
-      console.log(projectList);
-      return projectList;
-    },
   },
   created() {
     let _this = this;
-    let user = getToken()
-    if (user) {
-      _this.userMessage = JSON.parse(user);
-      let popedom_code_list = _this.userMessage.popedom_code_list;
-      if (_this.userMessage.user_type == "TEACHER") {
-        _this.projectList =
-          popedom_code_list.length > 0
-            ? _this.handleProList(popedom_code_list)
-            : [];
-      } else if (_this.userMessage.user_type == "STUDENT") {
-        _this.projectList = _this.stuProList;
-      }
-      _this.projectList.forEach((item, index) => {
-        if (item.id == 0) {
-          _this.LoginNavIndex = index;
-        }
-      });
-    } else {
-      _this.userMessage = null;
-    }
     _this.getLangList();
   },
 };

+ 5 - 15
src/components/login/login.vue

@@ -259,21 +259,11 @@ export default {
             localStorage.setItem("user_name", JSON.stringify(obj));
           }
           setToken(res);
-          let acsCode = null;
-          let MethodName = "login_control-CreateAccessCode";
-          getContent(
-            MethodName,
-            res.user_code,
-            res.user_type,
-            res.session_id
-          ).then((ress) => {
-            acsCode = ress.access_code;
-            res.popedom_code_list.forEach((item, i) => {
-              if (item == 2000001) {
-                location.href = `/GCLS-Learn/#/EnterSys?AccessCode=${acsCode}`;
-                return;
-              }
-            });
+          res.popedom_code_list.forEach((item, i) => {
+            if (item == 2000001) {
+              location.href = `/GCLS-Learn/#/EnterSys`;
+              return;
+            }
           });
         })
         .catch((err) => {

+ 3 - 11
src/components/login/registration.vue

@@ -333,15 +333,11 @@ export default {
         return;
       }
       if (this.ruleForm.Twopassword != this.ruleForm.password) {
-        this.$message.warning(
-          "请重新输入密码。两个条目必须相同"
-        );
+        this.$message.warning("请重新输入密码。两个条目必须相同");
         return;
       }
       if (this.passwordError) {
-        this.$message.warning(
-          "请输入8-12位大写字母、小写字母、数字和组合"
-        );
+        this.$message.warning("请输入8-12位大写字母、小写字母、数字和组合");
         return;
       }
       if (flag) {
@@ -437,9 +433,7 @@ export default {
           }, 1000);
         });
       } else {
-        this_.$message.warning(
-          "请先输入邮箱或手机号码"
-        );
+        this_.$message.warning("请先输入邮箱或手机号码");
       }
     },
     // 验证码的验证只能输入数字 
@@ -543,8 +537,6 @@ export default {
   padding: 40px 0 40px 40px;
   border-radius: 8px;
   .title {
-    // height: 60px;
-    // line-height: 60px;
     p {
       margin: 0;
       padding: 0;

+ 21 - 26
src/router/index.js

@@ -5,41 +5,36 @@ Vue.use(Router)
 import Index from "../views/login/index"
 
 export const constantRoutes = [{
-        path: '/',
-        name: "index",
-        meta: { title: '登录' },
-        component: Index,
-        // component: () => import('@/views/login/index'),
-    },
-    {
-        path: '/Signup',
-        name: "Signup",
-        meta: { title: '注册' },
-        component: () =>
-            import ('@/views/login/Signup'),
-    },
-    {
-        path: '/Personalcenter',
-        name: "Personalcenter",
-        component: () =>
-            import ('@/views/Personalcenter'),
-    }
-    // 404 page must be placed at the end !!!
-    // { path: '*', redirect: '/404', hidden: true }
+  path: '/',
+  name: "index",
+  meta: { title: '登录' },
+  component: Index,
+  // component: () => import('@/views/login/index'),
+},
+{
+  path: '/Signup',
+  name: "Signup",
+  meta: { title: '注册' },
+  component: () =>
+    import('@/views/login/Signup'),
+},
+
+// 404 page must be placed at the end !!!
+{ path: '*', redirect: '/404', hidden: true }
 ]
 
 const createRouter = () => new Router({
-    // mode: 'history', // require service support
-    scrollBehavior: () => ({ y: 0 }),
-    routes: constantRoutes
+  // mode: 'history', // require service support
+  scrollBehavior: () => ({ y: 0 }),
+  routes: constantRoutes
 })
 
 const router = createRouter()
 
 // Detail see: https://github.com/vuejs/vue-router/issues/1234#issuecomment-357941465
 export function resetRouter() {
-    const newRouter = createRouter()
-    router.matcher = newRouter.matcher // reset router
+  const newRouter = createRouter()
+  router.matcher = newRouter.matcher // reset router
 }
 
 export default router

+ 0 - 241
src/views/Personalcenter.vue

@@ -1,241 +0,0 @@
-<template>
-  <!-- 个人中心 -->
-  <div class="Personalcenter">
-    <div class="Nav">
-      <OneselfNav />
-    </div>
-    <div class="main">
-      <div class="content">
-        <div class="left">
-          <!-- 头像 -->
-          <div class="headPortrait">
-            <div class="shade">
-              <div class="photo">
-                <div>
-                  <img src="../assets/Personalcenter/headphoto.png" alt="" />
-                  <img
-                    class="sex"
-                    src="../assets/Personalcenter/sex.png"
-                    alt=""
-                  />
-                </div>
-              </div>
-              <div class="name">
-                <p>Alexander Wang</p>
-              </div>
-            </div>
-          </div>
-          <!-- 导航 -->
-          <div class="navList">
-            <div
-              :class="SeleNavIndex == i ? 'select' : ''"
-              v-for="(item, i) in navList"
-              :key="i"
-              @click="selectNav(i)"
-            >
-              <img
-                v-if="SeleNavIndex != i"
-                :src="
-                  require('../assets/Personalcenter/' + item.imgSrc + '.png')
-                "
-                alt=""
-              />
-              <img
-                v-else
-                :src="
-                  require('../assets/Personalcenter/' + item.selectSrc + '.png')
-                "
-                alt=""
-              />
-              <span>{{ item.name }}</span>
-            </div>
-          </div>
-        </div>
-        <div class="right">
-          <Mytextbook v-if="SeleNavIndex == 1" />
-          <Mycourse v-if="SeleNavIndex == 2" />
-          <Purchasehitory v-if="SeleNavIndex == 3" />
-          <AccountSet v-if="SeleNavIndex == 5" />
-        </div>
-      </div>
-    </div>
-  </div>
-</template>
-
-<script>
-import OneselfNav from "@/components/Personalcenter/OneselfNav";
-import Mytextbook from "@/components/Personalcenter/Mytextbook";
-import Mycourse from "@/components/Personalcenter/Mycourse";
-import Purchasehitory from "@/components/Personalcenter/Purchasehitory";
-import AccountSet from "@/components/Personalcenter/AccountSet";
-
-//这里可以导入其它文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
-//例如:import 《组件名称》from ‘《组件路径》';
-export default {
-  name: "Personalcenter",
-  //import引入的组件需要注入到对象中才能使用
-  components: { OneselfNav, Mytextbook, Mycourse, Purchasehitory, AccountSet },
-  props: {},
-  data() {
-    //这里存放数据
-    return {
-      navList: [
-        {
-          name: "系统通知",
-          imgSrc: "nav1",
-          selectSrc: "nav1-1",
-        },
-        {
-          name: "我的教材",
-          imgSrc: "nav2",
-          selectSrc: "nav2-1",
-        },
-        {
-          name: "我的课程",
-          imgSrc: "nav3",
-          selectSrc: "nav3-1",
-        },
-        {
-          name: "购买记录",
-          imgSrc: "nav4",
-          selectSrc: "nav4-1",
-        },
-        {
-          name: "我的收藏",
-          imgSrc: "nav5",
-          selectSrc: "nav5-1",
-        },
-        {
-          name: "账户设置",
-          imgSrc: "nav6",
-          selectSrc: "nav6-1",
-        },
-      ],
-      SeleNavIndex: 0,
-    };
-  },
-  //计算属性 类似于data概念
-  computed: {},
-  //监控data中数据变化
-  watch: {},
-  //方法集合
-  methods: {
-    //   选择导航
-    selectNav(index) {
-      this.SeleNavIndex = index;
-    },
-  },
-  //生命周期 - 创建完成(可以访问当前this实例)
-  created() {},
-  //生命周期 - 挂载完成(可以访问DOM元素)
-  mounted() {},
-  //生命周期-创建之前
-  beforeCreated() {},
-  //生命周期-挂载之前
-  beforeMount() {},
-  //生命周期-更新之前
-  beforUpdate() {},
-  //生命周期-更新之后
-  updated() {},
-  //生命周期-销毁之前
-  beforeDestory() {},
-  //生命周期-销毁完成
-  destoryed() {},
-  //如果页面有keep-alive缓存功能,这个函数会触发
-  activated() {},
-};
-</script>
-<style lang="scss" scoped>
-/* @import url(); 引入css类 */
-.Personalcenter {
-  .main {
-    background: #e5e5e5;
-    padding-top: 24px;
-    padding-bottom: 60px;
-    .content {
-      width: 1200px;
-      height: 735px;
-      margin: 0 auto;
-      display: flex;
-      .left {
-        width: 240px;
-        height: 735px;
-        background: #ffffff;
-        .headPortrait {
-          width: 240px;
-          height: 240px;
-          background: url("../assets/Personalcenter/headbg.png");
-          background-size: 100% 100%;
-          position: relative;
-          .shade {
-            position: absolute;
-            width: 100%;
-            height: 100%;
-            background: rgba(0, 0, 0, 0.25);
-            padding-top: 46px;
-          }
-          .photo {
-            text-align: center;
-            > div {
-              margin: 0 auto;
-              width: 120px;
-              height: 120px;
-              background: rgba(#c4c4c4, 0.3);
-              display: flex;
-              justify-content: center;
-              align-items: center;
-              border-radius: 50%;
-              position: relative;
-            }
-            img {
-              width: 100px;
-              border-radius: 50%;
-            }
-            .sex {
-              width: 18.75px;
-              position: absolute;
-              right: 20px;
-              bottom: 1px;
-            }
-          }
-          .name {
-            margin-top: 8px;
-            text-align: center;
-            p {
-              margin: 0;
-              font-weight: 600;
-              font-size: 20px;
-              color: #ffffff;
-            }
-          }
-        }
-        .navList {
-          margin-top: 8px;
-          > div {
-            margin-top: 8px;
-            height: 46px;
-            display: flex;
-            align-items: center;
-            img {
-              width: 24px;
-              margin-left: 18px;
-              margin-right: 16px;
-            }
-            cursor: pointer;
-          }
-          .select {
-            background: #ff9900;
-            color: white;
-          }
-        }
-      }
-      .right {
-        width: 944px;
-        height: 735px;
-        margin-left: 16px;
-        background: #ffffff;
-      }
-    }
-  }
-}
-</style>

+ 45 - 18
src/views/login/index.vue

@@ -1,15 +1,16 @@
 <template>
-  <div class="index">
+  <div class="index" v-if="isPc">
     <div class="shadow" v-if="LoginOrRegistration != 'signin'">
       <LoginNav
         :changeLoginReg="changeLoginReg"
         :FatheruserMessage="userMessage"
         :language_list="language_list"
+        :projectList="projectList"
       />
       <!-- <LayoutHeader /> -->
       <div class="logoAndlogin">
         <div class="LogoAndText">
-          <div class="logo">logo</div>
+          <div class="logo">GCLS</div>
           <div class="text">
             <p class="p1">欢迎来到全球汉语教学平台</p>
             <p class="p2">
@@ -120,9 +121,11 @@ export default {
   data() {
     //这里存放数据
     return {
-      LoginOrRegistration: "login", //注册 登录 忘记密码
+      isPc: false,
+      LoginOrRegistration: "", //注册 登录 忘记密码
       loginType: "teacher",
-      projectList: [
+      projectList: [],
+      projectList1: [
         {
           id: 0,
           name: "教学中心",
@@ -132,7 +135,7 @@ export default {
         },
         {
           id: 1,
-          name: "教材管理系统",
+          name: "教材中心",
           img: "project8-8",
           selectImg: "project1-1-1",
           text: "帮您快速定制生动、有趣、实用的数字教材。",
@@ -151,13 +154,13 @@ export default {
           selectImg: "project6-6",
           text: "丰富的教学资料和珍贵的文献可以在线查看或下载。",
         },
-        // 丰富的题库将帮助您快速编写实用、准确、全面的试卷。
+        //
         {
           id: 4,
           name: "考试中心",
           img: "project5-5-5",
           selectImg: "project5-5",
-          text: "丰富的教学资料和珍贵的文献可以在线查看或下载。",
+          text: "丰富的题库将帮助您快速编写实用、准确、全面的试卷。",
         },
         {
           id: 5,
@@ -199,6 +202,13 @@ export default {
           text: "丰富的教学资料和珍贵的文献可以在线查看或下载。",
         },
         {
+          id: 4,
+          name: "考试中心",
+          img: "project5-5-5",
+          selectImg: "project5-5",
+          text: "丰富的题库将帮助您快速编写实用、准确、全面的试卷。",
+        },
+        {
           id: 5,
           name: "学习中心",
           img: "project4-4-4",
@@ -261,7 +271,10 @@ export default {
         let _this = this;
         let popedom_code_list = _this.userMessage.popedom_code_list;
         if (_this.userMessage.user_type == "TEACHER") {
-          _this.projectList = _this.handleProList(popedom_code_list);
+          _this.projectList =
+            popedom_code_list.indexOf(2000001) > -1
+              ? []
+              : _this.handleProList(popedom_code_list);
         } else if (_this.userMessage.user_type == "STUDENT") {
           _this.projectList = _this.stuProList;
         }
@@ -271,7 +284,7 @@ export default {
           }
         });
       } else {
-        this.projectList = this.teacherProList;
+        this.projectList = [];
       }
     },
     changeLoginType(value) {
@@ -301,7 +314,6 @@ export default {
       if (!session_id || !user_code || !user_type || !userInfor) {
         this.$message.warning("请先登录");
         this.projectName = this.projectList[0].name;
-        // window.location.href = "/";
         return;
       }
       let acsCode = null;
@@ -437,7 +449,7 @@ export default {
           if (code == 2000002) {
             projectList.push({
               id: 0,
-              name: "教学中心",
+              name: "教学管理中心",
               img: "project1-1",
               selectImg: "project1-1-1",
               text: "帮助您快速完成课程及任务安排,快速清晰的完成学习任务。",
@@ -528,11 +540,9 @@ export default {
         bIsCE ||
         bIsWM
       ) {
-        // window.location.href = "手机站链接";
         location.href = "/GCLS-Mobile-ROOT/#/EnterSys";
         console.log("移动端");
       } else {
-        // window.location = "PC站链接";
         console.log("PC端");
       }
     },
@@ -545,15 +555,31 @@ export default {
       word_key_list: ["teaching", "teaching"],
     });
     let type = this.$route.query.type;
-    if (type) {
-      if (type == "login") {
-        this.LoginOrRegistration = "login";
-      }
+    if (type && type == "login") {
+      this.LoginOrRegistration = "login";
     }
     this.browserRedirect();
   },
   //生命周期 - 挂载完成(可以访问DOM元素)
-  mounted() {},
+  mounted() {
+    let userInfor = getToken();
+    let user_code = "",
+      user_type = "",
+      session_id = "";
+    if (userInfor) {
+      userInfor = JSON.parse(getToken());
+      user_code = userInfor.user_code;
+      user_type = userInfor.user_type;
+      session_id = userInfor.session_id;
+    }
+    if (!session_id || !user_code || !user_type || !userInfor) {
+      this.isPc = true;
+      this.LoginOrRegistration = "login";
+    } else {
+      this.isPc = false;
+      location.href = `/GCLS-Learn/#/EnterSys`;
+    }
+  },
   //生命周期-创建之前
   beforeCreated() {},
   //生命周期-挂载之前
@@ -626,6 +652,7 @@ export default {
           font-size: 40px;
         }
         .p2 {
+          width: 480px;
           margin-top: 32px;
           font-size: 20px;
           line-height: 30px;

Niektoré súbory nie sú zobrazené, pretože je v týchto rozdielových dátach zmenené mnoho súborov