You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

106 lines
4.1 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

//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);
}
})
})
}
},
})