| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195 | const CONFIG = require("../config.js");const plugin = requirePlugin('fm-plugin')const { Parse } = plugin// var Parse = getApp().Parse;module.exports = {    goNovaURL: (path) => {        console.log(path);        // 外部应用,检测Scheme:https:// http:// wxapp://        if (path.indexOf("http") != -1) {            let p = path.split('?')[1]            let url = p.substring(p.indexOf('http')).split('&')[0]            console.log(path);            wx.navigateTo({                url: path            });            return        }        if (path.indexOf("wxapp") != -1) {            return        }        if (path.indexOf("/n") != -1) {            wx.navigateTo({                url: path            });            return        }        // 内部应用,截取path第一位为module,后续为路径,?为参数        // var plist = path.split("/")        // var rpath = path.split("?")[0]        // var paramstr = path.split("?")[1]        // if(type=="module"){        //   return "comp"        // }        // if(type=="path"){        //   return rpath        // }        // if(type=="tag"){ // 如:"/nova-zhiliang/pages/my/index" 转为组件名 "nova-zhiliang-pages-my-index"        //   var tag = rpath.split("/").slice(1).join("-");        //   return tag        // }        // if(type=="params"){        //   if(paramstr){        //     return params2Json(paramstr)        //   }else{        //     return {}        //   }        // }        // wx.showToast({        //     title: '未设置跳转链接,暂不支持该跳转',        //     icon: 'error',        //     duration: 1000        // })        return    },    getBlockData: async (data) => {        let className = ""        if (data.className || (data.filter && data.filter.className)) {            className = data.className || data.filter.className        }        let filter = data.filter || {}        if (!data.src || data.src == "list") {            return data.list        }        if (data.src && data.src == "filter" && className) {            let query = new Parse.Query(className);            query.equalTo("company", CONFIG.default.company)            // 加载equalTo条件            console.log(filter.equalTo, data.filter.className)            let keyArr = Object.keys(filter)            keyArr.forEach(key => {                console.log(key)                filter[key].forEach(f => {                    if (key == 'include') {                        query[key](f.key)                    }                    if (key != 'include') {                        if (f.type == "Boolean" && f.isOpen) {                            query[key](f.key, f.value)                        }                        if ((f.type == 'String' || f.type == 'select') && f.value) {                            query[key](f.key, f.value)                        }                        if (f.type == 'Pointer' && f.value) {                            query[key](f.key, f.value)                        }                        if (f.type == 'Array' && f.value && f.value.length > 0) {                            query[key](f.key, f.value)                        }                    }                })            });            switch (className) {                case 'Lesson':                    query.ascending('sort')                    break                case 'Article':                    query.ascending('order')                    break                case 'RushGoods':                    query.ascending('order')                    break                case 'ShopStore':                    query.ascending('score')                    break                default:                    query.ascending('index')                    break            }            if (data.limit) {                query.limit(data.limit)            }            let list = await query.find();            console.log("getBlockData", list);            return list.map(item => item.toJSON())        }        return []    },    async checkComponentsDataProperties(comp) {        console.log(comp.data.options && comp.data.options.data)        return;    },    // More for Delete    // 跳转详情    goGoodsDetail: (e) => {        //        let userInfo = wx.getStorageSync("userLogin");        //         if (userInfo == "") {        //           util.loginNow();        //           return        //        }        console.log(e)        console.log(e.currentTarget.dataset.link, e.currentTarget.dataset.type)        if (e.currentTarget.dataset.link && e.currentTarget.dataset.type == "video") {            return        }        // 截取后端传过来的商品的objectId        let arr = e.currentTarget.dataset.link.split("=")        if (!arr[1]) {            wx.navigateBack()        }        console.log(arr[1])        // 根据objectId获取商品信息        let goodsInfo = new Parse.Query("ShopGoods")        goodsInfo.equalTo("objectId", arr[1])        goodsInfo.first().then(res => {            console.log(res)            let data = res.toJSON()            wx.navigateTo({                url: '/nova-shop/pages/goods_detail/goods_detail',                events: {                    acceptGoodsDetail: function (goodsInfo) {                        console.log(goodsInfo)                    }                },                success: function (res) {                    res.eventChannel.emit('acceptGoodsDetail', {                        data                    })                }            });        })        // console.log(this.data.blocks)    },    toStoreDetail: (e) => {        let userInfo = wx.getStorageSync("userLogin");        if (userInfo == "") {            util.loginNow();            return        }        let data = JSON.stringify(e.currentTarget.dataset.item)        if (!data) {            wx.navigateBack()        }        wx.navigateTo({            url: '/nova-shop/pages/store/store?data=' + data,        })    },    toArticleDetail: (e) => {        //        let userInfo = wx.getStorageSync("userLogin");        //         if (userInfo == "") {        //           util.loginNow();        //           return        //        }        wx.navigateTo({            url: e.currentTarget.dataset.url,        })    },};
 |