Переглянути джерело

优化加载,动态标题及小程序扫码显示

Tang 2 роки тому
батько
коміт
0ac1ba9f51

+ 3 - 3
index.html

@@ -4,9 +4,9 @@
 <head>
   <meta charset="utf-8">
   <meta name="viewport" content="width=device-width,initial-scale=1.0">
-  <meta name="keywords" content="祥粤云学堂-一级建造师,二级建造师,造价工程师,一级消防工程师,BIM,在线教育,职业教育,报考条件,报名时间,建造师注册,建造工程师" />
-  <meta name="description" content="祥粤云学堂-职业教育一站式学习平台,专注一建,二建,造价工程师,一级消防工程师,BIM等工程师技能知识培训服务热线:020-87085982" />
-  <title>祥粤云学堂-建造师造价师在线教育培训平台报名报考</title>
+  <meta name="keywords" content="-一级建造师,二级建造师,造价工程师,一级消防工程师,BIM,在线教育,职业教育,报考条件,报名时间,建造师注册,建造工程师" />
+  <meta name="description" content="-职业教育一站式学习平台,专注一建,二建,造价工程师,一级消防工程师,BIM等工程师技能知识培训服务热线:020-87085982" />
+  <title>建造师造价师在线教育培训平台报名报考</title>
 </head>
 
 <body>

+ 1 - 1
src/components/exercisesModal/index.vue

@@ -8,7 +8,7 @@
     >
       <div class="exercises-modal__content">
         <div>1.不支持网页端刷题</div>
-        <div>2.请使用手机扫码,进入【祥粤云学堂】小程序环境,进行刷题</div>
+        <div>2.请使用手机扫码,进入【{{$store.state.header.companyName}}】小程序环境,进行刷题</div>
         <div>
           <img src="@/assets/xcxqrcode.jpg" alt="" />
         </div>

+ 37 - 0
src/components/loadingBox/index.vue

@@ -0,0 +1,37 @@
+<template>
+  <div id=""  style="display: flex;align-items: center; ">
+    <template v-for="item in 4">
+      <el-skeleton
+        style="width: 250px;margin: 15px 30px 15px 0px;"
+        loading
+        animated
+      >
+        <template slot="template">
+          <el-skeleton-item
+            variant="image"
+            style="width: 240px; height: 240px;"
+          />
+          <div style="padding: 14px;">
+            <el-skeleton-item variant="h3" style="width: 50%;" />
+            <div
+              style="display: flex; align-items: center; justify-items: space-between; margin-top: 16px; height: 16px;"
+            >
+              <el-skeleton-item variant="text" style="margin-right: 16px;" />
+              <el-skeleton-item variant="text" style="width: 30%;" />
+            </div>
+          </div> </template
+      ></el-skeleton>
+    </template>
+  </div>
+</template>
+
+<script>
+export default {
+  data() {
+    return {};
+  },
+  methods: {}
+};
+</script>
+
+<style lang="scss" scoped></style>

+ 3 - 3
src/components/toolbar/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="toolBar">
-    <div class="item" v-if="WEAPP_STATUS">
+    <div class="item" v-if="mobile.smallQrCodeShow">
       <el-popover placement="left" width="170" trigger="hover">
         <div>
           <div
@@ -102,7 +102,7 @@ import { mapGetters, mapMutations } from "vuex";
 export default {
   name: "ToolBar",
   computed: {
-    ...mapGetters(["userInfo", "cartCount", "header"]),
+    ...mapGetters(["userInfo", "cartCount", "header","mobile"]),
     getTel: function () {
       return function (tel) {
         if (tel) {
@@ -117,10 +117,10 @@ export default {
     return {
       scrollTimer: null,
       WEAPP_LOGO: require(process.env.WEAPP_LOGO),
-      WEAPP_STATUS: process.env.WEAPP_STATUS || false,
     };
   },
   mounted() {
+    console.log(this.$store.state,"state")
     if (this.$tools.isLogin()) {
       this.getCartCount();
     }

+ 45 - 43
src/components/wxLogin/index.vue

@@ -27,7 +27,7 @@
         custom-class="content_dialog"
       >
         <div class="content">
-          <div class="bold">欢迎注册成为“祥粤云学堂”用户!</div>
+          <div class="bold">欢迎注册成为“{{companyName}}”用户!</div>
 
           <div>
             在您注册过程中,您需要完成我们的注册流程并通过点击“同意并继续”的形式在线签署以下协议及政策,请您务必仔细阅读、充分理解协议中的条款内容后再点击同意(尤其是以粗体标识的条款,因为这些条款可能会明确您应履行的义务或对您的权利有所限制)。
@@ -41,27 +41,27 @@
           <div class="center bold">《用户使用协议》</div>
 
           <div>
-            本《用户使用协议》(以下称“本协议”)是由您(以下称“用户”)与广东省祥粤建设职业培训学校(以下简称“祥粤”或“我们”)就用户使用祥粤提供的“祥粤云学堂”互联网服务产品(包括但不限于:祥粤云学堂网站www.xyyxt.net、微信小程序等,以下简称“祥粤云学堂”),包括但不限于注册、登录、使用等方面所订立的相关权利义务规范。本服务条款对用户和祥粤均具有法律效力。本协议连同所有更新材料、补充条款以及祥粤的其他规则和政策共同构成了用户与祥粤之间的协议。
-            我们在此特别提醒,在用户注册使用“祥粤云学堂”服务前,请务必审慎阅读本协议的全部条款、充分理解各条款内容后再点击同意,特别是免除或者限制祥粤责任的条款、对用户权利限制的条款、法律适用和争议解决条款,这些条款将尽可能以加粗方式标识。如用户按照注册页面提示填写信息、点击同意本协议且完成全部注册流程,或者在我们更新本协议后继续使用“祥粤云学堂”提供的服务,即表示用户已充分阅读、理解并接受本协议及祥粤的其他规则和政策的全部内容,成为具有法律约束力的本协议的一方。如果用户不同意本协议任何条款及/或修改后的内容,应立即停止注册程序或停止使用“祥粤云学堂”的服务。
-            如对本协议内容有任何疑问、意见或建议,用户可通过“祥粤云学堂”网站(www.xyyxt.net)页面上的联系方式与我们联系。
+            本《用户使用协议》(以下称“本协议”)是由您(以下称“用户”)与广东省祥粤建设职业培训学校(以下简称“祥粤”或“我们”)就用户使用祥粤提供的“{{companyName}}”互联网服务产品(包括但不限于:{{companyName}}网站{{locationName}}、微信小程序等,以下简称“{{companyName}}”),包括但不限于注册、登录、使用等方面所订立的相关权利义务规范。本服务条款对用户和祥粤均具有法律效力。本协议连同所有更新材料、补充条款以及祥粤的其他规则和政策共同构成了用户与祥粤之间的协议。
+            我们在此特别提醒,在用户注册使用“{{companyName}}”服务前,请务必审慎阅读本协议的全部条款、充分理解各条款内容后再点击同意,特别是免除或者限制祥粤责任的条款、对用户权利限制的条款、法律适用和争议解决条款,这些条款将尽可能以加粗方式标识。如用户按照注册页面提示填写信息、点击同意本协议且完成全部注册流程,或者在我们更新本协议后继续使用“{{companyName}}”提供的服务,即表示用户已充分阅读、理解并接受本协议及祥粤的其他规则和政策的全部内容,成为具有法律约束力的本协议的一方。如果用户不同意本协议任何条款及/或修改后的内容,应立即停止注册程序或停止使用“{{companyName}}”的服务。
+            如对本协议内容有任何疑问、意见或建议,用户可通过“{{companyName}}”网站({{locationName}})页面上的联系方式与我们联系。
           </div>
 
           <div class="bold">一、账号注册与使用</div>
 
           <div>
-            1.用户在使用“祥粤云学堂”服务时需要注册一个账号,账号注册成功后,将产生“祥粤云学堂”账号及相应的用户名和密码等账号信息。用户所创建的“祥粤云学堂”账号的所有权归祥粤所有,用户完成申请注册手续后,即获得“祥粤云学堂”账号的使用权,该使用权仅属于初始申请注册人,禁止赠与、借用、租用、转让或售卖或以其他方式许可他人使用该账号,用户应谨慎合理地保存、使用其用户名和密码。如果我们发现或者有合理理由认为使用者并非账号初始注册人,为保障账号安全,我们有权立即暂停或终止向该注册账号提供服务,并有权永久禁用该账号。
+            1.用户在使用“{{companyName}}”服务时需要注册一个账号,账号注册成功后,将产生“{{companyName}}”账号及相应的用户名和密码等账号信息。用户所创建的“{{companyName}}”账号的所有权归祥粤所有,用户完成申请注册手续后,即获得“{{companyName}}”账号的使用权,该使用权仅属于初始申请注册人,禁止赠与、借用、租用、转让或售卖或以其他方式许可他人使用该账号,用户应谨慎合理地保存、使用其用户名和密码。如果我们发现或者有合理理由认为使用者并非账号初始注册人,为保障账号安全,我们有权立即暂停或终止向该注册账号提供服务,并有权永久禁用该账号。
           </div>
 
           <div>
-            2.您可以使用微信账号登录并使用“祥粤云学堂”,但您需要将微信账号与“祥粤云学堂”账号绑定,账号绑定后,您可以直接使用微信账号扫码登录并使用“祥粤云学堂”的相关服务。
+            2.您可以使用微信账号登录并使用“{{companyName}}”,但您需要将微信账号与“{{companyName}}”账号绑定,账号绑定后,您可以直接使用微信账号扫码登录并使用“{{companyName}}”的相关服务。
           </div>
 
           <div>
-            3.用户在注册及使用“祥粤云学堂”服务时,必须提供真实、准确、完整、合法有效的资料,且有义务维持并及时更新相关资料。用户在账号注册及使用过程中需遵守相关法律法规,不得实施任何侵害国家利益、损害其他公民合法权益,有害社会道德风尚的行为。我们有权对用户提交的注册信息进行审核。如果用户提供的资料违反本款要求,用户需承担因此引起的相应责任及后果,并且我们保留终止用户使用“祥粤云学堂”各项服务或采取其他处理措施的权利。
+            3.用户在注册及使用“{{companyName}}”服务时,必须提供真实、准确、完整、合法有效的资料,且有义务维持并及时更新相关资料。用户在账号注册及使用过程中需遵守相关法律法规,不得实施任何侵害国家利益、损害其他公民合法权益,有害社会道德风尚的行为。我们有权对用户提交的注册信息进行审核。如果用户提供的资料违反本款要求,用户需承担因此引起的相应责任及后果,并且我们保留终止用户使用“{{companyName}}”各项服务或采取其他处理措施的权利。
           </div>
 
           <div>
-            4.作为“祥粤云学堂”服务的提供者,为使用户更好地使用“祥粤云学堂”的各项服务,保障用户的账号安全,我们有权要求用户按照我国法律规定完成实名认证。若用户提交的材料或提供的信息不准确、不真实、不规范、不合法或者我们有理由怀疑为错误、不实或不合法的资料,则我们有权拒绝为用户提供相关服务,用户可能无法使用“祥粤云学堂”互联网服务或在使用过程中部分功能受到限制。
+            4.作为“{{companyName}}”服务的提供者,为使用户更好地使用“{{companyName}}”的各项服务,保障用户的账号安全,我们有权要求用户按照我国法律规定完成实名认证。若用户提交的材料或提供的信息不准确、不真实、不规范、不合法或者我们有理由怀疑为错误、不实或不合法的资料,则我们有权拒绝为用户提供相关服务,用户可能无法使用“{{companyName}}”互联网服务或在使用过程中部分功能受到限制。
           </div>
 
           <div>
@@ -69,18 +69,18 @@
           </div>
 
           <div>
-            6.账号注销。在需要终止使用“祥粤云学堂”账号服务时,符合以下条件的,用户可以申请注销其“祥粤云学堂”账号:
+            6.账号注销。在需要终止使用“{{companyName}}”账号服务时,符合以下条件的,用户可以申请注销其“{{companyName}}”账号:
           </div>
 
           <div>
-            (1)用户仅能申请注销用户本人的账号,并依照“祥粤云学堂”的要求和流程进行注销;
+            (1)用户仅能申请注销用户本人的账号,并依照“{{companyName}}”的要求和流程进行注销;
           </div>
           <div>
-            (2)用户仍应对其在注销账号前且使用“祥粤云学堂”服务期间的行为承担相应责任;
+            (2)用户仍应对其在注销账号前且使用“{{companyName}}”服务期间的行为承担相应责任;
           </div>
           <div>(3)注销成功后,账号记录、功能等将无法恢复或提供。</div>
           <div>
-            如用户需要注销“祥粤云学堂”账号,请打开“祥粤云学堂”网站www.xyyxt.net,如有疑问可联系客服。
+            如用户需要注销“{{companyName}}”账号,请打开“{{companyName}}”网站{{locationName}},如有疑问可联系客服。
           </div>
           <div>7. 用户必须自行准备如下设备和承担如下开支:</div>
           <div>
@@ -91,7 +91,7 @@
           </div>
           <div class="bold">二、服务内容</div>
           <div>
-            1.网上购物下单。使用“祥粤云学堂”网站下订单,您应具备购买相关商品/服务的权利能力和行为能力,如果您在18周岁以下,您需要在监护人的监护参与下才能注册并使用本网站。在下订单的同时,即视为您满足上述条件,并对您在订单中提供的所有信息的真实性负责。
+            1.网上购物下单。使用“{{companyName}}”网站下订单,您应具备购买相关商品/服务的权利能力和行为能力,如果您在18周岁以下,您需要在监护人的监护参与下才能注册并使用本网站。在下订单的同时,即视为您满足上述条件,并对您在订单中提供的所有信息的真实性负责。
           </div>
 
           <div>
@@ -101,24 +101,24 @@
           <div class="bold">三、用户个人信息保护及授权</div>
 
           <div>
-            1.您知悉并同意,为方便您使用“祥粤云学堂”相关服务,我们将视不同产品/服务,存储您在使用时的必要信息,包括但不限于您的真实姓名、身份证号码、手机号码、个人生物识别信息、学历信息等。除法律法规规定的情形外,未经您的许可,我们不会向第三方公开、透露您的个人信息。我们对相关信息采取专业加密存储与传输方式,利用合理措施保障用户个人信息的安全。
+            1.您知悉并同意,为方便您使用“{{companyName}}”相关服务,我们将视不同产品/服务,存储您在使用时的必要信息,包括但不限于您的真实姓名、身份证号码、手机号码、个人生物识别信息、学历信息等。除法律法规规定的情形外,未经您的许可,我们不会向第三方公开、透露您的个人信息。我们对相关信息采取专业加密存储与传输方式,利用合理措施保障用户个人信息的安全。
           </div>
 
           <div>2.您充分理解并同意:</div>
           <div>
-            (1)同意通过短信、电话、站内私信等形式,接受“祥粤云学堂”发送的多类通知,用于用户消息告知、身份验证、安全验证等用途;我们可能使用您的个人信息,通过我们的站内私信、电子邮件或其他方式向您提供或推广我们或第三方的商品和服务;
+            (1)同意通过短信、电话、站内私信等形式,接受“{{companyName}}”发送的多类通知,用于用户消息告知、身份验证、安全验证等用途;我们可能使用您的个人信息,通过我们的站内私信、电子邮件或其他方式向您提供或推广我们或第三方的商品和服务;
           </div>
 
           <div>
-            (2)为配合行政监管机关、司法机关执行工作,在法律规定范围内我们有权向上述行政、司法机关提供您在使用“祥粤云学堂”时所储存的相关信息,包括但不限于您的注册信息等,或使用相关信息进行证据保全,包括但不限于公证、见证等;
+            (2)为配合行政监管机关、司法机关执行工作,在法律规定范围内我们有权向上述行政、司法机关提供您在使用“{{companyName}}”时所储存的相关信息,包括但不限于您的注册信息等,或使用相关信息进行证据保全,包括但不限于公证、见证等;
           </div>
 
           <div>
-            (3)我们依法保障您在使用过程中的知情权和选择权,在您使用“祥粤云学堂”服务过程中,涉及您设备自带功能的服务会提前征得您同意,您一经确认,我们有权开启包括但不限于使用摄像头、访问相册等提供服务必要的辅助功能。
+            (3)我们依法保障您在使用过程中的知情权和选择权,在您使用“{{companyName}}”服务过程中,涉及您设备自带功能的服务会提前征得您同意,您一经确认,我们有权开启包括但不限于使用摄像头、访问相册等提供服务必要的辅助功能。
           </div>
 
           <div>
-            (4)我们有权根据实际情况,在法律规定范围内自行决定单个用户在“祥粤云学堂”及服务中数据的最长储存期限以及用户日志的储存期限,并在服务器上为其分配数据存储空间等。
+            (4)我们有权根据实际情况,在法律规定范围内自行决定单个用户在“{{companyName}}”及服务中数据的最长储存期限以及用户日志的储存期限,并在服务器上为其分配数据存储空间等。
           </div>
 
           <div class="bold">四、用户行为规范</div>
@@ -153,39 +153,39 @@
             (7)不得发布任何侵犯他人个人信息、著作权、商标权等知识产权或合法权利的内容。
           </div>
           <div>
-            3、您须对自己在网上的言论和行为承担法律责任,您若在“祥粤云学堂”上散布和传播反动、色情或其它违反国家法律的信息,“祥粤云学堂”的系统记录有可能作为您违反法律的证据。
+            3、您须对自己在网上的言论和行为承担法律责任,您若在“{{companyName}}”上散布和传播反动、色情或其它违反国家法律的信息,“{{companyName}}”的系统记录有可能作为您违反法律的证据。
           </div>
 
           <div class="bold">五、知识产权</div>
           <div>
-            “祥粤云学堂”提供的网络服务中包含的任何文本、图片、图形、音频和/或视频资料均受版权、商标和/或其它财产所有权法律的保护,祥粤享有上述知识产权,但相关权利人依照法律规定应享有的权利除外。未经祥粤书面同意,用户均不得将上述资料在任何媒体直接或间接发布、播放、出于播放或发布目的而改写或再发行,或者被用于其他任何商业目的。所有以上资料或资料的任何部分仅可作为私人和非商业用途使用。
+            “{{companyName}}”提供的网络服务中包含的任何文本、图片、图形、音频和/或视频资料均受版权、商标和/或其它财产所有权法律的保护,祥粤享有上述知识产权,但相关权利人依照法律规定应享有的权利除外。未经祥粤书面同意,用户均不得将上述资料在任何媒体直接或间接发布、播放、出于播放或发布目的而改写或再发行,或者被用于其他任何商业目的。所有以上资料或资料的任何部分仅可作为私人和非商业用途使用。
           </div>
 
           <div class="bold">六、协议修改</div>
           <div>
             1.
-            根据互联网的发展和有关法律、法规及规范性文件的变化,或者因业务发展、技术条件、产品功能等变化的需要,我们将在必要时对本协议的服务条款作出修改或变更。我们将会直接在“祥粤云学堂”互联网服务产品上公布修改之后的协议内容,该公布行为视为祥粤已经通知用户修改内容,修改后的内容一经公布即有效替代原有服务条款。我们也可采用电子邮件或私信的传送方式,提示用户协议条款的修改、服务变更、或其它重要事项。
+            根据互联网的发展和有关法律、法规及规范性文件的变化,或者因业务发展、技术条件、产品功能等变化的需要,我们将在必要时对本协议的服务条款作出修改或变更。我们将会直接在“{{companyName}}”互联网服务产品上公布修改之后的协议内容,该公布行为视为祥粤已经通知用户修改内容,修改后的内容一经公布即有效替代原有服务条款。我们也可采用电子邮件或私信的传送方式,提示用户协议条款的修改、服务变更、或其它重要事项。
             2.
-            用户可登录“祥粤云学堂”互联网服务产品中查阅最新版本的相关协议条款。如果用户继续使用“祥粤云学堂”提供的服务,即视为用户已经接受修改后的服务条款;如果用户不接受修改后的服务条款或对内容存在异议的,应当停止使用“祥粤云学堂”提供的服务。
+            用户可登录“{{companyName}}”互联网服务产品中查阅最新版本的相关协议条款。如果用户继续使用“{{companyName}}”提供的服务,即视为用户已经接受修改后的服务条款;如果用户不接受修改后的服务条款或对内容存在异议的,应当停止使用“{{companyName}}”提供的服务。
           </div>
 
           <div class="bold">七、免责声明</div>
           <div>1.我们不保证(包括但不限于):</div>
           <div>
-            (1)“祥粤云学堂”的服务不受干扰,及时、安全、可靠或不出现错误;
+            (1)“{{companyName}}”的服务不受干扰,及时、安全、可靠或不出现错误;
           </div>
           <div>
-            (2)用户经由“祥粤云学堂”取得的任何产品、服务或其他材料符合用户的期望。
+            (2)用户经由“{{companyName}}”取得的任何产品、服务或其他材料符合用户的期望。
           </div>
           <div>
-            2.用户使用经由“祥粤云学堂”下载的或取得的任何资料,其风险自行负担。
+            2.用户使用经由“{{companyName}}”下载的或取得的任何资料,其风险自行负担。
           </div>
           <div>
             3.由于地震、台风、洪水、火灾、战争、政府禁令以及其他不能预见并且对其发生和后果不能防止或避免的不可抗力或互联网上的黑客攻击事件,致使影响本服务条款的履行,祥粤不承担责任。
           </div>
 
           <div>
-            4.用户同意“祥粤云学堂”因政策法规变化、教学需要等原因有权更新课程,包括但不限于变更在线课程的授课老师、讲义及课件内容等。
+            4.用户同意“{{companyName}}”因政策法规变化、教学需要等原因有权更新课程,包括但不限于变更在线课程的授课老师、讲义及课件内容等。
           </div>
           <div class="bold">八、法律适用及争议解决</div>
           <div>
@@ -198,7 +198,7 @@
 
           <div class="bold center">《个人信息保护政策》</div>
           <div>
-            广东省祥粤建设职业培训学校(注册地址:广东省广州市天河区燕岭路123号3楼)及其关联方(以下简称“祥粤”或“我们”)作为“祥粤云学堂”互联网服务产品(包括但不限于祥粤云学堂网站www.xyyxt.net、微信小程序等,下称“祥粤云学堂”)的运营者,深知个人信息对您的重要性,我们将按照法律法规的规定,保护您的个人信息安全。我们制定本“个人信息保护政策”并特别提示:希望您在使用“祥粤云学堂”及相关服务前仔细阅读并理解本个人信息保护政策,以便做出适当的选择。本政策中涉及的相关术语,我们尽量以简明扼要的方式进行表述,以便您更好地理解。您使用或在我们更新本政策后(我们会及时提示您更新的情况并再次取得您对本政策更新版本的同意)继续使用我们的服务,即意味着您同意本政策(含更新版本)内容,并且同意我们按照本政策收集、使用、存储、传输、共享、转让和公开披露您的相关信息。
+            广东省祥粤建设职业培训学校(注册地址:广东省广州市天河区燕岭路123号3楼)及其关联方(以下简称“祥粤”或“我们”)作为“{{companyName}}”互联网服务产品(包括但不限于{{companyName}}网站{{locationName}}、微信小程序等,下称“{{companyName}}”)的运营者,深知个人信息对您的重要性,我们将按照法律法规的规定,保护您的个人信息安全。我们制定本“个人信息保护政策”并特别提示:希望您在使用“{{companyName}}”及相关服务前仔细阅读并理解本个人信息保护政策,以便做出适当的选择。本政策中涉及的相关术语,我们尽量以简明扼要的方式进行表述,以便您更好地理解。您使用或在我们更新本政策后(我们会及时提示您更新的情况并再次取得您对本政策更新版本的同意)继续使用我们的服务,即意味着您同意本政策(含更新版本)内容,并且同意我们按照本政策收集、使用、存储、传输、共享、转让和公开披露您的相关信息。
           </div>
 
           <div class="bold">本个人信息保护政策将帮助您了解:</div>
@@ -217,11 +217,11 @@
           </div>
 
           <div>
-            •本个人信息保护政策适用于您通过“祥粤云学堂”官方网站或微信小程序来访问和使用我们的产品和服务。
+            •本个人信息保护政策适用于您通过“{{companyName}}”官方网站或微信小程序来访问和使用我们的产品和服务。
           </div>
 
           <div>
-            下文将帮您详细了解我们将如何收集、使用、存储、传输、共享、转让、公开披露和保护(如适用)您的个人信息,帮您了解查询、访问、删除、更正、撤回授权个人信息的方式。其中,有关您个人信息权益的条款重要内容我们已用加粗形式提示,请特别关注。请您了解并知悉,“祥粤云学堂”未来有可能根据信息处理情境不时更新或修改本政策。
+            下文将帮您详细了解我们将如何收集、使用、存储、传输、共享、转让、公开披露和保护(如适用)您的个人信息,帮您了解查询、访问、删除、更正、撤回授权个人信息的方式。其中,有关您个人信息权益的条款重要内容我们已用加粗形式提示,请特别关注。请您了解并知悉,“{{companyName}}”未来有可能根据信息处理情境不时更新或修改本政策。
           </div>
 
           <div class="bold">一、我们如何收集和使用您的个人信息</div>
@@ -239,10 +239,10 @@
           </div>
           <div class="bold">用户注册/登录</div>
           <div>
-            您使用“祥粤云学堂”提供的服务,可以注册并登录经注册的“祥粤云学堂”账号。当您注册“祥粤云学堂”账号时,您需向我们提供您的移动电话号码,我们将通过发送短信验证码的方式来验证您的身份是否有效,验证无误后我们会为您创建账号;此外,您也可以使用微信账号登录并使用“祥粤云学堂”,但您仍需要将微信账号与“祥粤云学堂”账号绑定,账号绑定后,您可以直接使用微信账号扫码登录并使用本产品和相关服务。
+            您使用“{{companyName}}”提供的服务,可以注册并登录经注册的“{{companyName}}”账号。当您注册“{{companyName}}”账号时,您需向我们提供您的移动电话号码,我们将通过发送短信验证码的方式来验证您的身份是否有效,验证无误后我们会为您创建账号;此外,您也可以使用微信账号登录并使用“{{companyName}}”,但您仍需要将微信账号与“{{companyName}}”账号绑定,账号绑定后,您可以直接使用微信账号扫码登录并使用本产品和相关服务。
           </div>
           <div>
-            为了满足相关法律法规的网络实名制要求,我们需要收集您的移动电话号码。如您拒绝提供移动电话号码或进行实名验证,在您同意接受本《个人信息保护政策》及《祥粤云学堂用户使用协议》适用条款的前提下,您仍可浏览“祥粤云学堂”网站的内容,但将无法使用课程购买、课程学习、考试预约等其他全部或部分“祥粤云学堂”提供的服务。
+            为了满足相关法律法规的网络实名制要求,我们需要收集您的移动电话号码。如您拒绝提供移动电话号码或进行实名验证,在您同意接受本《个人信息保护政策》及《{{companyName}}用户使用协议》适用条款的前提下,您仍可浏览“{{companyName}}”网站的内容,但将无法使用课程购买、课程学习、考试预约等其他全部或部分“{{companyName}}”提供的服务。
           </div>
           <div class="bold">网上购物下单</div>
           <div>
@@ -299,7 +299,7 @@
           </div>
           <div class="bold">保障账号和服务安全</div>
           <div>
-            为提高您使用我们的服务时系统的安全性并保障网站数据安全,更准确地预防钓鱼网站欺诈和保护账户安全,我们会收集您的有关信息对“祥粤云学堂”系统问题进行分析、统计流量并排查可能存在的风险、在您选择向我们发送异常信息时予以排查。我们可能使用您的账户信息、服务日志信息以及我们关联方、合作方在获得您授权或依法可以共享的信息,用于判断账户安全、进行身份验证、检测及防范安全事件。尤其是在接到您有关账号安全方面的需求(如账号找回)时,我们可能会要求您再次提供相关信息(如移动电话号码等)用于安全验证,如您拒绝提供的,我们可能无法判断您账户的安全情况或无法为您进行与账号安全相关的操作。
+            为提高您使用我们的服务时系统的安全性并保障网站数据安全,更准确地预防钓鱼网站欺诈和保护账户安全,我们会收集您的有关信息对“{{companyName}}”系统问题进行分析、统计流量并排查可能存在的风险、在您选择向我们发送异常信息时予以排查。我们可能使用您的账户信息、服务日志信息以及我们关联方、合作方在获得您授权或依法可以共享的信息,用于判断账户安全、进行身份验证、检测及防范安全事件。尤其是在接到您有关账号安全方面的需求(如账号找回)时,我们可能会要求您再次提供相关信息(如移动电话号码等)用于安全验证,如您拒绝提供的,我们可能无法判断您账户的安全情况或无法为您进行与账号安全相关的操作。
           </div>
           <div class="bold">设备权限调用</div>
           <div>
@@ -338,7 +338,7 @@
             1、我们会根据本政策的约定并为实现我们的服务功能对所收集的个人信息进行使用。
           </div>
           <div>
-            2、请您注意,您在使用我们的服务时所提供的所有个人信息,除非您删除或通过系统设置拒绝我们收集,否则将在您使用我们的服务期间持续授权我们使用。在您注销账号后,我们将停止为您提供服务,您的个人信息将在“祥粤云学堂”全站匿名化处理,使您的账号处在不可被检索、访问的状态,并在符合相关法律法规规定的前提下删除您的个人信息。
+            2、请您注意,您在使用我们的服务时所提供的所有个人信息,除非您删除或通过系统设置拒绝我们收集,否则将在您使用我们的服务期间持续授权我们使用。在您注销账号后,我们将停止为您提供服务,您的个人信息将在“{{companyName}}”全站匿名化处理,使您的账号处在不可被检索、访问的状态,并在符合相关法律法规规定的前提下删除您的个人信息。
           </div>
           <div>
             3、当我们要将您的个人信息用于本政策未载明的其他用途时,或基于特定目的收集而来的信息用于其他目的时,会通过您主动做出勾选或其他合法形式事先征求您的同意。
@@ -394,7 +394,7 @@
             如果为了向您提供服务而需要将您的信息共享至第三方,我们将评估该第三方收集信息的合法性、正当性、必要性。我们将要求第三方对您的信息采取保护措施,并且严格遵守相关法律法规与监管要求。平台的合作伙伴无权将共享的个人信息用于与产品或服务无关的其他用途。
           </div>
           <div>
-            5、祥粤云学堂服务含有到其他网站的链接。除法律另有规定外,我们对其他网站的隐私保护措施不负任何责任。平台可能在任何需要的时候增加商业伙伴或共用品牌的网站,但是提供给他们的将仅是匿名化的信息,平台将不会公开您的身份。
+            5、{{companyName}}服务含有到其他网站的链接。除法律另有规定外,我们对其他网站的隐私保护措施不负任何责任。平台可能在任何需要的时候增加商业伙伴或共用品牌的网站,但是提供给他们的将仅是匿名化的信息,平台将不会公开您的身份。
           </div>
           <div class="bold">(三)转让</div>
           <div>
@@ -439,32 +439,32 @@
             我们非常重视您对个人信息的关注,并尽全力保护您对于您个人信息访问、更正、删除以及注销账号的权利,以使您拥有充分的能力保障您的个人信息安全。您的权利包括:
           </div>
           <div>
-            1、您可以按照我们的相关政策及“祥粤云学堂”网站页面提示,通过网站联系方式或“个人信息”功能界面等对您的个人信息进行查询、访问、更正及删除;具体权限及方式以“祥粤云学堂”网站相关页面显示的操作要求及信息为准。同时,我们将尽一切可能采取适当的技术手段,保证收集到的有关于您的个人信息的准确性,并保证及时进行更新。
+            1、您可以按照我们的相关政策及“{{companyName}}”网站页面提示,通过网站联系方式或“个人信息”功能界面等对您的个人信息进行查询、访问、更正及删除;具体权限及方式以“{{companyName}}”网站相关页面显示的操作要求及信息为准。同时,我们将尽一切可能采取适当的技术手段,保证收集到的有关于您的个人信息的准确性,并保证及时进行更新。
           </div>
           <div>
-            2、注销账户。您可注销您注册的“祥粤云学堂”账户,具体注销路径:
+            2、注销账户。您可注销您注册的“{{companyName}}”账户,具体注销路径:
           </div>
           <div>3、响应您的请求</div>
           <div>
-            如果您无法通过上述方式查询、访问、更正或删除您的个人信息,或您需要访问、更正或删除您在使用我们服务时所产生的其他个人信息,或您认为我们存在任何违反法律法规或与您关于个人信息的收集使用的约定,您均可以通过“祥粤云学堂”网站页面上的联系方式与我们联系。为了保障安全,我们可能需要您提供书面请求,或以其他方式证明您的身份,我们将在收到您反馈并验证您的身份后的十五个工作日内答复您的请求。
+            如果您无法通过上述方式查询、访问、更正或删除您的个人信息,或您需要访问、更正或删除您在使用我们服务时所产生的其他个人信息,或您认为我们存在任何违反法律法规或与您关于个人信息的收集使用的约定,您均可以通过“{{companyName}}”网站页面上的联系方式与我们联系。为了保障安全,我们可能需要您提供书面请求,或以其他方式证明您的身份,我们将在收到您反馈并验证您的身份后的十五个工作日内答复您的请求。
           </div>
           <div class="bold">六、第三方提供商及其服务</div>
           <div>
-            为确保流畅的浏览体验,您可能会收到来自“祥粤云学堂”及其合作伙伴外部的第三方(以下简称“第三方”)提供的内容或网络链接。我们对此类第三方无控制权。您可选择是否访问第三方提供的链接、内容、产品和服务。
+            为确保流畅的浏览体验,您可能会收到来自“{{companyName}}”及其合作伙伴外部的第三方(以下简称“第三方”)提供的内容或网络链接。我们对此类第三方无控制权。您可选择是否访问第三方提供的链接、内容、产品和服务。
           </div>
           <div>
             我们无法控制第三方的隐私和个人信息保护政策,此类第三方不受到本政策的约束。您在向第三方提交个人信息之前,请确保您阅读并认可这些第三方的个人信息保护政策或隐私政策。
           </div>
           <div class="bold">七、我们会如何处理未成年人的个人信息</div>
           <div>
-            若您是未满18周岁的未成年人,在使用我们的产品和服务前,应事先取得您监护人的同意。但是,如果您确认自己能够完全理解本政策的全部内容且您为使用“祥粤云学堂”服务所进行的相关操作行为与您的年龄、智力相适应的,则您可以独立进行相关操作(包括向我们提交您的个人信息)。
+            若您是未满18周岁的未成年人,在使用我们的产品和服务前,应事先取得您监护人的同意。但是,如果您确认自己能够完全理解本政策的全部内容且您为使用“{{companyName}}”服务所进行的相关操作行为与您的年龄、智力相适应的,则您可以独立进行相关操作(包括向我们提交您的个人信息)。
           </div>
           <div>
             我们将根据国家相关法律法规的规定保护未成年的个人信息。如果我们发现在未事先获得可证实的父母或其他监护人同意的情况下收集了未成年人的个人信息,则会设法尽快删除相关信息。
           </div>
           <div class="bold">八、本政策如何更新及适用范围</div>
           <div>
-            我们保留不时更新或修改本政策的权利,我们会在“祥粤云学堂”网站页面上发布对本政策所做的任何变更。对于重大变更,我们还会提供更为显著的通知(包括对于某些服务,我们会通过电子邮件发送通知,说明个人信息保护政策的具体变更内容)。渠道向您发送变更通知,包括但不限于网站公示、私信通知、电子邮件通知等方式。
+            我们保留不时更新或修改本政策的权利,我们会在“{{companyName}}”网站页面上发布对本政策所做的任何变更。对于重大变更,我们还会提供更为显著的通知(包括对于某些服务,我们会通过电子邮件发送通知,说明个人信息保护政策的具体变更内容)。渠道向您发送变更通知,包括但不限于网站公示、私信通知、电子邮件通知等方式。
           </div>
           <div>本政策所指的重大变更包括但不限于:</div>
           <div>
@@ -480,13 +480,13 @@
           </div>
           <div>6、个人信息安全影响评估报告表明存在高风险时。</div>
           <div>
-            若您不同意修改后的个人信息保护政策,您有权并应立即停止使用“祥粤云学堂”的服务。
+            若您不同意修改后的个人信息保护政策,您有权并应立即停止使用“{{companyName}}”的服务。
           </div>
           <div>
-            如果您继续使用“祥粤云学堂”服务,则视为您接受我们对本政策相关条款所做的修改。
+            如果您继续使用“{{companyName}}”服务,则视为您接受我们对本政策相关条款所做的修改。
           </div>
           <div>
-            “祥粤云学堂”的所有服务均适用本政策。但某些服务有其特定的个人信息保护政策,该等特定的个人信息保护政策更具体地说明我们在该服务中如何处理您的信息。如本政策与特定服务的个人信息保护政策有不一致之处,请以该特定个人信息保护政策为准。
+            “{{companyName}}”的所有服务均适用本政策。但某些服务有其特定的个人信息保护政策,该等特定的个人信息保护政策更具体地说明我们在该服务中如何处理您的信息。如本政策与特定服务的个人信息保护政策有不一致之处,请以该特定个人信息保护政策为准。
           </div>
           <div class="bold">九、联系我们</div>
           <div>
@@ -514,6 +514,8 @@ export default {
       status: null,
       scanCode: "",
       scanningStatus: false, //扫码状态
+      companyName:this.$store.state.header.companyName,
+      locationName:location.host
     };
   },
   methods: {

+ 85 - 36
src/pages/bank-list/index.vue

@@ -5,7 +5,9 @@
       <div class="section__header">
         <div class="container">
           <el-breadcrumb separator="/">
-            <el-breadcrumb-item :to="{ path: '/index' }">首页</el-breadcrumb-item>
+            <el-breadcrumb-item :to="{ path: '/index' }"
+              >首页</el-breadcrumb-item
+            >
             <el-breadcrumb-item>题库</el-breadcrumb-item>
           </el-breadcrumb>
         </div>
@@ -24,20 +26,33 @@
                   >
                     全部
                   </div> -->
-                  <div class="item" v-for="(item, index) in typeList" :key="index"
-                    :class="{ active: params.educationTypeId == item.id }" @click="changeType(item)">
+                  <div
+                    class="item"
+                    v-for="(item, index) in typeList"
+                    :key="index"
+                    :class="{ active: params.educationTypeId == item.id }"
+                    @click="changeType(item)"
+                  >
                     {{ item.educationName }}
                   </div>
                 </div>
               </div>
             </div>
-            <div class="course-classify__list" v-if="businessList.length > 0 && params.educationTypeId">
+            <div
+              class="course-classify__list"
+              v-if="businessList.length > 0 && params.educationTypeId"
+            >
               <div class="left-item">培训项目:</div>
               <div class="right-item">
                 <div class="list">
                   <!-- <div class="item active">全部</div> -->
-                  <div class="item" v-for="(item, index) in businessList" :key="index"
-                    :class="{ active: params.businessId == item.id }" @click="changeBusiness(item)">
+                  <div
+                    class="item"
+                    v-for="(item, index) in businessList"
+                    :key="index"
+                    :class="{ active: params.businessId == item.id }"
+                    @click="changeBusiness(item)"
+                  >
                     {{ item.aliasName }}
                   </div>
                 </div>
@@ -47,8 +62,13 @@
               <div class="left-item">科目分类:</div>
               <div class="right-item">
                 <div class="list">
-                  <div class="item" v-for="(item, index) in subjectList" :key="index"
-                    :class="{ active: params.subjectId == item.id }" @click="changeSubject(item)">
+                  <div
+                    class="item"
+                    v-for="(item, index) in subjectList"
+                    :key="index"
+                    :class="{ active: params.subjectId == item.id }"
+                    @click="changeSubject(item)"
+                  >
                     {{ item.subjectName }}
                   </div>
                 </div>
@@ -63,23 +83,37 @@
           <div class="course-list">
             <div class="course-list__header">
               <div class="sort-list">
-                <div class="sort-list__item" @click="changeSort(1)"
-                  :class="{ active: params.sortType == 1 ? true : false }">
+                <div
+                  class="sort-list__item"
+                  @click="changeSort(1)"
+                  :class="{ active: params.sortType == 1 ? true : false }"
+                >
                   综合排序
                 </div>
-                <div class="sort-list__item" @click="changeSort(2)"
-                  :class="{ active: params.sortType == 2 ? true : false }">
+                <div
+                  class="sort-list__item"
+                  @click="changeSort(2)"
+                  :class="{ active: params.sortType == 2 ? true : false }"
+                >
                   低价优先
                 </div>
-                <div class="sort-list__item" @click="changeSort(3)"
-                  :class="{ active: params.sortType == 3 ? true : false }">
+                <div
+                  class="sort-list__item"
+                  @click="changeSort(3)"
+                  :class="{ active: params.sortType == 3 ? true : false }"
+                >
                   高价优先
                 </div>
               </div>
             </div>
             <div class="course-list__body">
-              <ul class="list clearfix">
-                <li class="course-item" v-for="(item, index) in goodsList" :key="index">
+              <LoadingBox v-if="loading"></LoadingBox>
+              <ul v-else class="list clearfix">
+                <li
+                  class="course-item"
+                  v-for="(item, index) in goodsList"
+                  :key="index"
+                >
                   <GoodsItem :item="item"></GoodsItem>
                 </li>
               </ul>
@@ -87,8 +121,14 @@
           </div>
 
           <div class="pagination">
-            <el-pagination @current-change="currentChange" background layout="prev, pager, next" :total="total"
-              :pager-count="5" :page-size="params.pageSize">
+            <el-pagination
+              @current-change="currentChange"
+              background
+              layout="prev, pager, next"
+              :total="total"
+              :pager-count="5"
+              :page-size="params.pageSize"
+            >
             </el-pagination>
           </div>
         </div>
@@ -101,6 +141,7 @@
 </template>
 
 <script>
+import LoadingBox from "@/components/loadingBox/index";
 import Footer from "@/components/footer/index";
 import Header from "@/components/header/index";
 import ToolBar from "@/components/toolbar/index";
@@ -113,6 +154,7 @@ export default {
     Header,
     ToolBar,
     GoodsItem,
+    LoadingBox
   },
   data() {
     return {
@@ -135,6 +177,7 @@ export default {
         showStatus: 1
       },
       goodsList: [],
+      loading: false
     };
   },
   mounted() {
@@ -173,26 +216,26 @@ export default {
       this.$router.push({
         path: "/bank-detail/" + item.goodsId,
         query: {
-          orderGoodsId: item.orderGoodsId,
-        },
+          orderGoodsId: item.orderGoodsId
+        }
       });
     },
 
     addCart(item) {
       this.$request
         .addCart({ goodsId: item.goodsId })
-        .then((res) => {
+        .then(res => {
           this.getCartCount();
           this.$message({
             message: "加入购物车成功",
-            type: "success",
+            type: "success"
           });
         })
-        .catch((err) => {
+        .catch(err => {
           if (err.code == 500) {
             this.$message({
               message: err.msg,
-              type: "warning",
+              type: "warning"
             });
           }
         });
@@ -219,10 +262,16 @@ export default {
           this.params.pageNum = 1;
         }
       }
-      this.$request.goodsList(this.params).then((res) => {
-        this.goodsList = res.rows;
-        this.total = res.total;
-      });
+      this.loading = true;
+      this.$request
+        .goodsList(this.params)
+        .then(res => {
+          this.goodsList = res.rows;
+          this.total = res.total;
+        })
+        .finally(() => {
+          this.loading = false;
+        });
     },
 
     getSubjectList() {
@@ -230,9 +279,9 @@ export default {
         .subjectList({
           businessId: this.params.businessId,
           projectId: this.projectId,
-          educationId: this.params.educationTypeId,
+          educationId: this.params.educationTypeId
         })
-        .then((res) => {
+        .then(res => {
           this.subjectList = res.rows;
           this.subjectList.unshift({ id: 0, subjectName: "全部" });
           this.params.subjectId = 0;
@@ -256,8 +305,8 @@ export default {
     getBusinessList() {
       this.$request
         .businessList({ educationId: this.params.educationTypeId })
-        .then((res) => {
-          this.businessList = res.rows.filter((item) => item.aliasName)
+        .then(res => {
+          this.businessList = res.rows.filter(item => item.aliasName);
           this.projectId = this.businessList[0].projectId;
         });
     },
@@ -267,9 +316,9 @@ export default {
         educationName: "全部",
         id: "",
         status: 1,
-        sort: 0,
+        sort: 0
       };
-      this.$request.educationTypeList().then((res) => {
+      this.$request.educationTypeList().then(res => {
         res.rows.unshift(alls);
         this.typeList = res.rows;
         if (!this.params.educationTypeId) {
@@ -281,8 +330,8 @@ export default {
         }
         this.changeSubject();
       });
-    },
-  },
+    }
+  }
 };
 </script>
 

Різницю між файлами не показано, бо вона завелика
+ 165 - 163
src/pages/course-detail/index.vue


+ 29 - 19
src/pages/course-list/index.vue

@@ -107,7 +107,8 @@
               </div>
             </div>
             <div class="course-list__body">
-              <ul class="list clearfix">
+              <LoadingBox v-if="loading"></LoadingBox>
+              <ul v-else class="list clearfix">
                 <li
                   class="course-item"
                   v-for="(item, index) in goodsList"
@@ -140,6 +141,7 @@
 </template>
 
 <script>
+import LoadingBox from "@/components/loadingBox/index";
 import Footer from "@/components/footer/index";
 import Header from "@/components/header/index";
 import ToolBar from "@/components/toolbar/index";
@@ -152,6 +154,7 @@ export default {
     Header,
     ToolBar,
     GoodsItem,
+    LoadingBox
   },
   data() {
     return {
@@ -171,9 +174,10 @@ export default {
         goodsType: 1,
         sortType: 1,
         searchKey: "",
-        showStatus: 1,
+        showStatus: 1
       },
       goodsList: [],
+      loading: false
     };
   },
   mounted() {
@@ -209,25 +213,25 @@ export default {
     },
     toGoodsDetail(item) {
       this.$router.push({
-        path: "/course-detail/" + item.goodsId,
+        path: "/course-detail/" + item.goodsId
       });
     },
 
     addCart(item) {
       this.$request
         .addCart({ goodsId: item.goodsId })
-        .then((res) => {
+        .then(res => {
           this.getCartCount();
           this.$message({
             message: "加入购物车成功",
-            type: "success",
+            type: "success"
           });
         })
-        .catch((err) => {
+        .catch(err => {
           if (err.code == 500) {
             this.$message({
               message: err.msg,
-              type: "warning",
+              type: "warning"
             });
           }
         });
@@ -261,10 +265,16 @@ export default {
           this.params.pageNum = 1;
         }
       }
-      this.$request.goodsList(this.params).then((res) => {
-        this.goodsList = res.rows;
-        this.total = res.total;
-      });
+      this.loading = true;
+      this.$request
+        .goodsList(this.params)
+        .then(res => {
+          this.goodsList = res.rows;
+          this.total = res.total;
+        })
+        .finally(() => {
+          this.loading = false;
+        });
     },
 
     /**
@@ -275,9 +285,9 @@ export default {
         .subjectList({
           businessId: this.params.businessId,
           projectId: this.projectId,
-          educationId: this.params.educationTypeId,
+          educationId: this.params.educationTypeId
         })
-        .then((res) => {
+        .then(res => {
           this.subjectList = res.rows;
           this.subjectList.unshift({ id: 0, subjectName: "全部" });
           this.params.subjectId = 0;
@@ -307,8 +317,8 @@ export default {
     getBusinessList() {
       this.$request
         .businessList({ educationId: this.params.educationTypeId })
-        .then((res) => {
-          this.businessList = res.rows.filter((item) => item.aliasName);
+        .then(res => {
+          this.businessList = res.rows.filter(item => item.aliasName);
           this.projectId = this.businessList[0].projectId;
         });
     },
@@ -321,9 +331,9 @@ export default {
         educationName: "全部",
         id: "",
         status: 1,
-        sort: 0,
+        sort: 0
       };
-      this.$request.educationTypeList().then((res) => {
+      this.$request.educationTypeList().then(res => {
         res.rows.unshift(alls);
         this.typeList = res.rows;
 
@@ -336,8 +346,8 @@ export default {
         }
         this.changeSubject();
       });
-    },
-  },
+    }
+  }
 };
 </script>
 

+ 3 - 3
src/pages/home/index.vue

@@ -277,7 +277,7 @@
                     <a class="text" @click="loginType = 2">手机验证码登录</a>
                     <a class="text" @click="go('/login?state=2')">注册</a>
                   </div>
-                  <div class="dis_flex">
+                  <div class="dis_flex" v-if="mobile.smallQrCodeShow">
                     <div class="dis_flex_wxloginImg">
                       <img src="@/assets/wx.png" alt="" @click="wxLoginFunc" />
                     </div>
@@ -326,7 +326,7 @@
                     <a class="text" @click="loginType = 1">账号密码登录</a>
                     <a class="text" @click="go('/login?state=2')">注册</a>
                   </div>
-                  <div class="dis_flex">
+                  <div class="dis_flex" v-if="mobile.smallQrCodeShow">
                     <div class="dis_flex_wxloginImg">
                       <img src="@/assets/wx.png" alt="" @click="wxLoginFunc" />
                     </div>
@@ -632,7 +632,7 @@ export default {
     RebuildModal,
   },
   computed: {
-    ...mapGetters(["userInfo", "token", "header", "msgCount"]),
+    ...mapGetters(["userInfo", "token", "header", "msgCount","mobile"]),
 
     showNav: function () {
       return function (list) {

+ 30 - 20
src/pages/live-list/index.vue

@@ -107,7 +107,8 @@
               </div>
             </div>
             <div class="course-list__body">
-              <ul class="list clearfix">
+              <LoadingBox v-if="loading"></LoadingBox>
+              <ul v-else class="list clearfix">
                 <li
                   class="course-item"
                   v-for="(item, index) in goodsList"
@@ -140,6 +141,7 @@
 </template>
 
 <script>
+import LoadingBox from "@/components/loadingBox/index";
 import Footer from "@/components/footer/index";
 import Header from "@/components/header/index";
 import ToolBar from "@/components/toolbar/index";
@@ -152,6 +154,7 @@ export default {
     Header,
     ToolBar,
     GoodsItem,
+    LoadingBox
   },
   data() {
     return {
@@ -171,9 +174,10 @@ export default {
         goodsType: 6,
         sortType: 1,
         searchKey: "",
-        showStatus: 1,
+        showStatus: 1
       },
       goodsList: [],
+      loading: false
     };
   },
   mounted() {
@@ -213,26 +217,26 @@ export default {
       this.$router.push({
         path: "/bank-detail/" + item.goodsId,
         query: {
-          orderGoodsId: item.orderGoodsId,
-        },
+          orderGoodsId: item.orderGoodsId
+        }
       });
     },
 
     addCart(item) {
       this.$request
         .addCart({ goodsId: item.goodsId })
-        .then((res) => {
+        .then(res => {
           this.getCartCount();
           this.$message({
             message: "加入购物车成功",
-            type: "success",
+            type: "success"
           });
         })
-        .catch((err) => {
+        .catch(err => {
           if (err.code == 500) {
             this.$message({
               message: err.msg,
-              type: "warning",
+              type: "warning"
             });
           }
         });
@@ -259,10 +263,16 @@ export default {
           this.params.pageNum = 1;
         }
       }
-      this.$request.goodsList(this.params).then((res) => {
-        this.goodsList = res.rows;
-        this.total = res.total;
-      });
+      this.loading = true;
+      this.$request
+        .goodsList(this.params)
+        .then(res => {
+          this.goodsList = res.rows;
+          this.total = res.total;
+        })
+        .finally(() => {
+          this.loading = false;
+        });
     },
 
     getSubjectList() {
@@ -270,9 +280,9 @@ export default {
         .subjectList({
           businessId: this.params.businessId,
           projectId: this.projectId,
-          educationId: this.params.educationTypeId,
+          educationId: this.params.educationTypeId
         })
-        .then((res) => {
+        .then(res => {
           this.subjectList = res.rows;
           this.subjectList.unshift({ id: 0, subjectName: "全部" });
           this.params.subjectId = 0;
@@ -296,8 +306,8 @@ export default {
     getBusinessList() {
       this.$request
         .businessList({ educationId: this.params.educationTypeId })
-        .then((res) => {
-          this.businessList = res.rows.filter((item) => item.aliasName);
+        .then(res => {
+          this.businessList = res.rows.filter(item => item.aliasName);
           this.projectId = this.businessList[0].projectId;
         });
     },
@@ -307,9 +317,9 @@ export default {
         educationName: "全部",
         id: "",
         status: 1,
-        sort: 0,
+        sort: 0
       };
-      this.$request.educationTypeList().then((res) => {
+      this.$request.educationTypeList().then(res => {
         res.rows.unshift(alls);
         this.typeList = res.rows;
         if (!this.params.educationTypeId) {
@@ -321,8 +331,8 @@ export default {
         }
         this.changeSubject();
       });
-    },
-  },
+    }
+  }
 };
 </script>
 

+ 47 - 45
src/pages/login/index.vue

@@ -157,7 +157,7 @@
                   </el-form>
                 </div>
 
-                <div class="dis_flex">
+                <div class="dis_flex" v-if="mobile.smallQrCodeShow">
                   <div class="dis_flex_wxloginImg">
                     <img src="@/assets/wx.png" alt="" @click="wxLoginFunc" />
                   </div>
@@ -392,7 +392,7 @@
     >
       <div class="agreement__content">
         <div class="content">
-          <div class="bold">欢迎注册成为“祥粤云学堂”用户!</div>
+          <div class="bold">欢迎注册成为“{{companyName}}”用户!</div>
 
           <div>
             在您注册过程中,您需要完成我们的注册流程并通过点击“同意并继续”的形式在线签署以下协议及政策,请您务必仔细阅读、充分理解协议中的条款内容后再点击同意(尤其是以粗体标识的条款,因为这些条款可能会明确您应履行的义务或对您的权利有所限制)。
@@ -406,27 +406,27 @@
           <div class="center bold">《用户使用协议》</div>
 
           <div>
-            本《用户使用协议》(以下称“本协议”)是由您(以下称“用户”)与广东省祥粤建设职业培训学校(以下简称“祥粤”或“我们”)就用户使用祥粤提供的“祥粤云学堂”互联网服务产品(包括但不限于:祥粤云学堂网站www.xyyxt.net、微信小程序等,以下简称“祥粤云学堂”),包括但不限于注册、登录、使用等方面所订立的相关权利义务规范。本服务条款对用户和祥粤均具有法律效力。本协议连同所有更新材料、补充条款以及祥粤的其他规则和政策共同构成了用户与祥粤之间的协议。
-            我们在此特别提醒,在用户注册使用“祥粤云学堂”服务前,请务必审慎阅读本协议的全部条款、充分理解各条款内容后再点击同意,特别是免除或者限制祥粤责任的条款、对用户权利限制的条款、法律适用和争议解决条款,这些条款将尽可能以加粗方式标识。如用户按照注册页面提示填写信息、点击同意本协议且完成全部注册流程,或者在我们更新本协议后继续使用“祥粤云学堂”提供的服务,即表示用户已充分阅读、理解并接受本协议及祥粤的其他规则和政策的全部内容,成为具有法律约束力的本协议的一方。如果用户不同意本协议任何条款及/或修改后的内容,应立即停止注册程序或停止使用“祥粤云学堂”的服务。
-            如对本协议内容有任何疑问、意见或建议,用户可通过“祥粤云学堂”网站(www.xyyxt.net)页面上的联系方式与我们联系。
+            本《用户使用协议》(以下称“本协议”)是由您(以下称“用户”)与广东省祥粤建设职业培训学校(以下简称“祥粤”或“我们”)就用户使用祥粤提供的“{{companyName}}”互联网服务产品(包括但不限于:{{companyName}}网站{{locationName}}、微信小程序等,以下简称“{{companyName}}”),包括但不限于注册、登录、使用等方面所订立的相关权利义务规范。本服务条款对用户和祥粤均具有法律效力。本协议连同所有更新材料、补充条款以及祥粤的其他规则和政策共同构成了用户与祥粤之间的协议。
+            我们在此特别提醒,在用户注册使用“{{companyName}}”服务前,请务必审慎阅读本协议的全部条款、充分理解各条款内容后再点击同意,特别是免除或者限制祥粤责任的条款、对用户权利限制的条款、法律适用和争议解决条款,这些条款将尽可能以加粗方式标识。如用户按照注册页面提示填写信息、点击同意本协议且完成全部注册流程,或者在我们更新本协议后继续使用“{{companyName}}”提供的服务,即表示用户已充分阅读、理解并接受本协议及祥粤的其他规则和政策的全部内容,成为具有法律约束力的本协议的一方。如果用户不同意本协议任何条款及/或修改后的内容,应立即停止注册程序或停止使用“{{companyName}}”的服务。
+            如对本协议内容有任何疑问、意见或建议,用户可通过“{{companyName}}”网站({{locationName}})页面上的联系方式与我们联系。
           </div>
 
           <div class="bold">一、账号注册与使用</div>
 
           <div>
-            1.用户在使用“祥粤云学堂”服务时需要注册一个账号,账号注册成功后,将产生“祥粤云学堂”账号及相应的用户名和密码等账号信息。用户所创建的“祥粤云学堂”账号的所有权归祥粤所有,用户完成申请注册手续后,即获得“祥粤云学堂”账号的使用权,该使用权仅属于初始申请注册人,禁止赠与、借用、租用、转让或售卖或以其他方式许可他人使用该账号,用户应谨慎合理地保存、使用其用户名和密码。如果我们发现或者有合理理由认为使用者并非账号初始注册人,为保障账号安全,我们有权立即暂停或终止向该注册账号提供服务,并有权永久禁用该账号。
+            1.用户在使用“{{companyName}}”服务时需要注册一个账号,账号注册成功后,将产生“{{companyName}}”账号及相应的用户名和密码等账号信息。用户所创建的“{{companyName}}”账号的所有权归祥粤所有,用户完成申请注册手续后,即获得“{{companyName}}”账号的使用权,该使用权仅属于初始申请注册人,禁止赠与、借用、租用、转让或售卖或以其他方式许可他人使用该账号,用户应谨慎合理地保存、使用其用户名和密码。如果我们发现或者有合理理由认为使用者并非账号初始注册人,为保障账号安全,我们有权立即暂停或终止向该注册账号提供服务,并有权永久禁用该账号。
           </div>
 
           <div>
-            2.您可以使用微信账号登录并使用“祥粤云学堂”,但您需要将微信账号与“祥粤云学堂”账号绑定,账号绑定后,您可以直接使用微信账号扫码登录并使用“祥粤云学堂”的相关服务。
+            2.您可以使用微信账号登录并使用“{{companyName}}”,但您需要将微信账号与“{{companyName}}”账号绑定,账号绑定后,您可以直接使用微信账号扫码登录并使用“{{companyName}}”的相关服务。
           </div>
 
           <div>
-            3.用户在注册及使用“祥粤云学堂”服务时,必须提供真实、准确、完整、合法有效的资料,且有义务维持并及时更新相关资料。用户在账号注册及使用过程中需遵守相关法律法规,不得实施任何侵害国家利益、损害其他公民合法权益,有害社会道德风尚的行为。我们有权对用户提交的注册信息进行审核。如果用户提供的资料违反本款要求,用户需承担因此引起的相应责任及后果,并且我们保留终止用户使用“祥粤云学堂”各项服务或采取其他处理措施的权利。
+            3.用户在注册及使用“{{companyName}}”服务时,必须提供真实、准确、完整、合法有效的资料,且有义务维持并及时更新相关资料。用户在账号注册及使用过程中需遵守相关法律法规,不得实施任何侵害国家利益、损害其他公民合法权益,有害社会道德风尚的行为。我们有权对用户提交的注册信息进行审核。如果用户提供的资料违反本款要求,用户需承担因此引起的相应责任及后果,并且我们保留终止用户使用“{{companyName}}”各项服务或采取其他处理措施的权利。
           </div>
 
           <div>
-            4.作为“祥粤云学堂”服务的提供者,为使用户更好地使用“祥粤云学堂”的各项服务,保障用户的账号安全,我们有权要求用户按照我国法律规定完成实名认证。若用户提交的材料或提供的信息不准确、不真实、不规范、不合法或者我们有理由怀疑为错误、不实或不合法的资料,则我们有权拒绝为用户提供相关服务,用户可能无法使用“祥粤云学堂”互联网服务或在使用过程中部分功能受到限制。
+            4.作为“{{companyName}}”服务的提供者,为使用户更好地使用“{{companyName}}”的各项服务,保障用户的账号安全,我们有权要求用户按照我国法律规定完成实名认证。若用户提交的材料或提供的信息不准确、不真实、不规范、不合法或者我们有理由怀疑为错误、不实或不合法的资料,则我们有权拒绝为用户提供相关服务,用户可能无法使用“{{companyName}}”互联网服务或在使用过程中部分功能受到限制。
           </div>
 
           <div>
@@ -434,18 +434,18 @@
           </div>
 
           <div>
-            6.账号注销。在需要终止使用“祥粤云学堂”账号服务时,符合以下条件的,用户可以申请注销其“祥粤云学堂”账号:
+            6.账号注销。在需要终止使用“{{companyName}}”账号服务时,符合以下条件的,用户可以申请注销其“{{companyName}}”账号:
           </div>
 
           <div>
-            (1)用户仅能申请注销用户本人的账号,并依照“祥粤云学堂”的要求和流程进行注销;
+            (1)用户仅能申请注销用户本人的账号,并依照“{{companyName}}”的要求和流程进行注销;
           </div>
           <div>
-            (2)用户仍应对其在注销账号前且使用“祥粤云学堂”服务期间的行为承担相应责任;
+            (2)用户仍应对其在注销账号前且使用“{{companyName}}”服务期间的行为承担相应责任;
           </div>
           <div>(3)注销成功后,账号记录、功能等将无法恢复或提供。</div>
           <div>
-            如用户需要注销“祥粤云学堂”账号,请打开“祥粤云学堂”网站www.xyyxt.net,如有疑问可联系客服。
+            如用户需要注销“{{companyName}}”账号,请打开“{{companyName}}”网站{{locationName}},如有疑问可联系客服。
           </div>
           <div>7. 用户必须自行准备如下设备和承担如下开支:</div>
           <div>
@@ -456,7 +456,7 @@
           </div>
           <div class="bold">二、服务内容</div>
           <div>
-            1.网上购物下单。使用“祥粤云学堂”网站下订单,您应具备购买相关商品/服务的权利能力和行为能力,如果您在18周岁以下,您需要在监护人的监护参与下才能注册并使用本网站。在下订单的同时,即视为您满足上述条件,并对您在订单中提供的所有信息的真实性负责。
+            1.网上购物下单。使用“{{companyName}}”网站下订单,您应具备购买相关商品/服务的权利能力和行为能力,如果您在18周岁以下,您需要在监护人的监护参与下才能注册并使用本网站。在下订单的同时,即视为您满足上述条件,并对您在订单中提供的所有信息的真实性负责。
           </div>
 
           <div>
@@ -466,24 +466,24 @@
           <div class="bold">三、用户个人信息保护及授权</div>
 
           <div>
-            1.您知悉并同意,为方便您使用“祥粤云学堂”相关服务,我们将视不同产品/服务,存储您在使用时的必要信息,包括但不限于您的真实姓名、身份证号码、手机号码、个人生物识别信息、学历信息等。除法律法规规定的情形外,未经您的许可,我们不会向第三方公开、透露您的个人信息。我们对相关信息采取专业加密存储与传输方式,利用合理措施保障用户个人信息的安全。
+            1.您知悉并同意,为方便您使用“{{companyName}}”相关服务,我们将视不同产品/服务,存储您在使用时的必要信息,包括但不限于您的真实姓名、身份证号码、手机号码、个人生物识别信息、学历信息等。除法律法规规定的情形外,未经您的许可,我们不会向第三方公开、透露您的个人信息。我们对相关信息采取专业加密存储与传输方式,利用合理措施保障用户个人信息的安全。
           </div>
 
           <div>2.您充分理解并同意:</div>
           <div>
-            (1)同意通过短信、电话、站内私信等形式,接受“祥粤云学堂”发送的多类通知,用于用户消息告知、身份验证、安全验证等用途;我们可能使用您的个人信息,通过我们的站内私信、电子邮件或其他方式向您提供或推广我们或第三方的商品和服务;
+            (1)同意通过短信、电话、站内私信等形式,接受“{{companyName}}”发送的多类通知,用于用户消息告知、身份验证、安全验证等用途;我们可能使用您的个人信息,通过我们的站内私信、电子邮件或其他方式向您提供或推广我们或第三方的商品和服务;
           </div>
 
           <div>
-            (2)为配合行政监管机关、司法机关执行工作,在法律规定范围内我们有权向上述行政、司法机关提供您在使用“祥粤云学堂”时所储存的相关信息,包括但不限于您的注册信息等,或使用相关信息进行证据保全,包括但不限于公证、见证等;
+            (2)为配合行政监管机关、司法机关执行工作,在法律规定范围内我们有权向上述行政、司法机关提供您在使用“{{companyName}}”时所储存的相关信息,包括但不限于您的注册信息等,或使用相关信息进行证据保全,包括但不限于公证、见证等;
           </div>
 
           <div>
-            (3)我们依法保障您在使用过程中的知情权和选择权,在您使用“祥粤云学堂”服务过程中,涉及您设备自带功能的服务会提前征得您同意,您一经确认,我们有权开启包括但不限于使用摄像头、访问相册等提供服务必要的辅助功能。
+            (3)我们依法保障您在使用过程中的知情权和选择权,在您使用“{{companyName}}”服务过程中,涉及您设备自带功能的服务会提前征得您同意,您一经确认,我们有权开启包括但不限于使用摄像头、访问相册等提供服务必要的辅助功能。
           </div>
 
           <div>
-            (4)我们有权根据实际情况,在法律规定范围内自行决定单个用户在“祥粤云学堂”及服务中数据的最长储存期限以及用户日志的储存期限,并在服务器上为其分配数据存储空间等。
+            (4)我们有权根据实际情况,在法律规定范围内自行决定单个用户在“{{companyName}}”及服务中数据的最长储存期限以及用户日志的储存期限,并在服务器上为其分配数据存储空间等。
           </div>
 
           <div class="bold">四、用户行为规范</div>
@@ -518,39 +518,39 @@
             (7)不得发布任何侵犯他人个人信息、著作权、商标权等知识产权或合法权利的内容。
           </div>
           <div>
-            3、您须对自己在网上的言论和行为承担法律责任,您若在“祥粤云学堂”上散布和传播反动、色情或其它违反国家法律的信息,“祥粤云学堂”的系统记录有可能作为您违反法律的证据。
+            3、您须对自己在网上的言论和行为承担法律责任,您若在“{{companyName}}”上散布和传播反动、色情或其它违反国家法律的信息,“{{companyName}}”的系统记录有可能作为您违反法律的证据。
           </div>
 
           <div class="bold">五、知识产权</div>
           <div>
-            “祥粤云学堂”提供的网络服务中包含的任何文本、图片、图形、音频和/或视频资料均受版权、商标和/或其它财产所有权法律的保护,祥粤享有上述知识产权,但相关权利人依照法律规定应享有的权利除外。未经祥粤书面同意,用户均不得将上述资料在任何媒体直接或间接发布、播放、出于播放或发布目的而改写或再发行,或者被用于其他任何商业目的。所有以上资料或资料的任何部分仅可作为私人和非商业用途使用。
+            “{{companyName}}”提供的网络服务中包含的任何文本、图片、图形、音频和/或视频资料均受版权、商标和/或其它财产所有权法律的保护,祥粤享有上述知识产权,但相关权利人依照法律规定应享有的权利除外。未经祥粤书面同意,用户均不得将上述资料在任何媒体直接或间接发布、播放、出于播放或发布目的而改写或再发行,或者被用于其他任何商业目的。所有以上资料或资料的任何部分仅可作为私人和非商业用途使用。
           </div>
 
           <div class="bold">六、协议修改</div>
           <div>
             1.
-            根据互联网的发展和有关法律、法规及规范性文件的变化,或者因业务发展、技术条件、产品功能等变化的需要,我们将在必要时对本协议的服务条款作出修改或变更。我们将会直接在“祥粤云学堂”互联网服务产品上公布修改之后的协议内容,该公布行为视为祥粤已经通知用户修改内容,修改后的内容一经公布即有效替代原有服务条款。我们也可采用电子邮件或私信的传送方式,提示用户协议条款的修改、服务变更、或其它重要事项。
+            根据互联网的发展和有关法律、法规及规范性文件的变化,或者因业务发展、技术条件、产品功能等变化的需要,我们将在必要时对本协议的服务条款作出修改或变更。我们将会直接在“{{companyName}}”互联网服务产品上公布修改之后的协议内容,该公布行为视为祥粤已经通知用户修改内容,修改后的内容一经公布即有效替代原有服务条款。我们也可采用电子邮件或私信的传送方式,提示用户协议条款的修改、服务变更、或其它重要事项。
             2.
-            用户可登录“祥粤云学堂”互联网服务产品中查阅最新版本的相关协议条款。如果用户继续使用“祥粤云学堂”提供的服务,即视为用户已经接受修改后的服务条款;如果用户不接受修改后的服务条款或对内容存在异议的,应当停止使用“祥粤云学堂”提供的服务。
+            用户可登录“{{companyName}}”互联网服务产品中查阅最新版本的相关协议条款。如果用户继续使用“{{companyName}}”提供的服务,即视为用户已经接受修改后的服务条款;如果用户不接受修改后的服务条款或对内容存在异议的,应当停止使用“{{companyName}}”提供的服务。
           </div>
 
           <div class="bold">七、免责声明</div>
           <div>1.我们不保证(包括但不限于):</div>
           <div>
-            (1)“祥粤云学堂”的服务不受干扰,及时、安全、可靠或不出现错误;
+            (1)“{{companyName}}”的服务不受干扰,及时、安全、可靠或不出现错误;
           </div>
           <div>
-            (2)用户经由“祥粤云学堂”取得的任何产品、服务或其他材料符合用户的期望。
+            (2)用户经由“{{companyName}}”取得的任何产品、服务或其他材料符合用户的期望。
           </div>
           <div>
-            2.用户使用经由“祥粤云学堂”下载的或取得的任何资料,其风险自行负担。
+            2.用户使用经由“{{companyName}}”下载的或取得的任何资料,其风险自行负担。
           </div>
           <div>
             3.由于地震、台风、洪水、火灾、战争、政府禁令以及其他不能预见并且对其发生和后果不能防止或避免的不可抗力或互联网上的黑客攻击事件,致使影响本服务条款的履行,祥粤不承担责任。
           </div>
 
           <div>
-            4.用户同意“祥粤云学堂”因政策法规变化、教学需要等原因有权更新课程,包括但不限于变更在线课程的授课老师、讲义及课件内容等。
+            4.用户同意“{{companyName}}”因政策法规变化、教学需要等原因有权更新课程,包括但不限于变更在线课程的授课老师、讲义及课件内容等。
           </div>
           <div class="bold">八、法律适用及争议解决</div>
           <div>
@@ -563,7 +563,7 @@
 
           <div class="bold center">《个人信息保护政策》</div>
           <div>
-            广东省祥粤建设职业培训学校(注册地址:广东省广州市天河区燕岭路123号3楼)及其关联方(以下简称“祥粤”或“我们”)作为“祥粤云学堂”互联网服务产品(包括但不限于祥粤云学堂网站www.xyyxt.net、微信小程序等,下称“祥粤云学堂”)的运营者,深知个人信息对您的重要性,我们将按照法律法规的规定,保护您的个人信息安全。我们制定本“个人信息保护政策”并特别提示:希望您在使用“祥粤云学堂”及相关服务前仔细阅读并理解本个人信息保护政策,以便做出适当的选择。本政策中涉及的相关术语,我们尽量以简明扼要的方式进行表述,以便您更好地理解。您使用或在我们更新本政策后(我们会及时提示您更新的情况并再次取得您对本政策更新版本的同意)继续使用我们的服务,即意味着您同意本政策(含更新版本)内容,并且同意我们按照本政策收集、使用、存储、传输、共享、转让和公开披露您的相关信息。
+            广东省祥粤建设职业培训学校(注册地址:广东省广州市天河区燕岭路123号3楼)及其关联方(以下简称“祥粤”或“我们”)作为“{{companyName}}”互联网服务产品(包括但不限于{{companyName}}网站{{locationName}}、微信小程序等,下称“{{companyName}}”)的运营者,深知个人信息对您的重要性,我们将按照法律法规的规定,保护您的个人信息安全。我们制定本“个人信息保护政策”并特别提示:希望您在使用“{{companyName}}”及相关服务前仔细阅读并理解本个人信息保护政策,以便做出适当的选择。本政策中涉及的相关术语,我们尽量以简明扼要的方式进行表述,以便您更好地理解。您使用或在我们更新本政策后(我们会及时提示您更新的情况并再次取得您对本政策更新版本的同意)继续使用我们的服务,即意味着您同意本政策(含更新版本)内容,并且同意我们按照本政策收集、使用、存储、传输、共享、转让和公开披露您的相关信息。
           </div>
 
           <div class="bold">本个人信息保护政策将帮助您了解:</div>
@@ -582,11 +582,11 @@
           </div>
 
           <div>
-            •本个人信息保护政策适用于您通过“祥粤云学堂”官方网站或微信小程序来访问和使用我们的产品和服务。
+            •本个人信息保护政策适用于您通过“{{companyName}}”官方网站或微信小程序来访问和使用我们的产品和服务。
           </div>
 
           <div>
-            下文将帮您详细了解我们将如何收集、使用、存储、传输、共享、转让、公开披露和保护(如适用)您的个人信息,帮您了解查询、访问、删除、更正、撤回授权个人信息的方式。其中,有关您个人信息权益的条款重要内容我们已用加粗形式提示,请特别关注。请您了解并知悉,“祥粤云学堂”未来有可能根据信息处理情境不时更新或修改本政策。
+            下文将帮您详细了解我们将如何收集、使用、存储、传输、共享、转让、公开披露和保护(如适用)您的个人信息,帮您了解查询、访问、删除、更正、撤回授权个人信息的方式。其中,有关您个人信息权益的条款重要内容我们已用加粗形式提示,请特别关注。请您了解并知悉,“{{companyName}}”未来有可能根据信息处理情境不时更新或修改本政策。
           </div>
 
           <div class="bold">一、我们如何收集和使用您的个人信息</div>
@@ -604,10 +604,10 @@
           </div>
           <div class="bold">用户注册/登录</div>
           <div>
-            您使用“祥粤云学堂”提供的服务,可以注册并登录经注册的“祥粤云学堂”账号。当您注册“祥粤云学堂”账号时,您需向我们提供您的移动电话号码,我们将通过发送短信验证码的方式来验证您的身份是否有效,验证无误后我们会为您创建账号;此外,您也可以使用微信账号登录并使用“祥粤云学堂”,但您仍需要将微信账号与“祥粤云学堂”账号绑定,账号绑定后,您可以直接使用微信账号扫码登录并使用本产品和相关服务。
+            您使用“{{companyName}}”提供的服务,可以注册并登录经注册的“{{companyName}}”账号。当您注册“{{companyName}}”账号时,您需向我们提供您的移动电话号码,我们将通过发送短信验证码的方式来验证您的身份是否有效,验证无误后我们会为您创建账号;此外,您也可以使用微信账号登录并使用“{{companyName}}”,但您仍需要将微信账号与“{{companyName}}”账号绑定,账号绑定后,您可以直接使用微信账号扫码登录并使用本产品和相关服务。
           </div>
           <div>
-            为了满足相关法律法规的网络实名制要求,我们需要收集您的移动电话号码。如您拒绝提供移动电话号码或进行实名验证,在您同意接受本《个人信息保护政策》及《祥粤云学堂用户使用协议》适用条款的前提下,您仍可浏览“祥粤云学堂”网站的内容,但将无法使用课程购买、课程学习、考试预约等其他全部或部分“祥粤云学堂”提供的服务。
+            为了满足相关法律法规的网络实名制要求,我们需要收集您的移动电话号码。如您拒绝提供移动电话号码或进行实名验证,在您同意接受本《个人信息保护政策》及《{{companyName}}用户使用协议》适用条款的前提下,您仍可浏览“{{companyName}}”网站的内容,但将无法使用课程购买、课程学习、考试预约等其他全部或部分“{{companyName}}”提供的服务。
           </div>
           <div class="bold">网上购物下单</div>
           <div>
@@ -664,7 +664,7 @@
           </div>
           <div class="bold">保障账号和服务安全</div>
           <div>
-            为提高您使用我们的服务时系统的安全性并保障网站数据安全,更准确地预防钓鱼网站欺诈和保护账户安全,我们会收集您的有关信息对“祥粤云学堂”系统问题进行分析、统计流量并排查可能存在的风险、在您选择向我们发送异常信息时予以排查。我们可能使用您的账户信息、服务日志信息以及我们关联方、合作方在获得您授权或依法可以共享的信息,用于判断账户安全、进行身份验证、检测及防范安全事件。尤其是在接到您有关账号安全方面的需求(如账号找回)时,我们可能会要求您再次提供相关信息(如移动电话号码等)用于安全验证,如您拒绝提供的,我们可能无法判断您账户的安全情况或无法为您进行与账号安全相关的操作。
+            为提高您使用我们的服务时系统的安全性并保障网站数据安全,更准确地预防钓鱼网站欺诈和保护账户安全,我们会收集您的有关信息对“{{companyName}}”系统问题进行分析、统计流量并排查可能存在的风险、在您选择向我们发送异常信息时予以排查。我们可能使用您的账户信息、服务日志信息以及我们关联方、合作方在获得您授权或依法可以共享的信息,用于判断账户安全、进行身份验证、检测及防范安全事件。尤其是在接到您有关账号安全方面的需求(如账号找回)时,我们可能会要求您再次提供相关信息(如移动电话号码等)用于安全验证,如您拒绝提供的,我们可能无法判断您账户的安全情况或无法为您进行与账号安全相关的操作。
           </div>
           <div class="bold">设备权限调用</div>
           <div>
@@ -703,7 +703,7 @@
             1、我们会根据本政策的约定并为实现我们的服务功能对所收集的个人信息进行使用。
           </div>
           <div>
-            2、请您注意,您在使用我们的服务时所提供的所有个人信息,除非您删除或通过系统设置拒绝我们收集,否则将在您使用我们的服务期间持续授权我们使用。在您注销账号后,我们将停止为您提供服务,您的个人信息将在“祥粤云学堂”全站匿名化处理,使您的账号处在不可被检索、访问的状态,并在符合相关法律法规规定的前提下删除您的个人信息。
+            2、请您注意,您在使用我们的服务时所提供的所有个人信息,除非您删除或通过系统设置拒绝我们收集,否则将在您使用我们的服务期间持续授权我们使用。在您注销账号后,我们将停止为您提供服务,您的个人信息将在“{{companyName}}”全站匿名化处理,使您的账号处在不可被检索、访问的状态,并在符合相关法律法规规定的前提下删除您的个人信息。
           </div>
           <div>
             3、当我们要将您的个人信息用于本政策未载明的其他用途时,或基于特定目的收集而来的信息用于其他目的时,会通过您主动做出勾选或其他合法形式事先征求您的同意。
@@ -759,7 +759,7 @@
             如果为了向您提供服务而需要将您的信息共享至第三方,我们将评估该第三方收集信息的合法性、正当性、必要性。我们将要求第三方对您的信息采取保护措施,并且严格遵守相关法律法规与监管要求。平台的合作伙伴无权将共享的个人信息用于与产品或服务无关的其他用途。
           </div>
           <div>
-            5、祥粤云学堂服务含有到其他网站的链接。除法律另有规定外,我们对其他网站的隐私保护措施不负任何责任。平台可能在任何需要的时候增加商业伙伴或共用品牌的网站,但是提供给他们的将仅是匿名化的信息,平台将不会公开您的身份。
+            5、{{companyName}}服务含有到其他网站的链接。除法律另有规定外,我们对其他网站的隐私保护措施不负任何责任。平台可能在任何需要的时候增加商业伙伴或共用品牌的网站,但是提供给他们的将仅是匿名化的信息,平台将不会公开您的身份。
           </div>
           <div class="bold">(三)转让</div>
           <div>
@@ -804,32 +804,32 @@
             我们非常重视您对个人信息的关注,并尽全力保护您对于您个人信息访问、更正、删除以及注销账号的权利,以使您拥有充分的能力保障您的个人信息安全。您的权利包括:
           </div>
           <div>
-            1、您可以按照我们的相关政策及“祥粤云学堂”网站页面提示,通过网站联系方式或“个人信息”功能界面等对您的个人信息进行查询、访问、更正及删除;具体权限及方式以“祥粤云学堂”网站相关页面显示的操作要求及信息为准。同时,我们将尽一切可能采取适当的技术手段,保证收集到的有关于您的个人信息的准确性,并保证及时进行更新。
+            1、您可以按照我们的相关政策及“{{companyName}}”网站页面提示,通过网站联系方式或“个人信息”功能界面等对您的个人信息进行查询、访问、更正及删除;具体权限及方式以“{{companyName}}”网站相关页面显示的操作要求及信息为准。同时,我们将尽一切可能采取适当的技术手段,保证收集到的有关于您的个人信息的准确性,并保证及时进行更新。
           </div>
           <div>
-            2、注销账户。您可注销您注册的“祥粤云学堂”账户,具体注销路径:
+            2、注销账户。您可注销您注册的“{{companyName}}”账户,具体注销路径:
           </div>
           <div>3、响应您的请求</div>
           <div>
-            如果您无法通过上述方式查询、访问、更正或删除您的个人信息,或您需要访问、更正或删除您在使用我们服务时所产生的其他个人信息,或您认为我们存在任何违反法律法规或与您关于个人信息的收集使用的约定,您均可以通过“祥粤云学堂”网站页面上的联系方式与我们联系。为了保障安全,我们可能需要您提供书面请求,或以其他方式证明您的身份,我们将在收到您反馈并验证您的身份后的十五个工作日内答复您的请求。
+            如果您无法通过上述方式查询、访问、更正或删除您的个人信息,或您需要访问、更正或删除您在使用我们服务时所产生的其他个人信息,或您认为我们存在任何违反法律法规或与您关于个人信息的收集使用的约定,您均可以通过“{{companyName}}”网站页面上的联系方式与我们联系。为了保障安全,我们可能需要您提供书面请求,或以其他方式证明您的身份,我们将在收到您反馈并验证您的身份后的十五个工作日内答复您的请求。
           </div>
           <div class="bold">六、第三方提供商及其服务</div>
           <div>
-            为确保流畅的浏览体验,您可能会收到来自“祥粤云学堂”及其合作伙伴外部的第三方(以下简称“第三方”)提供的内容或网络链接。我们对此类第三方无控制权。您可选择是否访问第三方提供的链接、内容、产品和服务。
+            为确保流畅的浏览体验,您可能会收到来自“{{companyName}}”及其合作伙伴外部的第三方(以下简称“第三方”)提供的内容或网络链接。我们对此类第三方无控制权。您可选择是否访问第三方提供的链接、内容、产品和服务。
           </div>
           <div>
             我们无法控制第三方的隐私和个人信息保护政策,此类第三方不受到本政策的约束。您在向第三方提交个人信息之前,请确保您阅读并认可这些第三方的个人信息保护政策或隐私政策。
           </div>
           <div class="bold">七、我们会如何处理未成年人的个人信息</div>
           <div>
-            若您是未满18周岁的未成年人,在使用我们的产品和服务前,应事先取得您监护人的同意。但是,如果您确认自己能够完全理解本政策的全部内容且您为使用“祥粤云学堂”服务所进行的相关操作行为与您的年龄、智力相适应的,则您可以独立进行相关操作(包括向我们提交您的个人信息)。
+            若您是未满18周岁的未成年人,在使用我们的产品和服务前,应事先取得您监护人的同意。但是,如果您确认自己能够完全理解本政策的全部内容且您为使用“{{companyName}}”服务所进行的相关操作行为与您的年龄、智力相适应的,则您可以独立进行相关操作(包括向我们提交您的个人信息)。
           </div>
           <div>
             我们将根据国家相关法律法规的规定保护未成年的个人信息。如果我们发现在未事先获得可证实的父母或其他监护人同意的情况下收集了未成年人的个人信息,则会设法尽快删除相关信息。
           </div>
           <div class="bold">八、本政策如何更新及适用范围</div>
           <div>
-            我们保留不时更新或修改本政策的权利,我们会在“祥粤云学堂”网站页面上发布对本政策所做的任何变更。对于重大变更,我们还会提供更为显著的通知(包括对于某些服务,我们会通过电子邮件发送通知,说明个人信息保护政策的具体变更内容)。渠道向您发送变更通知,包括但不限于网站公示、私信通知、电子邮件通知等方式。
+            我们保留不时更新或修改本政策的权利,我们会在“{{companyName}}”网站页面上发布对本政策所做的任何变更。对于重大变更,我们还会提供更为显著的通知(包括对于某些服务,我们会通过电子邮件发送通知,说明个人信息保护政策的具体变更内容)。渠道向您发送变更通知,包括但不限于网站公示、私信通知、电子邮件通知等方式。
           </div>
           <div>本政策所指的重大变更包括但不限于:</div>
           <div>
@@ -845,13 +845,13 @@
           </div>
           <div>6、个人信息安全影响评估报告表明存在高风险时。</div>
           <div>
-            若您不同意修改后的个人信息保护政策,您有权并应立即停止使用“祥粤云学堂”的服务。
+            若您不同意修改后的个人信息保护政策,您有权并应立即停止使用“{{companyName}}”的服务。
           </div>
           <div>
-            如果您继续使用“祥粤云学堂”服务,则视为您接受我们对本政策相关条款所做的修改。
+            如果您继续使用“{{companyName}}”服务,则视为您接受我们对本政策相关条款所做的修改。
           </div>
           <div>
-            “祥粤云学堂”的所有服务均适用本政策。但某些服务有其特定的个人信息保护政策,该等特定的个人信息保护政策更具体地说明我们在该服务中如何处理您的信息。如本政策与特定服务的个人信息保护政策有不一致之处,请以该特定个人信息保护政策为准。
+            “{{companyName}}”的所有服务均适用本政策。但某些服务有其特定的个人信息保护政策,该等特定的个人信息保护政策更具体地说明我们在该服务中如何处理您的信息。如本政策与特定服务的个人信息保护政策有不一致之处,请以该特定个人信息保护政策为准。
           </div>
           <div class="bold">九、联系我们</div>
           <div>
@@ -916,6 +916,8 @@ export default {
       }
     };
     return {
+      companyName:this.$store.state.header.companyName,
+      locationName:location.host,
       state: 1, //1登录 2注册  3找回密码 4绑定学员身份
       tabIndex: 1,
       loginForm: {},
@@ -1011,7 +1013,7 @@ export default {
     };
   },
   computed: {
-    ...mapGetters(["header", "currentRouter"])
+    ...mapGetters(["header", "currentRouter","mobile"])
   },
   mounted() {
     this.state = this.$route.query.state || 1;

+ 2 - 3
src/pages/person-center/index.vue

@@ -25,7 +25,7 @@
               <h2>手机刷题学习</h2>
               <h2 class="link_two">随时随地提升分数</h2>
             </div> -->
-            <img  v-if="WEAPP_STATUS" src="@/assets/ggFirst.png" alt="" />
+            <img  v-if="mobile.smallQrCodeShow" src="@/assets/ggFirst.png" alt="" />
             
           </div>
         </div>
@@ -164,7 +164,6 @@ export default {
   },
   data() {
     return {
-      WEAPP_STATUS: process.env.WEAPP_STATUS || false,
       activeName: "1",
       swiperOptions: {
         freeMode: false,
@@ -183,7 +182,7 @@ export default {
     };
   },
   computed: {
-    ...mapGetters(["userInfo", "businessList", "businessItem"]),
+    ...mapGetters(["userInfo", "businessList", "businessItem","mobile"]),
   },
   mounted() {},
   methods: {

+ 98 - 99
src/router/index.js

@@ -11,7 +11,6 @@ let canToBank = null;
 let courseAdmin = ['/my-course-detail/', '/course-exam/']
 let canToCourse = null;
 const signLoginPage = ['/my-course-detail', '/my-bank', '/my-live']
-const name = process.env.TENANT_NANE
 const router = new Router({
   mode: 'history',
   scrollBehavior: () => ({ y: 0 }),
@@ -31,10 +30,10 @@ const router = new Router({
       name: '首页',
       component: resolve => require(['@/pages/home/index'], resolve),
       meta: {
-        title: '中正云学堂-建造师造价师在线教育培训平台报名报考',
+        title: '-建造师造价师在线教育培训平台报名报考',
         content: {
-          keywords: '中正云学堂-一级建造师,二级建造师,造价工程师,一级消防工程师,BIM,在线教育,职业教育,报考条件,报名时间,建造师注册,建造工程师',
-          description: '中正云学堂-职业教育一站式学习平台,专注一建,二建,造价工程师,一级消防工程师,BIM等工程师技能知识培训服务热线:020-87085982'
+          keywords: + '-一级建造师,二级建造师,造价工程师,一级消防工程师,BIM,在线教育,职业教育,报考条件,报名时间,建造师注册,建造工程师',
+          description: + '-职业教育一站式学习平台,专注一建,二建,造价工程师,一级消防工程师,BIM等工程师技能知识培训服务热线:020-87085982'
         }
       }
     },
@@ -43,10 +42,10 @@ const router = new Router({
       name: '登录',
       component: resolve => require(['@/pages/login/index'], resolve),
       meta: {
-        title: '中正云学堂-建造师造价师在线教育培训平台报名报考',
+        title: + '-建造师造价师在线教育培训平台报名报考',
         content: {
-          keywords: '中正云学堂-一级建造师,二级建造师,造价工程师,一级消防工程师,BIM,在线教育,职业教育,报考条件,报名时间,建造师注册,建造工程师',
-          description: '中正云学堂-职业教育一站式学习平台,专注一建,二建,造价工程师,一级消防工程师,BIM等工程师技能知识培训服务热线:020-87085982'
+          keywords: + '-一级建造师,二级建造师,造价工程师,一级消防工程师,BIM,在线教育,职业教育,报考条件,报名时间,建造师注册,建造工程师',
+          description: + '-职业教育一站式学习平台,专注一建,二建,造价工程师,一级消防工程师,BIM等工程师技能知识培训服务热线:020-87085982'
         }
       }
     },
@@ -55,10 +54,10 @@ const router = new Router({
       name: '走进中正',
       component: resolve => require(['@/pages/about/index'], resolve),
       meta: {
-        title: '中正云学堂-建造师造价师在线教育培训报名报考平台',
+        title: + '-建造师造价师在线教育培训报名报考平台',
         content: {
-          keywords: '中正云学堂-建造师造价师在线教育培训平台报名报考',
-          description: '中正云学堂-建造师造价师在线教育培训平台报名报考'
+          keywords: + '-建造师造价师在线教育培训平台报名报考',
+          description: + '-建造师造价师在线教育培训平台报名报考'
         }
       }
     },
@@ -72,10 +71,10 @@ const router = new Router({
       name: '支付',
       component: resolve => require(['@/pages/payment/index'], resolve),
       meta: {
-        title: '中正云学堂-建造师造价师在线教育培训平台报名报考',
+        title: + '-建造师造价师在线教育培训平台报名报考',
         content: {
-          keywords: '中正云学堂-一级建造师,二级建造师,造价工程师,一级消防工程师,BIM,在线教育,职业教育,报考条件,报名时间,建造师注册,建造工程师',
-          description: '中正云学堂-职业教育一站式学习平台,专注一建,二建,造价工程师,一级消防工程师,BIM等工程师技能知识培训服务热线:020-87085982'
+          keywords: + '-一级建造师,二级建造师,造价工程师,一级消防工程师,BIM,在线教育,职业教育,报考条件,报名时间,建造师注册,建造工程师',
+          description: + '-职业教育一站式学习平台,专注一建,二建,造价工程师,一级消防工程师,BIM等工程师技能知识培训服务热线:020-87085982'
         }
       }
     },
@@ -84,10 +83,10 @@ const router = new Router({
       name: '支付成功',
       component: resolve => require(['@/pages/payment-success/index'], resolve),
       meta: {
-        title: '中正云学堂-建造师造价师在线教育培训平台报名报考',
+        title: + '-建造师造价师在线教育培训平台报名报考',
         content: {
-          keywords: '中正云学堂-一级建造师,二级建造师,造价工程师,一级消防工程师,BIM,在线教育,职业教育,报考条件,报名时间,建造师注册,建造工程师',
-          description: '中正云学堂-职业教育一站式学习平台,专注一建,二建,造价工程师,一级消防工程师,BIM等工程师技能知识培训服务热线:020-87085982'
+          keywords: + '-一级建造师,二级建造师,造价工程师,一级消防工程师,BIM,在线教育,职业教育,报考条件,报名时间,建造师注册,建造工程师',
+          description: + '-职业教育一站式学习平台,专注一建,二建,造价工程师,一级消防工程师,BIM等工程师技能知识培训服务热线:020-87085982'
         }
       }
     },
@@ -96,10 +95,10 @@ const router = new Router({
       name: '课程列表',
       component: resolve => require(['@/pages/course-list/index'], resolve),
       meta: {
-        title: '中正云学堂-一二级建造师、工程师、建筑师视频课程、免费直播课',
+        title: + '-一二级建造师、工程师、建筑师视频课程、免费直播课',
         content: {
-          keywords: '中正云学堂-一级建造师视频课件,二级建造师视频课件,建筑师工程师学习视频课程',
-          description: '中正云学堂-提供一二级建造师视频学习、免费直播公开课  ,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料。'
+          keywords: + '-一级建造师视频课件,二级建造师视频课件,建筑师工程师学习视频课程',
+          description: + '-提供一二级建造师视频学习、免费直播公开课  ,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料。'
         }
       }
     },
@@ -108,10 +107,10 @@ const router = new Router({
       name: '题库列表',
       component: resolve => require(['@/pages/bank-list/index'], resolve),
       meta: {
-        title: '中正云学堂-题库-一建二建试题下载_考试科目题库_考题答案_历年试题_在线真题_水平测试_历年真题_在线题库',
+        title: + '-题库-一建二建试题下载_考试科目题库_考题答案_历年试题_在线真题_水平测试_历年真题_在线题库',
         content: {
-          keywords: '中正云学堂-模拟试题练习,试题答案,一级建造师试题查找,二级建造师试题练习,题目类型,考试书籍,考试图书,考试教材',
-          description: '中正云学堂-提供一二级建造师学习资料、教材教辅,一二级建造师考试专业培训辅导课程,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料'
+          keywords: + '-模拟试题练习,试题答案,一级建造师试题查找,二级建造师试题练习,题目类型,考试书籍,考试图书,考试教材',
+          description: + '-提供一二级建造师学习资料、教材教辅,一二级建造师考试专业培训辅导课程,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料'
         }
       }
     },
@@ -121,10 +120,10 @@ const router = new Router({
       name: '直播列表',
       component: resolve => require(['@/pages/live-list/index'], resolve),
       meta: {
-        title: '中正云学堂-题库-一建二建试题下载_考试科目题库_考题答案_历年试题_在线真题_水平测试_历年真题_在线题库',
+        title: + '-题库-一建二建试题下载_考试科目题库_考题答案_历年试题_在线真题_水平测试_历年真题_在线题库',
         content: {
-          keywords: '中正云学堂-模拟试题练习,试题答案,一级建造师试题查找,二级建造师试题练习,题目类型,考试书籍,考试图书,考试教材',
-          description: '中正云学堂-提供一二级建造师学习资料、教材教辅,一二级建造师考试专业培训辅导课程,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料'
+          keywords: + '-模拟试题练习,试题答案,一级建造师试题查找,二级建造师试题练习,题目类型,考试书籍,考试图书,考试教材',
+          description: + '-提供一二级建造师学习资料、教材教辅,一二级建造师考试专业培训辅导课程,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料'
         }
       }
     },
@@ -133,10 +132,10 @@ const router = new Router({
       name: '课程详情',
       component: resolve => require(['@/pages/goods-detail/course-detail'], resolve),
       meta: {
-        title: '中正云学堂-一二级建造师、工程师、建筑师视频课程、免费直播课',
+        title: + '-一二级建造师、工程师、建筑师视频课程、免费直播课',
         content: {
-          keywords: '中正云学堂-一级建造师视频课件,二级建造师视频课件,建筑师工程师学习视频课程',
-          description: '中正云学堂-提供一二级建造师视频学习、免费直播公开课  ,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料。'
+          keywords: + '-一级建造师视频课件,二级建造师视频课件,建筑师工程师学习视频课程',
+          description: + '-提供一二级建造师视频学习、免费直播公开课  ,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料。'
         }
       }
     },
@@ -145,10 +144,10 @@ const router = new Router({
       name: '题库详情',
       component: resolve => require(['@/pages/goods-detail/bank-detail'], resolve),
       meta: {
-        title: '中正云学堂-题库-一建二建试题下载_考试科目题库_考题答案_历年试题_在线真题_水平测试_历年真题_在线题库',
+        title: + '-题库-一建二建试题下载_考试科目题库_考题答案_历年试题_在线真题_水平测试_历年真题_在线题库',
         content: {
-          keywords: '中正云学堂-模拟试题练习,试题答案,一级建造师试题查找,二级建造师试题练习,题目类型,考试书籍,考试图书,考试教材',
-          description: '中正云学堂-提供一二级建造师学习资料、教材教辅,一二级建造师考试专业培训辅导课程,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料'
+          keywords: + '-模拟试题练习,试题答案,一级建造师试题查找,二级建造师试题练习,题目类型,考试书籍,考试图书,考试教材',
+          description: + '-提供一二级建造师学习资料、教材教辅,一二级建造师考试专业培训辅导课程,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料'
         }
       }
     },
@@ -157,10 +156,10 @@ const router = new Router({
       name: '直播详情',
       component: resolve => require(['@/pages/goods-detail/live-detail'], resolve),
       meta: {
-        title: '中正云学堂-题库-一建二建试题下载_考试科目题库_考题答案_历年试题_在线真题_水平测试_历年真题_在线题库',
+        title: + '-题库-一建二建试题下载_考试科目题库_考题答案_历年试题_在线真题_水平测试_历年真题_在线题库',
         content: {
-          keywords: '中正云学堂-模拟试题练习,试题答案,一级建造师试题查找,二级建造师试题练习,题目类型,考试书籍,考试图书,考试教材',
-          description: '中正云学堂-提供一二级建造师学习资料、教材教辅,一二级建造师考试专业培训辅导课程,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料'
+          keywords: + '-模拟试题练习,试题答案,一级建造师试题查找,二级建造师试题练习,题目类型,考试书籍,考试图书,考试教材',
+          description: + '-提供一二级建造师学习资料、教材教辅,一二级建造师考试专业培训辅导课程,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料'
         }
       }
     },
@@ -169,10 +168,10 @@ const router = new Router({
       name: '课程详情',
       component: resolve => require(['@/pages/course-detail/index'], resolve),
       meta: {
-        title: '中正云学堂-一二级建造师、工程师、建筑师视频课程、免费直播课',
+        title: + '-一二级建造师、工程师、建筑师视频课程、免费直播课',
         content: {
-          keywords: '中正云学堂-一级建造师视频课件,二级建造师视频课件,建筑师工程师学习视频课程',
-          description: '中正云学堂-提供一二级建造师视频学习、免费直播公开课  ,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料。'
+          keywords: + '-一级建造师视频课件,二级建造师视频课件,建筑师工程师学习视频课程',
+          description: + '-提供一二级建造师视频学习、免费直播公开课  ,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料。'
         }
       }
     },
@@ -182,10 +181,10 @@ const router = new Router({
       name: '直播详情',
       component: resolve => require(['@/pages/live-detail/index'], resolve),
       meta: {
-        title: '中正云学堂-一二级建造师、工程师、建筑师视频课程、免费直播课',
+        title: + '-一二级建造师、工程师、建筑师视频课程、免费直播课',
         content: {
-          keywords: '中正云学堂-一级建造师视频课件,二级建造师视频课件,建筑师工程师学习视频课程',
-          description: '中正云学堂-提供一二级建造师视频学习、免费直播公开课  ,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料。'
+          keywords: + '-一级建造师视频课件,二级建造师视频课件,建筑师工程师学习视频课程',
+          description: + '-提供一二级建造师视频学习、免费直播公开课  ,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料。'
         }
       }
     },
@@ -195,10 +194,10 @@ const router = new Router({
       name: '直播页面详情1',
       component: resolve => require(['@/pages/living-room/index'], resolve),
       meta: {
-        title: '中正云学堂-一二级建造师、工程师、建筑师视频课程、免费直播课',
+        title: + '-一二级建造师、工程师、建筑师视频课程、免费直播课',
         content: {
-          keywords: '中正云学堂-一级建造师视频课件,二级建造师视频课件,建筑师工程师学习视频课程',
-          description: '中正云学堂-提供一二级建造师视频学习、免费直播公开课  ,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料。'
+          keywords: + '-一级建造师视频课件,二级建造师视频课件,建筑师工程师学习视频课程',
+          description: + '-提供一二级建造师视频学习、免费直播公开课  ,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料。'
         }
       }
     },
@@ -208,10 +207,10 @@ const router = new Router({
       name: '课程详情',
       component: resolve => require(['@/pages/mock-countdown/index'], resolve),
       meta: {
-        title: '中正云学堂-一二级建造师、工程师、建筑师视频课程、免费直播课',
+        title: + '-一二级建造师、工程师、建筑师视频课程、免费直播课',
         content: {
-          keywords: '中正云学堂-一级建造师视频课件,二级建造师视频课件,建筑师工程师学习视频课程',
-          description: '中正云学堂-提供一二级建造师视频学习、免费直播公开课  ,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料。'
+          keywords: + '-一级建造师视频课件,二级建造师视频课件,建筑师工程师学习视频课程',
+          description: + '-提供一二级建造师视频学习、免费直播公开课  ,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料。'
         }
       }
     },
@@ -221,10 +220,10 @@ const router = new Router({
       name: '课程详情',
       component: resolve => require(['@/pages/mock-report/index'], resolve),
       meta: {
-        title: '中正云学堂-一二级建造师、工程师、建筑师视频课程、免费直播课',
+        title: + '-一二级建造师、工程师、建筑师视频课程、免费直播课',
         content: {
-          keywords: '中正云学堂-一级建造师视频课件,二级建造师视频课件,建筑师工程师学习视频课程',
-          description: '中正云学堂-提供一二级建造师视频学习、免费直播公开课  ,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料。'
+          keywords: + '-一级建造师视频课件,二级建造师视频课件,建筑师工程师学习视频课程',
+          description: + '-提供一二级建造师视频学习、免费直播公开课  ,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料。'
         }
       }
     },
@@ -233,10 +232,10 @@ const router = new Router({
       name: '试卷报告',
       component: resolve => require(['@/pages/course-report/index'], resolve),
       meta: {
-        title: '中正云学堂-建造师造价师在线教育培训平台报名报考',
+        title: + '-建造师造价师在线教育培训平台报名报考',
         content: {
-          keywords: '中正云学堂-一级建造师,二级建造师,造价工程师,一级消防工程师,BIM,在线教育,职业教育,报考条件,报名时间,建造师注册,建造工程师',
-          description: '中正云学堂-职业教育一站式学习平台,专注一建,二建,造价工程师,一级消防工程师,BIM等工程师技能知识培训服务热线:020-87085982'
+          keywords: + '-一级建造师,二级建造师,造价工程师,一级消防工程师,BIM,在线教育,职业教育,报考条件,报名时间,建造师注册,建造工程师',
+          description: + '-职业教育一站式学习平台,专注一建,二建,造价工程师,一级消防工程师,BIM等工程师技能知识培训服务热线:020-87085982'
         }
       }
     },
@@ -246,10 +245,10 @@ const router = new Router({
       name: '试卷报告',
       component: resolve => require(['@/pages/bank-report/index'], resolve),
       meta: {
-        title: '中正云学堂-建造师造价师在线教育培训平台报名报考',
+        title: + '-建造师造价师在线教育培训平台报名报考',
         content: {
-          keywords: '中正云学堂-一级建造师,二级建造师,造价工程师,一级消防工程师,BIM,在线教育,职业教育,报考条件,报名时间,建造师注册,建造工程师',
-          description: '中正云学堂-职业教育一站式学习平台,专注一建,二建,造价工程师,一级消防工程师,BIM等工程师技能知识培训服务热线:020-87085982'
+          keywords: + '-一级建造师,二级建造师,造价工程师,一级消防工程师,BIM,在线教育,职业教育,报考条件,报名时间,建造师注册,建造工程师',
+          description: + '-职业教育一站式学习平台,专注一建,二建,造价工程师,一级消防工程师,BIM等工程师技能知识培训服务热线:020-87085982'
         }
       }
     },
@@ -258,10 +257,10 @@ const router = new Router({
       name: '做题',
       component: resolve => require(['@/pages/course-exam/index'], resolve),
       meta: {
-        title: '中正云学堂-一二级建造师、工程师、建筑师视频课程、免费直播课',
+        title: + '-一二级建造师、工程师、建筑师视频课程、免费直播课',
         content: {
-          keywords: '中正云学堂-一级建造师视频课件,二级建造师视频课件,建筑师工程师学习视频课程',
-          description: '中正云学堂-提供一二级建造师视频学习、免费直播公开课  ,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料。'
+          keywords: + '-一级建造师视频课件,二级建造师视频课件,建筑师工程师学习视频课程',
+          description: + '-提供一二级建造师视频学习、免费直播公开课  ,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料。'
         }
       }
     },
@@ -270,10 +269,10 @@ const router = new Router({
       name: '做题',
       component: resolve => require(['@/pages/bank-exam/index'], resolve),
       meta: {
-        title: '中正云学堂-题库-一建二建试题下载_考试科目题库_考题答案_历年试题_在线真题_水平测试_历年真题_在线题库',
+        title: + '-题库-一建二建试题下载_考试科目题库_考题答案_历年试题_在线真题_水平测试_历年真题_在线题库',
         content: {
-          keywords: '中正云学堂-模拟试题练习,试题答案,一级建造师试题查找,二级建造师试题练习,题目类型,考试书籍,考试图书,考试教材',
-          description: '中正云学堂-提供一二级建造师学习资料、教材教辅,一二级建造师考试专业培训辅导课程,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料'
+          keywords: + '-模拟试题练习,试题答案,一级建造师试题查找,二级建造师试题练习,题目类型,考试书籍,考试图书,考试教材',
+          description: + '-提供一二级建造师学习资料、教材教辅,一二级建造师考试专业培训辅导课程,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料'
         }
       }
     },
@@ -282,10 +281,10 @@ const router = new Router({
       name: '模考',
       component: resolve => require(['@/pages/mock-exam/index'], resolve),
       meta: {
-        title: '中正云学堂-题库-一建二建试题下载_考试科目题库_考题答案_历年试题_在线真题_水平测试_历年真题_在线题库',
+        title: + '-题库-一建二建试题下载_考试科目题库_考题答案_历年试题_在线真题_水平测试_历年真题_在线题库',
         content: {
-          keywords: '中正云学堂-模拟试题练习,试题答案,一级建造师试题查找,二级建造师试题练习,题目类型,考试书籍,考试图书,考试教材',
-          description: '中正云学堂-提供一二级建造师学习资料、教材教辅,一二级建造师考试专业培训辅导课程,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料'
+          keywords: + '-模拟试题练习,试题答案,一级建造师试题查找,二级建造师试题练习,题目类型,考试书籍,考试图书,考试教材',
+          description: + '-提供一二级建造师学习资料、教材教辅,一二级建造师考试专业培训辅导课程,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料'
         }
       }
     },
@@ -295,10 +294,10 @@ const router = new Router({
       name: '继续做题',
       component: resolve => require(['@/pages/bank-exam-continue/index'], resolve),
       meta: {
-        title: '中正云学堂-题库-一建二建试题下载_考试科目题库_考题答案_历年试题_在线真题_水平测试_历年真题_在线题库',
+        title: + '-题库-一建二建试题下载_考试科目题库_考题答案_历年试题_在线真题_水平测试_历年真题_在线题库',
         content: {
-          keywords: '中正云学堂-模拟试题练习,试题答案,一级建造师试题查找,二级建造师试题练习,题目类型,考试书籍,考试图书,考试教材',
-          description: '中正云学堂-提供一二级建造师学习资料、教材教辅,一二级建造师考试专业培训辅导课程,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料'
+          keywords: + '-模拟试题练习,试题答案,一级建造师试题查找,二级建造师试题练习,题目类型,考试书籍,考试图书,考试教材',
+          description: + '-提供一二级建造师学习资料、教材教辅,一二级建造师考试专业培训辅导课程,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料'
         }
       }
     },
@@ -307,10 +306,10 @@ const router = new Router({
       name: '全部解析',
       component: resolve => require(['@/pages/bank-exam-all-explain/index'], resolve),
       meta: {
-        title: '中正云学堂-题库-一建二建试题下载_考试科目题库_考题答案_历年试题_在线真题_水平测试_历年真题_在线题库',
+        title: + '-题库-一建二建试题下载_考试科目题库_考题答案_历年试题_在线真题_水平测试_历年真题_在线题库',
         content: {
-          keywords: '中正云学堂-模拟试题练习,试题答案,一级建造师试题查找,二级建造师试题练习,题目类型,考试书籍,考试图书,考试教材',
-          description: '中正云学堂-提供一二级建造师学习资料、教材教辅,一二级建造师考试专业培训辅导课程,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料'
+          keywords: + '-模拟试题练习,试题答案,一级建造师试题查找,二级建造师试题练习,题目类型,考试书籍,考试图书,考试教材',
+          description: + '-提供一二级建造师学习资料、教材教辅,一二级建造师考试专业培训辅导课程,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料'
         }
       }
     },
@@ -319,10 +318,10 @@ const router = new Router({
       name: '错题解析',
       component: resolve => require(['@/pages/bank-exam-wrong-explain/index'], resolve),
       meta: {
-        title: '中正云学堂-题库-一建二建试题下载_考试科目题库_考题答案_历年试题_在线真题_水平测试_历年真题_在线题库',
+        title: + '-题库-一建二建试题下载_考试科目题库_考题答案_历年试题_在线真题_水平测试_历年真题_在线题库',
         content: {
-          keywords: '中正云学堂-模拟试题练习,试题答案,一级建造师试题查找,二级建造师试题练习,题目类型,考试书籍,考试图书,考试教材',
-          description: '中正云学堂-提供一二级建造师学习资料、教材教辅,一二级建造师考试专业培训辅导课程,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料'
+          keywords: + '-模拟试题练习,试题答案,一级建造师试题查找,二级建造师试题练习,题目类型,考试书籍,考试图书,考试教材',
+          description: + '-提供一二级建造师学习资料、教材教辅,一二级建造师考试专业培训辅导课程,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料'
         }
       }
     },
@@ -331,10 +330,10 @@ const router = new Router({
       name: '全部解析',
       component: resolve => require(['@/pages/mock-exam-all-explain/index'], resolve),
       meta: {
-        title: '中正云学堂-题库-一建二建试题下载_考试科目题库_考题答案_历年试题_在线真题_水平测试_历年真题_在线题库',
+        title: + '-题库-一建二建试题下载_考试科目题库_考题答案_历年试题_在线真题_水平测试_历年真题_在线题库',
         content: {
-          keywords: '中正云学堂-模拟试题练习,试题答案,一级建造师试题查找,二级建造师试题练习,题目类型,考试书籍,考试图书,考试教材',
-          description: '中正云学堂-提供一二级建造师学习资料、教材教辅,一二级建造师考试专业培训辅导课程,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料'
+          keywords: + '-模拟试题练习,试题答案,一级建造师试题查找,二级建造师试题练习,题目类型,考试书籍,考试图书,考试教材',
+          description: + '-提供一二级建造师学习资料、教材教辅,一二级建造师考试专业培训辅导课程,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料'
         }
       }
     },
@@ -343,10 +342,10 @@ const router = new Router({
       name: '错题解析',
       component: resolve => require(['@/pages/mock-exam-wrong-explain/index'], resolve),
       meta: {
-        title: '中正云学堂-题库-一建二建试题下载_考试科目题库_考题答案_历年试题_在线真题_水平测试_历年真题_在线题库',
+        title: + '-题库-一建二建试题下载_考试科目题库_考题答案_历年试题_在线真题_水平测试_历年真题_在线题库',
         content: {
-          keywords: '中正云学堂-模拟试题练习,试题答案,一级建造师试题查找,二级建造师试题练习,题目类型,考试书籍,考试图书,考试教材',
-          description: '中正云学堂-提供一二级建造师学习资料、教材教辅,一二级建造师考试专业培训辅导课程,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料'
+          keywords: + '-模拟试题练习,试题答案,一级建造师试题查找,二级建造师试题练习,题目类型,考试书籍,考试图书,考试教材',
+          description: + '-提供一二级建造师学习资料、教材教辅,一二级建造师考试专业培训辅导课程,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料'
         }
       }
     },
@@ -355,10 +354,10 @@ const router = new Router({
       name: '题目解析',
       component: resolve => require(['@/pages/bank-exam-explain/index'], resolve),
       meta: {
-        title: '中正云学堂-题库-一建二建试题下载_考试科目题库_考题答案_历年试题_在线真题_水平测试_历年真题_在线题库',
+        title: + '-题库-一建二建试题下载_考试科目题库_考题答案_历年试题_在线真题_水平测试_历年真题_在线题库',
         content: {
-          keywords: '中正云学堂-模拟试题练习,试题答案,一级建造师试题查找,二级建造师试题练习,题目类型,考试书籍,考试图书,考试教材',
-          description: '中正云学堂-提供一二级建造师学习资料、教材教辅,一二级建造师考试专业培训辅导课程,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料'
+          keywords: + '-模拟试题练习,试题答案,一级建造师试题查找,二级建造师试题练习,题目类型,考试书籍,考试图书,考试教材',
+          description: + '-提供一二级建造师学习资料、教材教辅,一二级建造师考试专业培训辅导课程,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料'
         }
       }
     },
@@ -368,10 +367,10 @@ const router = new Router({
       name: '错题',
       component: resolve => require(['@/pages/subject/wrong-type-bank'], resolve),
       meta: {
-        title: '中正云学堂-题库-一建二建试题下载_考试科目题库_考题答案_历年试题_在线真题_水平测试_历年真题_在线题库',
+        title: + '-题库-一建二建试题下载_考试科目题库_考题答案_历年试题_在线真题_水平测试_历年真题_在线题库',
         content: {
-          keywords: '中正云学堂-模拟试题练习,试题答案,一级建造师试题查找,二级建造师试题练习,题目类型,考试书籍,考试图书,考试教材',
-          description: '中正云学堂-提供一二级建造师学习资料、教材教辅,一二级建造师考试专业培训辅导课程,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料'
+          keywords: + '-模拟试题练习,试题答案,一级建造师试题查找,二级建造师试题练习,题目类型,考试书籍,考试图书,考试教材',
+          description: + '-提供一二级建造师学习资料、教材教辅,一二级建造师考试专业培训辅导课程,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料'
         }
       }
     },
@@ -380,10 +379,10 @@ const router = new Router({
       name: '错题',
       component: resolve => require(['@/pages/subject/wrong-bank'], resolve),
       meta: {
-        title: '中正云学堂-题库-一建二建试题下载_考试科目题库_考题答案_历年试题_在线真题_水平测试_历年真题_在线题库',
+        title: + '-题库-一建二建试题下载_考试科目题库_考题答案_历年试题_在线真题_水平测试_历年真题_在线题库',
         content: {
-          keywords: '中正云学堂-模拟试题练习,试题答案,一级建造师试题查找,二级建造师试题练习,题目类型,考试书籍,考试图书,考试教材',
-          description: '中正云学堂-提供一二级建造师学习资料、教材教辅,一二级建造师考试专业培训辅导课程,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料'
+          keywords: + '-模拟试题练习,试题答案,一级建造师试题查找,二级建造师试题练习,题目类型,考试书籍,考试图书,考试教材',
+          description: + '-提供一二级建造师学习资料、教材教辅,一二级建造师考试专业培训辅导课程,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料'
         }
       }
     },
@@ -392,10 +391,10 @@ const router = new Router({
       name: '收藏',
       component: resolve => require(['@/pages/subject/collect-type-bank'], resolve),
       meta: {
-        title: '中正云学堂-题库-一建二建试题下载_考试科目题库_考题答案_历年试题_在线真题_水平测试_历年真题_在线题库',
+        title: + '-题库-一建二建试题下载_考试科目题库_考题答案_历年试题_在线真题_水平测试_历年真题_在线题库',
         content: {
-          keywords: '中正云学堂-模拟试题练习,试题答案,一级建造师试题查找,二级建造师试题练习,题目类型,考试书籍,考试图书,考试教材',
-          description: '中正云学堂-提供一二级建造师学习资料、教材教辅,一二级建造师考试专业培训辅导课程,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料'
+          keywords: + '-模拟试题练习,试题答案,一级建造师试题查找,二级建造师试题练习,题目类型,考试书籍,考试图书,考试教材',
+          description: + '-提供一二级建造师学习资料、教材教辅,一二级建造师考试专业培训辅导课程,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料'
         }
       }
     },
@@ -404,10 +403,10 @@ const router = new Router({
       name: '收藏',
       component: resolve => require(['@/pages/subject/collect-bank'], resolve),
       meta: {
-        title: '中正云学堂-题库-一建二建试题下载_考试科目题库_考题答案_历年试题_在线真题_水平测试_历年真题_在线题库',
+        title: + '-题库-一建二建试题下载_考试科目题库_考题答案_历年试题_在线真题_水平测试_历年真题_在线题库',
         content: {
-          keywords: '中正云学堂-模拟试题练习,试题答案,一级建造师试题查找,二级建造师试题练习,题目类型,考试书籍,考试图书,考试教材',
-          description: '中正云学堂-提供一二级建造师学习资料、教材教辅,一二级建造师考试专业培训辅导课程,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料'
+          keywords: + '-模拟试题练习,试题答案,一级建造师试题查找,二级建造师试题练习,题目类型,考试书籍,考试图书,考试教材',
+          description: + '-提供一二级建造师学习资料、教材教辅,一二级建造师考试专业培训辅导课程,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料'
         }
       }
     },
@@ -416,10 +415,10 @@ const router = new Router({
       name: '商品专题',
       component: resolve => require(['@/pages/goodsTopic/index'], resolve),
       meta: {
-        title: '中正云学堂-题库-一建二建试题下载_考试科目题库_考题答案_历年试题_在线真题_水平测试_历年真题_在线题库',
+        title: + '-题库-一建二建试题下载_考试科目题库_考题答案_历年试题_在线真题_水平测试_历年真题_在线题库',
         content: {
-          keywords: '中正云学堂-模拟试题练习,试题答案,一级建造师试题查找,二级建造师试题练习,题目类型,考试书籍,考试图书,考试教材',
-          description: '中正云学堂-提供一二级建造师学习资料、教材教辅,一二级建造师考试专业培训辅导课程,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料'
+          keywords: + '-模拟试题练习,试题答案,一级建造师试题查找,二级建造师试题练习,题目类型,考试书籍,考试图书,考试教材',
+          description: + '-提供一二级建造师学习资料、教材教辅,一二级建造师考试专业培训辅导课程,免费试听,建造师内部习题资料、工程师教学辅导视频、建筑考试课件视频等资料'
         }
       }
     },
@@ -648,7 +647,7 @@ router.beforeEach(async (to, from, next) => {
   }
 
   if (!store.state.footer.length) {
-    store.dispatch("getCommonBaseHomeList");
+    await store.dispatch("getCommonBaseHomeList");
   }
   if (!store.state.isDesktop) {
     request.getWeAppLink().then(res => {
@@ -667,7 +666,7 @@ router.beforeEach(async (to, from, next) => {
   }
 
   if (to.meta.title) {
-    document.title = to.meta.title;
+    document.title = store.state.header.companyName + to.meta.title;
   }
   if (to.path === '/login') {
     if (canToBank) {

+ 6 - 0
src/store/index.js

@@ -26,6 +26,7 @@ export default new Vuex.Store({
     },//页头配置
     footer: [],//页尾配置
     links: null,//友情链接
+    mobile:null,//移动端设置
     sysTime: 0,
     businessItem: null,
     businessList: [],
@@ -43,6 +44,7 @@ export default new Vuex.Store({
     header: state => state.header,
     footer: state => state.footer,
     links: state => state.links,
+    mobile: state => state.mobile,
     getApplyData: state => state.applyData,
     examResult: state => state.examResult,
     currentRouter: state => state.currentRouter,
@@ -91,6 +93,10 @@ export default new Vuex.Store({
           state.links = JSON.parse(item.configValue)
           console.log(state.links)
         }
+        if (item.configKey === 'home.mobile') {
+          state.mobile = JSON.parse(item.configValue)
+          console.log(state.mobile)
+        }
       })
     },
     getCartCount(state) {

Деякі файли не було показано, через те що забагато файлів було змінено