教你如何开发js-sdk(第一章)

        大家好呀!前段时间在公司上班的时候又遇到一个需求,开发一个H5的sdk,这个sdk需要在H5平台使用,同时需要适配安卓,IOS与鸿蒙(即webview)。前前后后开发了很长一段时间,终于完成了,随着需求的不断深入,前前后后也升级了几个版本,目前也有不少业务组接入了这个sdk,并且用在了自己的业务逻辑当中。

        最近我抽出时间,重新开发了一套简版的系统,给有需要的人提供一个参考。

        这个协议管理系统还没有完成,很多地方都是简单实现,我后期有时间也会不断维护升级。目前只能做到后端管理站点完成协议的编辑,并且保存草稿且发布协议版本。前端通过接入sdk,可以打开窗口进行协议的预览。我在公司的项目还有很多别的功能,比如对接CDN,电子签名,生成PDF文档进行归档证据保存等等。这些我也会在这个系统上依次开发掉。

        首先,大家先看看我的测试页面,此页面是协议sdk的测试页面。仅需要使用者填写协议编号,就可以通过底部的弹出按钮弹出协议。测试页面包含多个协议弹窗的参数,包含协议的标题,按钮的颜色都可以定制,能够覆盖大多数场景。

协议分为两种模式,对应不同的业务场景,分别为“弹出式”与“抽屉式”,具体效果如下图。sdk支持设置强制阅读时间,在时间范围内,不允许点击确定,并且伴随的还有倒计时提示。看起来是不是还是不错的。

下面是协议编号的来源,这是后台的管理站点,可以在这里编辑协议内容,完成协议的上线与下线。

协议sdk支持的协议类型目前也分为3类,标准协议,多协议和pdf协议,上图已经展示标准协议,接下来就是多协议。

pdf协议还没有开发,现计划是在后台支持上传pdf协议,然后通过sdk进行访问。

接下来就是介绍下sdk内部实现,首先需要了解的是支持的参数。

参数名称是否必传备注
agreementNo协议编号M
version协议版本O
options.title标题O
options.titleColor标题颜色O
options.showCancel是否展示取消按钮O待开发
options.confirmText确认按钮文字O
options.confirmBackGroundColor确认按钮背景颜色O
options.confirmTextColor确认按钮文字颜色O
options.cancelText取消按钮文字O
options.cancelBackGroundColor取消按钮背景颜色O
options.cancelTextColor取消按钮文字颜色O
options.forceRead是否强制阅读O
options.forceReadTime强制阅读时间O
options.timeout超时时间O
options.needSign是否需要签署O
options.userId用户idM签署必传

  这就是全部参数,你可以通过简单的接入完成sdk的唤起,例如下面一段代码。

 AgreementSDK.startModal({
                        agreementNo: agreementNo,
                        version: version,
                        options: {
                            title: title,
                            titleColor: titleColor,
                            needSign: needSign,
                            userId: userId,
                            forceRead: forceRead,
                            forceReadTime: forceReadTime,
                            confirmText: confirmText,
                            confirmBackGroundColor: confirmBackGroundColor,
                            confirmTextColor: confirmTextColor,
                            cancelText: cancelText,
                            cancelBackGroundColor: cancelBackGroundColor,
                            cancelTextColor: cancelTextColor
                        },
                        onStart: () => {
                            console.log("启动")
                        },
                        onConfirm: () => {
                            console.log("确认")
                        },
                        onClose: () => {
                            console.log("关闭")
                        },
                        onError: () => {
                            console.log("错误")
                        }
                    });

好了,夜已深,过两天继续发第二章,正式介绍sdk内部的代码实现,有兴趣帮我转发一下,谢谢大家。下面码云地址。

https://gitee.com/dream-sk/agreement-sdk.git

  • 23
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值