var t = require("setting.js"), o = require("./utils/auth.js"), a = require("./utils/request.js"), e = require("./utils/common.js"), ut = require("./utils/util.js"); var os=t; var regeneratorRuntime = require('./utils/runtime.js'); var api = require("./api/api.js") //公共方法和变量 App({ editTabBar: function (taht,stoid,url) { var that=this; var th = taht //使用getCurrentPages可以获取当前加载中所有的页面对象的一个数组,数组最后一个就是当前页面。 var custum_data=this.globalData.custum_data; var isIpx=this.globalData.isIpx; var is_read=this.globalData.is_read; //var curPageArr = getCurrentPages(); //获取加载的页面 //var curPage = curPageArr[curPageArr.length - 1]; //获取当前页面的对象 var curPage=th; var pagePath = curPage.route; //当前页面url if (pagePath.indexOf('/') != 0) { pagePath = '/' + pagePath; } if(is_read){ if(custum_data){ that.set_custom_nav(custum_data,isIpx,pagePath,url,curPage); }else{ var tabBar = { 'iscustom':2, 'url':url, 'active':pagePath, 'isIpx':isIpx, cartGoodsNum:this.globalData.cartGoodsNum } curPage.setData({ tabBar:tabBar, isIpx:isIpx, cartGoodsNum:this.globalData.cartGoodsNum }) } }else{ var isIpx = false; wx.getSystemInfo({ success: (res) => { // console.log(res) let modelmes = res.model; //手机品牌 if (modelmes.indexOf('iPhone X') != -1) {  //XS,XR,XS MAX均可以适配,因为indexOf()会将包含'iPhone X'的字段都查出来 isIpx = true } //缓存住,下次就不调用接口了 that.globalData.isIpx=isIpx; getApp().request.promiseGet("/api/weshop/storeFooter/get/"+stoid, { }).then(res => { this.globalData.is_read=true; var e = res; if(e.data.code != -1){ that.globalData.custum_data=e.data.data; var itemList = that.globalData.custum_data.data; itemList = JSON.parse(itemList) if(!itemList[0].weappurl){ that.globalData.custum_data=null; var tabBar = { 'iscustom':2, 'url':url, 'active':pagePath, 'isIpx':isIpx, cartGoodsNum:this.globalData.cartGoodsNum } curPage.setData({ tabBar:tabBar, isIpx:isIpx, cartGoodsNum:this.globalData.cartGoodsNum }) }else{ that.set_custom_nav(e.data.data,isIpx,pagePath,url,curPage); } }else{ var tabBar = { 'iscustom':2, 'url':url, 'active':pagePath, 'isIpx':isIpx, cartGoodsNum:this.globalData.cartGoodsNum } curPage.setData({ tabBar:tabBar, isIpx:isIpx, cartGoodsNum:this.globalData.cartGoodsNum }) } }) }, }) } }, set_custom_nav(data,isIpx,pagePath,url,curPage){ //缓存住,下次就不调用接口了 var itemList = data.data; itemList = JSON.parse(itemList) //使用getCurrentPages可以获取当前加载中所有的页面对象的一个数组,数组最后一个就是当前页面。 for (var i = 0; i < itemList.length; i++) { itemList[i].active = false; if (itemList[i].weappurl == pagePath) { itemList[i].active = true; //根据页面地址设置当前页面状态 } } //如果当服务端返回的值有数据就渲染数据到页面 var tabBar = { 'iscustom':1, 'url':url, 'active':pagePath, 'list':itemList, 'backgroundColor': data.bkcolor, 'selectedColor' : data.fontcolor_sele, 'color':data.fontcolor, 'length':itemList.length, 'isIpx':isIpx, cartGoodsNum:this.globalData.cartGoodsNum } curPage.setData({ tabBar:tabBar, isIpx:isIpx, cartGoodsNum:this.globalData.cartGoodsNum }) }, globalData: { cartGoodsNum:0, //购物车总数量 isTabBar :false, isIpx: false, //适配IPhoneX url:"", setting: t, wechatUser: null, userInfo: null, config: null, //门店参数 config2: null, //门店配置 code: null, heigth:0, user_id:null,// 3674923,// 4379287,// null,// 5682068, buy_now:null, picklist:null, //门店列表 wuliuprice: null, //物流价格表 wuliu: null, //物流公司 baddr:null, mobile: null, //记录手机 getu:null, //记录会员信息 sessionKey: null,//记录会员信息 openid: null, //记录会员信息 to_group:null, //参团传递的数据 wxapp_buy_obj:null, //微信小程序购买的Object pk_store:null, //选择的门店 first_leader:null, //分享会员ID guide_id:null, //分享导购ID windowWidth:0, //整个窗体的宽度 room_id:null, //直播间分享的房间ID room_goods_id:null, //直播间分享的商品ID }, auth: o, request: a, onLaunch: function() { this.initExt(); var t = this.globalData.setting; //console.log(t) t.resourceUrl = t.url + "/template/mobile/rainbow"; var clientWidth = wx.getSystemInfoSync().windowWidth; var rpxR = 750 / clientWidth; var calc = wx.getSystemInfoSync().windowHeight * rpxR; this.globalData.heigth=calc; this.globalData.windowWidth=clientWidth; var app=this; if(!app.globalData.userInfo){ var user = wx.getStorageSync("userinfo"); if (user && user.user_id){ app.globalData.userInfo=wx.getStorageSync("userinfo"); app.globalData.user_id= app.globalData.userInfo.user_id; } } wx.getSystemInfo({ success: (res) => { // console.log(res) let modelmes = res.model; //手机品牌 console.log('手机品牌', modelmes) if (modelmes.indexOf('iPhone X') != -1) {  //XS,XR,XS MAX均可以适配,因为indexOf()会将包含'iPhone X'的字段都查出来 this.globalData.isIpx = true } }, }) }, //---初始化第三方---- initExt: function() { var tt=t; console.log("initExt"); console.log(11); var t = wx.getExtConfigSync(), o = this.globalData.setting; console.log(t); t.appName ? (o.appName = t.appName, o.stoid = t.stoid) : tt=1; }, //首页的第一次登录 getUserFir(t){ var s = this; if (o.isAuth()) "function" == typeof t && t(s.globalData.userInfo, s.globalData.wechatUser); else { if (!o.isAuth()) return o.wxLogin_fir(t); if (null == s.globalData.userInfo) { return o.wxLogin_fir(t); } } }, getUserInfo: function(t, n, i) { var s = this; if (o.isAuth()) "function" == typeof t && t(s.globalData.userInfo, s.globalData.wechatUser); else { if (!o.isAuth()) return o.auth(t); if (null == s.globalData.userInfo){ return o.auth(t); } /*--- a.get("/api/user/userInfo", { isShowLoading: void 0 === i || i, success: function(o) { s.globalData.userInfo = o.data.result, s.globalData.userInfo.head_pic = e.getFullUrl(s.globalData.userInfo.head_pic), "function" == typeof t && t(s.globalData.userInfo, s.globalData.wechatUser); } });--*/ } }, //----------------获取配置参数-------------------- getConfig: function(t, o) { var e = this; if(this.globalData.config==undefined) this.globalData.config=null; this.globalData.config ? "function" == typeof t && t(this.globalData.config) : e.request.get("/api/weshop/store/get/" + e.globalData.setting.stoid, { success: function(o) { console.log('getConfig'); if(o.data.code==0){ e.globalData.config = o.data.data, "function" == typeof t && t(e.globalData.config); } } }); }, //----------------获取配置参数-------------------- getConfig2: function (t, o) { var e = this; this.globalData.config2 && !o ? "function" == typeof t && t(this.globalData.config2) : a.get("/api/weshop/storeconfig/get/" + e.globalData.setting.stoid, { success: function (o) { console.log('getConfig2'); if (o.data.code == 0) { e.globalData.config2 = o.data.data, "function" == typeof t && t(e.globalData.config2); } } }); }, //----------------获取商家开启的物流-------------------- getwuliu: function (t, o){ var th = this, st = this.globalData.setting; this.globalData.wuliu && !o ? "function" == typeof t && t(this.globalData.wuliu) : a.get("/api/weshop/storeshipping/list", { data: { store_id: st.stoid, status: 1, pageSize:600 }, success: function (o) { console.log('getwuliu'); console.log(o); if (o.data.code == 0) { var arr = o.data.data.pageData; console.log(arr); arr.forEach(function(item,index){ arr[index].code = item.shipping_code; arr[index].name = item.shipping_name; }) th.globalData.wuliu = arr, "function" == typeof t && t(arr); } } }); }, //----------------获取物流价格表-------------------- getwuliuprice: function (t, o) { var e = this,th=e, st = this.globalData.setting; this.globalData.wuliuprice && !o ? "function" == typeof t && t(this.globalData.wuliuprice) : a.get("/api/weshop/shippingarea/list",{ data: { store_id: st.stoid,pageSize: 600 }, success: function (o) { console.log('getwuliuprice'); console.log(o); if (o.data.code == 0) { var arr=o.data.data.pageData; console.log(arr); if (arr.length>0){ for (var i = 0; i < arr.length;i++){ arr[i].code = arr[i].shipping_code; if (arr[i].json_config != "" && arr[i].json_config != undefined && arr[i].json_config != null ) arr[i].config = JSON.parse(arr[i].json_config); } } th.globalData.wuliuprice = o.data.data, "function" == typeof t && t(e.globalData.wuliuprice); } } }); }, //----------------设置立即购买数组-------------------- set_b_now: function (d) { this.globalData.buy_now=d;}, get_b_now: function () {return this.globalData.buy_now}, getPrevPageData: function(t) { void 0 === t && (t = 1); var o = getCurrentPages(); return o[o.length - t - 1].data; }, showLoading: function(t, o) { void 0 === o && (o = 1500), wx.showToast({ title: "加载中", icon: "loading", duration: o, mask: !0, complete: function() { "function" == typeof t && setTimeout(t, o); } }); }, showSuccess: function(t, o, a) { void 0 === a && (a = 1e3), wx.showToast({ title: t, icon: "success", duration: a, mask: !0, complete: function() { "function" == typeof o && setTimeout(o, a); } }); }, showWarning: function(t, o, a, e) { //var imghost=this.globalData.setting.imghost; !a && (a = 1500), void 0 === e && (e = !0), wx.showToast({ title: t, mask: e, duration: a, image:"/packageA/images/gt.png", complete: function() { "function" == typeof o && setTimeout(o, a); } }); }, confirmBox: function(t, o) { wx.showModal({ title: t, showCancel: !1, complete: function() { "function" == typeof o && o(); } }); }, //----------获取所有的门店------------ get_allsto(func){ var th=this; if (this.globalData.picklist!=null){ "function" == typeof func && func(th.globalData.picklist); }else{ th.request.get("/api/weshop/pickup/page", { data: { store_id: th.globalData.setting.stoid, pageSize: 600 }, success: function (da) { //设置门店 //th.setData({ allsto: da.data.data.pageData }); th.globalData.picklist = da.data.data.pageData; "function" == typeof func && func(th.globalData.picklist); } }) } }, //同步化,在调用的时候要await async get_isbuy() { var th=this; await api.check_isbuy({ store_id: t.stoid, type: 5 }).then(res=>{ var o=res; if (o.data.code == 0) { var ob = { isout: 0, isbuy: 1 }; var arr = o.data.data.pageData; var isbuy = 0; //----如果数组不为空---- if (arr.length > 0) { arr.forEach(function (val, ind) { if (val.is_sy == 0 && val.type == 5) { isbuy = 1; var now = ut.gettimestamp(); if (now > val.end_time) ob.isout = 1; return false; } }) } ob.isbuy = isbuy; th.globalData.wxapp_buy_obj=ob; } }) }, //--同步化,在调用的时候要await,获取商家config-- async getConfig_ays(){ if(this.globalData.config!=null) return false; var th=this; await api.get_config(this.globalData.setting.stoid).then(res=>{ var o=res; if(o.data.code==0){ th.globalData.config = o.data.data; } }) }, //----智能跳转,判断 非tabBar,tabBar页面的跳转---- goto:function (url) { var arr=getCurrentPages(); if(arr.length>8){ arr.splice(0, 2); } var arr_tabbar=["/pages/index/index/index","/pages/goods/categoryList/categoryList", "/pages/goods/categoryList/categoryList?type=2", "/pages/goods/categoryList/categoryList?type=1", "/pages/cart/cart/cart","/pages/user/index/index"]; if(arr_tabbar.indexOf(url)!=-1){ if(url.indexOf("categoryList?type=1")!=-1) this.globalData.cat_type=1; if(url.indexOf("categoryList?type=2")!=-1) this.globalData.cat_type=2; if (getCurrentPages().length > 9) { wx.redirectTo({url: url,}) //跳到tabbar页 }else{ wx.navigateTo({url: url,}) //跳到tabbar页 } }else{ if (getCurrentPages().length > 9) { wx.redirectTo({url: url,}) //跳到非tabbar页 }else{ wx.navigateTo({url: url,}) //跳到tabbar页 } } //wx.navigateTo({ url: url, }) //跳到非tabbar页 }, //显示提示,word提示内容,type 0失败,提示 1成功 my_warnning(word,type,that,width){ var warn = that.selectComponent("#warn"); //组件的id warn.open(word,type,width); return 1; }, //获取会员门店 get_user_store:function (func) { var th=this; this.getConfig2(function (conf) { //---空会员的情况--- if(!th.globalData.userInfo){ return func(null); } if(!th.globalData.pk_store){ var pick_id=0; //先找一个会员是否有设置默认的地址 if(th.globalData.userInfo.def_pickup_id){ pick_id= th.globalData.userInfo.def_pickup_id } //查找会员的注册的地址 else if(th.globalData.userInfo.pickup_id){ //--购买门店是否默认登记门店-- if(conf.switch_list){ var t_swi=JSON.parse(conf.switch_list); if(t_swi.is_regstores){ pick_id= th.globalData.userInfo.pickup_id } } } //---如果会员没有设置默认门店,同时也没有再注册的时候选择门店-- if(pick_id==0) return func(null); //获取用户注册时候的门店,这个门店不能关闭,同时这个门店的分类不能关闭 th.request.get("/api/weshop/pickup/get/"+os.stoid+"/"+pick_id,{ data:{}, success:function (res) { th.globalData.pk_store=null; if(res.data.code==0 && res.data.data && res.data.data.isstop==0){ if(res.data.data.category_id){ th.request.get( "/api/weshop/storagecategory/get/"+os.stoid+"/"+res.data.data.category_id, { data: {}, success: function (ee) { if(ee.data.code==0 && ee.data.data ){ if(ee.data.data.is_show==1){ th.globalData.pk_store = res.data.data; func(th.globalData.pk_store); }else{ func(null); } }else{ func(null); } } }) }else{ th.globalData.pk_store = res.data.data; func(th.globalData.pk_store); } }else{ func(null); } } }) }else{ func(th.globalData.pk_store); } }) }, //-------获取购物车数量---------- requestCardNum: function(th) { if(!this.globalData.user_id) return false; this.request.get("/api/weshop/cart/page", { data: { store_id: this.globalData.setting.stoid, user_id: this.globalData.user_id, state:0, is_gift:0 }, success: function(e) { var num = 0; if(e.data.data && e.data.data.pageData) { for (var i = 0; i < e.data.data.pageData.length; i++) { num += e.data.data.pageData[i].goods_num; } } /*--- wx.setTabBarBadge({ //tabbar右上角添加文本 index: 2, ////tabbar下标 text: '' + num //显示的内容 });--*/ th.setData({['tabBar.cartGoodsNum']:num}); } }); }, //------定时等待某个值,有值才进行运算-------- waitfor:function(page,key,pop_value,func){ var n=0; if(!page.data[key]){ page.data[key]=setInterval(function(){ console.log(page.data[key]);n++; if(pop_value) { clearInterval(page.data[key]); func(); } if(n>15) clearInterval(page.data[key]); },1000); } }, //------定时等待某个值,有值才进行运算-------- waitfor2:function(page,key,pop_value_key,func){ var n=0; if(!page.data[key]){ page.data[key]=setInterval(function(){ console.log(page.data[key]);n++; if(page.data[pop_value_key] && Object.keys(page.data[pop_value_key]).length>0) { clearInterval(page.data[key]); func(); } if(n>15){ clearInterval(page.data[key]); func(); } },1000); } }, //清空登录时候缓存的值 onHide:function () { this.globalData.is_test=0; this.globalData.guide_id=null; //导购清空 this.globalData.first_leader=null; //分享的会员清空 this.globalData.wuliu=null; //关闭要把物流清空 this.globalData.room_id=null; //关闭要把房间号关闭 this.globalData.room_goods_id=null; //关闭要把物流清空 this.globalData.config2=null; //清除config2的缓存 this.globalData.config=null; //清除config的缓存 } });