浏览代码

pc访问跳小程序

谢杰标 2 年之前
父节点
当前提交
6f1ecf82f2
共有 3 个文件被更改,包括 102 次插入86 次删除
  1. 10 4
      src/App.vue
  2. 49 42
      src/apis/common.js
  3. 43 40
      src/store/index.js

+ 10 - 4
src/App.vue

@@ -7,12 +7,18 @@
 <script>
 export default {
   name: "App",
+  data() {
+    return {
+      isDesktop: false,
+    };
+  },
   created() {
-    /**
-     *
-     * 获取首页配置
-     */
     this.$store.dispatch("getCommonBaseHomeList");
+    if (!this.$store.state.isDesktop) {
+      this.$request.getWeAppLink().then((res) => {
+        res.msg && (window.location.href = res.msg);
+      });
+    }
   },
 };
 </script>

+ 49 - 42
src/apis/common.js

@@ -71,20 +71,20 @@ export default {
     })
   },
 
-    /**
-   * 
-   * @param {*} data 
-   * @returns 
-   * 查询商品课程双师资绑定列表
-   */
-    getGoodsCourseTeacher(data) {
-      return request({
-        url: '/app/common/course/teacher/list',
-        method: 'get',
-        params: data,
-        noToken: true
-      })
-    },
+  /**
+ * 
+ * @param {*} data 
+ * @returns 
+ * 查询商品课程双师资绑定列表
+ */
+  getGoodsCourseTeacher(data) {
+    return request({
+      url: '/app/common/course/teacher/list',
+      method: 'get',
+      params: data,
+      noToken: true
+    })
+  },
 
   /**
    * 
@@ -285,39 +285,46 @@ export default {
     })
   },
   advertisingHomeLocation(data) {
-		return request({
-			url: '/app/common/base/advertising/homeLocation',
-			method: 'get',
-			params: data,
-			noToken: true
-		})
-	},
+    return request({
+      url: '/app/common/base/advertising/homeLocation',
+      method: 'get',
+      params: data,
+      noToken: true
+    })
+  },
 
   commonSystemTime() {
-		return request({
-			url: '/app/common/system/dict/data/sys/time',
-			method: 'get',
-			noToken: true
-		})
-	},
+    return request({
+      url: '/app/common/system/dict/data/sys/time',
+      method: 'get',
+      noToken: true
+    })
+  },
 
   dictList(data) {
-		return request({
-			url: '/app/common/system/dict/data/list',
-			method: 'get',
-			params: data,
-			noToken: true
-		})
-	},
-	appCommonGoodsCourseModuleFreeExamList(data) {
-		return request({
-			url: '/app/common/goods/course/moduleFreeExamList/'+data,
-			method: 'get',
-			noToken:true
-			
-		})
-	}
+    return request({
+      url: '/app/common/system/dict/data/list',
+      method: 'get',
+      params: data,
+      noToken: true
+    })
+  },
+  appCommonGoodsCourseModuleFreeExamList(data) {
+    return request({
+      url: '/app/common/goods/course/moduleFreeExamList/' + data,
+      method: 'get',
+      noToken: true
 
+    })
+  },
   
+  getWeAppLink(data) {
+    return request({
+      url: '/app/common/get/small/link',
+      method: 'get',
+      params: data,
+      noToken: true
+    })
+  }
 
 }

+ 43 - 40
src/store/index.js

@@ -11,28 +11,31 @@ Vue.use(Vuex);
 export default new Vuex.Store({
   //所有的数据都放在state中
   state: {
-    msgCount:0,
-    cartCount:0,
+    msgCount: 0,
+    cartCount: 0,
     applyData: {}, //预约考试数据存放
-    currentRouter:{},
+    currentRouter: {},
     token: '',
     user_account: '',
     userInfo: null,
-    examResult:{},
+    examResult: {},
     header: {
       serviceTel: {}
     },//页头配置
     footer: [],//页尾配置
     links: null,//友情链接
-    sysTime:0,
-    businessItem:null,
-    businessList:[],
+    sysTime: 0,
+    businessItem: null,
+    businessList: [],
+    isDesktop: !navigator.userAgent.match(
+      /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|IEMobile)/i
+    )
   },
 
   getters: {
-    businessList:state => state.businessList,
+    businessList: state => state.businessList,
     businessItem: state => state.businessItem,
-    sysTime: state =>  state.sysTime,
+    sysTime: state => state.sysTime,
     userInfo: state => state.userInfo,
     token: state => state.token,
     header: state => state.header,
@@ -47,20 +50,20 @@ export default new Vuex.Store({
 
   //操作数据,唯一的通道是mutations
   mutations: {
-    setBusinessList(state,list) {
+    setBusinessList(state, list) {
       state.businessList = list
     },
-    setBusinessItem(state,item) {
+    setBusinessItem(state, item) {
       console.log(item)
       state.businessItem = item
     },
-    commonSystemTime(state,time) {
-			state.sysTime = time;
-		},
-    setCurrentRouter(state,data) {
+    commonSystemTime(state, time) {
+      state.sysTime = time;
+    },
+    setCurrentRouter(state, data) {
       state.currentRouter = data;
     },
-    setExamResult(state,data) {
+    setExamResult(state, data) {
       state.examResult = data;
     },
     updateApplyData(state, data) {
@@ -93,7 +96,7 @@ export default new Vuex.Store({
 
     getMsgCount(state) {
       user.getappinformUserlist({
-        systemStatusList:'1,2',
+        systemStatusList: '1,2',
         receiptStatus: 0,
       }).then(res => {
         state.msgCount = res.total
@@ -104,36 +107,36 @@ export default new Vuex.Store({
   //actions,可以来做异步操作,然后提交给mutations,而后再对state(数据)进行操作
   actions: {
     /**
-		 * 设置系统时间
-		 */
-		setSystemTime({
-			commit
-		}) {
-			return new Promise(resolve => {
-				common.commonSystemTime().then(res => {
-					if(res.code == 200) {
-						commit('commonSystemTime', res.data)
-						resolve()
-					}
-				})
-			})
-		},
+     * 设置系统时间
+     */
+    setSystemTime({
+      commit
+    }) {
+      return new Promise(resolve => {
+        common.commonSystemTime().then(res => {
+          if (res.code == 200) {
+            commit('commonSystemTime', res.data)
+            resolve()
+          }
+        })
+      })
+    },
 
     getbusinessList({
       commit
     }) {
       return new Promise(resolve => {
-        order.orderUserAllBusinessList().then( res => {
-          if(res.code == 200) {
+        order.orderUserAllBusinessList().then(res => {
+          if (res.code == 200) {
             commit('setBusinessList', res.rows)
-            if(res.rows&&res.rows.length) {
-              commit('setBusinessItem',res.rows[0])
+            if (res.rows && res.rows.length) {
+              commit('setBusinessItem', res.rows[0])
             }
-						resolve()
+            resolve()
           }
         })
       })
-      
+
     },
     /**
      * 
@@ -143,13 +146,13 @@ export default new Vuex.Store({
      */
     getUserInfo(context) {
       return new Promise(resolve => {
-        login.getInfo({fromPlat: 2}).then(res => {
+        login.getInfo({ fromPlat: 2 }).then(res => {
           context.commit('setUserInfo', res.data)
-          if(!tools.getUuid()) {
+          if (!tools.getUuid()) {
             tools.setUuid(new Date().valueOf() + "")
           }
           resolve()
-        }).catch(err => {})
+        }).catch(err => { })
       })
     },
     /**