Browse Source

消息跳转应用添加验证付费信息,验证付费方法放到全局中

xiaohaizhao 1 year ago
parent
commit
8df97f484e
3 changed files with 83 additions and 100 deletions
  1. 60 1
      app.js
  2. 3 58
      pages/tabbar/home/index.js
  3. 20 41
      pages/tabbar/message/index.js

+ 60 - 1
app.js

@@ -47,7 +47,12 @@ App({
                         title: '应用付费信息已更新',
                         icon: "none"
                     })
-                    getCurrentPages().find(v => v.__route__ == 'pages/tabbar/home/index').refreshData();
+                    let page = getCurrentPages().find(v => v.__route__ == 'pages/tabbar/home/index')
+                    if (page) {
+                        page.refreshData();
+                    } else {
+                        that.globalData.refreshData();
+                    }
                 });
             }
         })
@@ -67,5 +72,59 @@ App({
             that: null, //保存this
             callback: function () {}
         },
+        refreshData: null, //保存首页更新应用信息函数
+        evidence: item => { //验证付费凭证,通过后跳转
+            let userType = wx.getStorageSync('userMsg').usertype,
+                isLeader = userType == 21;
+            //应用是否开通,开通直接跳转
+            if (item.isneedpay) return wx.showModal({
+                title: '提示',
+                content: `当前模块未付费,是否付费使用?`,
+                confirmText: "前往付费",
+                cancelText: isLeader ? "取消" : "提醒付费",
+                complete: (res) => {
+                    if (res.confirm) {
+                        getApp().globalData.http.basic({
+                            "classname": "system.payorder.payorder",
+                            "method": "createOrder",
+                            "content": {},
+                        }).then(res => {
+                            console.log("新建订单", res)
+                            if (res.msg != '成功') return wx.showToast({
+                                title: res.msg,
+                                icon: "none",
+                                mask: true
+                            });
+                            wx.navigateTo({
+                                url: '/pages/teams/addOrder?sys_payorderid=' + res.data.sys_payorderid
+                            })
+                        })
+                    }
+                    if (res.cancel) {
+                        if (!isLeader) getApp().globalData.http.basic({
+                            "classname": "system.payorder.payorder",
+                            "method": "sendMessage",
+                            "content": {
+                                "sys_payorderid": ""
+                            }
+                        }).then(s => {
+                            wx.showToast({
+                                title: '已发送消息到主体主账号',
+                                icon: "none"
+                            })
+                        })
+                    }
+                }
+            })
+            if (item.label == "营销物料") {
+                wx.switchTab({
+                    url: item.path
+                });
+            } else {
+                wx.navigateTo({
+                    url: item.path
+                });
+            }
+        }
     },
 })

+ 3 - 58
pages/tabbar/home/index.js

@@ -11,6 +11,7 @@ Page({
     },
     onLoad(options) {
         this.refreshData() //更新权限等信息
+        getApp().globalData.http.refreshData = this.refreshData.bind(this);
     },
     /* 更新站点信息 */
     refreshData() {
@@ -124,70 +125,14 @@ Page({
                 bannerList: banner.ads
             });
             wx.setStorageSync('authList', authList)
+            wx.setStorageSync('gridList', gridList)
         } else {
             setTimeout(this.refreshData, 10);
         }
     },
     /* 宫格区域应用程序 */
     applications(e) {
-        const {
-            item
-        } = e.currentTarget.dataset,
-            userType = wx.getStorageSync('userMsg').usertype,
-            isLeader = userType == 21 || userType == 22;
-        console.log("跳转", item)
-        //应用是否开通,开通直接跳转
-        if (!item.isneedpay) {
-            wx.showModal({
-                title: '提示',
-                content: `当前模块未付费,是否付费使用?`,
-                confirmText: "前往付费",
-                cancelText: isLeader ? "取消" : "提醒付费",
-                complete: (res) => {
-                    if (res.confirm) {
-                        _Http.basic({
-                            "classname": "system.payorder.payorder",
-                            "method": "createOrder",
-                            "content": {},
-                        }).then(res => {
-                            console.log("新建订单", res)
-                            if (res.msg != '成功') return wx.showToast({
-                                title: res.msg,
-                                icon: "none",
-                                mask: true
-                            });
-                            wx.navigateTo({
-                                url: '/pages/teams/addOrder?sys_payorderid=' + res.data.sys_payorderid
-                            })
-                        })
-                    }
-                    if (res.cancel) {
-                        if (!isLeader) _Http.basic({
-                            "classname": "system.payorder.payorder",
-                            "method": "sendMessage",
-                            "content": {
-                                "sys_payorderid": ""
-                            }
-                        }).then(s => {
-                            wx.showToast({
-                                title: '已发送消息到主体主账号',
-                                icon: "none"
-                            })
-                        })
-                    }
-                }
-            })
-        } else {
-            if (item.label == "营销物料") {
-                wx.switchTab({
-                    url: item.path
-                });
-            } else {
-                wx.navigateTo({
-                    url: item.path
-                });
-            }
-        }
+        getApp().globalData.evidence(e.currentTarget.dataset.item)
     },
     /* 去消息详情 */
     toMsg(e) {

+ 20 - 41
pages/tabbar/message/index.js

@@ -18,11 +18,6 @@ Page({
         },
         total: 0,
     },
-
-    /**
-     * 生命周期函数--监听页面加载
-     */
-    onLoad(options) {},
     //切换tab选项
     tabChange({
         detail
@@ -42,9 +37,9 @@ Page({
     async toDetails(e) {
         const {
             objectname,
-            objectid,
             messageid
         } = e.currentTarget.dataset.item;
+        /* 已读信息 */
         _Http.basic({
             "classname": "system.message.Message",
             "method": "readMessage",
@@ -52,52 +47,29 @@ Page({
                 messageid
             }
         }, false)
-        const res = await _Http.basic({
-            "classname": "saletool.common.auth",
-            "method": "isAuth",
-            "content": {
-                objectid,
-                objectname
-            }
-        });
-        if (res.msg != '成功' || res.data[0].isAuth != 1) return wx.showToast({
-            title: '暂无权限进入应用',
-            icon: "none"
-        });
         switch (objectname) {
             case 'sat_courseware':
-                wx.navigateTo({
-                    url: `/pages/college/index`,
-                })
+                this.toList("商学院")
                 break;
             case 'sat_sharematerial':
-                wx.navigateTo({
-                    url: `/pages/promotional/index`,
-                })
+                this.toList("推广素材")
                 break;
             case 'sat_notice':
-                wx.navigateTo({
-                    url: `/pages/annunciate/index`,
-                })
+                this.toList("通告")
                 break;
             case 'sat_submitedit':
-                wx.navigateTo({
-                    url: `/pages/submission/index`,
-                })
+                this.toList("提报")
                 break;
             case 'sat_orderclue':
+                this.toList("销售线索")
+                break;
+            case 'sys_payorder':
                 wx.navigateTo({
-                    url: `/pages/threadedTree/index`,
+                    url: `/pages/teams/index?title=付费订单`,
                 })
                 break;
             case 'sys_attachment':
-                let item = {
-                    attachmentid: objectid,
-                    document: '营销物料'
-                }
-                wx.navigateTo({
-                    url: 'pages/tabbar/smartStore/index',
-                })
+                this.toList("营销物料")
                 break;
             default:
                 wx.showToast({
@@ -106,9 +78,16 @@ Page({
                 })
                 break;
         }
-        /* wx.navigateTo({
-            url: './details?id=' + item.messageid,
-        }) */
+    },
+    /* 前去应用列表 */
+    toList(name) {
+        let item = wx.getStorageSync('gridList').find(v => v.label == name);
+        if (!item) return wx.showToast({
+            title: `暂无进入‘${name}’应用权限`,
+            icon: "none",
+            mask: true
+        })
+        getApp().globalData.evidence(item)
     },
     getlist(init = false) {
         if (init.detail != undefined) init = init.detail;