mo 1 年之前
父节点
当前提交
17f75304c4

+ 17 - 0
src/custom-plugins/guide-page/api.ts

@@ -0,0 +1,17 @@
+import request from '@/helpers/request';
+
+export const setGuidance = (params: any) => {
+  return request.post('/edu-app/functionGuidance/save', {
+    data: params
+  });
+};
+
+/**
+ * 获取引导页
+ */
+export const getGuidance = (params: any) => {
+  return request.get('/edu-app/functionGuidance/queryTagDetail', {
+    data: params,
+    params
+  });
+};

+ 43 - 14
src/custom-plugins/guide-page/coai-guide.tsx

@@ -3,7 +3,7 @@ import { } from "vant";
 import { defineComponent, nextTick, onMounted, onUnmounted, reactive, ref, watch } from "vue";
 import styles from "./index.module.less";
 import { getImage } from "./images";
-
+import {getGuidance, setGuidance} from './api'
 export default defineComponent({
   name: "coai-guide",
   emits: ["close"],
@@ -26,7 +26,8 @@ export default defineComponent({
           },
           btnsStyle: {
             top: "4.7rem",
-            left:'1rem'
+            left:'2.0rem',
+            transform: 'scale(1.2)'
           },
           boxStyle:{
 						borderRadius: '40px',
@@ -99,12 +100,35 @@ export default defineComponent({
       step: 0,
     });
     const tipShow = ref(false)
-   const guideInfo = localStorage.getItem('guideInfo')
-   if(guideInfo&&JSON.parse(guideInfo).coaiGuide){
-    tipShow.value =false
-   }else {
-    tipShow.value =true
-   }
+  //  const guideInfo = localStorage.getItem('guideInfo')
+  //  if(guideInfo&&JSON.parse(guideInfo).coaiGuide){
+  //   tipShow.value =false
+  //  }else {
+  //   tipShow.value =true
+  //  }
+
+  const guideInfo = ref({} as any)
+  const getAllGuidance = async()=>{
+    try{
+      const res = await getGuidance({guideTag:'guideInfo'})
+      if(res.data){
+        guideInfo.value = JSON.parse(res.data?.guideValue) || null
+      }else{
+        guideInfo.value = {}
+      }
+      if (guideInfo.value &&guideInfo.value.coaiGuide) {
+        tipShow.value = false;
+      } else {
+        tipShow.value = true;
+      }
+    }catch(e){
+      console.log(e)
+    }
+    // const guideInfo = localStorage.getItem('teacher-guideInfo');
+
+  }
+
+  getAllGuidance()
     const getStepELe = () => {
       console.log(`coai-${data.step}`)
       const ele: HTMLElement = document.getElementById(`coai-${data.step}`)!;
@@ -140,14 +164,19 @@ export default defineComponent({
       getStepELe();
     };
 
-    const endGuide = ()=>{
-      let guideInfo = JSON.parse(localStorage.getItem('guideInfo') || '{}') || null
-      if(!guideInfo){
-        guideInfo = {coaiGuide:true}
+    const endGuide = async()=>{
+      // let guideInfo = JSON.parse(localStorage.getItem('guideInfo') || '{}') || null
+      if(!guideInfo.value){
+        guideInfo.value = {coaiGuide:true}
       }else{
-        guideInfo.coaiGuide = true
+        guideInfo.value.coaiGuide = true
+      }
+      // localStorage.setItem('guideInfo',JSON.stringify(guideInfo))
+      try{
+        const res = await setGuidance({guideTag:'guideInfo',guideValue:JSON.stringify(guideInfo.value)})
+      }catch(e){
+        console.log(e)
       }
-      localStorage.setItem('guideInfo',JSON.stringify(guideInfo))
       tipShow.value = false
     //  localStorage.setItem('endC')
     }

+ 44 - 14
src/custom-plugins/guide-page/courseware-detail.tsx

@@ -3,7 +3,7 @@ import { } from "vant";
 import { defineComponent, nextTick, onMounted, onUnmounted, reactive, ref, watch } from "vue";
 import styles from "./index.module.less";
 import { getImage } from "./images";
-
+import {getGuidance,setGuidance} from './api'
 export default defineComponent({
   name: "courseware-detail",
   emits: ["close"],
@@ -21,6 +21,9 @@ export default defineComponent({
             left:"0.98rem",
             transform: 'rotate(-90deg)'
           },
+          boxStyle:{
+            'borderRadius':'0.1rem'
+					},
           imgStyle: {
             top: "-1.3rem",
             left:"2.2rem",
@@ -35,12 +38,34 @@ export default defineComponent({
       step: 0,
     });
     const tipShow = ref(false)
-   const guideInfo = localStorage.getItem('guideInfo')
-   if(guideInfo&&JSON.parse(guideInfo).coursewareDetail){
-    tipShow.value =false
-   }else {
-    tipShow.value =true
-   }
+    const guideInfo = ref({} as any)
+    const getAllGuidance = async()=>{
+      try{
+        const res = await getGuidance({guideTag:'guideInfo'})
+        if(res.data){
+          guideInfo.value = JSON.parse(res.data?.guideValue) || null
+        }else{
+          guideInfo.value = {}
+        }
+        if (guideInfo.value &&guideInfo.value.coursewareDetail) {
+          tipShow.value = false;
+        } else {
+          tipShow.value = true;
+        }
+      }catch(e){
+        console.log(e)
+      }
+      // const guideInfo = localStorage.getItem('teacher-guideInfo');
+
+    }
+
+    getAllGuidance()
+  //  const guideInfo = localStorage.getItem('guideInfo')
+  //  if(guideInfo&&JSON.parse(guideInfo).coursewareDetail){
+  //   tipShow.value =false
+  //  }else {
+  //   tipShow.value =true
+  //  }
     const getStepELe = () => {
       console.log(`coursewareDetail-${data.step}`)
       const ele: HTMLElement = document.getElementById(`coursewareDetail-${data.step}`)!;
@@ -77,14 +102,19 @@ export default defineComponent({
       getStepELe();
     };
 
-    const endGuide = ()=>{
-      let guideInfo = JSON.parse(localStorage.getItem('guideInfo')|| '{}') || null
-      if(!guideInfo){
-        guideInfo = {coursewareDetail:true}
+    const endGuide = async()=>{
+      // let guideInfo = JSON.parse(localStorage.getItem('guideInfo')|| '{}') || null
+      if(!guideInfo.value){
+        guideInfo.value = {coursewareDetail:true}
       }else{
-        guideInfo.coursewareDetail = true
+        guideInfo.value.coursewareDetail = true
+      }
+
+      try{
+        const res = await setGuidance({guideTag:'guideInfo',guideValue:JSON.stringify(guideInfo.value)})
+      }catch(e){
+        console.log(e)
       }
-      localStorage.setItem('guideInfo',JSON.stringify(guideInfo))
       tipShow.value = false
     //  localStorage.setItem('endC')
     }
@@ -101,7 +131,7 @@ export default defineComponent({
 
           跳过
         </div>}
-        <div class={styles.box} style={data.box} id={`modeType-${data.step}`}>
+        <div class={styles.box} style={{...data.box,...data.steps[data.step].boxStyle}} id={`modeType-${data.step}`}>
           {data.steps.map((item: any, index) => (
 
             <div

+ 41 - 13
src/custom-plugins/guide-page/courseware-list.tsx

@@ -3,7 +3,7 @@ import { } from "vant";
 import { defineComponent, nextTick, onMounted, onUnmounted, reactive, ref, watch } from "vue";
 import styles from "./index.module.less";
 import { getImage } from "./images";
-
+import {getGuidance, setGuidance} from './api'
 export default defineComponent({
   name: "courseware-list",
   emits: ["close"],
@@ -110,12 +110,34 @@ export default defineComponent({
       step: 0,
     });
     const tipShow = ref(false)
-   const guideInfo = localStorage.getItem('guideInfo')
-   if(guideInfo&&JSON.parse(guideInfo).courseware){
-    tipShow.value =false
-   }else {
-    tipShow.value =true
-   }
+    const guideInfo = ref({} as any)
+    const getAllGuidance = async()=>{
+      try{
+        const res = await getGuidance({guideTag:'guideInfo'})
+        if(res.data){
+          guideInfo.value = JSON.parse(res.data?.guideValue) || null
+        }else{
+          guideInfo.value = {}
+        }
+        if (guideInfo.value &&guideInfo.value.courseware) {
+          tipShow.value = false;
+        } else {
+          tipShow.value = true;
+        }
+      }catch(e){
+        console.log(e)
+      }
+
+      // const guideInfo = localStorage.getItem('teacher-guideInfo');
+
+    }
+    getAllGuidance()
+  //  const guideInfo = localStorage.getItem('guideInfo')
+  //  if(guideInfo&&JSON.parse(guideInfo).courseware){
+  //   tipShow.value =false
+  //  }else {
+  //   tipShow.value =true
+  //  }
     const getStepELe = () => {
       const ele: HTMLElement = document.getElementById(`courseware-${data.step}`)!;
       if (ele) {
@@ -156,14 +178,20 @@ export default defineComponent({
       getStepELe();
     };
 
-    const endGuide = ()=>{
-      let guideInfo = JSON.parse(localStorage.getItem('guideInfo') || '{}') || null
-      if(!guideInfo){
-        guideInfo = {courseware:true}
+    const endGuide = async()=>{
+      // let guideInfo = JSON.parse(localStorage.getItem('guideInfo') || '{}') || null
+      if(!guideInfo.value){
+        guideInfo.value = {courseware:true}
       }else{
-        guideInfo.courseware = true
+        guideInfo.value.courseware = true
+      }
+
+      try{
+        const res = await setGuidance({guideTag:'guideInfo',guideValue:JSON.stringify(guideInfo.value)})
+      }catch(e){
+        console.log(e)
       }
-      localStorage.setItem('guideInfo',JSON.stringify(guideInfo))
+      // localStorage.setItem('guideInfo',JSON.stringify(guideInfo))
       tipShow.value = false
     //  localStorage.setItem('endC')
     }

+ 0 - 1
src/custom-plugins/guide-page/index.module.less

@@ -89,7 +89,6 @@
     display: flex;
     width: 100%;
     padding: 0 12px;
-
     .btn {
       background-image: url(./images/guideNext.png);
       background-size: 77px 23px;

+ 37 - 14
src/custom-plugins/guide-page/knowledge-guide.tsx

@@ -4,7 +4,7 @@ import { defineComponent, nextTick, onMounted, onUnmounted, reactive, ref, watch
 import styles from "./index.module.less";
 import { getImage } from "./images";
 import { useRect } from "@vant/use";
-
+import {getGuidance, setGuidance} from './api'
 export default defineComponent({
   name: "knowledge-guide",
   emits: ["close"],
@@ -80,7 +80,24 @@ export default defineComponent({
       step: 0,
     });
     const tipShow = ref(false)
-
+    const guideInfo = ref({} as any)
+    const getAllGuidance = async()=>{
+      try{
+        const res = await getGuidance({guideTag:'guideInfo'})
+        if(res.data){
+          guideInfo.value = JSON.parse(res.data?.guideValue) || null
+        }else{
+          guideInfo.value = {}
+        }
+        if (guideInfo.value &&guideInfo.value.knowledge) {
+          tipShow.value = false;
+        } else {
+          tipShow.value = true;
+        }
+      }catch(e){
+        console.log(e)
+      }
+    }
     const getStepELe = () => {
 
       const ele: HTMLElement = document.getElementById(`knowledge-${data.step}`) as any;
@@ -99,12 +116,13 @@ export default defineComponent({
     };
     onMounted(() => {
 
-        const guideInfo = localStorage.getItem('guideInfo')
-        if(guideInfo&&JSON.parse(guideInfo).knowledge){
-         tipShow.value =false
-        }else {
-         tipShow.value =true
-        }
+        // const guideInfo = localStorage.getItem('guideInfo')
+        // if(guideInfo&&JSON.parse(guideInfo).knowledge){
+        //  tipShow.value =false
+        // }else {
+        //  tipShow.value =true
+        // }
+        getAllGuidance()
         getStepELe();
 
       window.addEventListener("resize", resetSize);
@@ -126,15 +144,20 @@ export default defineComponent({
       getStepELe();
     };
 
-    const endGuide = ()=>{
-      let guideInfo = JSON.parse(localStorage.getItem('guideInfo') || '{}')
+    const endGuide = async ()=>{
+      // let guideInfo = JSON.parse(localStorage.getItem('guideInfo') || '{}')
 
-      if(!guideInfo){
-        guideInfo = {knowledge:true}
+      if(!guideInfo.value){
+        guideInfo.value = {knowledge:true}
       }else{
-        guideInfo.knowledge = true
+        guideInfo.value.knowledge = true
+      }
+      try{
+        const res = await setGuidance({guideTag:'guideInfo',guideValue:JSON.stringify(guideInfo.value)})
+      }catch(e){
+        console.log(e)
       }
-      localStorage.setItem('guideInfo',JSON.stringify(guideInfo))
+      // localStorage.setItem('guideInfo',JSON.stringify(guideInfo))
       tipShow.value = false
     //  localStorage.setItem('endC')
     }

+ 42 - 13
src/custom-plugins/guide-page/woring-guide.tsx

@@ -4,7 +4,7 @@ import { defineComponent, nextTick, onMounted, onUnmounted, reactive, ref, watch
 import styles from "./index.module.less";
 import { getImage } from "./images";
 import { useRect } from "@vant/use";
-
+import {getGuidance, setGuidance} from './api'
 export default defineComponent({
   name: "woring",
   emits: ["close"],
@@ -92,6 +92,29 @@ export default defineComponent({
     });
     const tipShow = ref(false)
     const isPad = ref(true)
+
+    const guideInfo = ref({} as any)
+    const getAllGuidance = async()=>{
+      try{
+        const res = await getGuidance({guideTag:'guideInfo'})
+        if(res.data){
+          guideInfo.value = JSON.parse(res.data?.guideValue) || null
+        }else{
+          guideInfo.value = {}
+        }
+        if (guideInfo.value &&guideInfo.value.woring) {
+          tipShow.value = false;
+        } else {
+          tipShow.value = true;
+        }
+      }catch(e){
+        console.log(e)
+      }
+      // const guideInfo = localStorage.getItem('teacher-guideInfo');
+
+    }
+
+
     const getStepELe = () => {
 
       const ele: HTMLElement = document.getElementById(`woring-${data.step}`)!;
@@ -110,12 +133,12 @@ export default defineComponent({
     };
     onMounted(() => {
       setTimeout(()=>{
-        const guideInfo = localStorage.getItem('guideInfo')
-        if(guideInfo&&JSON.parse(guideInfo).woring){
-         tipShow.value =false
-        }else {
-         tipShow.value =true
-        }
+        // const guideInfo = localStorage.getItem('guideInfo')
+        // if(guideInfo&&JSON.parse(guideInfo).woring){
+        //  tipShow.value =false
+        // }else {
+        //  tipShow.value =true
+        // }
         var docEl = document.documentElement;
         var clientWidth = docEl.clientWidth;
         if(clientWidth>750){
@@ -126,6 +149,7 @@ export default defineComponent({
           console.log('PHONE')
         }
         getStepELe();
+        getAllGuidance()
       },500)
       window.addEventListener("resize", resetSize);
     });
@@ -145,15 +169,20 @@ export default defineComponent({
       getStepELe();
     };
 
-    const endGuide = ()=>{
-      let guideInfo = JSON.parse(localStorage.getItem('guideInfo') || '{}')
+    const endGuide = async()=>{
+      // let guideInfo = JSON.parse(localStorage.getItem('guideInfo') || '{}')
 
-      if(!guideInfo){
-        guideInfo = {woring:true}
+      if(!guideInfo.value){
+        guideInfo.value = {woring:true}
       }else{
-        guideInfo.woring = true
+        guideInfo.value.woring = true
+      }
+      // localStorage.setItem('guideInfo',JSON.stringify(guideInfo))
+      try{
+        const res = await setGuidance({guideTag:'guideInfo',guideValue:JSON.stringify(guideInfo.value)})
+      }catch(e){
+        console.log(e)
       }
-      localStorage.setItem('guideInfo',JSON.stringify(guideInfo))
       tipShow.value = false
     //  localStorage.setItem('endC')
     }