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.
 

260 lines
8.3 KiB

//app.js
import commonApi from "./utils/https/common"
App({
onLaunch: function (options) {
if (options.query.authCode) {
wx.setStorageSync('authCode', options.query.authCode)
} else {
wx.removeStorageSync('authCode')
}
this.updateApp()
let rect = wx.getSystemInfoSync();
this.globalData.safeBottom = rect.safeArea ? (rect.safeArea.bottom - rect.safeArea.height) : 0
// 获取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.isTest96? true : false;
this.globalData.configJson = data
}).then(() => {
// 获取ui配置文件
commonApi._post("adv/get_home_ui", {}).then(res => {
let obj = {}
res.data.content.forEach(item => {
obj[item.id] = item.image
});
this.globalData.configJson.indexSeason = obj
this.globalData.loadIndexSeason = true
})
})
// 获取用户信息
// wx.getSetting({
// success: res => {
// if (res.authSetting['scope.userInfo']) {
// // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
// wx.getUserInfo({
// success: res => {
// // 可以将 res 发送给后台解码出 unionId
// this.globalData.userInfo = res.userInfo
// // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
// // 所以此处加入 callback 以防止这种情况
// if (this.userInfoReadyCallback) {
// this.userInfoReadyCallback(res)
// }
// }
// })
// }
// }
// })
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(/&quot;/g, '\'');
returnText = returnText.replace(/&lt;/g, '<');
returnText = returnText.replace(/&gt;/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: {
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
}
})