Browse Source

优化来源

armg 5 days ago
parent
commit
3352a82140

+ 1 - 7
src/router/index.ts

@@ -94,7 +94,6 @@ const router = new VueRouter({
 });
 // 全局前置守卫:只对需要登录的页面进行登录校验
 router.beforeEach(async (to, from, next) => {
-  // console.log("from=",from)
   console.log("to=", to)
   if (!to.meta || (to.meta && !to.meta.requiresAuth)) {
     next();
@@ -182,12 +181,7 @@ function handleCodeLoginMode(to, next) {
   window.localStorage.setItem('loginMode', 'codeLogin');
   //验证时间戳和token
   initGuidInfo();
-  const isLoggedIn = checkLoginStatus();
-  if (isLoggedIn) {
-    // debugger
-    next();
-    return;
-  }
+  if (checkLoginStatus()) return next();
   const code = to.query.code as string;
   let finalCode;
   if (Array.isArray(code)) {

+ 11 - 1
src/utils/index.ts

@@ -268,4 +268,14 @@ export const checkWxWorkEnvAndUserCache = () => {
     sessionStorage.setItem("errorMsgTit", "环境异常")
     router.replace(`/error`)
   }
-}
+}
+
+export const checkAndSaveUserWecomType = () => {
+  // 已存在则直接返回,避免重复赋值
+  if (sessionStorage.getItem('userWecomType')) return;
+  const { WecomType } = router.currentRoute.query;
+  const originWecomType = String(WecomType);
+  const validWecomTypes = new Set(['0', '1', '2', '3', '4', '5']);
+  const userWecomType = validWecomTypes.has(originWecomType) ? originWecomType : '5';
+  sessionStorage.setItem('userWecomType', userWecomType);
+};

+ 2 - 4
src/views/AIDesign/diagnoseResult.vue

@@ -214,7 +214,7 @@ import { Component, Vue, Ref, Watch } from 'vue-property-decorator';
 import html2canvas from 'html2canvas';
 import { NavBar, Button, Image, Loading, Empty, Toast, ImagePreview, Tag } from 'vant';
 import { diagGetEntity, diagGetReadState, diagUpdateReadState } from "@/api/indexAI";
-import { getWecomType, toLBHome, getWxconfig } from '@/utils/index';
+import { getWecomType, toLBHome, getWxconfig, checkAndSaveUserWecomType } from '@/utils/index';
 import axios from "axios";
 declare let wx: any;
 @Component({
@@ -255,9 +255,7 @@ export default class DiagnosisPage extends Vue {
     private canvasImg = null;
     // 页面挂载时请求数据
     created() {
-        // 存下用户来源,无WecomType即为新零售客服
-        const userWecomType = this.$route.query.WecomType || '5';
-        sessionStorage.setItem("userWecomType", userWecomType);
+        checkAndSaveUserWecomType();
         getWxconfig();
     }
     activated() {

+ 2 - 4
src/views/AIDesign/index.vue

@@ -87,7 +87,7 @@
 
 <script lang="ts">
 import { Component, Vue } from "vue-property-decorator";
-import { toLBHome, getWxconfig, getWecomType } from '@/utils/index';
+import { toLBHome, getWxconfig, getWecomType, checkAndSaveUserWecomType } from '@/utils/index';
 import axios from "axios";
 declare let wx: any;
 @Component
@@ -120,9 +120,7 @@ export default class extends Vue {
     } else {
       this.currentTab = 'outside';
     }
-    // 存下用户来源,无WecomType即为新零售客服
-    const userWecomType = this.$route.query.WecomType || '5';
-    sessionStorage.setItem("userWecomType", userWecomType);
+    checkAndSaveUserWecomType()
   }
   handleTabChange(tabType: 'outside' | 'inside'): void {
     this.currentTab = tabType;

+ 4 - 6
src/views/AIDesign/result.vue

@@ -42,14 +42,14 @@
       <!-- 功能按钮组 -->
       <!-- 外墙 -->
       <div class="button-group-outside" v-if="wallType === 'outside'">
-        <!-- <button class="action-button-big flex-center" @click="handleAIfun"
+        <button class="action-button-big flex-center" @click="handleAIfun"
           v-if="agentFrom === 'stoneLikePaint' && allRes && allRes.F_DesignStyle != 'CHANGE_COLOR'">
           <img src="@/assets/AIDesign/file-excel-2-line.png" class="icon" />
           <div>
             <div class="title">确认AI设计</div>
             <div class="text">生成解决方案</div>
           </div>
-        </button> -->
+        </button>
         <div class="flex-between">
           <button class="action-button-middle flex-center" :disabled="regenerateDisable"
             :class="regenerateDisable == true ? 'save-button-disabled' : ''" @click="regenerate">
@@ -97,7 +97,7 @@
 import { ImagePreview, Dialog } from 'vant';
 import { Component, Vue } from "vue-property-decorator";
 import { GetEntity, GetReadState, UpdateReadState, insideGetEntity, insideGetReadState, insideUpdateReadState, GetProjectlist, GetDictList, AddTrackEvent } from "@/api/indexAI";
-import { getWecomType, toLBHome, toXiaoChengxu, getWxconfig ,getWecomTypeName } from '@/utils/index';
+import { getWecomType, toLBHome, toXiaoChengxu, getWxconfig ,getWecomTypeName ,checkAndSaveUserWecomType } from '@/utils/index';
 import axios from "axios";
 declare let wx: any;
 @Component
@@ -149,9 +149,7 @@ export default class extends Vue {
   private allRes = null;
   created() {
     console.log("this.$route",this.$route)
-    // 存下用户来源,无WecomType即为新零售客服
-    const userWecomType = this.$route.query.WecomType || '5';
-    sessionStorage.setItem("userWecomType", userWecomType);
+    checkAndSaveUserWecomType();
     getWxconfig();
     // this.getServiceCode();
   }