|
|
/**
|
|
|
*
|
|
|
* 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) {
|
|
|
if (uni.getStorageSync('xid')) {
|
|
|
('');
|
|
|
} else {
|
|
|
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 = uni.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) => {
|
|
|
uni.setStorageSync('cps', cps);
|
|
|
});
|
|
|
} else {
|
|
|
httpUtil('/api/v1/save-cps', 'get', {
|
|
|
cps: options.cps,
|
|
|
route: getCurrentPages()[getCurrentPages().length - 1].route
|
|
|
}).then((res) => {
|
|
|
uni.setStorageSync('cps', cps);
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
} // 执行onLoaded生命周期函数
|
|
|
|
|
|
if (typeof onLoad === 'function') {
|
|
|
onLoad.call(this, options);
|
|
|
}
|
|
|
};
|
|
|
|
|
|
object.getroutermi = function (option, cityId) {
|
|
|
let xid = uni.getStorageSync('xid');
|
|
|
|
|
|
if (new Date().getTime() > xid.substring(0, xid.length - 4) - 0 + 1200000) {
|
|
|
this.getxid();
|
|
|
}
|
|
|
|
|
|
let action_id = getRouter(getCurrentPages()[getCurrentPages().length - 1].route);
|
|
|
|
|
|
if (action_id == 34) {
|
|
|
option = [];
|
|
|
} else {
|
|
|
('');
|
|
|
}
|
|
|
|
|
|
let data = {
|
|
|
xid: uni.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();
|
|
|
uni.setStorageSync('xid', xid);
|
|
|
};
|
|
|
|
|
|
return Page(object);
|
|
|
};
|
|
|
}; // 获取原生Page
|
|
|
|
|
|
const originalPage = Page; // 定义一个新的Page,将原生Page传入Page扩展函数
|
|
|
|
|
|
Page = pageExtend(originalPage);
|