UNPKG

mtl-js-sdk

Version:

118 lines (93 loc) 2.75 kB
"use strict"; define(["uuid"], function (uuid) { function getQuery() { var res = {}; var serach = location.search; if (!serach) { serach = location.href.split("?").pop(); } var str = decodeURIComponent(serach); str = str.trim().replace(/^[?#&]/, ""); if (!str) { return res; } str.split("&").forEach(function (strItem) { if (strItem) { var parts = strItem.split("="); var partKey = parts[0], partValue = parts[1] || ""; res[partKey] = partValue; } }); return res; } function getOrigin() { return location.origin; } function isObject(obj) { return Object.prototype.toString.call(obj) === "[object Object]"; } function getTime() { return new Date().getTime(); } function getDeviceId(code) { var key = "deviceID-" + code; var deviceId = localStorage.getItem(key); if (deviceId) {} else { deviceId = uuid(); localStorage.setItem("deviceID-" + code, deviceId); } return deviceId; } function getLangCode() { var userAgent = navigator.userAgent; var lang; if (userAgent.indexOf("youZoneLanguage") !== -1) { lang = userAgent.split(" ").splice(-1, 1)[0].split("=")[1]; } return lang || "zh"; } var USER_INFO_KEY = "ncc_userinfo"; function getSTORKEY(appcode) { return "".concat(USER_INFO_KEY, "_").concat(appcode); } function setLoginInfo(appcode, info) { info.expiretime = getTime() + 2 * 60 * 60 * 1000; localStorage.setItem(getSTORKEY(appcode), JSON.stringify(info || null)); } function getLoginInfo() { var clear = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; var appcode = arguments.length > 1 ? arguments[1] : undefined; var loginInfo = localStorage.getItem("".concat(USER_INFO_KEY, "_").concat(appcode)) || null; loginInfo = JSON.parse(loginInfo); if (clear && loginInfo) { var _loginInfo = loginInfo, expiretime = _loginInfo.expiretime, _appcode = _loginInfo.appcode; var nowTime = getTime(); if (appcode && appcode !== _appcode || nowTime > expiretime) { localStorage.removeItem(getSTORKEY(appcode)); loginInfo = null; } } return loginInfo; } var config = { failCode: "fail" }; function clearLoginStorage(appcode) { localStorage.removeItem(getSTORKEY(appcode)); } return { getQuery: getQuery, isObject: isObject, getOrigin: getOrigin, getTime: getTime, getLangCode: getLangCode, setLoginInfo: setLoginInfo, clearLoginStorage: clearLoginStorage, getLoginInfo: getLoginInfo, getDeviceId: getDeviceId, config: config }; });