|
|
|
|
//app.js
|
|
|
|
|
import commonApi from "./utils/https/common"
|
|
|
|
|
App({
|
|
|
|
|
onLaunch: function (options) {
|
|
|
|
|
// 用异步处理
|
|
|
|
|
if (options.query.authCode) {
|
|
|
|
|
//wx.setStorageSync('authCode', options.query.authCode)
|
|
|
|
|
wx.setStorage('authCode', options.query.authCode)
|
|
|
|
|
} else {
|
|
|
|
|
//wx.removeStorageSync('authCode')
|
|
|
|
|
wx.removeStorage('authCode')
|
|
|
|
|
}
|
|
|
|
|
this.updateApp()
|
|
|
|
|
|
|
|
|
|
this.globalData.appLaunchFlag = false
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
onShow: function () {
|
|
|
|
|
// onshow 从后台打开会多次执行 用flag判断
|
|
|
|
|
console.log("执行App onShow")
|
|
|
|
|
if (this.globalData.appLaunchFlag) return
|
|
|
|
|
console.log("执行App onShow2")
|
|
|
|
|
this.globalData.appLaunchFlag = true
|
|
|
|
|
// 缓存systemInfo
|
|
|
|
|
let systemInfo = wx.getSystemInfoSync();
|
|
|
|
|
this.globalData.safeBottom = systemInfo.safeArea ? (systemInfo.safeArea.bottom - systemInfo.safeArea.height) : 0
|
|
|
|
|
wx.setStorage('systemInfo', systemInfo)
|
|
|
|
|
let rect = wx.getMenuButtonBoundingClientRect();
|
|
|
|
|
wx.setStorage("rect", rect)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 获取uuid
|
|
|
|
|
commonApi._post("browse/get_uuid", {}).then(res => {
|
|
|
|
|
// console.log('uuid',res);
|
|
|
|
|
this.globalData.uuid = res.data.uuid;
|
|
|
|
|
wx.setStorageSync('uuid', res.data.uuid)
|
|
|
|
|
})
|
|
|
|
|
// 获取前端配置文件
|
|
|
|
|
commonApi._post("pbservice/Other/getClientConfig", {unique_key: "wechatxcx"}).then(res => {
|
|
|
|
|
let data = JSON.parse(res.data);
|
|
|
|
|
data.isTest = data.isTest156? true : false;
|
|
|
|
|
data.indexSeason = null
|
|
|
|
|
this.globalData.configJson = data
|
|
|
|
|
}).then(() => {
|
|
|
|
|
// 获取ui配置文件 在首页调用
|
|
|
|
|
// commonApi._post("adv/get_home_ui", {type_id: 3}).then(res => {
|
|
|
|
|
// let obj = {}
|
|
|
|
|
// res.data.content.forEach(item => {
|
|
|
|
|
// obj[item.id] = item.image
|
|
|
|
|
// });
|
|
|
|
|
// this.globalData.configJson.indexSeason = obj
|
|
|
|
|
// this.globalData.loadIndexSeason = true
|
|
|
|
|
// })
|
|
|
|
|
})
|
|
|
|
|
this.getShareCategoryId()
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 更新提示
|
|
|
|
|
updateApp: function () {
|
|
|
|
|
const updateManager = wx.getUpdateManager()
|
|
|
|
|
updateManager.onCheckForUpdate(function (res) {
|
|
|
|
|
// 请求完新版本信息的回调
|
|
|
|
|
if (res.hasUpdate) {
|
|
|
|
|
wx.showLoading({
|
|
|
|
|
title: '更新下载中...',
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
updateManager.onUpdateReady(function () {
|
|
|
|
|
wx.hideLoading();
|
|
|
|
|
wx.showModal({
|
|
|
|
|
title: '更新提示',
|
|
|
|
|
content: '新版本已经准备好,是否重启应用?',
|
|
|
|
|
success: function (res) {
|
|
|
|
|
if (res.confirm) {
|
|
|
|
|
// 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
|
|
|
|
|
updateManager.applyUpdate()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
})
|
|
|
|
|
updateManager.onUpdateFailed(function () {
|
|
|
|
|
// 新的版本下载失败
|
|
|
|
|
wx.hideLoading();
|
|
|
|
|
wx.showToast({
|
|
|
|
|
title: '下载失败...',
|
|
|
|
|
icon: "none"
|
|
|
|
|
});
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
getShareCategoryId: function () {
|
|
|
|
|
commonApi._post("share/getShareList", {}).then(res => {
|
|
|
|
|
let CategoryIds = {}
|
|
|
|
|
res.data.map(item => {
|
|
|
|
|
CategoryIds[item.mini] = item.id;
|
|
|
|
|
})
|
|
|
|
|
this.globalData.CategoryIds = CategoryIds;
|
|
|
|
|
this.overShare();
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
//app.js
|
|
|
|
|
convertHtmlToText: function (inputText) {
|
|
|
|
|
var returnText = "" + inputText;
|
|
|
|
|
returnText = returnText.replace(/<\/div>/ig, '\r\n');
|
|
|
|
|
returnText = returnText.replace(/<\/li>/ig, '\r\n');
|
|
|
|
|
returnText = returnText.replace(/<li>/ig, ' * ');
|
|
|
|
|
returnText = returnText.replace(/<\/ul>/ig, '\r\n');
|
|
|
|
|
//-- remove BR tags and replace them with line break
|
|
|
|
|
returnText = returnText.replace(/<br\s*[\/]?>/g, "\r\n");
|
|
|
|
|
|
|
|
|
|
//-- remove P and A tags but preserve what's inside of them
|
|
|
|
|
returnText = returnText.replace(/<p.*?>/g, "\r\n");
|
|
|
|
|
returnText = returnText.replace(/<a.*href="(.*?)".*>(.*?)<\/a>/g, " $2 ($1)");
|
|
|
|
|
|
|
|
|
|
//-- remove all inside SCRIPT and STYLE tags
|
|
|
|
|
returnText = returnText.replace(/<script.*>[\w\W]{1,}(.*?)[\w\W]{1,}<\/script>/g, "");
|
|
|
|
|
returnText = returnText.replace(/<style.*>[\w\W]{1,}(.*?)[\w\W]{1,}<\/style>/g, "");
|
|
|
|
|
//-- remove all else
|
|
|
|
|
returnText = returnText.replace(/<(?:.|\s)*?>/g, "");
|
|
|
|
|
|
|
|
|
|
//-- get rid of more than 2 multiple line breaks:
|
|
|
|
|
returnText = returnText.replace(/(?:(?:\r\n|\r|\n)\s*){2,}/g, "\r\n\r\n");
|
|
|
|
|
|
|
|
|
|
//-- get rid of more than 2 spaces:
|
|
|
|
|
returnText = returnText.replace(/ +(?= )/g, '');
|
|
|
|
|
|
|
|
|
|
//-- get rid of html-encoded characters:
|
|
|
|
|
returnText = returnText.replace(/ /g, " ");
|
|
|
|
|
returnText = returnText.replace(/&/g, "&");
|
|
|
|
|
returnText = returnText.replace(/"/g, '\'');
|
|
|
|
|
returnText = returnText.replace(/</g, '<');
|
|
|
|
|
returnText = returnText.replace(/>/g, '>');
|
|
|
|
|
// returnText = returnText.replace(/img/g, 'image');
|
|
|
|
|
|
|
|
|
|
return returnText;
|
|
|
|
|
},
|
|
|
|
|
//重写分享方法
|
|
|
|
|
overShare: function () {
|
|
|
|
|
//监听路由切换
|
|
|
|
|
//间接实现全局设置分享内容
|
|
|
|
|
let that = this;
|
|
|
|
|
wx.onAppRoute(function (res) {
|
|
|
|
|
//获取加载的页面
|
|
|
|
|
let pages = getCurrentPages(),
|
|
|
|
|
//获取当前页面的对象
|
|
|
|
|
view = pages[pages.length - 1];
|
|
|
|
|
if (view && view.options && view.options.category_id) {
|
|
|
|
|
that.globalData.category_id = view.options.category_id;
|
|
|
|
|
commonApi._post("share/share", {
|
|
|
|
|
id: view.options.category_id,
|
|
|
|
|
url: view.route
|
|
|
|
|
}).then(res => {
|
|
|
|
|
console.log(res)
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
let category_id = that.globalData.CategoryIds[view.route] || null;
|
|
|
|
|
if (view.route.indexOf('bike/index') != -1 && !category_id) {
|
|
|
|
|
category_id = that.globalData.CategoryIds[view.route + '?type=' + view.options.type]
|
|
|
|
|
}
|
|
|
|
|
if (category_id) {
|
|
|
|
|
view.options = view.options ? view.options : {};
|
|
|
|
|
let str = [];
|
|
|
|
|
for (let i in view.options) {
|
|
|
|
|
str.push(i + '=' + view.options[i])
|
|
|
|
|
}
|
|
|
|
|
str = str.join("&");
|
|
|
|
|
view.onShareAppMessage = function () {
|
|
|
|
|
//你的分享配置
|
|
|
|
|
return {
|
|
|
|
|
path: view.route + '?' + str + '&category_id=' + category_id
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
globalData: {
|
|
|
|
|
appLaunchFlag: false, // App onLaunch执行结束
|
|
|
|
|
menuRoute: '/pages/index/index',
|
|
|
|
|
CategoryIds: {}, //分享出去的页面id
|
|
|
|
|
category_id: "", //分享进来的参数
|
|
|
|
|
from: "", // 是否是从其他小程序跳转过来的 如果是从其他小程序跳转的话 会记录
|
|
|
|
|
uuid: null, // 设备唯一uuid
|
|
|
|
|
// 苏州市政府的经纬度
|
|
|
|
|
latitude: "31.297401", //纬度
|
|
|
|
|
longitude: "120.585639", //经度
|
|
|
|
|
userInfo: null,
|
|
|
|
|
couponInfo: null,
|
|
|
|
|
mapKey: "DEUBZ-GG7RR-UZDWR-WXZD3-TARU5-4TB42",
|
|
|
|
|
safeBottom: 0,
|
|
|
|
|
product: null,
|
|
|
|
|
postProduct: [],
|
|
|
|
|
ticketProduct: [],
|
|
|
|
|
index: 0,
|
|
|
|
|
createDate: null,
|
|
|
|
|
list: null,
|
|
|
|
|
productPrice: 0,
|
|
|
|
|
ticketPrice: 0,
|
|
|
|
|
productState: {
|
|
|
|
|
"WAIT_PAYMENT": "待付款",
|
|
|
|
|
"WAIT_CONFIRM": "待确认",
|
|
|
|
|
"WAIT_POST": "待发货",
|
|
|
|
|
"WAIT_USE": "待出行",
|
|
|
|
|
'WAIT_DELIVERY': '待收货',
|
|
|
|
|
'WAIT_COMMENT': '待评价',
|
|
|
|
|
"NEED_REFUND": "退款退货",
|
|
|
|
|
"CLOSED": "已取消",
|
|
|
|
|
"PAID": "已支付",
|
|
|
|
|
"WAIT_REFUND": "待退款",
|
|
|
|
|
"REFUND": "已退款",
|
|
|
|
|
"COMPLETED": "已完成",
|
|
|
|
|
"EXPIRED": "已过期/已失效",
|
|
|
|
|
"REFUNDING": "退款中",
|
|
|
|
|
"TICKET_ERROR": "出票失败",
|
|
|
|
|
"REFUND_FAIL": "退订失败"
|
|
|
|
|
},
|
|
|
|
|
orderState: {
|
|
|
|
|
"UNPAID": "待付款",
|
|
|
|
|
// "WAIT_PAYMENT":"待付款",
|
|
|
|
|
// "WAIT_CONFIRM":"待确认",
|
|
|
|
|
// "WAIT_POST":"待发货",
|
|
|
|
|
// "WAIT_USE":"待出行",
|
|
|
|
|
// 'WAIT_DELIVERY':'待收货',
|
|
|
|
|
'WAIT_COMMENT': '待评价',
|
|
|
|
|
// "NEED_REFUND":"退款退货",
|
|
|
|
|
"CLOSED": "已取消",
|
|
|
|
|
"PAID": "已支付",
|
|
|
|
|
"WAIT_REFUND": "待退款",
|
|
|
|
|
"REFUND": "已退款",
|
|
|
|
|
"COMPLETED": "已完成",
|
|
|
|
|
// "EXPIRED":"已过期/已失效",
|
|
|
|
|
"REFUNDING": "退款中",
|
|
|
|
|
'REFUND_REFUSE': '退款拒绝',
|
|
|
|
|
'REFUND_ERROR': '退款异常',
|
|
|
|
|
'OFFLINE_REFUND': '线下退款完成',
|
|
|
|
|
'OFFLINE_WAIT': '线下退款处理中'
|
|
|
|
|
},
|
|
|
|
|
codeState: ['未使用', '已使用', '已失效', '已取消'],
|
|
|
|
|
weburl: "",
|
|
|
|
|
pay_methods: {
|
|
|
|
|
NONE: "无需支付",
|
|
|
|
|
WEIXIN: "微信支付",
|
|
|
|
|
JIANSHEYINHANG: "建行支付",
|
|
|
|
|
ZHIFUBAO: "支付宝支付"
|
|
|
|
|
},
|
|
|
|
|
kjId: null,
|
|
|
|
|
gp_id: null,
|
|
|
|
|
team_id: null,
|
|
|
|
|
retailId: "",
|
|
|
|
|
configJson: null,
|
|
|
|
|
prizeId: null,
|
|
|
|
|
loginPageEvent: {
|
|
|
|
|
"pages/list/message/index": 'message_login_'
|
|
|
|
|
},
|
|
|
|
|
loadIndexSeason:false
|
|
|
|
|
}
|
|
|
|
|
})
|