|
|
|
|
//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, //胶囊按钮 距离屏幕右边的距离
|
|
|
|
|
setStorage: function(key, value, hour = 0) {
|
|
|
|
|
let time = new Date();
|
|
|
|
|
wx.setStorageSync(key, {value: value, time: hour, setTime: time.getTime()})
|
|
|
|
|
},
|
|
|
|
|
getStorage: function(key) {
|
|
|
|
|
let val = wx.getStorageSync(key);
|
|
|
|
|
if(!val) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
if(!val.time || val.time == 0) {
|
|
|
|
|
return val.value;
|
|
|
|
|
} else {
|
|
|
|
|
let setTime = val.setTime;
|
|
|
|
|
let currentTime = new Date();
|
|
|
|
|
if(currentTime.getTime() - setTime > val.time * 3600000) {
|
|
|
|
|
return false;
|
|
|
|
|
} else {
|
|
|
|
|
return val.value;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
request: function (prarms, callback) {
|
|
|
|
|
let obj = {
|
|
|
|
|
version: "1.1.3",
|
|
|
|
|
...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 if (res.data.Code == -99) {
|
|
|
|
|
wx.showModal({
|
|
|
|
|
title: '提示',
|
|
|
|
|
content: "账号已过期,退出账号并清除缓存数据",
|
|
|
|
|
success: function (res) {
|
|
|
|
|
if (res.confirm) {
|
|
|
|
|
wx.clearStorage()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
} else if (res.data.Code == -2) {
|
|
|
|
|
wx.navigateTo({
|
|
|
|
|
url: "/pages/mine/pages/bindUser/index?isHome=1",
|
|
|
|
|
})
|
|
|
|
|
this.getTabBar().init();
|
|
|
|
|
} else {
|
|
|
|
|
reject(res.data)
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
fail: function (err) {
|
|
|
|
|
reject(err);
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
requestImg: function (data) {
|
|
|
|
|
let obj = {
|
|
|
|
|
version: '1.1.2',
|
|
|
|
|
data
|
|
|
|
|
};
|
|
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
|
wx.request({
|
|
|
|
|
url: 'https://saas.kaidalai.cn/word_cloud/wordCloud/getWordCloud',
|
|
|
|
|
data: obj,
|
|
|
|
|
method: 'post',
|
|
|
|
|
success: function (res) {
|
|
|
|
|
resolve(res)
|
|
|
|
|
},
|
|
|
|
|
fail: function (err) {
|
|
|
|
|
reject(err);
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
// 版本更新
|
|
|
|
|
autoUpdate: function () {
|
|
|
|
|
var self = this // 获取小程序更新机制兼容
|
|
|
|
|
if (wx.canIUse('getUpdateManager')) {
|
|
|
|
|
const updateManager = wx.getUpdateManager()
|
|
|
|
|
updateManager.onCheckForUpdate(function (res) {
|
|
|
|
|
// 请求完新版本信息的回调
|
|
|
|
|
if (res.hasUpdate) {
|
|
|
|
|
updateManager.onUpdateReady(function () {
|
|
|
|
|
wx.showModal({
|
|
|
|
|
title: '更新提示',
|
|
|
|
|
content: '新版本已经准备好,是否重启应用?',
|
|
|
|
|
success: function (res) {
|
|
|
|
|
if (res.confirm) {
|
|
|
|
|
// 新的版本已经下载好,调用applyUpdate应用新版本并重启
|
|
|
|
|
updateManager.applyUpdate();
|
|
|
|
|
} else if (res.cancel) {
|
|
|
|
|
wx.showModal({
|
|
|
|
|
title: '温馨提示~',
|
|
|
|
|
content: '本次版本更新涉及到新的功能添加,旧版本无法正常访问的哦~',
|
|
|
|
|
showCancel: false, //隐藏取消按钮
|
|
|
|
|
confirmText: "确定更新", //只保留确定更新按钮
|
|
|
|
|
success: function (res) {
|
|
|
|
|
if (res.confirm) {
|
|
|
|
|
//下载新版本,并重新应用
|
|
|
|
|
self.downLoadAndUpdate(updateManager)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
updateManager.onUpdateFailed(function () {
|
|
|
|
|
// 新的版本下载失败
|
|
|
|
|
wx.showModal({
|
|
|
|
|
title: '已经有新版本了哟~',
|
|
|
|
|
content: '新版本已经上线啦~,请您删除当前小程序,重新搜索打开哟~'
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
// 此时微信版本太低(一般而言版本都是支持的)
|
|
|
|
|
wx.showModal({
|
|
|
|
|
title: '溫馨提示',
|
|
|
|
|
content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。'
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
/**
|
|
|
|
|
* 下载小程序新版本并重启应用
|
|
|
|
|
*/
|
|
|
|
|
downLoadAndUpdate: function (updateManager) {
|
|
|
|
|
var self = this
|
|
|
|
|
wx.showLoading();
|
|
|
|
|
//静默下载更新小程序新版本
|
|
|
|
|
updateManager.onUpdateReady(function () {
|
|
|
|
|
wx.hideLoading()
|
|
|
|
|
//新的版本已经下载好,调用 applyUpdate 应用新版本并重启
|
|
|
|
|
updateManager.applyUpdate()
|
|
|
|
|
})
|
|
|
|
|
updateManager.onUpdateFailed(function () {
|
|
|
|
|
// 新的版本下载失败
|
|
|
|
|
wx.showModal({
|
|
|
|
|
title: '已经有新版本了哟~',
|
|
|
|
|
content: '新版本已经上线啦~,请您删除当前小程序,重新搜索打开哟~',
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
onShow() {
|
|
|
|
|
this.autoUpdate()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
})
|