yylib-quick-mobile
Version:
yylib-quick-mobile
483 lines (444 loc) • 20.3 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
var _modal = require('antd-mobile/lib/modal');
var _modal2 = _interopRequireDefault(_modal);
var _toast = require('antd-mobile/lib/toast');
var _toast2 = _interopRequireDefault(_toast);
require('antd-mobile/lib/modal/style/css');
require('antd-mobile/lib/toast/style/css');
var _superagent = require('superagent');
var _superagent2 = _interopRequireDefault(_superagent);
var _superagentJsonp = require('superagent-jsonp');
var _superagentJsonp2 = _interopRequireDefault(_superagentJsonp);
var _jsCookie = require('js-cookie');
var _jsCookie2 = _interopRequireDefault(_jsCookie);
var _RestUrl = require('../common/RestUrl');
var _maAjax = require('./maAjax');
var _ajax = require('./ajax');
var _ajax2 = _interopRequireDefault(_ajax);
var _util = require('./util');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function loginContextPost(url, checkParams, _success) {
_toast2.default.loading('Loading...', 0, null, false);
(0, _maAjax.postMAJSON)(url, checkParams, function (resultJson) {
if (resultJson.success == true) {
_toast2.default.hide();
var resultExt = JSON.parse(resultJson.ext);
sessionStorage.setItem("icop_context", JSON.stringify(resultExt['icop_context']));
if (typeof _success === 'function') {
_success();
}
} else {
_toast2.default.info("身份校验失败");
}
});
}
function getJssdk(url, Params) {
_ajax2.default.getText(url, { url: Params }, function (data) {
console.log(data);
var JSData = JSON.parse(data);
if (JSData.flag == '0') {
console.log(JSData.data);
console.log('authToken加载wx.config');
setTimeout(function () {
wx.config({
debug: false,
appId: JSData.data.appid,
timestamp: JSData.data.timestamp,
nonceStr: JSData.data.nonceStr,
signature: JSData.data.signature,
jsApiList: ['closeWindow', 'scanQRCode']
});
}, 200);
} else {
console.log(JSData + '1');
_toast2.default.info(JSData.desc);
}
});
}
function get_context(url, Params, that, _success) {
_ajax2.default.getText(url, Params, function (data) {
var extData = JSON.parse(data);
if (extData.flag == 1) {
_toast2.default.info('请先去官网完善企业信息', 2);
setTimeout(function () {
window.Bridge_YYPlugin.call('CommonPlugin', 'closewindow');
}, 3000);
} else {
if (extData.data && Object.keys(extData.data).length !== 0) {
console.log(extData.data.ext.icop_context);
sessionStorage.setItem('icop_context', JSON.stringify(extData.data.ext.icop_context));
_jsCookie2.default.set(that.CONTEXT_KEY, extData.data.ext.icop_context);
_jsCookie2.default.set('tenantid', extData.data.ext.icop_context.tenantid);
_jsCookie2.default.set('token', extData.data.ext.icop_context.token);
_jsCookie2.default.set('u_logints', extData.data.ext.icop_context.u_logints);
_jsCookie2.default.set('u_usercode', extData.data.ext.icop_context.u_usercode);
_jsCookie2.default.set('userId', extData.data.ext.icop_context.userId);
_jsCookie2.default.set('userType', extData.data.ext.icop_context.userType);
_success();
} else {
console.log('----未获取到上下文-----');
var openidBind = _modal2.default.alert('账号绑定', '未绑定账号是否进行账号绑定?', [{ text: '取消', onPress: function onPress() {
return window.Bridge_YYPlugin.call('CommonPlugin', 'closewindow');
} }, { text: '确定', onPress: function onPress() {
console.log('确定');
window.location.href = _RestUrl.ADDR + '/icop-ydyy-mobile/#/openIdBind';
} }]);
}
}
}, function (data) {
_toast2.default.info('失败请求', 2);
});
}
var AuthToken = {
CONTEXT_KEY: 'icop_context',
SERVER_URL: _RestUrl.ADDR + '/icop-workbench/getWorkbenchCookie',
_cacheContext: null, init: function init(options) {
var _url = options && options.url ? options.url : this.SERVER_URL;
var _success = options && options.success ? options.success : null;
var _error = options && options.error ? options.error : null;
var _clear = options && options.clear !== undefined ? options.clear : true;
var that = this;
var urlParam = (0, _util.GetUrlObject)();
if ((0, _util.yyBrowserVersions)().microMessenger) {
console.log('-------------微信-------------');
var url = window.location.href;
if (url.indexOf('openIdBind') !== -1) {
console.log('----微信端白名单------');
if (sessionStorage.getItem('openid')) {
if (url.indexOf('#') !== -1) {
var js_Url = window.location.href.split('#')[0];
getJssdk(_RestUrl.ADDR + '/icop-ma-web/wechat/jssdkConfig', js_Url);
options.wechat();
} else {
getJssdk(_RestUrl.ADDR + '/icop-ma-web/wechat/jssdkConfig', url);
options.wechat();
}
} else {
if (url.indexOf('code') !== -1 && url.indexOf('from=timeline') == -1) {
var _js_Url = window.location.href;
getJssdk(_RestUrl.ADDR + '/icop-ma-web/wechat/jssdkConfig', _js_Url);
var showCode = url.split('code=')[1].split('&')[0];
var getIdUrl = _RestUrl.ADDR + '/icop-ma-web/wechat/openid';
var getCodeParams = { code: showCode };
_ajax2.default.getText(getIdUrl, getCodeParams, function (data) {
var idData = JSON.parse(data);
if (idData.flag == 0) {
sessionStorage.setItem('openid', idData.data.openid);
console.log(idData.data.openid);
options.wechat();
} else {
_toast2.default.info('未获取到openid', 2);
}
}, function (data) {
alert('失败请求', data);
});
} else {
if (url.indexOf('#') !== -1) {
var _js_Url2 = window.location.href.split('#')[0];
getJssdk(_RestUrl.ADDR + '/icop-ma-web/wechat/jssdkConfig', _js_Url2);
options.wechat();
} else {
getJssdk(_RestUrl.ADDR + '/icop-ma-web/wechat/jssdkConfig', url);
options.wechat();
}
}
}
} else if (url.indexOf('wechatwork') !== -1) {
console.log('----------微信企业号---------');
var _js_Url3 = window.location.href.split('#')[0];
getJssdk(_RestUrl.ADDR + '/icop-ma-web/wechat/jssdkConfig', _js_Url3);
var _showCode = url.split('code=')[1].split('&')[0];
console.log(_showCode);
var getCodeUrl = _RestUrl.ADDR + '/icop-ma-web/wechatWork/info';
var _getCodeParams = { code: _showCode, corpid: urlParam.corpid, agentid: urlParam.agentid };
_ajax2.default.getText(getCodeUrl, _getCodeParams, function (data) {
var extData = JSON.parse(data);
if (extData.flag == 1) {
_toast2.default.info(extData.desc, 2);
setTimeout(function () {
window.Bridge_YYPlugin.call('CommonPlugin', 'closewindow');
}, 3000);
} else {
if (extData.data && Object.keys(extData.data).length !== 0) {
console.log(extData.data.ext.icop_context);
sessionStorage.setItem('icop_context', JSON.stringify(extData.data.ext.icop_context));
_jsCookie2.default.set(that.CONTEXT_KEY, extData.data.ext.icop_context);
_success();
} else {
console.log('----未获取到上下文-----');
_toast2.default.info('未获取到上下文信息', 2000);
}
}
}, function (data) {
alert('失败请求', data);
});
} else {
if (url.indexOf('code') !== -1) {
console.log('-----微信公众号端-----');
var _js_Url4 = window.location.href.split('#')[0];
getJssdk(_RestUrl.ADDR + '/icop-ma-web/wechat/jssdkConfig', _js_Url4);
var _showCode2 = url.split('code=')[1].split('&')[0];
var _getIdUrl = _RestUrl.ADDR + '/icop-ma-web/wechat/openid';
var _getCodeParams2 = { code: _showCode2 };
_ajax2.default.getText(_getIdUrl, _getCodeParams2, function (data) {
var idData = JSON.parse(data);
if (idData.flag == 0) {
var openid = idData.data.openid;
sessionStorage.setItem('openid', idData.data.openid);
console.log(idData.data.openid);
var _getCodeUrl = _RestUrl.ADDR + '/icop-ma-web/wechat/info';
var _getCodeParams3 = { openid: openid };
get_context(_getCodeUrl, _getCodeParams3, that, _success);
} else {
_toast2.default.info('未获取到openid', 2);
}
}, function (data) {
alert('失败请求', data);
});
} else {
if (url.indexOf('openid') !== -1) {
var openid = url.split('openid=')[1].split('&')[0];
var _getCodeUrl2 = _RestUrl.ADDR + '/icop-ma-web/wechat/info';
var _getCodeParams4 = { openid: openid };
get_context(_getCodeUrl2, _getCodeParams4, that, _success);
} else {
(0, _toast2.default)('未获取到code', 1);
}
}
}
} else if (!urlParam.token && urlParam.cookie == 0) {
var onDeviceReady = function onDeviceReady() {
YYPlugin.call("ExpandPlugin", "getIcopContext", null, function (msg) {
var icopContext = msg["icop_context"];
sessionStorage.setItem("icop_context", icopContext);
if (typeof _success === 'function') {
_success();
}
});
};
console.log('-------------cookie-------------');
document.addEventListener("deviceready", onDeviceReady, false);
} else if (urlParam.fromType && urlParam.fromType === 'upEsnApp') {
console.log('-------------友空间-------------');
var param = {};
param.token = urlParam.token;
param.appid = urlParam.appid;
loginContextPost(_RestUrl.MODULE_URL.checkUpesnToken, param, _success);
} else if (urlParam.token) {
console.log('-------------token-------------');
var _param = {};
_param.token = urlParam.token;
_param.appid = urlParam.appid;
loginContextPost(_RestUrl.MODULE_URL.loginContextUrl, _param, _success);
} else {
console.log('-------------开发态-------------');
if (_clear) {
delete this._cacheContext;
_jsCookie2.default.remove(this.CONTEXT_KEY);
}
var firstResp = false;
_superagent2.default.get(_url).use(_superagentJsonp2.default).end(function (err, res) {
_toast2.default.hide();
if (res !== null && res.body !== null && res.body !== undefined) {
_jsCookie2.default.set(that.CONTEXT_KEY, res.body);
if (typeof _success === 'function') {
_success();
}
} else {
if (_clear) {
delete this._cacheContext;
_jsCookie2.default.remove(this.CONTEXT_KEY);
}
if (firstResp === false) {
firstResp = true;
} else {
if (_clear) {
delete this._cacheContext;
_jsCookie2.default.remove(this.CONTEXT_KEY);
}
if (firstResp === false) {
firstResp = true;
} else {
if (typeof _error === 'function') {
_error(err);
}
}
}
}
});
}
},
getContext: function getContext() {
var context = {};
if (sessionStorage.getItem(this.CONTEXT_KEY)) {
context = sessionStorage.getItem(this.CONTEXT_KEY);
} else if (!this._cacheContext) {
context = _jsCookie2.default.get(this.CONTEXT_KEY);
}
if ((0, _util.isJsonStr)(context)) {
var jsTxt = '(' + decodeURIComponent(context.replace(/'/, "'")) + ')';
var jsonObj = (0, _util.evil)(jsTxt);
this._cacheContext = jsonObj;
}
return this._cacheContext;
}, getToken: function getToken() {
var context = this.getContext();
if (context === null || context === undefined) {
return null;
}
return context["token"];
}, getStaff: function getStaff() {
var context = this.getContext();
if (context === null || context === undefined) {
return null;
}
return {
id: context["staffId"],
code: context["staffCode"],
name: context["staffName"]
};
}, getStaffId: function getStaffId() {
var context = this.getContext();
if (context === null || context === undefined) {
return null;
}
return context["staffId"];
}, getStaffCode: function getStaffCode() {
var context = this.getContext();
if (context === null || context === undefined) {
return null;
}
return context["staffCode"];
}, getStaffName: function getStaffName() {
var context = this.getContext();
if (context === null || context === undefined) {
return null;
}
return context["staffName"];
}, getDept: function getDept() {
var context = this.getContext();
if (context === null || context === undefined) {
return null;
}
return {
id: context["deptId"],
code: context["deptCode"],
name: context["deptName"]
};
}, getDeptId: function getDeptId() {
var context = this.getContext();
if (context === null || context === undefined) {
return null;
}
return context["deptId"];
}, getDeptCode: function getDeptCode() {
var context = this.getContext();
if (context === null || context === undefined) {
return null;
}
return context["deptCode"];
}, getDeptName: function getDeptName() {
var context = this.getContext();
if (context === null || context === undefined) {
return null;
}
return context["deptName"];
}, getUser: function getUser() {
var context = this.getContext();
if (context === null || context === undefined) {
return null;
}
return {
id: context["_A_P_userId"],
code: context["_A_P_userLoginName"],
name: context["_A_P_userName"]
};
}, getUserId: function getUserId() {
var context = this.getContext();
if (context === null || context === undefined) {
return null;
}
return context["_A_P_userId"];
}, getUserCode: function getUserCode() {
var context = this.getContext();
if (context === null || context === undefined) {
return null;
}
return context["_A_P_userLoginName"];
}, getUserName: function getUserName() {
var context = this.getContext();
if (context === null || context === undefined) {
return null;
}
return context["_A_P_userName"];
}, getCurrentRoleId: function getCurrentRoleId() {
var context = this.getContext();
if (context === null || context === undefined) {
return null;
}
return context["_A_P_currentRoleId"];
}, getOrga: function getOrga() {
var context = this.getContext();
if (context === null || context === undefined) {
return null;
}
return {
id: context["companyId"],
code: context["companyCode"],
name: context["companyName"],
type: context["companyType"]
};
},
getOrgaId: function getOrgaId() {
var context = this.getContext();
if (context === null || context === undefined) {
return null;
}
return context["companyId"];
}, getOrgaCode: function getOrgaCode() {
var context = this.getContext();
if (context === null || context === undefined) {
return null;
}
return context["companyCode"];
}, getOrgaName: function getOrgaName() {
var context = this.getContext();
if (context === null || context === undefined) {
return null;
}
return context["companyName"];
}, getLogints: function getLogints() {
var context = this.getContext();
if (context === null || context === undefined) {
return null;
}
return context["u_logints"];
}, getTenantId: function getTenantId() {
var context = this.getContext();
if (context === null || context === undefined) {
return null;
}
return context["tenantid"];
}, getAuthenticationStr: function getAuthenticationStr() {
var includeFields = ["u_logints", "u_usercode", "token", "tenantid", "userId", "userType", "typeAlias", "_A_P_userLoginName", "_A_P_userName", "userType", "companyId", "companyName", "companyCode"];
var set = new Set();
includeFields.forEach(function (value) {
set.add(value);
});
var authentication = '';
var context = this.getContext();
if (context) {
for (var prop in context) {
if (set.has(prop) && context[prop]) {
authentication += prop + '=' + encodeURI(context[prop]) + ';';
}
}
}
if (authentication.length > 0 && authentication[authentication.length - 1] === ';') authentication = authentication.substring(0, authentication.length - 1);
return authentication;
}
};
exports.default = AuthToken;
;