一套 UTS SDK 覆盖 16+ 端:uni-app 项目风控、防刷、内容安全全搞定
摘要:一个 uni_modules 原生插件,覆盖 H5、微信/支付宝/抖音等小程序、Android/iOS/Harmony App、快应用与 uni-app x 共 16+ 端。设备指纹、本地防刷限流、黑白名单、内容安全、人机验证、广告管控、合规分享开箱即用,自带 PHP 管理后端。核心代码 3 行接入。
你的项目是否正在被这些问题困扰?
| 场景 | 后果 |
|---|---|
| 活动上线 10 分钟被刷走 80% 奖励 | 预算白烧,真实用户拿不到福利 |
| 一台手机注册 50 个小号发垃圾广告 | 平台口碑崩坏,审核成本飙升 |
| 用户发帖含违规词被平台直接下架 | 小程序被封,运营停摆 |
| 多开/模拟器批量薅羊毛刷票 | 活动数据失真,决策偏差 |
| 同一用户换号辱骂骚扰他人 | 投诉不断,法务成本增加 |
自己做风控?至少 2 周起步、踩坑无数;分别采购微信风控 + App 风控 + H5 风控?维护成本爆炸。
UniRisk 一个插件全部搞定 —— 不是多个插件组合,不是对接多个 API,而是一个基于 DCloud uni_modules 标准的 UTS 原生付费插件,一套代码全端通用。
一套 SDK,覆盖 16+ 端
H5 · 微信小程序 · 支付宝 · 抖音 · 百度 · QQ · 快手 · 京东 · 飞书 · 小红书
Android App · iOS App · Harmony App · 鸿蒙元服务 · 快应用 · uni-app x
不分别采购微信风控 + App 风控 + H5 风控,一套代码全端通用,各端实现均以 UTS 底层能力按平台差异封装。
核心能力
| 能力 | 说明 |
|---|---|
| 设备指纹 | 不依赖 IMEI/IDFA,跨端采集非敏感特征,SHA-256 哈希生成 64 位定长指纹,不可逆推,跨端追踪同一设备 |
| 本地防刷限流 | 操作冷却 + 时间窗口 + 次数限制,拦截超频请求,零网络延迟 |
| 黑白名单 | 白名单直通放行,黑名单一键拦截,支持后端动态下发 |
| 内容安全检测 | 文本/图片自动过检,微信/百度/QQ 原生 API + PHP 后端中转兜底 |
| 人机验证码 | Canvas 原生生成图形验证码,零网络依赖,操作超限时自动弹出 |
| 风险日志上报 | 全端日志统一入库,管理后台可视化查询 + CSV 导出,断网自动缓存补报 |
| 规则动态下发 | 后端实时更新风控参数和敏感词库,客户端自动同步 |
| 广告频次管控 | 全局开关 + 展示间隔 + 叠加层数限制 |
| 合规分享 | 自动校验分享文案是否含「领红包/助力/集赞」等违禁词,H5 自动处理 wx.config 签名 |
| 授权管理系统 | 激活码签发 + 签名校验 + 离线宽限,配套 PHP 管理后台 |
7 个核心 API
所有 API 不抛异常,错误通过返回值中的 code / reason 传达,内置完整错误码表:
import {
getDeviceFinger, // 设备指纹
checkLocalRisk, // 本地风险校验
getNetworkInfo, // 公网 IP / 代理 / 运营商
contentCheck, // 文本/图片内容安全
adControl, // 广告开关与频次
reportRiskLog, // 风险日志上报
initShareConfig // 分享配置(含违禁词校验)
} from '@/uni_modules/unirisk-uni-sdk/utssdk'
错误码速查
| 错误码 | 含义 |
|---|---|
| 1001 | 隐私协议未同意 |
| 2001 | 黑名单拦截 |
| 2002 | 操作冷却中 |
| 2003 | 超出次数限制 |
| 3001 | 本地敏感词命中 |
| 3002 | 微信内容安全拦截 |
| 4001 | 广告全局关闭 |
| 4002 | 广告频次限制 |
接入多快?核心代码 3 行
import { initLicense, getDeviceFinger, checkLocalRisk } from '@/uni_modules/unirisk-uni-sdk/utssdk'
initLicense({ appid: '__UNI__XXXXX', backendUrl: 'https://your-domain.com' })
const finger = getDeviceFinger()
const result = checkLocalRisk('submit')
本地防刷示例:
const result = checkLocalRisk('submit', null)
if (!result.pass) {
if (result.needVerify) {
// 弹出人机验证码
} else {
uni.showToast({ title: result.reason, icon: 'none' })
}
}
5 套 easycom UI 组件,开箱即用
配置 pages.json 后无需手动 import,模板直接使用:
<privacy-dialog @agree="onAgree" @disagree="onDisagree" /> <!-- 隐私弹窗 -->
<risk-share>分享给朋友</risk-share> <!-- 合规分享 -->
<risk-verify @success="onVerifySuccess" /> <!-- 人机验证 -->
<risk-tip msg="操作过于频繁,请稍后再试" /> <!-- 风险提示 -->
<ad-controller><view>广告内容</view></ad-controller> <!-- 广告管控 -->
- privacy-dialog:SDK 初始化优先弹出,未同意前禁用全部风控接口
- risk-share:仅响应手动 click,禁止自动唤起,无奖励/助力文案
- risk-verify:Canvas 本地生成 4 位数字+字母验证码,支持最大重试次数
- risk-tip:统一「防刷/风险拦截/访问限流」合规文案,自动倒计时关闭
- ad-controller:全局开关 + 最小展示间隔 + 最大叠加层数
配套 PHP + MySQL 后端(不是只给前端代码)
- 授权激活 & 校验
- 风控规则配置 & 动态下发
- 内容安全检测中转
- 黑白名单管理
- 风险日志查询 & CSV 导出
- SDK 版本检查 & 通知
隐私合规 · 放心用
- ✅ 不采集 IMEI、手机号、MAC 地址、定位、相册等敏感信息
- ✅ 设备特征经 SHA-256 哈希,不可逆推原始数据
- ✅ 隐私 FAQ + 合规声明文档齐全
- ✅ 符合微信/支付宝/抖音等平台最新隐私规范
在线 Demo & 插件获取
插件地址:ext.dcloud.net.cn/plugin?id=2…
不买插件 → 自己开发 → 至少 2 周 → 踩坑无数
接入 UniRisk → 一个插件 → 今天接入 → 立即生效