| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- package binary_request
- import (
- "encoding/json"
- "git.sxidc.com/student-physical-examination/contract_lock_sdk/http"
- "git.sxidc.com/student-physical-examination/contract_lock_sdk/model/common"
- "os"
- )
- type BinarySignurlV2Request struct {
- // <ext>core:true</ext> 【数据签名主题】数据签名主题 【作用】 定义数据签名的标题,便于后续在前台显示数据签名列表时区分显示每条数据 【传参】 最大长度:500(包含) 【特殊说明】 若未传,则默认按【数据签名-数据签名id】作为主题名称
- Subject string `json:"subject,omitempty"`
- // <ext>core:true</ext> 【数据签名文件】数据签名文件 【作用】 传入签署的业务数据文件(使用数字证书签署整份文件) 例如:医院的病历系统中存在一份.txt格式的病历单,则可以将病历单文件传入接口进行签署 【传参】 1、支持的文件格式:pdf, xlsx,pptx, docx, doc, wps, xls, ppt, png, webp, tiff,xml,xht,xhtml,htm,html,txt,jpg,jpeg,gif,avi,zip,rtf。 2、data(数据签名文件)和dataString(数据签名内容)必传其一,均传入以数据签名文件为准。
- Data *os.File `json:"data,omitempty"`
- // <ext>core:true</ext> 【数据签名内容】数据签名内容 【作用】 以字符串的形式传入签署的业务数据(使用数字证书签署数据流) 例如:采购系统需要签署一份采购表单,采购表单本身不是文件只是表单上一串数据,则可传入数据进行签署 【传参】 data(数据签名文件)和dataString(数据签名内容)必传其一,均传入以数据签名文件为准。
- DataString string `json:"dataString,omitempty"`
- // <ext>core:true</ext> 【签名算法】签名算法 【作用】 1、RSA国际算法:即使用RSA数字证书进行数据签名 2、SM2国密算法:即使用SM2数字证书进行数据签名 3、RSA国际+SM2国密双算法:需使用RSA+SM2两种数字证书进行数据签名 4、不传值时以电子签章管理后台【签名算法配置 】为准 【传参】 取值范围:RSA(RSA国际算法),SM2(SM2国密算法),SM2WithRSA(RSA+SM2两种数字证书);不传值默认为:电子签章管理后台配置。
- DigestSigAlgType string `json:"digestSigAlgType,omitempty"`
- // <ext>core:true</ext> 【签署方式】签署方式 【作用】 1、使用印章签署:链接页面仅返回签署人有权限签署的印章,用户选择印章签署数据 2、使用签名签署 :链接页面仅返回签署人的个人签名,用户选择个人签名签署数据 3、使用印章或签名签署:链接页面同时返回印章和签名,用户自由选择使用印章或签名签署 【传参】 1、取值范围:COMPANY(使用印章签署),PERSONAL(使用签名签署);不传值默认为:ALL(使用印章或签名签署)。 2、传值为COMPANY(使用印章签署)时,signatory(签署主体信息)下的company(法人单位)不能为空。
- TenantType string `json:"tenantType,omitempty"`
- // <ext>inner-type:Json<SignurlSignatory>;core:true</ext> 【签署主体信息】签署主体信息 【作用】 签署数据签名的签署人、以及使用印章或签名
- Signatory string `json:"signatory"`
- // <ext>core:true</ext> 【是否添加时间戳 】是否添加时间戳 【作用】 用户在签署页面是否可添加时间戳图片(日期图片) 【传参】 取值范围:true(可添加),false(不可添加);不传值默认为:false(不可添加)。
- NeedTsa string `json:"needTsa,omitempty"`
- // <ext>inner-type:Json<PasswordFreeRequestStr></ext> 【免密设置】免密设置 【作用】 若签署人频繁进行数据签名时,每次都需要进行意愿校验(例如通过签署密码或验证码)影响签署效率。此参数可设置是否允许用户自行开启免密,开启后则在设置免密期间内无需重复校验签署意愿 【特殊说明】 可通过同时传入默认免密截止时间和默认免密范围预设免密规则
- PasswordFreeRequestStr string `json:"passwordFreeRequestStr,omitempty"`
- // 【免密签署时是否选择签署图片】免密签署时是否选择签署图片 【作用】: 设置免密期间签署时,是返回链接页面让用户选择签名/印章后完成签署,还是不返回页面通过接口直接使用指定印章或签名完成签署 【传参】: 取值范围:NEED_PAGE(选择签署图片),WITHOUT_PAGE(不选择签署图片);不传值默认为:NEED_PAGE(选择签署图片)。
- NoPasswordSignWay string `json:"noPasswordSignWay,omitempty"`
- // 【客户端类型】客户端类型 【作用】 1、当请求的UserAgent无法自动判断返回的页面类型时,可通过此参数返回指定客户端的页面;方参数不传值时,将根据请求的UserAgent自动判断返回的页面类型 2、例如在微信小程序集成场景中,PC端小程序的UserAgent只能识别为PC端,但是需要使用H5端的页面 【传参】 取值范围:PC(返回PC页面),H5(返回H5页面);不传值默认为:根据请求的UserAgent自动判断返回的页面类型。
- DeviceType string `json:"deviceType,omitempty"`
- // 【操作完成自动关闭页面】操作完成自动关闭页面 【作用】 用户在链接页面完成数据签名时,系统是否自动关闭链接页面 【传参】: 取值范围:true(自动关闭),false(不自动关闭);不传值默认为:false(不自动关闭)。
- AutoClosePage string `json:"autoClosePage,omitempty"`
- // <ext>inner-type:Json<PersonSealImgSpec></ext> 【返回的图片规格】返回的图片规格 【作用】 控制返回的图片格式、图片大小
- PersonSealImgSpec string `json:"personSealImgSpec,omitempty"`
- // <ext>deprecated:true</ext> 【文件类型】文件类型 【特殊说明】 可选项:pdf, xlsx, pptx, docx, doc, wps, xls, ppt, png, webp, tiff,xml,xht,xhtml,htm,html,txt,jpg,jpeg,gif,avi,zip,rtf
- DataType string `json:"dataType,omitempty"`
- // 【意愿校验方式】意愿校验方式 【作用】 设置签署人在数据签名链接可使用的意愿校验方式,传入第一个为默认校验方式 【传参】 取值范围:FACE(人脸识别),PIN(验证码),PASSWORD(签署密码),MOBILE_DEVICE(移动设备验证);可选多项;不传值默认为:PIN(验证码),PASSWORD(签署密码);多个选项可用“,”隔开。 【特殊说明】 如果印章绑定了ukey或动态令牌,则仅能通过ukey和动态令牌校验 如果签名绑定了动态令牌,则仅能通过动态令牌校验身份
- CheckTypes string `json:"checkTypes,omitempty"`
- PasswordFreeRequestStrObject *common.PasswordFreeRequestStr `json:"passwordFreeRequestStrObject,omitempty"`
- SignatoryObject *common.SignurlSignatory `json:"signatoryObject,omitempty"`
- PersonSealImgSpecObject *common.PersonSealImgSpec `json:"personSealImgSpecObject,omitempty"`
- PageConfig *common.BinarySignurlV2PageConfigRequest `json:"pageConfig,omitempty"`
- }
- func (obj BinarySignurlV2Request) GetUrl() string {
- return "/binary/signurl/v2"
- }
- func (obj BinarySignurlV2Request) GetHttpParameter() *http.HttpParameter {
- parameter := http.NewPostHttpParameter()
- parameter.AddParam("subject", obj.Subject)
- parameter.AddParam("dataString", obj.DataString)
- parameter.AddParam("digestSigAlgType", obj.DigestSigAlgType)
- parameter.AddParam("tenantType", obj.TenantType)
- parameter.AddParam("needTsa", obj.NeedTsa)
- parameter.AddParam("noPasswordSignWay", obj.NoPasswordSignWay)
- parameter.AddParam("deviceType", obj.DeviceType)
- parameter.AddParam("autoClosePage", obj.AutoClosePage)
- parameter.AddParam("dataType", obj.DataType)
- parameter.AddParam("checkTypes", obj.CheckTypes)
- parameter.AddFiles("data", obj.Data)
- if obj.PageConfig != nil {
- parameter.AddParam("pageConfig.visitNum", obj.PageConfig.VisitNum)
- parameter.AddParam("pageConfig.expireTime", obj.PageConfig.ExpireTime)
- parameter.AddParam("pageConfig.invalidToPage", obj.PageConfig.InvalidToPage)
- parameter.AddParam("pageConfig.language", obj.PageConfig.Language)
- parameter.AddParam("pageConfig.hideHeader", obj.PageConfig.HideHeader)
- }
- if obj.PageConfig != nil && obj.PageConfig.PageStyle != nil {
- parameter.AddParam("pageConfig.pageStyle.themeColor", obj.PageConfig.PageStyle.ThemeColor)
- }
- if obj.PasswordFreeRequestStrObject != nil {
- jsonBytes, _ := json.Marshal(obj.PasswordFreeRequestStrObject)
- parameter.AddParam("passwordFreeRequestStr", string(jsonBytes))
- } else {
- parameter.AddParam("passwordFreeRequestStr", obj.PasswordFreeRequestStr)
- }
- if obj.SignatoryObject != nil {
- jsonBytes, _ := json.Marshal(obj.SignatoryObject)
- parameter.AddParam("signatory", string(jsonBytes))
- } else {
- parameter.AddParam("signatory", obj.Signatory)
- }
- if obj.PersonSealImgSpecObject != nil {
- jsonBytes, _ := json.Marshal(obj.PersonSealImgSpecObject)
- parameter.AddParam("personSealImgSpec", string(jsonBytes))
- } else {
- parameter.AddParam("personSealImgSpec", obj.PersonSealImgSpec)
- }
- return parameter
- }
|