js/pages/zhy/component/comFooter/comFooter.vue
if (url == '/pages/define/define' || url == '/pages/diyhome/diyhome') {
// this.setData({ show: true });
if(this.app_type != "app" || !wx.isTabBarWithUrl(url)){
this.setData({ show: true });
}
} else {
if(this.app_type != "app" || !wx.isTabBarWithUrl(url)){
this.setData({
[`nav[${ i }].choose`]: true,
show: true
});
}
}
js/pages/common/publish.js
import wx from './wx';
import app from './../app.js'
import siteinfo from './../siteinfo'
var publish = {
data: function () {
return {
app_type: 'app',
route: '',
curHomeBackTriggerTimes: 1,
maxHomeBackTriggerTimes: 2,
systemPullDownRefreshing: false,
isAndroid: false,
w_loading_show: false,
w_loading_tile: "加载中",
}
},
created: function () {
this.data = this.$data;
this.isAndroid = wx.isAndroid();
this.curHomeBackTriggerTimes = 1;
this.route = wx._getCurrentPath().substr(1);
this.__route__ = this.route;
app.setCurrentInstance(this);
wx.removeStorageSync("w_system_hide_home_button");
wx.setNavigationBarColor({
frontColor: siteinfo.window.navigationBarTextStyle == "black" ? "#000000" : "#ffffff",
backgroundColor: siteinfo.window.navigationBarBackgroundColor
})
var currentVersion = WXEnvironment.appVersion;
var minVersion = "1.0.0";
if (wx._compareVersion(currentVersion, minVersion) != -1) {
var w_system_navigation_bar = wx.getStorageSync("w_system_navigation_bar");
if (w_system_navigation_bar == 1) {
wx.setHomeIcon();
}
if (wx.isAndroid()) {
this.androidFinishApp();
}
}
this.handleTabBar();
},
computed: {
page_style: function () {
if (this.isTabBar()) {
var statusBarHeight = weex.config.eros.statusBarHeight ? weex.config.eros.statusBarHeight : 40;
return {paddingTop: statusBarHeight};
}
return {};
},
webview_style: function () {
return {
position: "fixed",
left: 0,
right: 0,
top: 0,
bottom: 0,
};
}
},
methods: {
isTabBar() {
var getHomePage = weex.isRegisteredModule('siteinfo', 'getHomePage');
if(!getHomePage){
return this.isHomePage();
}
var current_page = weex.config.bundleUrl;
var pos = current_page.indexOf("pages");
current_page = "/" + current_page.substr(pos);
var _tabBarInfo = wx.getStorageSync('w_system_tabbar');
if (_tabBarInfo.native_tabbar) {
var list = _tabBarInfo.tabInfo.list;
for (var i = 0; i < list.length; ++i) {
if (current_page == list[i].pagePath) {
return true;
}
}
}else{
return this.isHomePage();
}
return false;
},
handleTabBar() {
var getHomePage = weex.isRegisteredModule('siteinfo', 'getHomePage');
if(!getHomePage) return;
if (this.isHomePage()) {
wx.getTabBarInfo(function (tabBarInfo) {
if (tabBarInfo === true) return;
if (tabBarInfo.native_tabbar) {
var tabbar = weex.requireModule('bmTabbar');
tabbar.setInfo(tabBarInfo.tabInfo);
var router = weex.requireModule('bmRouter');
router.setHomePage("tabBar");
} else {
//如果当前首页是tabBar,则切换至原有模式
if (wx.currentHomePageIsTabBar()) {
var router = weex.requireModule('bmRouter');
var home = "/pages/" + siteinfo.app_set.setting.home + ".js";
router.setHomePage(home);
}
}
})
}
},
showLoading(data) {
this.w_loading_tile = data.title;
this.w_loading_show = true;
if (data.success) data.success();
if (data.complete) data.complete();
},
hideLoading(data) {
this.w_loading_show = false;
if(data){
if (data.success) data.success();
if (data.complete) data.complete();
}
},
handleBack(){
var current = wx._getCurrentPath().substr(1).replace(/\//g, "_");
var prev = wx.getStorageSync("w_system_prev_page_flag");
if(prev != "" && current != prev){
wx._decPageLevel();
}
},
doClickStop(e, method) {
e.stopPropagation();
this[method](e);
},
weOnPageScroll(e) {
if (this.onPageScroll) this.onPageScroll({scrollTop: Math.abs(e.contentOffset.y)});
},
onSystemPullDownRefresh() {
this.startSystemPullDownRefresh();
},
startSystemPullDownRefresh() {
this.systemPullDownRefreshing = true;
if (this.onPullDownRefresh) {
this.onPullDownRefresh();
}
},
stopSystemPullDownRefresh() {
setTimeout(() => {
this.systemPullDownRefreshing = false;
}, 100)
},
isHomePage() {
var current_page = weex.config.bundleUrl;
var pos = current_page.indexOf("pages");
current_page = "/" + current_page.substr(pos);
var home = "/pages/" + siteinfo.app_set.setting.home + ".js";
return current_page == home;
},
androidFinishApp() {
var that = this;
const globalEvent = weex.requireModule('globalEvent');
globalEvent.addEventListener('homeBack', options => {
//wx.alert("homeBack");
if (this.curHomeBackTriggerTimes === this.maxHomeBackTriggerTimes) {
this.$router.finish();
} else {
this.curHomeBackTriggerTimes++
wx.showToast({title: "再按一次退出APP"});
setTimeout(function () {
that.curHomeBackTriggerTimes = 1;
}, 3000)
}
})
},
setData: function (obj) {
let that = this;
let keys = [];
let val, data;
Object.keys(obj).forEach(function (key) {
if (obj == null) return;
keys = key.split('.');
val = obj[key];
data = that.$data;
keys.forEach(function (key2, index) {
if (key2.indexOf("[") != -1) {
const arr = key2.replace(/\]\[|\]\.|\[/g, '.').replace(/\]/g, '').split('.');
for (let i = 0; i < arr.length; i++) {
if (i + 1 == arr.length && index + 1 == keys.length) {
if (val != null) {
that.$set(data, arr[i], val);
}
}
data = data[arr[i]];
}
} else {
if (index + 1 == keys.length) {
if (val != null) {
that.$set(data, key2, val);
}
} else {
if (!data[key2]) {
if (val != null) {
that.$set(data, key2, {});
}
}
}
data = data[key2];
}
})
});
},
getRouterParams: function () {
return wx.getStorageSync("router_last_params") || {};
},
triggerEvent(event, args) {
var value = {detail: args};
return this.$emit(event, value);
},
getApp() {
return app;
},
bindEventBus() {
let prevPage = this;
this.$event.on(wx._getCurrentPath().substr(1).replace(/\//g, "_"), function (params) {
prevPage.runPrevPageCode(params, prevPage);
}) // 监听事件
},
setPrevData(data) {
let pages = wx.getCurrentPages();
let prevPage = pages[pages.length - 2];
var _code = {
method: 'setData',
param: data
};
this.$event.emit(prevPage, _code);
},
doPrevMethod(fun, ...arg) {
let pages = wx.getCurrentPages();
let prevPage = pages[pages.length - 2];
var _code = {
method: fun,
param: JSON.stringify(arg),
};
this.$event.emit(prevPage, _code);
},
runPrevPageCode(params, prevPage) {
var method = params.method;
switch (method) {
case "setData": {
if (prevPage && params.param) prevPage.setData(params.param);
break;
}
default: {
var code = JSON.parse(params.param);
if (prevPage && prevPage[method]) prevPage[method](...code);
break;
}
}
},
wChooseLocation(obj) {
this.$event.once("choose_location_event", function (params) {
wx.navigateBack({delta: 1});
// wx.setStorageSync("system_choose_location", JSON.parse(params));
if (obj.success != undefined) {
return obj.success(JSON.parse(params));
}
}) // 监听事件
var router = weex.requireModule('bmRouter');
var options = {};
options.navShow = true;
options.statusBarStyle = 'default';
options.canBack = true;
// options.backCallback = obj.success;
options.params = {
latitude: obj.latitude,
longitude: obj.longitude,
};
var currentPageInfo = {
url: '/pages/system/chooselocation.js',
title: '选择地理位置',
};
wx.setStorageSync("router_last_params", options.params);
let preOptions = {
url: currentPageInfo.url,
type: options.type || 'PUSH',
params: options.params || {},
canBack: options.canBack != undefined ? options.canBack : false,
gesBack: options.gesBack != undefined ? options.gesBack : false,
navShow: options.navShow != undefined ? options.navShow : !!currentPageInfo.title,
navTitle: options.navTitle != undefined ? options.navTitle : currentPageInfo.title,
// isRunBackCallback: _isFunction(options.backCallback)
}
if (!!options.statusBarStyle) preOptions.statusBarStyle = options.statusBarStyle
//alert(preOptions);
router.open(preOptions, (data) => {
})
}
}
}
module.exports = {
publish
}
社交电商后台
public function appTabTar()
{
global $_W;
$_W['return']=1;
$system=$this->systemSet();
$nav=$this->navIcon();
$index_arr = ["首页","商家列表","会员卡","我的","云客"];
$img_root = "https://zhyframe.fzh.fun/attachment/";
$lists = [];
foreach ($nav as $index => $item) {
if (in_array($item["title"], $index_arr)) {
$lists[] = [
"pagePath" => $item["url"],
"text" => $item["title"],
"icon" => $img_root . $item["clickago_icon"],
"selectedIcon" => $img_root . $item["clickafter_icon"],
];
}
}
$tabInfo = [
'color' => $system["bottom_fontcolor_a"],
'selectedColor' => $system["bottom_fontcolor_b"],
'backgroundColor' => $system["bottom_color"],
'list' => $lists,
];
$arr = [
"native" => true,
"tabInfo" => $tabInfo
];
echo json_encode($arr);
exit;
//exit($arr);
}