更新记录

1.0.2(2021-10-12)

iOS改为异步方法

1.0.1(2021-10-11)

增加键盘状态、输入内容正则匹配等内容

1.0.0(2021-10-11)

北京微通新成密码安全控件PassGuard,支持AES、MD5、RSA、SM2、SM3、SM4等加密

查看更多

平台兼容性

Android Android CPU类型 iOS
适用版本区间:4.4 - 11.0 armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 适用版本区间:9 - 14

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


前言

北京微通新成密码安全控件PassGuard,支持AES、MD5、RSA、SM2、SM3、SM4等加密

wrs-serialport组件

   <wrs-passguard-txtfield ref='passguard' :license="license" :publicContent="publicContent"
            :randomValue="randomValue" :placeholder="placeholder" :numberKeyboard="numberKeyboard" :style="'width:'+width+'px;height:'+height+'px;'">
        </wrs-passguard-txtfield>

属性

  • license: 设置 License 开发权限。通常给用户的是临时开发权限, 期限为三个月,权限过期会提示弹框。确定合同及项目 包名及应用名后,可以把包名和应用名发给我们产品,用以生产生产的 license(永久开发权限。注:只要包名 跟应用名不变)

  • publicContent: 设置 RSA 加密公钥。此串用于 RSA 算法的加密。

  • randomValue: 设置 32 位随机字符串。此串用于 AES/SM4 等的加密。

  • SM2PublicContentX: 国密sm2 X公钥,仅对iOS

  • SM2PublicContentY: 国密sm2 Y公钥,仅对iOS

  • SM2PublicContent: 设置 SM2 加密公钥。此串用于 SM2 算法的加密,仅对Android

  • maxLen: 设置键盘输入的最大长度

  • keyOrderType:设置键盘是否乱序。有三种模式: 0:默认不乱序。 1:初始化后只乱一 次。 2:每次点击键盘是乱 序一次。

  • mode:是否为加密状态

  • placeholder:占位提示符

  • numberKeyboard:true/false,键盘是否为数字键盘

  • hasStatus: true/false,设置键盘的按键状态,true表示有按键状态,false表示无按键状态

  • inputRegex: 设置键盘输入正则规则,默认为无限制。

  • matchRegex: 设置 isMatch()函数用于查看输入内容格式的正则表达式。默认为无。

方法

  • initPassGuardKeyBoard 初始化键盘,必须在设置完键盘属性后调用一次,以使 键盘能被正常调用,仅对Android有效

  • aes 获取AES加密

    this.$refs.passguard.aes((resp) => {
                    uni.showModal({
                        title: 'AES',
                        content: resp.result,
                        success: function(res) {
    
                        }
                    });
                });         
  • md5 获取md5加密

                this.$refs.passguard.md5((resp) => {
                    uni.showModal({
                        title: 'DES',
                        content: resp.result,
                        success: function(res) {
    
                        }
                    });
                });
  • rsa 获取rsa加密

    // certype 分别为0、1、2, 0:pem p1格式, 1:p1格式公钥 , 2:pem 证书,此参数仅对iOS有效,Android不需要这个参数
    var params = {cerType: 0}; // 
                this.$refs.passguard.rsa(params,(resp) => {
                    uni.showModal({
                        title: 'RSA',
                        content: resp.result,
                        success: function(res) {
    
                        }
                    });
                });
  • pwdLength 获取密码长度

                this.$refs.passguard.pwdLength((resp) => {
                });
  • clean 清空输入框

                this.$refs.passguard.clean();
  • pwdPower 获取密码等级

                this.$refs.passguard.pwdPower((resp) =>{});
  • sm2 获取sm2

                this.$refs.passguard.sm2((resp) =>{});
  • sm3 获取sm3

                this.$refs.passguard.sm3((resp) =>{});
  • sm4 获取sm4

                this.$refs.passguard.sm4((resp) =>{});
  • hideKeyBoard 收起键盘

                this.$refs.passguard.hideKeyBoard();
  • showKeyBoard 显示键盘

                this.$refs.passguard.showKeyBoard();
  • isMatch 根据 matchRegex 函数所设置的正则表达式尝试匹配当前输入框内容,匹配返回 true,否 则 false。若未用 setMatchRegex 函数设置正则,则返回 true。

                this.$refs.passguard.isMatch((resp)=>{});

支持定制,QQ252797991

如果觉得可以就点个👍吧,欢迎粉丝收藏,土豪打赏,您的关注就是我们创作的动力!

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问