医网签简介
医网签,是一款服务于医疗互联网应用的强身份认证和数字签名安全工具,针对的用户群体为活跃在互联网医疗信息平台的医护人员。该产品基于北京数字认证最具价值的医护人员数字证书资源库,以此作为部分医护人员的互联网身份凭证。远程实名鉴证服务解决了互联网医疗服务医师的身份真实性,同时引入可靠的数字签名服务解决了互联网医疗服务开展网上问诊以及电子处方的法律瓶颈问题。15年的电子认证服务经验,服务近500家医院,拥有30多万的优质医生实名认证信息。
医网签提供电子证书下发、OAuth认证登陆、数据签名等服务,为互联网医疗体系提供最具价值的信息安全服务。
医网签功能服务
插件使用攻略
医网签仅针对第三方互联网医疗厂商提供服务,暂不对个人开发者提供服务。
使用之前必须和联系医网签运营人员申请账号并创建应用,获取 clientId(集成环境和运营环境不一样)。
医网签平台接入流程请联系医网签运营人员获取包括服务端接入的全套流程。
集成医网签平台后,如果需要上线,则需要联系医网签运营人员获取运营环境的clientId并替换,同时serverType也需要变更为运营环境('public')
yWQModule 封装了医网签基于医师的的SDK,集成了证书管理、数据签名功能;可用于实现用户下载证书、找回证书、设置签章图片、进行数据签名的业务
注意:为了您能顺利引用yWQModule,您还需要引用yWQGsonModule,该插件仅仅包含了gson2.2.2.jar,该功能依附于YWQModule插件一起使用,由于当前平台在处理第三方jar包的冲突方面没有很好的方案,因此我们只有暂时先把插件YWQModule依赖的第三方jar包全部拆分到另一个插件,如果第三方在使用我们YWQModule插件的时候,请务必一块使用yWQGsonModule,若加入yWQGsonModule导致了您的应用因为gson包的冲突无法编译,说明您引用的其它插件已经有了gson的jar包,您只需要移除对yWQGsonModule插件的依赖即可 ** **
使用此插件之前必须先配置 config.xml 文件,配置完毕,需通过云端编译生效,配置方法如下:
<feature name="yiwangqian">
<param name="serverType" value="integrate"/>
<param name="clientId" value="2015112716143758"/>
</feature>
字段描述:
serverType:(必须配置)用于指定当前sdk使用的是医网签集成环境还是运营环境。其中integrate表示集成环境,public表示运营环境,厂商在集成过程中使用集成环境,应用上线需要替换成运营环境
clientId:(必须配置)从医网签平台获取的厂商唯一标识,医网签运营人员会将集成环境和运营环境的两个clientId都告知厂商,请在对应环境下使用相应的clientId
数据签名(批量签名最大限度不能超过100条)
signData({params}, callback(ret, err))
uniqueIds:
ret:
{
status: ‘’, //字符串类型;0 签名成功。 1001-用户证书不存在,1002-签章不存在,1003-参数为空,1004-程序运行缺少权限,1006-签名数量超出100条
message: '', //字符串类型 返回描述
clientId: '', //字符串类型;接口调用凭证,传给 getUserInfo 接口 获取用户信息;有效期2小时
uniqueIds: '', //字符串数组;厂商服务端将待签名数据同步到医网签平台返回的待签名数据唯一标识的数组,注意:不能超过100条
stamp: '', //用户签章值 建议以医网签服务端回调给厂商服务端的签章为准
stampPic: '' //用户签章图片 建议以厂商通过医网签服务度回调的签章验签返回的图章为准
}
err: 不通过err回调
var yWQModule = api.require('yWQModule');
//uniqueId为第三方同步签名数据到医网签服务端返回的待签名数据唯一标识
var list = [];
list.push(uniqueId)
var listJson = JSON.stringify(list);
var param ={'uniqueIds':listJson}
yWQModule.signData(param,function(ret,err){
api.alert({msg: JSON.stringify(ret)});
});
此接口需要访问网络并且跳转到原生插件的界面,异步调用 callback 需要一段时间才能返回
iOS系统,Android系统
进入医网签证书管理首页
openIndex()
var yWQModule = api.require('yWQModule');
yWQModule.openIndex();
iOS系统,Android系统
可提供的1.1.0及更高版本
启动证书管理对应页面
onpenPage({params})
page:
var yWQModule = api.require('yWQModule');
yWQModule.openPage({
page: 0
};
iOS系统,Android系统
可提供的1.1.0及更高版本
判断当前是否存在本地证书
existsCert()
##return
ret
var yWQModule = api.require('yWQModule');
var ret = yWQModule.existsCert();
var tip = ret?'当前存在证书':'当前不存在证书'
alert(tip)
iOS系统,Android系统
可提供的1.1.0及更高版本
获取用户信息
getUserInfo(callback(ret,err))
##return
ret:
类型:JSON 对象
描述:有对应数据-当前存在本地证书, 可以根据用户的到期时间以及提前更新开放时间,判断是否需要调用openPage()方法进入证书更新页面
内部字段:
{
status; //状态码,为“0”时成功,1001-证书不存在,
message;//返回说明
openId; //用户唯一标识
userName; //用户名
startTime; //证书颁发时间
endTime; //证书有效时间
nowTime; //医网签服务器当前时间
certUpdateTipDay; //证书更新前醒天数。假设为 30 天, 即证书到期前 30 天可以进行证书更新操作
existsStamp;//当前用户是否已经设置个人签章
}
err: 不通过err回调
var yWQModule = api.require('yWQModule');
yWQModule.getUserInfo(function(ret, err){
api.alert({msg: JSON.stringify(ret)});
});
iOS系统,Android系统
可提供的1.1.0及更高版本
清除本地证书
clearCert()
##return ret:
var yWQModule = api.require('yWQModule');
var ret = yWQModule.clearCert();
iOS系统,Android系统
可提供的1.1.0及更高版本
清除用户在签名过程中在本地保存的密码
clearPin()
##return
ret:
var yWQModule = api.require('yWQModule');
var ret = yWQModule.clearPin();
iOS系统,Android系统
可提供的1.1.0及更高版本
判断用户当前是否处于免密签名状态
isPinExempt()
##return
ret:
var yWQModule = api.require('yWQModule');
var ret = yWQModule.isPinExempt();
iOS系统,Android系统
可提供的1.1.0及更高版本
获取当前SDK对应的业务版本号()
getVersion()
##return
ret:
var yWQModule = api.require('yWQModule');
var ret = yWQModule.getVersion();
iOS系统,Android系统
可提供的1.1.0及更高版本
0:
1001
1002
1003
1004
1006:
2001:
2002:
3000:
003x070:
004x001:
004x009:
004x030:
002x033:
002x039: