|
|
/**
|
|
|
*
|
|
|
* Page扩展函数
|
|
|
*
|
|
|
* @param {*} Page 原生Page
|
|
|
*/
|
|
|
import { http, httpUtil, getRouter, location_city } from './utils/util'
|
|
|
const pageExtend = Page => {
|
|
|
return object => {
|
|
|
|
|
|
// 导出原生Page传入的object参数中的生命周期函数
|
|
|
// 由于命名冲突,所以将onLoad生命周期函数命名成了onLoaded
|
|
|
const {
|
|
|
onLoad
|
|
|
} = object
|
|
|
|
|
|
// 公共的onLoad生命周期函数
|
|
|
object.onLoad = function (options) {
|
|
|
wx.getStorageSync('xid') ? "" : this.getxid()
|
|
|
if (!getApp().globalData.city_id) {
|
|
|
location_city().then(res => {
|
|
|
this.getroutermi(options, res.city_info.city_id)
|
|
|
})
|
|
|
} else {
|
|
|
this.getroutermi(options, getApp().globalData.city_id)
|
|
|
}
|
|
|
// 在onLoad中执行的代码
|
|
|
|
|
|
console.log(getCurrentPages()[getCurrentPages().length - 1].route, '拦截页面参数:')
|
|
|
console.log(options)
|
|
|
if (options.cps) {
|
|
|
let cps = wx.getStorageSync("cps") || null
|
|
|
if (cps == null || options.cps !== cps.value) {
|
|
|
let vTime = new Date().getTime() + 1000 * 60 * 60 * 24 * 2
|
|
|
let cps = Object.assign({
|
|
|
value: options.cps
|
|
|
}, {
|
|
|
vTime: vTime
|
|
|
})
|
|
|
if (getApp().globalData.uid) {
|
|
|
http('/api/v1/save-cps', 'get', { cps: options.cps, route: getCurrentPages()[getCurrentPages().length - 1].route }).then(res => {
|
|
|
wx.setStorageSync('cps', cps)
|
|
|
})
|
|
|
} else {
|
|
|
httpUtil('/api/v1/save-cps', 'get', { cps: options.cps, route: getCurrentPages()[getCurrentPages().length - 1].route }).then(res => {
|
|
|
wx.setStorageSync('cps', cps)
|
|
|
})
|
|
|
}
|
|
|
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// 执行onLoaded生命周期函数
|
|
|
if (typeof onLoad === 'function') {
|
|
|
onLoad.call(this, options)
|
|
|
}
|
|
|
|
|
|
}
|
|
|
object.getroutermi = function (option, cityId) {
|
|
|
let xid = wx.getStorageSync('xid')
|
|
|
if (new Date().getTime() > xid.substring(0, xid.length - 4) - 0 + 1200000) {
|
|
|
this.getxid()
|
|
|
}
|
|
|
let data = { xid:wx.getStorageSync('xid'),action_id:getRouter(getCurrentPages()[getCurrentPages().length - 1].route),city_id:cityId-0,mini_type:1,...option}
|
|
|
http('/api/v1/user-behavior', 'post', data).then(res => {
|
|
|
console.log(res,'res');
|
|
|
})
|
|
|
}
|
|
|
object.getxid = function () {
|
|
|
// console.log(new Date().getTime(),'min');
|
|
|
// console.log(new Date().getTime()+(Math.floor(Math.random()*(9999-1000))+1000).toString(),'min');
|
|
|
let xid = new Date().getTime() + (Math.floor(Math.random() * (9999 - 1000)) + 1000).toString()
|
|
|
wx.setStorageSync('xid', xid)
|
|
|
}
|
|
|
return Page(object)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// 获取原生Page
|
|
|
const originalPage = Page
|
|
|
// 定义一个新的Page,将原生Page传入Page扩展函数
|
|
|
Page = pageExtend(originalPage) |