|
|
//app.js
|
|
|
function splitQueryParams(params, key) {
|
|
|
let strParams = '';
|
|
|
if (Object.keys(params).length <= 0) return strParams;
|
|
|
for (let i in params) {
|
|
|
if(params[i] instanceof Object) {
|
|
|
let k = key ? `${key}.${i}` : i;
|
|
|
strParams += splitQueryParams(params[i], k);
|
|
|
} else if(params[i] instanceof Array) {
|
|
|
for(let j = 0; j < params[i].length; j++) {
|
|
|
let k = key ? `${key}[${j}].${i}` : i;
|
|
|
strParams += splitQueryParams(params[i][j], k);
|
|
|
}
|
|
|
} else {
|
|
|
let k = key ? `${key}.${i}` : i;
|
|
|
strParams += `&${k}=${params[i]}`
|
|
|
}
|
|
|
}
|
|
|
return strParams;
|
|
|
}
|
|
|
|
|
|
! function () {
|
|
|
//获取页面配置并进行页面分享配置
|
|
|
var PageTmp = Page
|
|
|
Page = function (pageConfig) {
|
|
|
//1. 获取当前页面路由
|
|
|
let routerUrl = ""
|
|
|
wx.onAppRoute(function (res) {
|
|
|
//app.js中需要在隐式路由中才能用getCurrentPages()获取到页面路由
|
|
|
let pages = getCurrentPages(),
|
|
|
view = pages[pages.length - 1];
|
|
|
routerUrl = view.route
|
|
|
})
|
|
|
|
|
|
//2. 全局开启分享配置
|
|
|
pageConfig = Object.assign({
|
|
|
onShareAppMessage: function () {
|
|
|
//根据不同路由设置不同分享内容(微信小程序分享自带参数,如非特例,不需配置分享路径)
|
|
|
let shareInfo={}
|
|
|
let noGlobalSharePages=["index/index"]
|
|
|
//全局分享配置,如部分页面需要页面默认分享或自定义分享可以单独判断处理
|
|
|
if (!routerUrl.includes(noGlobalSharePages)){
|
|
|
shareInfo = {
|
|
|
title: "硕为思汽车智能洞察",
|
|
|
// imageUrl: wx.getStorageSync("shareUrl")
|
|
|
}
|
|
|
}
|
|
|
return shareInfo
|
|
|
}
|
|
|
}, pageConfig);
|
|
|
// 配置页面模板
|
|
|
PageTmp(pageConfig);
|
|
|
}
|
|
|
}();
|
|
|
App({
|
|
|
onLaunch: function () {
|
|
|
// 展示本地存储能力
|
|
|
var logs = wx.getStorageSync('logs') || []
|
|
|
logs.unshift(Date.now())
|
|
|
wx.setStorageSync('logs', logs)
|
|
|
const systemInfo = wx.getSystemInfoSync(); //获取系统信息
|
|
|
const menuInfo = wx.getMenuButtonBoundingClientRect(); // 获取胶囊按钮的信息
|
|
|
this.globalData.menuHeight = menuInfo.height; // 获取胶囊按钮的高
|
|
|
this.globalData.statusBarHeight = systemInfo.statusBarHeight; // 获取状态栏的高
|
|
|
this.globalData.menuRight = menuInfo.right; // 获取胶囊按钮的距离屏幕最右边的距离(此处用于设置导航栏左侧距离屏幕的距离)
|
|
|
this.globalData.navBarHeight = (menuInfo.top - systemInfo.statusBarHeight) * 2 + menuInfo.height; // 计算出导航栏的高度
|
|
|
},
|
|
|
globalData: {
|
|
|
imageUrl: "https://cdn.sws010.com/wxapp/images",
|
|
|
navBarHeight: 0, // 导航栏高度
|
|
|
menuHeight: 0, //胶囊按钮 高度
|
|
|
statusBarHeight: 0, //状态栏高度
|
|
|
menuRight: 0, //胶囊按钮 距离屏幕右边的距离
|
|
|
request: function (prarms, callback) {
|
|
|
let obj = {
|
|
|
version: "1",
|
|
|
...prarms
|
|
|
}
|
|
|
return new Promise((resolve, reject) => {
|
|
|
wx.request({
|
|
|
url: 'https://cloud.sws010.com/api/v7.ashx',
|
|
|
header: {
|
|
|
'content-type': 'application/x-www-form-urlencoded' //修改此处即可
|
|
|
},
|
|
|
data: splitQueryParams(obj),
|
|
|
method: 'post',
|
|
|
success: function (res) {
|
|
|
//接口实际返回的内容在res.data中
|
|
|
if (res.data.Code == 1) {
|
|
|
if (typeof callback === 'function') {
|
|
|
callback(res.data);
|
|
|
}
|
|
|
resolve(res.data.Data);
|
|
|
} else {
|
|
|
reject(res.data)
|
|
|
}
|
|
|
},
|
|
|
fail: function (err) {
|
|
|
reject(err);
|
|
|
}
|
|
|
})
|
|
|
})
|
|
|
}
|
|
|
},
|
|
|
|
|
|
}) |