App({
onLaunch: function() {
wx.hideTabBar();
},
onShow: function() {},
onHide: function() {},
onError: function(t) {},
init_app: function() {
var e = this;
return wx.getSystemInfo({
success: function(t) {
-1 < (e.globalData.sysData = t).model.indexOf("iPhone X") && (e.globalData.isIphoneX = !0);
}
}), new Promise(function(a, t) {
wx.getStorageSync("uid") ? e.http.get("index.get_common_set", {
showLoading: !1
}, 60).then(function(t) {
e.globalData.basic_set = t.data.basic_set, e.globalData.tag_set = t.data.tag_set,
a();
}) : wx.login({
success: function(t) {
e.http.get("index.get_openid", {
code: t.code
}).then(function(t) {
t.data.uid && t.data.openid ? (wx.setStorageSync("uid", t.data.uid), wx.setStorageSync("openid", t.data.openid),
e.http.get("index.get_common_set", {
showLoading: !1
}, 500).then(function(t) {
e.globalData.basic_set = t.data.basic_set, e.globalData.tag_set = t.data.tag_set,
a();
})) : wx.showModal({
title: "错误",
content: "配置异常,请联系管理员检查后台配置",
success: function(t) {
wx.switchTab({
url: "/weike_zf/pages/index/index"
});
}
});
});
}
});
});
},
set_navigation_bar: function() {
wx.setNavigationBarColor({
frontColor: "#ffffff",
backgroundColor: this.globalData.basic_set.theme_color
});
},
globalData: {
sysData: {},
isIphoneX: !1,
user_info: {},
tarbars: [],
basic_set: {},
wx_xcx_set: {}
},
siteInfo: require("siteinfo.js"),
http: require("./weike_zf/util/request.js")
});
这个怎么修改
同步异步的问题
页面调用set_navigation_bar时
你的init_app还没有请求到数据
写在app.js最下面
如:
App({....})
// 写在App最外面的下边
let t = getApp()
let { set_navigation_bar } = t
t.set_navigation_bar = ()=>{ console.warn('function `set_navigation_bar` has been override in app.js') }
Object.defineProperty(t.globalData, 'basic_set', {
configurable: false,
enumerable: true,
set(v){
t.basic_set = v
set_navigation_bar()
},
get(){
return t.basic_set
}
})