import config from "./config.js";
|
import jobApi from "./middleGround/api/job";// newJobWithNewView // newSession,
|
|
export function setSessionGuid(type, id) {
|
var cityCode = null;
|
var SnIp = null;
|
try {
|
// eslint-disable-next-line
|
// SnIp = window.returnCitySN;
|
} catch (error) {
|
SnIp = null;
|
console.log(error);
|
}
|
if (SnIp != undefined && SnIp != null) {
|
cityCode = SnIp;
|
} else {
|
cityCode = {
|
cip: "0.0.0.0",
|
cname: "未知",
|
};
|
}
|
const _city = cityCode.cname.substring(3);
|
const _province = cityCode.cname.substring(0, 3);
|
const params = {
|
appRefCode: config.appRefCode,
|
hostName: config.requestCtx,
|
ipAddress: cityCode.cip,
|
browser: myBrowser(),
|
os: navigator.platform,
|
device: "pc",
|
province: _province,
|
city: _city ? _city : _province,
|
};
|
|
jobApi.newSession(params).then(res => {
|
wx.setStorageSync("sessionGuid", res);
|
setNewView(type, id);
|
});
|
}
|
|
export const storage = {
|
/*
|
* set 存储方法
|
* @ param {String} key 键
|
* @ param {String} value 值,
|
* @ param {String} expired 过期时间,以分钟为单位,非必须
|
*/
|
set(key, val, expired) {
|
if (typeof val !== "string") {
|
val = JSON.stringify(val);
|
}
|
window.sessionStorage.setItem(key, val);
|
if (expired) {
|
window.sessionStorage.setItem(
|
`${key}__expires__`,
|
`${Date.now() + 1000 * 60 * expired}`
|
);
|
}
|
},
|
/*
|
* get 获取方法
|
* @ param {String} key 键
|
* @ param {String} expired 存储时为非必须字段,所以有可能取不到,默认为 Date.now+1
|
*/
|
get(key) {
|
const expired =
|
window.sessionStorage.getItem(`${key}__expires__`) || Date.now + 1;
|
const now = Date.now();
|
|
if (now >= expired) {
|
window.sessionStorage.removeItem(key);
|
return;
|
}
|
let val = window.sessionStorage.getItem(key);
|
try {
|
val = JSON.parse(val);
|
} catch (e) {
|
return e;
|
}
|
return val;
|
},
|
};
|
|
function myBrowser() {
|
const userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
|
const isOpera = userAgent.indexOf("Opera") > -1;
|
if (isOpera) {
|
//判断是否Opera浏览器
|
return "Opera";
|
}
|
if (userAgent.indexOf("Firefox") > -1) {
|
//判断是否Firefox浏览器
|
return "Firefox";
|
}
|
if (userAgent.indexOf("Chrome") > -1) {
|
return "Chrome";
|
}
|
if (userAgent.indexOf("Safari") > -1) {
|
//判断是否Safari浏览器
|
return "Safari";
|
}
|
if (
|
userAgent.indexOf("compatible") > -1 &&
|
userAgent.indexOf("MSIE") > -1 &&
|
!isOpera
|
) {
|
//判断是否IE浏览器
|
return "IE";
|
}
|
return "";
|
}
|
|
export function setNewView(type, id) {
|
if (!wx.getStorageSync("sessionGuid")) {
|
setSessionGuid(type, id);
|
}
|
const sessionGuid = wx.getStorageSync("sessionGuid");
|
const fromPath = wx.getStorageSync("fromPath");
|
const toPath = wx.getStorageSync("toPath");
|
if (sessionGuid) {
|
let params = {
|
sessionGuid: sessionGuid,
|
appRefCode: config.appRefCode,
|
type: "View",
|
url: toPath == null ? "/" : toPath,
|
ref: fromPath == null ? "/" : fromPath,
|
};
|
if (id) {
|
params[type] = id;
|
}
|
jobApi.newJobWithNewView(params).then(res => { });
|
}
|
}
|