|
|
/** 显示日志 */
|
|
|
var psShowLog = false;
|
|
|
|
|
|
/** 正在执行请求 */
|
|
|
var psRequesting = false;
|
|
|
|
|
|
/**
|
|
|
* 用户签名通用请求函数
|
|
|
* @param {any} url 请求地址
|
|
|
* @param {any} data 请求数据
|
|
|
* @param {any} cbFunc 回调函数
|
|
|
* @param {any} cbParam 回调函数参数
|
|
|
* @param {any} errorMessage 错误信息
|
|
|
*/
|
|
|
function psRequest(url, data, cbFunc, cbParam, errorMessage) {
|
|
|
//if (psRequesting === true) {
|
|
|
// alert("上一任务正在执行, 请等待完成后再发送请求.");
|
|
|
// return;
|
|
|
//}
|
|
|
//psRequesting = true;
|
|
|
var sUserAgent = navigator.userAgent;
|
|
|
var isWin10 = sUserAgent.indexOf("Windows NT 10") > -1 || sUserAgent.indexOf("Windows 10") > -1;
|
|
|
if (isWin10) {
|
|
|
psRequestJsonp(url, data, cbFunc, cbParam, errorMessage);
|
|
|
} else {
|
|
|
psRequestCors(url, data, cbFunc, cbParam, errorMessage);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 用户签名通用请求函数
|
|
|
* @param {any} url 请求地址
|
|
|
* @param {any} data 请求数据
|
|
|
* @param {any} cbFunc 回调函数
|
|
|
* @param {any} cbParam 回调函数参数
|
|
|
* @param {any} errorMessage 错误信息
|
|
|
*/
|
|
|
function psRequestJsonp(url, data, cbFunc, cbParam, errorMessage) {
|
|
|
/*
|
|
|
$.jsonp({
|
|
|
type: "get",
|
|
|
async: false,
|
|
|
url: url + "&" + data,
|
|
|
dataType: "jsonp",
|
|
|
success: function (result) {
|
|
|
psRequesting = false;
|
|
|
// 显示返回数据
|
|
|
if (psShowLog) {
|
|
|
console.log("------------返回数据------------");
|
|
|
console.log(JSON.stringify(result));
|
|
|
}
|
|
|
cbFunc(result.success, result.message, result.data, cbParam);
|
|
|
},
|
|
|
error: function (jqXHR, textStatus, errorThrown) {
|
|
|
psRequesting = false;
|
|
|
var message = errorMessage + textStatus;
|
|
|
cbFunc(false, message, null, cbParam);
|
|
|
}
|
|
|
});
|
|
|
*/
|
|
|
$.ajax({
|
|
|
type: "get",
|
|
|
async: false,
|
|
|
url: url + "&" + data,
|
|
|
dataType: "jsonp",
|
|
|
jsonp: "callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(默认为:callback)
|
|
|
success: function (result) {
|
|
|
psRequesting = false;
|
|
|
// 显示返回数据
|
|
|
if (psShowLog) {
|
|
|
console.log("------------返回数据------------");
|
|
|
console.log(JSON.stringify(result));
|
|
|
}
|
|
|
cbFunc(result.success, result.message, result.data, cbParam);
|
|
|
},
|
|
|
error: function (jqXHR, textStatus, errorThrown) {
|
|
|
psRequesting = false;
|
|
|
var message = errorMessage + textStatus;
|
|
|
cbFunc(false, message, null, cbParam);
|
|
|
}
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 用户签名通用请求函数
|
|
|
* @param {any} url 请求地址
|
|
|
* @param {any} data 请求数据
|
|
|
* @param {any} cbFunc 回调函数
|
|
|
* @param {any} cbParam 回调函数参数
|
|
|
* @param {any} errorMessage 错误信息
|
|
|
*/
|
|
|
function psRequestCors(url, data, cbFunc, cbParam, errorMessage) {
|
|
|
var request;
|
|
|
var requestType = "";
|
|
|
if (window.XDomainRequest) {
|
|
|
// code for IE8, IE9, IE10
|
|
|
request = new XDomainRequest();
|
|
|
requestType = "XDomainRequest";
|
|
|
} else if (window.XMLHttpRequest) {
|
|
|
// code for IE11+, Firefox, Chrome, Opera, Safari
|
|
|
request = new XMLHttpRequest();
|
|
|
requestType = "XMLHttpRequest";
|
|
|
} else {
|
|
|
// code for IE5, IE6, IE7
|
|
|
request = new ActiveXObject("Microsoft.XMLHTTP");
|
|
|
requestType = "Microsoft.XMLHTTP";
|
|
|
}
|
|
|
try {
|
|
|
if (requestType === "XDomainRequest") {
|
|
|
request.onload = function () {
|
|
|
// 处理完成
|
|
|
psRequesting = false;
|
|
|
// 成功返回数据
|
|
|
var responseText = request.responseText;
|
|
|
// 控制台显示返回数据
|
|
|
if (psShowLog) {
|
|
|
console.log("------------返回数据------------");
|
|
|
console.log(responseText);
|
|
|
}
|
|
|
var result = JSON.parse(responseText);
|
|
|
cbFunc(result.success, result.message, result.data, cbParam);
|
|
|
};
|
|
|
} else {
|
|
|
request.onreadystatechange = function () {
|
|
|
// 处理完成
|
|
|
psRequesting = false;
|
|
|
// 成功返回数据
|
|
|
if (request.readyState === 4 && request.status === 200) {
|
|
|
var responseText = request.responseText;
|
|
|
// 控制台显示返回数据
|
|
|
if (psShowLog) {
|
|
|
console.log("------------返回数据------------");
|
|
|
console.log(responseText);
|
|
|
}
|
|
|
var result = JSON.parse(responseText);
|
|
|
cbFunc(result.success, result.message, result.data, cbParam);
|
|
|
}
|
|
|
};
|
|
|
}
|
|
|
if (requestType !== "Microsoft.XMLHTTP") {
|
|
|
request.ontimeout = function () {
|
|
|
// 处理完成
|
|
|
psRequesting = false;
|
|
|
// 请求超时
|
|
|
var message = errorMessage + "请求超时";
|
|
|
cbFunc(false, message, null, cbParam);
|
|
|
};
|
|
|
request.onerror = function (e, b) {
|
|
|
// 处理完成
|
|
|
psRequesting = false;
|
|
|
// 请求出错
|
|
|
var message = errorMessage + "请求出错";
|
|
|
cbFunc(false, message, null, cbParam);
|
|
|
};
|
|
|
}
|
|
|
// 发送请求
|
|
|
if (requestType !== "XDomainRequest") {
|
|
|
request.open("POST", url, false);
|
|
|
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded;charset=UTF-8");
|
|
|
} else {
|
|
|
request.open("POST", url);
|
|
|
}
|
|
|
request.send(data);
|
|
|
} catch (err) {
|
|
|
// 处理完成
|
|
|
psRequesting = false;
|
|
|
// 请求出错
|
|
|
var message = errorMessage + err.message;
|
|
|
cbFunc(false, message, null, cbParam);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 用户签名本地请求函数
|
|
|
* @param {any} action 请求动作
|
|
|
* @param {any} cbFunc 回调函数
|
|
|
* @param {any} data 请求数据
|
|
|
* @param {any} cbParam 回调函数参数
|
|
|
*/
|
|
|
function psRequestLocal(action, cbFunc, data, cbParam) {
|
|
|
var jsonData = JSON.stringify(data);
|
|
|
// 显示请求数据
|
|
|
if (psShowLog) {
|
|
|
console.log("------------请求数据------------");
|
|
|
console.log(JSON.stringify(jsonData));
|
|
|
}
|
|
|
var url = "http://127.0.0.1:56961?action=" + action;
|
|
|
data = "data=" + Base64.encode(jsonData);
|
|
|
var errorMessage = "请求本地服务失败, 请确认已安装客户端并打开.\n如有疑问, 请联系系统管理员.\n错误信息:";
|
|
|
psRequest(url, data, cbFunc, cbParam, errorMessage);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 用户签名服务器请求函数
|
|
|
* @param {any} action 请求动作
|
|
|
* @param {any} cbFunc 回调函数
|
|
|
* @param {any} data 请求数据
|
|
|
* @param {any} cbParam 回调函数参数
|
|
|
*/
|
|
|
function psRequestServer(action, cbFunc, data, cbParam) {
|
|
|
// 判断请求地址
|
|
|
var url = data.serverAddress;
|
|
|
if ((url === null) || (url === undefined) || (url === "")) {
|
|
|
alert("服务器地址不能为空!");
|
|
|
return;
|
|
|
}
|
|
|
var jsonData = JSON.stringify(data);
|
|
|
// 显示请求数据
|
|
|
if (psShowLog) {
|
|
|
console.log("------------请求数据------------");
|
|
|
console.log(JSON.stringify(jsonData));
|
|
|
}
|
|
|
url = url + action + "?";
|
|
|
data = "data=" + Base64.encode(jsonData);
|
|
|
var errorMessage = "请求服务器失败, 请确认网络连接是否正常.\n如有疑问, 请联系系统管理员.\n错误信息:";
|
|
|
psRequestCors(url, data, cbFunc, cbParam, errorMessage);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 用户签名服务器请求函数
|
|
|
* @param {any} serverAddress 请求动作
|
|
|
* @param {any} action 请求动作
|
|
|
* @param {any} cbFunc 回调函数
|
|
|
* @param {any} data 请求数据
|
|
|
* @param {any} cbParam 回调函数参数
|
|
|
*/
|
|
|
function psRequestServer1(serverAddress, action, cbFunc, data, cbParam) {
|
|
|
// 判断请求地址
|
|
|
var url = serverAddress;
|
|
|
if ((url === null) || (url === undefined) || (url === "")) {
|
|
|
alert("服务器地址不能为空!");
|
|
|
return;
|
|
|
}
|
|
|
// 显示请求数据
|
|
|
if (psShowLog) {
|
|
|
console.log("------------请求数据------------");
|
|
|
console.log(data);
|
|
|
}
|
|
|
url = url + action + "?";
|
|
|
// data = "data=" + Base64.encode(jsonData);
|
|
|
var errorMessage = "请求服务器失败, 请确认网络连接是否正常.\n如有疑问, 请联系系统管理员.\n错误信息:";
|
|
|
psRequest(url, data, cbFunc, cbParam, errorMessage);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 用户签名通用回调函数, 回调函数必须包含四个参数, 且顺序不可改变
|
|
|
* @param {any} success 是否成功
|
|
|
* @param {any} message 返回消息
|
|
|
* @param {any} data 返回数据
|
|
|
* @param {any} cbParam 回调参数, 请求时传入
|
|
|
*/
|
|
|
function psCBFunc(success, message, data, cbParam) {
|
|
|
if (success) {
|
|
|
//成功处理
|
|
|
alert("处理成功!");
|
|
|
if (data !== null) {
|
|
|
alert(data);
|
|
|
}
|
|
|
} else {
|
|
|
alert(message);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 签订用户文书(传递显示数据)
|
|
|
* @param {any} cbFunc 回调函数
|
|
|
* @param {any} data 请求数据
|
|
|
* @param {any} cbParam 回调函数参数
|
|
|
*/
|
|
|
function psSignSignerNotifyWithShowData(cbFunc, data, cbParam) {
|
|
|
psRequestLocal("SignSignerNotifyWithShowData", cbFunc, data, cbParam);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 签订用户文书(选择模板)
|
|
|
* @param {any} cbFunc 回调函数
|
|
|
* @param {any} data 请求数据
|
|
|
* @param {any} cbParam 回调函数参数
|
|
|
*/
|
|
|
function psSignPatientNotify(cbFunc, data, cbParam) {
|
|
|
psRequestLocal("SignPatientNotify", cbFunc, data, cbParam);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 签订用户授权书
|
|
|
* @param {any} cbFunc 回调函数
|
|
|
* @param {any} data 请求数据
|
|
|
* @param {any} cbParam 回调函数参数
|
|
|
*/
|
|
|
function psSignPatientEmpower(cbFunc, data, cbParam) {
|
|
|
psRequestLocal("SignPatientEmpower", cbFunc, data, cbParam);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 创建待办用户文书(传递显示数据)-前期命名错误, 为兼容性保留, 已更名为psCreateTodoPatientNotifyWithShowData
|
|
|
* @param {any} cbFunc 回调函数
|
|
|
* @param {any} data 请求数据
|
|
|
* @param {any} cbParam 回调函数参数
|
|
|
*/
|
|
|
function psCreateTodoSignPatientNotifyWithShowData(cbFunc, data, cbParam) {
|
|
|
psRequestLocal("CreateTodoPatientNotifyWithShowData", cbFunc, data, cbParam);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 创建待办用户文书(传递显示数据)
|
|
|
* @param {any} cbFunc 回调函数
|
|
|
* @param {any} data 请求数据
|
|
|
* @param {any} cbParam 回调函数参数
|
|
|
*/
|
|
|
function psCreateTodoPatientNotifyWithShowData(cbFunc, data, cbParam) {
|
|
|
psRequestLocal("CreateTodoPatientNotifyWithShowData", cbFunc, data, cbParam);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 创建待办用户文书(传递显示数据)
|
|
|
* @param {any} cbFunc 回调函数
|
|
|
* @param {any} data 请求数据
|
|
|
* @param {any} cbParam 回调函数参数
|
|
|
*/
|
|
|
function psCreateTodoPatientNotify(cbFunc, data, cbParam) {
|
|
|
psRequestLocal("CreateTodoPatientNotify", cbFunc, data, cbParam);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 创建待办授权书(选择模板)
|
|
|
* @param {any} cbFunc 回调函数
|
|
|
* @param {any} data 请求数据
|
|
|
* @param {any} cbParam 回调函数参数
|
|
|
*/
|
|
|
function psCreateTodoPatientEmpower(cbFunc, data, cbParam) {
|
|
|
psRequestLocal("CreateTodoPatientEmpower", cbFunc, data, cbParam);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 创建待办授权书(传递显示数据)
|
|
|
* @param {any} cbFunc 回调函数
|
|
|
* @param {any} data 请求数据
|
|
|
* @param {any} cbParam 回调函数参数
|
|
|
*/
|
|
|
function psCreateTodoPatientEmpowerWithShowData(cbFunc, data, cbParam) {
|
|
|
psRequestLocal("CreateTodoPatientEmpowerWithShowData", cbFunc, data, cbParam);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 通过请求编码获取用户文书数据
|
|
|
* @param {any} cbFunc 回调函数
|
|
|
* @param {any} data 请求数据
|
|
|
* @param {any} cbParam 回调函数参数
|
|
|
*/
|
|
|
function psGetPatientNotifyByIncode(cbFunc, data, cbParam) {
|
|
|
psRequestServer("/api/notify/select", cbFunc, data, cbParam);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 查询用户文书数据
|
|
|
* @param {any} cbFunc 回调函数
|
|
|
* @param {any} data 请求数据
|
|
|
* @param {any} cbParam 回调函数参数
|
|
|
*/
|
|
|
function psSelectPatientNotify(cbFunc, data, cbParam) {
|
|
|
psRequestServer("/api/notify/select", cbFunc, data, cbParam);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 查询用户授权书数据
|
|
|
* @param {any} cbFunc 回调函数
|
|
|
* @param {any} data 请求数据
|
|
|
* @param {any} cbParam 回调函数参数
|
|
|
*/
|
|
|
function psSelectPatientEmpower(cbFunc, data, cbParam) {
|
|
|
psRequestServer("/api/empower/select", cbFunc, data, cbParam);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取文书文件
|
|
|
* @param {any} cbFunc 回调函数
|
|
|
* @param {any} data 请求数据
|
|
|
* @param {any} cbParam 回调函数参数
|
|
|
*/
|
|
|
function psGetSingerNotifyFile(cbFunc, data, cbParam) {
|
|
|
var sendData = "pk=" + data.pk + "&type=" + data.type;
|
|
|
psRequestServer1(data.serverAddress, "/api/notify/getFile", cbFunc, sendData, cbParam);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取授权书文件
|
|
|
* @param {any} cbFunc 回调函数
|
|
|
* @param {any} data 请求数据
|
|
|
* @param {any} cbParam 回调函数参数
|
|
|
*/
|
|
|
function psGetPatientEmpowerFile(cbFunc, data, cbParam) {
|
|
|
var sendData = "pk=" + data.pk + "&type=" + data.type;
|
|
|
psRequestServer1(data.serverAddress, "/api/empower/getFile", cbFunc, sendData, cbParam);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 采集用户信息
|
|
|
* @param {any} cbFunc 回调函数
|
|
|
* @param {any} data 请求数据
|
|
|
* @param {any} cbParam 回调函数参数
|
|
|
*/
|
|
|
function psCollectPatientInfo(cbFunc, data, cbParam) {
|
|
|
psRequestLocal("CollectPatientInfo", cbFunc, data, cbParam);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 验证用户信息
|
|
|
* @param {any} cbFunc 回调函数
|
|
|
* @param {any} data 回调函数
|
|
|
* @param {any} cbParam 回调函数
|
|
|
*/
|
|
|
function psVerifyPatientInfo(cbFunc, data, cbParam) {
|
|
|
psRequestLocal("VerifyPatientInfo", cbFunc, data, cbParam);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
* @param {*} cbFunc 回调函数
|
|
|
* @param {*} data 回调函数
|
|
|
* @param {*} cbParam 回调函数
|
|
|
*/
|
|
|
function signPdfOfBase64(cbFunc, data, cbParam) {
|
|
|
psRequestLocal("signPdfOfBase64", cbFunc, data, cbParam);
|
|
|
}
|