更新记录

1.2(2024-04-19)

优化短信号码过滤

1.1(2024-02-18)

支持短信查询(可根据时间段、地址、条数、id等过滤)

1.0(2022-11-29)

init

查看更多

平台兼容性

Android Android CPU类型 iOS
适用版本区间:4.4 - 14.0 armeabi-v7a:支持,arm64-v8a:支持,x86:支持 ×

原生插件通用使用流程:

  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原生插件配置”->”云端插件“列表中删除该插件重新选择


短信监听(验证码)、查询 Ba-Sms

简介

Ba-Sms 是一款用于拦截实时短信的插件,可以进行短信过滤,得到自己想要的内容,可以用于需要自动填写短信验证码的项目;新增支持短信查询。

  • 支持监听当前接收到的短信信息
  • 支持过滤接收到的短信,默认过滤4~8位的验证码
  • 支持自定义过滤条件(正则)
  • 支持短信查询(可根据时间段、地址、条数、id等过滤)

**支持定制,有建议和需要,请*:2579546054

也可关注博客,实时更新最新插件:

uniapp 常用原生插件大全


使用方法

引用

在 script 中引入组件

    const baSms = uni.requireNativePlugin('Ba-Sms')

示例

可在页面 script 中调用(示例参考,可根据自己业务和调用方法自行修改)

<script>
    const baSms = uni.requireNativePlugin('Ba-Sms')
    export default {
        data() {
            return {
                filterAddress: "10086",
                address: "10086",
                content: '【某某应用】验证码:708563。尊敬的用户,您正在...,我们不会向您索要此验证码,切勿告知他人!',
                msgList: []
            }
        },
        methods: {
            register() { //注册监听
                baSms.register({
                    filterAddress: this.filterAddress, //需要过滤的短信地址,**注意**,如果是手机号,要以“+86”开头
                    //regex: "(\\d{4,8})",////正则表达式,默认为匹配4-8位的数字验证码
                }, res => {
                    console.log(res);
                    if (res.ok && res.result) {//监听短信接收,判断 res.result 有内容
                        this.msgList.push(res.address + ":" + res.content);
                        this.msgList.push("解析结果:" + res.result);
                    }
                    uni.showToast({
                        title: res.msg,
                        icon: "none",
                        duration: 3000
                    })
                });
            },
            unregister() { //注销监听
                baSms.unregister({}, res => {
                    console.log(res);
                    uni.showToast({
                        title: res.msg,
                        icon: "none",
                        duration: 3000
                    })
                });
            },
            simulate() { //模拟短信,仅用于测试
                baSms.simulate({
                    address: this.address,
                    content: this.content
                }, res => {
                    console.log(res);
                    uni.showToast({
                        title: res.msg,
                        icon: "none",
                        duration: 3000
                    })
                });
            },
            query() {//查询短信
                baSms.query({
                    start: "2023-12-10",//开始时间
                    end: "2024-2-6",//结束时间
                    addressList: ["10655955", "10010"],//地址过滤
                    //limit:10,//条数限制
                    //id:'34'//根据id查询
                }, res => {
                    console.log(res);
                    if (res.ok && res.data && res.data.list) {
                        this.msgList.push(res.data.list);
                    }
                    uni.showToast({
                        title: res.msg,
                        icon: "none",
                        duration: 3000
                    })
                });
            },
        }
    }
</script>

方法清单

名称 说明
register 注册短信监听
unregister 注销短信监听
simulate 模拟短信,仅用于测试
query 查询短信

register 方法参数

注册短信监听

属性名 类型 必填 默认值 说明
filterAddress String 建议填写 '' 需要过滤的短信地址,''为监听所有短信;可只设置开头,如监听10086短信,可模糊写'100',监听所有100开头的短信。
注意,如果是手机号,要以“+86”开头
regex String false '' 正则表达式过滤短信内容,默认过滤4~8位数字验证码,如'(\d{4,8})'

监听接收短信的参数

判断 res.result 有内容,监听接收到的短信

属性名 类型 说明
address String 短信地址
content String 短信原始内容
result String 短信内容解析后,得到的结果,如验证码

simulate 方法参数

模拟短信,仅用于测试

属性名 类型 必填 默认值 说明
address String true '' 短信地址
content String true '' 短信内容

query 方法参数

查询短信

属性名 类型 必填 默认值 说明
start String false 开始时间,如'2024-2-7'、'2024-2-7 14:32:54';可不传
end String false 结束时间,如'2024-2-7'、'2024-2-7 14:32:54';可不传
addressList Array false 地址过滤,可多个,如 ["10655955", "10010";可不传]
limit number false 条数限制,如 10;可不传
id String false 根据id查询,如'34';可不传

返回参数

属性名 类型 说明
id String id
address String 短信地址
body String 短信内容
date String 时间

系列插件

图片选择插件 Ba-MediaPicker (文档)

图片编辑插件 Ba-ImageEditor (文档)

文件选择插件 Ba-FilePicker (文档)

应用消息通知插件 Ba-Notify(文档)

应用未读角标插件 Ba-Shortcut-Badge (文档)

应用开机自启插件 Ba-Autoboot(文档)

扫码原生插件(毫秒级、支持多码)Ba-Scanner-G(文档)

扫码原生插件 - 新(可任意自定义界面版本;支持连续扫码;支持设置扫码格式)Ba-Scanner(文档)

动态修改状态栏、导航栏背景色、字体颜色插件 Ba-AppBar(文档)

原生sqlite本地数据库管理 Ba-Sqlite(文档)

安卓保活插件(采用多种主流技术) Ba-KeepAlive(文档)

安卓快捷方式(桌面长按app图标) Ba-Shortcut(文档)

自定义图片水印(任意位置) Ba-Watermark(文档)

最接近微信的图片压缩插件 Ba-ImageCompressor(文档)

视频压缩、视频剪辑插件 Ba-VideoCompressor(文档)

动态切换应用图标、名称(如新年、国庆等) Ba-ChangeIcon(文档)

原生Toast弹窗提示(穿透所有界面、穿透原生;自定义颜色、图标 ) Ba-Toast(文档)

图片涂鸦、画笔 Ba-ImagePaint(文档)

pdf阅读(手势缩放、显示页数) Ba-Pdf(文档)

声音提示、震动提示、语音播报 Ba-Beep(文档)

websocket原生服务(自动重连、心跳检测) Ba-Websocket(文档)

短信监听(验证码) Ba-Sms(文档)

智能安装(自动升级) Ba-SmartUpgrade(文档)

监听系统广播、自定义广播 Ba-Broadcast(文档)

监听通知栏消息(支持白名单、黑名单、过滤) Ba-NotifyListener(文档)

全局置灰、哀悼置灰(可动态、同时支持nvue、vue) Ba-Gray(文档)

获取设备唯一标识(OAID、AAID、IMEI等) Ba-IdCode(文档)

实时定位(系统、后台运行、支持息屏)插件 Ba-Location(文档)

隐私、权限声明

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

RECEIVE_SMS和READ_SMS

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

插件不采集任何数据

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

无