签章开发和授权

总结:这种类似的第三方开发或者是基于控件的开发,其实是比较简单的,让别人给个deamo和(接口文档),然后参考别人的范例,把别人给的deamo改一改(修改一下方法,加一下方法的参数等即可),主要是要有deamo和文档,然后知道别人哪个方法有什么作用,然后再结合自己系统的设计,把别人的功能并入自己的系统即可

例如:人家的deamo中,很多参数都是在一个页面中输入和获取填充的.
但是我们的设计中,可能是吧这些参数当作一个签章服务,然后在制章的时候,调用产品配置的签章服务对应的内容即可.
那么我们就在页面上设置这些参数的隐藏input,然后后台根据产品配置来获取这些信息,回传给页面,然后制章方法中就获取这些隐藏的值,进行填充;
需要动态配置的值,就替换之后再回传,比如企业名称用:enterprise.name,后台获取配置的时候,根据实际值进行替换后再回传页面

document.all.xxx.value,可以根据name或者id获取对应的元素的值.

制章
电子签章
1,根据setMoban方法选择印章模版,进行不同的显示

    <td>印章模版: 
        <select id="sealmodel" onclick="setMoban()">
            <option value="0">圆形单边</option>
            <option value="1">圆形双边</option>
            <option value="2">椭圆单边</option>
            <option value="3">椭圆双边</option>
            <option value="4">方形个人</option>
        </select>
    </td>

2,点击制章的时候,也是根据选择印章模版,把输入值填充到document.all.MakeSeal1.xxx中
然后调用控件的方法进行制章

<input type="button" value="生成印章" onclick="setseal()">
function setseal(){
    //选择的印章模版
    var i=document.all.sealmodel.value;
    if(i==0){
    //获取输入的制章的参数
        document.all.MakeSeal1.TopArcText2=document.all.TopArcText2.value;//内环文字
        document.all.MakeSeal1.TopTextAngle2=document.all.TopTextAngle2.value;//内环文字角度
        document.all.MakeSeal1.MiddleLineText=document.all.MiddleLineText.value;//中间文字
        document.all.MakeSeal1.MiddleTextExtent=document.all.MiddleTextExtent.value;//中间文字间距
        document.all.MakeSeal1.BottomArcText=document.all.BottomArcText.value;//下弦文字
        document.all.MakeSeal1.BottomTextAngle=document.all.BottomTextAngle.value;//下弦文字角度
    }else if(i==1){
        document.all.MakeSeal1.TopArcText=document.all.TopArcText.value;//上弦文字
        document.all.MakeSeal1.TopTextAngle=document.all.TopTextAngle.value;//上弦文字角度
        document.all.MakeSeal1.TopArcText2=document.all.TopArcText2.value;//内环文字
        document.all.MakeSeal1.TopTextAngle2=document.all.TopTextAngle2.value;//内环文字角度
    }else if(i==2){
        document.all.MakeSeal1.TopArcText2=document.all.TopArcText2.value;//内环文字
        document.all.MakeSeal1.TopTextAngle2=document.all.TopTextAngle2.value;//内环文字角度
        document.all.MakeSeal1.MiddleLineText=document.all.MiddleLineText.value;//中间文字
        document.all.MakeSeal1.MiddleTextExtent=document.all.MiddleTextExtent.value;//中间文字间距
        document.all.MakeSeal1.BottomArcText=document.all.BottomArcText.value;//下弦文字
        document.all.MakeSeal1.BottomTextAngle=document.all.BottomTextAngle.value;//下弦文字角度
    }else if(i==3){
        document.all.MakeSeal1.TopArcText=document.all.TopArcText.value;//上弦文字
        document.all.MakeSeal1.TopTextAngle=document.all.TopTextAngle.value;//上弦占用角度
        document.all.MakeSeal1.TopArcText2=document.all.TopArcText2.value;//内环文字
        document.all.MakeSeal1.TopTextAngle2=document.all.TopTextAngle2.value;//内环文字角度
        document.all.MakeSeal1.MiddleLineText=document.all.MiddleLineText.value;//中间文字
        document.all.MakeSeal1.MiddleTextExtent=document.all.MiddleTextExtent.value;//中间文字间距
        document.all.MakeSeal1.BottomArcText=document.all.BottomArcText.value;//下弦文字
        document.all.MakeSeal1.BottomTextAngle=document.all.BottomTextAngle.value;//下弦文字角度
    }
    //调用控件进行制章
    document.all.MakeSeal1.RegenSealBmp();
}

3.点击写入key的时候,调用如下方法.(应该做一下改造,参数从后台传入)

<input type="button" value="写入key" onclick="setkey()">
function setkey(enterpriseSn,enterpriseName){
    document.all.MakeSeal1.SealID=enterpriseSn;//印章id,可以取企业标识
    document.all.MakeSeal1.SealName=enterpriseName;//印章名称,可以取公司名称
    document.all.MakeSeal1.CompanyName=enterpriseName;//公司名称
    document.all.MakeSeal1.SealBpp=8;//改参数作用未知
    document.all.MakeSeal1.SaveToSeal(1,"");//调用控件的方法写入key
}

4.导出印章图片,主要是调用控件的函数生成图片数据,
返回存储路径或者图片的BASE64,然后传递到后台进行存储

<input type="button" value="导出图片" onclick="savegif()">
function savegif(){
    var sealdata=document.all.MakeSeal1.DirectGetBmp("gif",0);//0为保存文件,返回值为文件路径;1为返回文件base64值。
    //var sealdata=document.all.MakeSeal1.DirectGetBmp("gif",1);
    alert(sealdata);
}

5,获取印章数据,类似于写入key,参数其实也应该用传入的

getbase(enterpriseSn,enterpriseName)
<input type="button" value="生成印章数据" onclick="getbase()">

function getbase(){
    document.all.MakeSeal1.SealID="001";
    document.all.MakeSeal1.SealName="123123";
    document.all.MakeSeal1.CompanyName="2323";
    document.all.MakeSeal1.SealBpp=8;
    alert(document.all.MakeSeal1.GetSealBase64());
}

6,导入印章,用加载本地图片或者图片的base64的方式加载印章(base64可以考虑后台回传或者作为回调的接收参数),印章的图片格式目前只能是gif格式的

<input type="button" value="导入印章" onclick="setgif()">
function setgif(){
    //document.all.MakeSeal1.DirectSetBmp("c:/test.gif",192);//加载本地图片
    var gifbase64="";
    document.all.MakeSeal1.DirectSetBmp("STRDATA:"+gifbase64,192);//加载图片base64
}

其他总结:
-有一个控件可以调用key里面的签章进行盖章;并查看证书和签章信息(adobe也可以查看)
-印章id估计也是看配置的,有时候是不可以重读的,有时候可以重复.

授权
1,点击测试按钮

        <form>
            <input type="button" value="自动更新" onclick="AutoUpdate();">
        </form>

2,加载LicRegClient控件,获取控件对象,设置对象属性:授权账号,地址,业务类型等,然后调用控件的方法进行授权


<script Language="JavaScript">
var $=function(id){return document.getElementById(id);};

function AutoUpdate(){
    var obj = $("LicRegClient");
    if(!obj){
        return false;
    }
    obj.CurrUser="xxx";//设置授权账号
    var str="xxx";//设置授权平台地址
    obj.ServerAddr=str;
    obj.CurrBusiness="";//添加业务类型,多个用;分割
    var upd=obj.CardUpdate(0x200);
    var res=obj.CheckLic(0);
    if(res==0){
        alert("授权正确");
    }else if(res==-200){
        alert("未插入key");
    }
}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android移动签章是一种利用安卓系统的移动设备进行电子签名的技术。它允许用户在智能手机或平板电脑上完成文件签署的过程,无需纸质文件和传统的印章。以下是关于Android移动签章的一些重要信息: 首先,Android移动签章利用设备的触摸屏幕和数字签名技术,使用户能够在电子文档上直接输入签名。通过使用特定的签名应用程序,用户可以在屏幕上书写自己的签名,然后将其应用到需要签署的文件上。 其次,Android移动签章提供了高度安全性和可靠性。签名应用程序使用加密技术来保护签名的安全性,并遵循电子签名法律和标准,如电子签名法和可信时间戳协议。这意味着Android移动签章生成的电子签名在法律上和实际应用中具有相同的效力。 此外,Android移动签章具有便携性和高效性的优势。由于移动设备可以随时随地携带,用户可以在签署文件时节省时间和精力。无论是在商务会议上还是在旅途中,用户只需打开签名应用程序,轻松完成签署过程。 最后,Android移动签章还提供了方便的签名管理功能。用户可以保存和管理多个签名样式,以便在不同文档中使用不同的签名。此外,签名应用程序还提供了签名历史记录和自动签名日期记载等功能,以方便用户进行签署的追踪和记录。 总之,Android移动签章是一种方便、安全和高效的电子签名技术。它为用户提供了在移动设备上完成签署过程的便利,并符合法律和标准的要求。随着移动设备的普及和技术的不断进步,Android移动签章将在商务和日常生活中发挥越来越重要的作用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值