【需求反馈】关于鸿蒙平台支持页面透明背景的需求反馈
关于 uni-app 鸿蒙平台支持透明窗口页面的需求反馈
一、当前问题
我们在多个项目中,通过 pages\.json 配置透明背景实现透明弹窗页面,该方案在 APP-PLUS(安卓 /iOS)端可正常运行,但在鸿蒙平台不支持,导致原有功能失效。
现有可用配置(APP-PLUS IOS和安卓端)
{
"path": "pages/dialog/copy",
"style": {
"navigationStyle": "custom",
// #ifdef APP-PLUS
"backgroundColor": "transparent",
"backgroundColorTop": "transparent",
"backgroundColorBottom": "transparent",
// #endif
"app-plus": {
"animationType": "fade-in",
"background": "transparent",
"popGesture": "none"
}
}
}
鸿蒙平台存在的缺陷
-
不支持
pages.json中配置backgroundColor: transparent实现透明窗口; -
官方提供的鸿蒙专属 API
uni.setBackgroundColor(OBJECT)不支持设置透明值,无法替代原有方案; -
无官方等效方案,只能将所有页面弹窗改为自定义组件,改造工作量极大。
二、业务影响
-
多个存量项目大量页面使用透明页面做弹窗,无法直接兼容鸿蒙端;
-
若全部改用组件实现,需要大量修改老代码,耗时且容易产生兼容问题;
-
跨端一致性被破坏,APP 端正常运行、鸿蒙端无法使用。
三、需求建议
-
优先兼容原有配置
鸿蒙平台支持pages\.json中backgroundColor: transparent透明配置,与 APP 端保持一致,实现零成本兼容。 -
新增官方透明页面 API
参考 uni-app x 的uni.openDialogPage(options),在 uni-app 标准版鸿蒙平台提供官方透明弹窗页面方法。 -
完善现有 API
升级uni.setBackgroundColor,支持透明色值,补全基础能力。
四、核心诉求
透明窗口是弹窗类核心功能,恳请官方尽快适配鸿蒙平台透明页面能力,保持跨端统一,大幅降低老项目改造工作量。
关于 uni-app 鸿蒙平台支持透明窗口页面的需求反馈
一、当前问题
我们在多个项目中,通过 pages\.json 配置透明背景实现透明弹窗页面,该方案在 APP-PLUS(安卓 /iOS)端可正常运行,但在鸿蒙平台不支持,导致原有功能失效。
现有可用配置(APP-PLUS IOS和安卓端)
{
"path": "pages/dialog/copy",
"style": {
"navigationStyle": "custom",
// #ifdef APP-PLUS
"backgroundColor": "transparent",
"backgroundColorTop": "transparent",
"backgroundColorBottom": "transparent",
// #endif
"app-plus": {
"animationType": "fade-in",
"background": "transparent",
"popGesture": "none"
}
}
}
鸿蒙平台存在的缺陷
-
不支持
pages.json中配置backgroundColor: transparent实现透明窗口; -
官方提供的鸿蒙专属 API
uni.setBackgroundColor(OBJECT)不支持设置透明值,无法替代原有方案; -
无官方等效方案,只能将所有页面弹窗改为自定义组件,改造工作量极大。
二、业务影响
-
多个存量项目大量页面使用透明页面做弹窗,无法直接兼容鸿蒙端;
-
若全部改用组件实现,需要大量修改老代码,耗时且容易产生兼容问题;
-
跨端一致性被破坏,APP 端正常运行、鸿蒙端无法使用。
三、需求建议
-
优先兼容原有配置
鸿蒙平台支持pages\.json中backgroundColor: transparent透明配置,与 APP 端保持一致,实现零成本兼容。 -
新增官方透明页面 API
参考 uni-app x 的uni.openDialogPage(options),在 uni-app 标准版鸿蒙平台提供官方透明弹窗页面方法。 -
完善现有 API
升级uni.setBackgroundColor,支持透明色值,补全基础能力。
四、核心诉求
透明窗口是弹窗类核心功能,恳请官方尽快适配鸿蒙平台透明页面能力,保持跨端统一,大幅降低老项目改造工作量。
收起阅读 »终于解决了 uniapp X 的表情输入框的问题
准备写一个类似微信的输入框发现uniappx 使用 input 没法输入表情图片
使用富文本编辑框又出现了多一个 \n 换行,不适合聊天输入框
还好现在解决了,用AI写了个可以插入图片的输入框
准备写一个类似微信的输入框发现uniappx 使用 input 没法输入表情图片
使用富文本编辑框又出现了多一个 \n 换行,不适合聊天输入框
还好现在解决了,用AI写了个可以插入图片的输入框
猫拽uniapp跨平台低代码结合mimo2.5-pro模型
猫拽低代码平台是一个面向跨平台应用开发的低代码解决方案,它允许开发者通过可视化拖拽和配置的方式,快速构建和发布 Web、移动端(H5)及小程序应用。其核心价值在于大幅降低了应用开发的技术门槛和周期。
平台主要功能包括:可视化页面设计器、数据模型构建、逻辑流编排、API 集成以及一键多端发布。
引入 小米 MIMO 2.5 Pro 模型测试,为应用赋予了先进的智能交互与决策能力。
官网:猫拽低代码平台
小米 MIMO 2.5 Pro 模型是小米公司推出的新一代多模态智能模型(Multi-modal Intelligent Model),是其 MIMO 系列模型的重要升级版本。该模型深度融合了视觉、语言、语音等多种模态的理解与生成能力,旨在为智能设备、人机交互和内容创作等领域提供强大的 AI 驱动核心。
强大的多模态理解与生成
- 视觉理解:能够精准识别图像/视频中的物体、场景、文字、动作乃至情感元素。
- 语言处理:支持超长上下文对话、复杂指令跟随、多语言翻译与创作。
- 语音交互:具备高保真语音合成、实时语音识别与情感化语音交互能力。
- 跨模态关联:实现“图文互生”、“语音控图”、“以文生视频”等跨模态任务。
- 混合专家(MoE)架构:采用稀疏激活的专家网络,在保持庞大参数规模(据传达千亿级别)的同时,大幅降低推理计算成本。
- 动态自适应推理:根据任务复杂度动态分配计算资源,简单任务快速响应,复杂任务深度处理。
- 端云协同:支持模型部分能力下沉至设备端(如手机、IoT设备),实现低延迟、高隐私的本地智能,同时与云端大模型协同完成复杂任务。
将 小米 MIMO 2.5 Pro 模型 集成到 猫拽低代码平台,实质上是为可视化开发注入了“AI大脑”,创造了“1+1>2”的效应:
- 开发流程智能化:从“手动拖拽配置”迈向“描述即生成”。用户可以用自然语言提出需求,由 MIMO 2.5 Pro 理解并转化为平台可执行的构件,极大提升原型搭建速度。
- 交互体验个性化:生成的页面或应用内置了模型的智能交互能力。例如,一个电商详情页可以集成能“看懂”商品图片并回答问题的客服机器人,其能力直接来源于 MIMO 2.5 Pro。
- 多端体验一致化:模型的能力通过猫拽平台的多端发布引擎,可以无缝部署到 Web、小程序、App(通过 UniApp)等各个终端,确保智能体验的全渠道覆盖。
- 降低高级功能门槛:一些原本需要复杂编码实现的 AI 功能(如图像识别分类、智能推荐、内容审核),现在可以通过调用模型 API 并以低代码方式配置,让更多开发者能够触及 AI 能力。
猫拽低代码平台是一个面向跨平台应用开发的低代码解决方案,它允许开发者通过可视化拖拽和配置的方式,快速构建和发布 Web、移动端(H5)及小程序应用。其核心价值在于大幅降低了应用开发的技术门槛和周期。
平台主要功能包括:可视化页面设计器、数据模型构建、逻辑流编排、API 集成以及一键多端发布。
引入 小米 MIMO 2.5 Pro 模型测试,为应用赋予了先进的智能交互与决策能力。
官网:猫拽低代码平台
小米 MIMO 2.5 Pro 模型是小米公司推出的新一代多模态智能模型(Multi-modal Intelligent Model),是其 MIMO 系列模型的重要升级版本。该模型深度融合了视觉、语言、语音等多种模态的理解与生成能力,旨在为智能设备、人机交互和内容创作等领域提供强大的 AI 驱动核心。
强大的多模态理解与生成
- 视觉理解:能够精准识别图像/视频中的物体、场景、文字、动作乃至情感元素。
- 语言处理:支持超长上下文对话、复杂指令跟随、多语言翻译与创作。
- 语音交互:具备高保真语音合成、实时语音识别与情感化语音交互能力。
- 跨模态关联:实现“图文互生”、“语音控图”、“以文生视频”等跨模态任务。
- 混合专家(MoE)架构:采用稀疏激活的专家网络,在保持庞大参数规模(据传达千亿级别)的同时,大幅降低推理计算成本。
- 动态自适应推理:根据任务复杂度动态分配计算资源,简单任务快速响应,复杂任务深度处理。
- 端云协同:支持模型部分能力下沉至设备端(如手机、IoT设备),实现低延迟、高隐私的本地智能,同时与云端大模型协同完成复杂任务。
将 小米 MIMO 2.5 Pro 模型 集成到 猫拽低代码平台,实质上是为可视化开发注入了“AI大脑”,创造了“1+1>2”的效应:
- 开发流程智能化:从“手动拖拽配置”迈向“描述即生成”。用户可以用自然语言提出需求,由 MIMO 2.5 Pro 理解并转化为平台可执行的构件,极大提升原型搭建速度。
- 交互体验个性化:生成的页面或应用内置了模型的智能交互能力。例如,一个电商详情页可以集成能“看懂”商品图片并回答问题的客服机器人,其能力直接来源于 MIMO 2.5 Pro。
- 多端体验一致化:模型的能力通过猫拽平台的多端发布引擎,可以无缝部署到 Web、小程序、App(通过 UniApp)等各个终端,确保智能体验的全渠道覆盖。
- 降低高级功能门槛:一些原本需要复杂编码实现的 AI 功能(如图像识别分类、智能推荐、内容审核),现在可以通过调用模型 API 并以低代码方式配置,让更多开发者能够触及 AI 能力。
仁跃平台直充业务对接与使用指南
1. 功能概述
本系统已集成仁跃电子商务(Renyue)的虚拟商品直充接口。通过此功能,您可以实现:
- 自动同步商品:一键获取仁跃平台的会员/充值类商品(如爱奇艺、腾讯视频会员等)。
- 自动发货:用户下单并支付后,系统自动调用仁跃接口进行充值,无需人工干预。
- 余额管理:实时同步仁跃账户余额,防止因余额不足导致充值失败。
- 状态回调:接收仁跃平台的充值结果回调,自动更新订单状态。
适用场景:积分兑换商城、会员权益赠送、虚拟商品零售等。
2. 前置准备
在启用本功能前,请确保您已完成以下步骤:
- 注册仁跃账号:访问 仁跃官网 注册商户账号。
- 获取密钥信息:在仁跃后台获取以下关键信息:
MerchantNo(商户号)MerchantKey(商户密钥/签名Key)My Private Key(您的RSA私钥,用于签名生成)RenYue Public Key(仁跃公钥,用于验签,通常由仁跃提供或固定)
- 充值余额确保仁跃账户内有足够的预付款余额以支持自动充值。
3. 系统配置
请在后台 系统配置 -> 商城(仁跃) 中填写以下参数:
| 配置项键名 (Key) | 说明 | 示例/备注 |
|---|---|---|
renyuejt_url |
仁跃API接口地址 | 通常为 https://api.renyuejt.com (请以官方文档为准) |
renyuejt_merchant_no |
商户号 | 从仁跃后台获取 |
renyuejt_merchant_sign |
商户密钥 (MerchantKey) | 用于生成签名 |
renyuejt_my_private_key |
本地RSA私钥 | 注意:需包含 -----BEGIN PRIVATE KEY----- 头尾,格式需正确 |
renyuejt_freight_id |
默认运费模板ID | 虚拟商品通常设置为“免运费”模板ID |
renyuejt_category_id |
默认商品分类ID | 同步的商品将归入此分类 |
4. 核心功能操作
4.1 同步商品列表
系统提供了自动同步仁跃商品的功能。
- 操作方式:
- 手动同步:在后台商品管理页面点击“同步仁跃商品”按钮(如有)。
- 定时任务:建议设置 Cron 定时任务,定期执行
\addons\smplive\library\renyuejtService::getCardDiscountList()。
- 同步逻辑:
- 调用仁跃
getCardDiscountList接口获取最新产品列表。 - 系统将当前商户下所有已有商品状态设为
hidden(隐藏)。 - 遍历返回的产品列表:
- 若商品已存在(通过
third_id匹配),则更新价格、库存等信息。 - 若商品不存在,则创建新商品。
- 若商品已存在(通过
- 未在本次同步列表中出现的原有商品将保持隐藏状态(相当于下架)。
- 调用仁跃
- 图片匹配:
- 系统会根据商品名称,在
ShopThirdRenyuejtImg表中查找匹配的图片。 - 建议:在后台预先维护好常见会员(如“爱奇艺”、“腾讯”)的关键字与图片对应关系,以便同步时自动关联精美封面图。
- 系统会根据商品名称,在
4.2 查询账户余额
- 方法:
\addons\smplive\library\renyuejtService::getCustomerDetail() - 用途:获取当前仁跃账户的剩余余额。
- 展示:余额数据会更新至系统配置
renyuejt_money,可在后台仪表盘查看。 - 建议:设置定时任务每小时同步一次余额,以便及时充值。
4.3 自动充值流程
当用户在平台购买虚拟商品并支付成功后,系统将自动触发充值:
- 订单校验:
- 检查订单是否属于仁跃商户 (
shops_id = 11)。 - 检查订单是否只包含1个商品,且数量为1。
- 检查商品是否有有效的
third_id(仁跃产品编码)。
- 检查订单是否属于仁跃商户 (
- 提交充值:
- 调用仁跃
getOrderRechargeInfo接口。 - 传入参数:用户手机号 (
mobile) 作为充值账号、产品编码、商户订单号等。
- 调用仁跃
- 状态更新:
- 若接口返回成功 (
CodeRes == 1000),系统将订单状态更新为 已发货 (shippingstate = 1),并记录仁跃返回的交易单号 (StoreNo)。 - 若失败,记录错误日志到
ShopOrderAction,方便排查。
- 若接口返回成功 (
4.4 异步回调处理
仁跃平台会在充值完成后(成功或失败)向系统发送回调通知。
- 回调地址:
/api/smplive/pay_notify/renyuejt - 处理逻辑:
- 验签:使用
verify()方法验证回调数据的签名,确保请求来自仁跃。 - 状态判断:
RechargeStatus == 2:充值成功。系统将订单状态更新为 已完成 (shippingstate = 2)。- 其他状态:记录错误日志,便于后续人工介入或重试。
- 响应:向仁跃返回
success字符串,确认收到通知。
- 验签:使用
5. 常见问题排查 (FAQ)
Q1: 同步商品时提示“解析失败”或无反应?
- 检查网络:确保服务器能访问仁跃 API 地址。
- 检查配置:确认
renyuejt_url、merchant_no、merchant_sign填写正确。 - 查看日志:检查
runtime/log/下的日志文件,搜索renyuejtService-curlRequest,查看具体的请求参数和返回结果。
Q2: 用户下单后未自动充值?
- 检查商品编码:确认该商品在数据库中的
third_id字段不为空,且与仁跃平台的产品编码一致。 - 检查订单结构:仁跃直充接口目前仅支持单商品、单数量的订单。如果用户购物车中有多个商品或同一商品买了2个,系统将拒绝调用接口并在订单操作中记录原因。
- 检查余额:确认仁跃账户余额充足。
- 查看日志:搜索
renyuejt关键词,查看orderSubmit方法的执行日志。
Q3: 回调验签失败?
- 检查公钥/私钥:确认配置中的
renyuejt_my_private_key格式正确(通常验签需要用到仁跃的公钥,请确认代码中verify方法使用的密钥是否与仁跃文档要求一致。注:当前代码使用的是本地私钥解密ReturnSign,请核对仁跃最新文档是否变更了验签方式)。 - 检查时间戳:确保服务器时间与标准时间同步,避免
TimeStamp偏差过大导致签名失效。
Q4: 如何自定义商品图片?
- 系统通过
findImg方法模糊匹配商品名称和图片标题。 - 请在后台管理
ShopThirdRenyuejtImg表(或通过专门的管理页面),添加关键字(如“爱奇艺”)对应的图片URL。 - 例如:添加一条记录,
title为 "爱奇艺",image为 "https://example.com/iqiyi.jpg"。当同步到“爱奇艺黄金会员月卡”时,系统会自动使用该图片。
6. 开发参考 (For Developers)
如果您需要二次开发或调试,可以参考以下核心方法:
use addons\smplive\library\renyuejtService;
// 1. 同步商品
$result = renyuejtService::getCardDiscountList();
// 2. 查询余额
$balanceInfo = renyuejtService::getCustomerDetail();
// 3. 手动触发订单充值 (通常由支付成功回调自动触发)
$order = ShopOrder::get($orderId);
$success = renyuejtService::orderSubmit($order);
签名算法说明:
- 参数按 ASCII 码字典序升序排序。
- 拼接成
key=value&key=value...格式。 - 末尾拼接
&MerchantKey=YOUR_KEY。 - 使用 SHA256WithRSA 算法,利用本地私钥对字符串进行签名。
- Base64 编码得到
SignSecret。
温馨提示:虚拟商品交易涉及资金安全,请务必妥善保管商户密钥和私钥,不要泄露给他人。建议在生产环境开启详细的日志记录,以便追踪每一笔充值请求。
更多技术介绍在https://smplive.wpygo.com/
DCloud 插件市场**
便于直接在 HBuilderX 中导入使用:
点击查看插件详情https://ext.dcloud.net.cn/plugin?id=26606
Gitee 代码仓库**
获取完整源代码及提交历史:
访问仓库地址 https://gitee.com/mldxmy/simplelive
1. 功能概述
本系统已集成仁跃电子商务(Renyue)的虚拟商品直充接口。通过此功能,您可以实现:
- 自动同步商品:一键获取仁跃平台的会员/充值类商品(如爱奇艺、腾讯视频会员等)。
- 自动发货:用户下单并支付后,系统自动调用仁跃接口进行充值,无需人工干预。
- 余额管理:实时同步仁跃账户余额,防止因余额不足导致充值失败。
- 状态回调:接收仁跃平台的充值结果回调,自动更新订单状态。
适用场景:积分兑换商城、会员权益赠送、虚拟商品零售等。
2. 前置准备
在启用本功能前,请确保您已完成以下步骤:
- 注册仁跃账号:访问 仁跃官网 注册商户账号。
- 获取密钥信息:在仁跃后台获取以下关键信息:
MerchantNo(商户号)MerchantKey(商户密钥/签名Key)My Private Key(您的RSA私钥,用于签名生成)RenYue Public Key(仁跃公钥,用于验签,通常由仁跃提供或固定)
- 充值余额确保仁跃账户内有足够的预付款余额以支持自动充值。
3. 系统配置
请在后台 系统配置 -> 商城(仁跃) 中填写以下参数:
| 配置项键名 (Key) | 说明 | 示例/备注 |
|---|---|---|
renyuejt_url |
仁跃API接口地址 | 通常为 https://api.renyuejt.com (请以官方文档为准) |
renyuejt_merchant_no |
商户号 | 从仁跃后台获取 |
renyuejt_merchant_sign |
商户密钥 (MerchantKey) | 用于生成签名 |
renyuejt_my_private_key |
本地RSA私钥 | 注意:需包含 -----BEGIN PRIVATE KEY----- 头尾,格式需正确 |
renyuejt_freight_id |
默认运费模板ID | 虚拟商品通常设置为“免运费”模板ID |
renyuejt_category_id |
默认商品分类ID | 同步的商品将归入此分类 |
4. 核心功能操作
4.1 同步商品列表
系统提供了自动同步仁跃商品的功能。
- 操作方式:
- 手动同步:在后台商品管理页面点击“同步仁跃商品”按钮(如有)。
- 定时任务:建议设置 Cron 定时任务,定期执行
\addons\smplive\library\renyuejtService::getCardDiscountList()。
- 同步逻辑:
- 调用仁跃
getCardDiscountList接口获取最新产品列表。 - 系统将当前商户下所有已有商品状态设为
hidden(隐藏)。 - 遍历返回的产品列表:
- 若商品已存在(通过
third_id匹配),则更新价格、库存等信息。 - 若商品不存在,则创建新商品。
- 若商品已存在(通过
- 未在本次同步列表中出现的原有商品将保持隐藏状态(相当于下架)。
- 调用仁跃
- 图片匹配:
- 系统会根据商品名称,在
ShopThirdRenyuejtImg表中查找匹配的图片。 - 建议:在后台预先维护好常见会员(如“爱奇艺”、“腾讯”)的关键字与图片对应关系,以便同步时自动关联精美封面图。
- 系统会根据商品名称,在
4.2 查询账户余额
- 方法:
\addons\smplive\library\renyuejtService::getCustomerDetail() - 用途:获取当前仁跃账户的剩余余额。
- 展示:余额数据会更新至系统配置
renyuejt_money,可在后台仪表盘查看。 - 建议:设置定时任务每小时同步一次余额,以便及时充值。
4.3 自动充值流程
当用户在平台购买虚拟商品并支付成功后,系统将自动触发充值:
- 订单校验:
- 检查订单是否属于仁跃商户 (
shops_id = 11)。 - 检查订单是否只包含1个商品,且数量为1。
- 检查商品是否有有效的
third_id(仁跃产品编码)。
- 检查订单是否属于仁跃商户 (
- 提交充值:
- 调用仁跃
getOrderRechargeInfo接口。 - 传入参数:用户手机号 (
mobile) 作为充值账号、产品编码、商户订单号等。
- 调用仁跃
- 状态更新:
- 若接口返回成功 (
CodeRes == 1000),系统将订单状态更新为 已发货 (shippingstate = 1),并记录仁跃返回的交易单号 (StoreNo)。 - 若失败,记录错误日志到
ShopOrderAction,方便排查。
- 若接口返回成功 (
4.4 异步回调处理
仁跃平台会在充值完成后(成功或失败)向系统发送回调通知。
- 回调地址:
/api/smplive/pay_notify/renyuejt - 处理逻辑:
- 验签:使用
verify()方法验证回调数据的签名,确保请求来自仁跃。 - 状态判断:
RechargeStatus == 2:充值成功。系统将订单状态更新为 已完成 (shippingstate = 2)。- 其他状态:记录错误日志,便于后续人工介入或重试。
- 响应:向仁跃返回
success字符串,确认收到通知。
- 验签:使用
5. 常见问题排查 (FAQ)
Q1: 同步商品时提示“解析失败”或无反应?
- 检查网络:确保服务器能访问仁跃 API 地址。
- 检查配置:确认
renyuejt_url、merchant_no、merchant_sign填写正确。 - 查看日志:检查
runtime/log/下的日志文件,搜索renyuejtService-curlRequest,查看具体的请求参数和返回结果。
Q2: 用户下单后未自动充值?
- 检查商品编码:确认该商品在数据库中的
third_id字段不为空,且与仁跃平台的产品编码一致。 - 检查订单结构:仁跃直充接口目前仅支持单商品、单数量的订单。如果用户购物车中有多个商品或同一商品买了2个,系统将拒绝调用接口并在订单操作中记录原因。
- 检查余额:确认仁跃账户余额充足。
- 查看日志:搜索
renyuejt关键词,查看orderSubmit方法的执行日志。
Q3: 回调验签失败?
- 检查公钥/私钥:确认配置中的
renyuejt_my_private_key格式正确(通常验签需要用到仁跃的公钥,请确认代码中verify方法使用的密钥是否与仁跃文档要求一致。注:当前代码使用的是本地私钥解密ReturnSign,请核对仁跃最新文档是否变更了验签方式)。 - 检查时间戳:确保服务器时间与标准时间同步,避免
TimeStamp偏差过大导致签名失效。
Q4: 如何自定义商品图片?
- 系统通过
findImg方法模糊匹配商品名称和图片标题。 - 请在后台管理
ShopThirdRenyuejtImg表(或通过专门的管理页面),添加关键字(如“爱奇艺”)对应的图片URL。 - 例如:添加一条记录,
title为 "爱奇艺",image为 "https://example.com/iqiyi.jpg"。当同步到“爱奇艺黄金会员月卡”时,系统会自动使用该图片。
6. 开发参考 (For Developers)
如果您需要二次开发或调试,可以参考以下核心方法:
use addons\smplive\library\renyuejtService;
// 1. 同步商品
$result = renyuejtService::getCardDiscountList();
// 2. 查询余额
$balanceInfo = renyuejtService::getCustomerDetail();
// 3. 手动触发订单充值 (通常由支付成功回调自动触发)
$order = ShopOrder::get($orderId);
$success = renyuejtService::orderSubmit($order);
签名算法说明:
- 参数按 ASCII 码字典序升序排序。
- 拼接成
key=value&key=value...格式。 - 末尾拼接
&MerchantKey=YOUR_KEY。 - 使用 SHA256WithRSA 算法,利用本地私钥对字符串进行签名。
- Base64 编码得到
SignSecret。
温馨提示:虚拟商品交易涉及资金安全,请务必妥善保管商户密钥和私钥,不要泄露给他人。建议在生产环境开启详细的日志记录,以便追踪每一笔充值请求。
更多技术介绍在https://smplive.wpygo.com/
DCloud 插件市场**
便于直接在 HBuilderX 中导入使用:
点击查看插件详情https://ext.dcloud.net.cn/plugin?id=26606
Gitee 代码仓库**
获取完整源代码及提交历史:
访问仓库地址 https://gitee.com/mldxmy/simplelive
PHP 对接各类支付接口心得各银行支付/各种支付平台/php对接支付接口心得/php h5支付接口
前言
本人从事软件开发工作已有 15 余年。早期有 5 年时间专注于直播行业开发,随后转型从事商城系统开发。
在直播行业期间,主要模式是将软件销售给客户,并根据客户需求进行定制化功能修改。由于部分客户群体(如秀场直播等)无法直接对接银行、微信或支付宝等主流支付渠道,他们往往自行寻找第三方支付平台,并要求我将其接入系统中。因此,我积累了大量不同支付接口的对接经验。
后期转向商城开发后,为了利用银行的营销补贴活动(例如:某银行推广网上支付,用户支付 38 元立减 20 元,实际用户支付 18 元即可获得 38 元商品,差额由银行补贴),我又直接对接了多家银行的支付接口。
技术选型策略:统一 H5 支付接口
我们的支付场景覆盖 PC 端、H5 网页、Android App、iOS App 以及微信小程序。为了降低维护成本,除微信和支付宝使用原生 SDK 外,其他所有支付渠道均统一接入 H5 支付接口。
这种策略的优势在于:
- 代码复用率高:一套核心逻辑可服务于多个终端。
- 维护成本低:无需为每个平台单独维护一套支付逻辑。
- 兼容性较好:H5 页面在 App 内通过 WebView 加载,或在浏览器中直接打开,体验相对统一。
通用支付流程
除中信银行等特殊案例外,大多数支付流程如下:
- 发起请求用户在商户平台(我方开发系统)选择充值金额(如 100 元)及支付方式(如 A 支付)。
- 跳转网关:系统生成订单并跳转至 A 支付的网关页面。
- 用户支付:用户在网关页面完成支付操作。
- 回调验证:支付完成后,用户跳回商户平台。同时,支付平台异步通知商户服务器。
- 业务处理:商户服务器验证签名及数据合法性,确认无误后为用户账户充值相应金额。
开发效率与沟通成本分析
接入一个支付平台的纯开发时间通常在 半天到 1 周 之间(不包含前期沟通与审核时间)。不同机构的对接难度差异巨大:
1. 高效案例:招商银行一网通
- 开发耗时:约半天。
- 优势:文档完善,Demo 齐全,提供测试账号。
- 沟通:拥有专属微信沟通群,遇到问题可直接咨询银行技术人员,响应迅速。
2. 困难案例:中信银行
- 开发耗时:纯开发约 1 周,但整体周期长达 2 个月。
- 劣势:文档和 Demo 不完整。
- 沟通瓶颈:审核流程繁琐,需多次发送邮件沟通,每次审核耗时 1 周或更久。在审核期间无法进行下一步开发,极大拉长项目周期。
3. 一般规律
- 小型第三方支付:接入简单,签名算法通常仅为 MD5,从开发到上线可在 1 天内完成。
- 银行系支付:相对复杂,常使用 SHA256 等更安全的签名算法,且线下审批流程各异。招商银行流程顺畅,而中信银行等则沟通成本极高。
各支付平台对接详情
以下列出我曾对接过的 16 种支付渠道,并对重点渠道进行简要说明。
主流支付
1. 支付宝
- 特点:文档极其完善,Demo 丰富,社区资料多。
- 开发体验:无需沟通客服。下载官方 Demo,替换配置参数,调整跳转逻辑及回调处理即可快速完成。
- 官方文档:支付宝开放平台
2. 微信支付
- 特点:文档规范,无人工客服支持。
- 开发体验:无需沟通。下载 Demo,修改配置,处理支付发起与回调逻辑即可。
- 官方文档:微信支付 H5 开发文档
银行系支付
3. 招商银行一网通支付
- 语言:PHP
- 详情:对接体验良好,文档清晰。
- 参考文章:PHP 接入招商银行一网通支付
4. 光大银行 H5 支付
- 语言:PHP
- 参考文章:PHP 接入光大银行 H5 支付
5. 中国农业银行 H5 支付
- 语言:PHP
- 参考文章:PHP 接入中国农业银行 H5 支付
6. 宁波银行 H5 支付
- 语言:PHP
- 参考文章:PHP 接入宁波银行 H5 支付
7. 中信银行 H5 支付
- 语言:PHP
- 特点:沟通成本高,审核周期长。
- 参考文章:PHP 接入中信银行 H5 支付
第三方支付平台
8. 国边四方支付 (bbnpay)
- 状态:官网已无法访问,不再详细介绍。
9. 网银在线 (chinabank)
- 官网:https://chinabank.com.cn/
- 特点:文档和 Demo 质量较好,开发速度快。
10. 国付支付 (guofu)
- 状态:官网已无法访问,不再详细介绍。
11. 汇银通支付 (huiyintongpay)
- 状态:官网已无法访问,不再详细介绍。
12. IPS 支付 (ips17)
- 状态:官网已无法访问,不再详细介绍。
13. 快钱支付 (kuaiqian)
- 官网:https://www.99bill.com/
- 特点:接入简单,依据文档和 Demo 即可快速完成。
14. 连连支付 (llpay)
- 官网:https://www.lianlianpay.com/
- 特点:提供 Demo,直接基于 Demo 开发,复杂度低。
15. 通汇支付 (tonghui)
- 官网:http://41.cn/
- 状态:官网已无法访问,不再详细介绍。
16. 易宝支付 (yee)
- 官网:https://www.yeepay.com/
- 特点:文档和 Demo 质量较好,开发效率高。
总结
在支付接口对接工作中,“文档质量” 和 “沟通渠道” 是决定开发效率的关键因素。
- 推荐优先选择:支付宝、微信、招商银行、网银在线、易宝支付、连连支付、快钱支付。这些平台文档健全,流程规范,能显著缩短开发周期。
- 需谨慎选择:沟通流程冗长、文档缺失或官网稳定性差的中小型支付平台。虽然初期接入可能看似简单,但后续的维护风险和沟通成本可能远超预期。
希望以上经验能为正在面临支付选型和对接开发的同行提供参考。
前言
本人从事软件开发工作已有 15 余年。早期有 5 年时间专注于直播行业开发,随后转型从事商城系统开发。
在直播行业期间,主要模式是将软件销售给客户,并根据客户需求进行定制化功能修改。由于部分客户群体(如秀场直播等)无法直接对接银行、微信或支付宝等主流支付渠道,他们往往自行寻找第三方支付平台,并要求我将其接入系统中。因此,我积累了大量不同支付接口的对接经验。
后期转向商城开发后,为了利用银行的营销补贴活动(例如:某银行推广网上支付,用户支付 38 元立减 20 元,实际用户支付 18 元即可获得 38 元商品,差额由银行补贴),我又直接对接了多家银行的支付接口。
技术选型策略:统一 H5 支付接口
我们的支付场景覆盖 PC 端、H5 网页、Android App、iOS App 以及微信小程序。为了降低维护成本,除微信和支付宝使用原生 SDK 外,其他所有支付渠道均统一接入 H5 支付接口。
这种策略的优势在于:
- 代码复用率高:一套核心逻辑可服务于多个终端。
- 维护成本低:无需为每个平台单独维护一套支付逻辑。
- 兼容性较好:H5 页面在 App 内通过 WebView 加载,或在浏览器中直接打开,体验相对统一。
通用支付流程
除中信银行等特殊案例外,大多数支付流程如下:
- 发起请求用户在商户平台(我方开发系统)选择充值金额(如 100 元)及支付方式(如 A 支付)。
- 跳转网关:系统生成订单并跳转至 A 支付的网关页面。
- 用户支付:用户在网关页面完成支付操作。
- 回调验证:支付完成后,用户跳回商户平台。同时,支付平台异步通知商户服务器。
- 业务处理:商户服务器验证签名及数据合法性,确认无误后为用户账户充值相应金额。
开发效率与沟通成本分析
接入一个支付平台的纯开发时间通常在 半天到 1 周 之间(不包含前期沟通与审核时间)。不同机构的对接难度差异巨大:
1. 高效案例:招商银行一网通
- 开发耗时:约半天。
- 优势:文档完善,Demo 齐全,提供测试账号。
- 沟通:拥有专属微信沟通群,遇到问题可直接咨询银行技术人员,响应迅速。
2. 困难案例:中信银行
- 开发耗时:纯开发约 1 周,但整体周期长达 2 个月。
- 劣势:文档和 Demo 不完整。
- 沟通瓶颈:审核流程繁琐,需多次发送邮件沟通,每次审核耗时 1 周或更久。在审核期间无法进行下一步开发,极大拉长项目周期。
3. 一般规律
- 小型第三方支付:接入简单,签名算法通常仅为 MD5,从开发到上线可在 1 天内完成。
- 银行系支付:相对复杂,常使用 SHA256 等更安全的签名算法,且线下审批流程各异。招商银行流程顺畅,而中信银行等则沟通成本极高。
各支付平台对接详情
以下列出我曾对接过的 16 种支付渠道,并对重点渠道进行简要说明。
主流支付
1. 支付宝
- 特点:文档极其完善,Demo 丰富,社区资料多。
- 开发体验:无需沟通客服。下载官方 Demo,替换配置参数,调整跳转逻辑及回调处理即可快速完成。
- 官方文档:支付宝开放平台
2. 微信支付
- 特点:文档规范,无人工客服支持。
- 开发体验:无需沟通。下载 Demo,修改配置,处理支付发起与回调逻辑即可。
- 官方文档:微信支付 H5 开发文档
银行系支付
3. 招商银行一网通支付
- 语言:PHP
- 详情:对接体验良好,文档清晰。
- 参考文章:PHP 接入招商银行一网通支付
4. 光大银行 H5 支付
- 语言:PHP
- 参考文章:PHP 接入光大银行 H5 支付
5. 中国农业银行 H5 支付
- 语言:PHP
- 参考文章:PHP 接入中国农业银行 H5 支付
6. 宁波银行 H5 支付
- 语言:PHP
- 参考文章:PHP 接入宁波银行 H5 支付
7. 中信银行 H5 支付
- 语言:PHP
- 特点:沟通成本高,审核周期长。
- 参考文章:PHP 接入中信银行 H5 支付
第三方支付平台
8. 国边四方支付 (bbnpay)
- 状态:官网已无法访问,不再详细介绍。
9. 网银在线 (chinabank)
- 官网:https://chinabank.com.cn/
- 特点:文档和 Demo 质量较好,开发速度快。
10. 国付支付 (guofu)
- 状态:官网已无法访问,不再详细介绍。
11. 汇银通支付 (huiyintongpay)
- 状态:官网已无法访问,不再详细介绍。
12. IPS 支付 (ips17)
- 状态:官网已无法访问,不再详细介绍。
13. 快钱支付 (kuaiqian)
- 官网:https://www.99bill.com/
- 特点:接入简单,依据文档和 Demo 即可快速完成。
14. 连连支付 (llpay)
- 官网:https://www.lianlianpay.com/
- 特点:提供 Demo,直接基于 Demo 开发,复杂度低。
15. 通汇支付 (tonghui)
- 官网:http://41.cn/
- 状态:官网已无法访问,不再详细介绍。
16. 易宝支付 (yee)
- 官网:https://www.yeepay.com/
- 特点:文档和 Demo 质量较好,开发效率高。
总结
在支付接口对接工作中,“文档质量” 和 “沟通渠道” 是决定开发效率的关键因素。
- 推荐优先选择:支付宝、微信、招商银行、网银在线、易宝支付、连连支付、快钱支付。这些平台文档健全,流程规范,能显著缩短开发周期。
- 需谨慎选择:沟通流程冗长、文档缺失或官网稳定性差的中小型支付平台。虽然初期接入可能看似简单,但后续的维护风险和沟通成本可能远超预期。
希望以上经验能为正在面临支付选型和对接开发的同行提供参考。
收起阅读 »Chrome 浏览器对我的改变
在步入职场之前,我对浏览器的认知仅局限于 Internet Explorer (IE) 和 Firefox (火狐)。从事 Web 开发工作后,由于需要频繁调试网页在不同内核下的兼容性,我不得不在电脑上安装五到六款不同的浏览器。在日常测试与浏览的过程中,我逐渐被 Chrome 浏览器所吸引,并习惯将其作为主力工具。
Chrome 给我的工作和生活方式带来了显著的改变,主要体现在以下几个方面:
1. 高效的书签同步与数据管理
在转向 Chrome 之前,我长期使用 Firefox。虽然 Firefox 的 Firebug 插件在当时是前端调试的神器(至今我仍会在需要深度调试时启用它),但其内存占用过高的问题一直令人困扰。
Chrome 的同步功能极大地提升了我的工作效率。它不仅能够同步保存的网页书签,还能同步应用主题、保存的密码以及其他个性化设置。当我更换电脑或在新设备上工作时,只需登录账号,所有配置和数据即可瞬间恢复,无需重新配置环境。
此外,Chrome 的书签栏设计也颇具人性化。默认情况下,书签栏仅在打开新标签页时显示,或者可以设置为始终显示但布局紧凑。这种设计为我提供了更大的页面可视空间,让浏览体验更加专注。
2. 界面清爽,可视面积大
许多 Chrome 用户都有同感:Chrome 的界面极其简洁。它去除了大量不必要的边框和装饰元素,将屏幕空间最大限度地留给网页内容本身。
这种“极简主义”的设计不仅让视觉体验更加舒适,也在心理上给人一种浏览器运行轻快、响应迅速的感觉。相比于其他传统浏览器繁杂的工具栏,Chrome 的留白艺术确实独树一帜。
3. 操作逻辑简单直观
Chrome 的设置入口统一集中在浏览器右上角的菜单中。无论是调整隐私设置、管理扩展程序,还是清除浏览数据,用户都可以轻松找到对应的选项。这种扁平化的操作逻辑降低了学习成本,让用户能够专注于内容而非工具本身。
4. 丰富的插件生态
Chrome 拥有强大的扩展程序商店,能够满足各种个性化需求。目前我安装了不到 10 个插件,其中高频使用的包括:
- Neat Bookmarks:用于快速查找和管理书签,提升导航效率。
- AdBlock:有效屏蔽网页广告,净化浏览环境。
- Proxy SwitchySharp:方便地切换网络代理,满足开发测试需求。
这些插件极大地增强了浏览器的功能性,使其不仅仅是一个查看网页的工具,更成为一个高效的生产力平台。
5. 广阔的发展前景
Google 对 Chrome 的持续投入令人印象深刻。当时 Chrome 正计划内置语音和视频聊天功能,这一举措展示了其成为全能型互联网平台的野心。
正如 Android 系统在移动领域的普及一样,我相信凭借卓越的性能、开放的生态以及 Google 的技术支持,Chrome 将在桌面浏览器市场占据主导地位,甚至成为Web标准的重要推动者。
结语
综上所述,Chrome 浏览器以其高效的同步机制、清爽的界面设计、简单的操作逻辑、强大的插件生态以及广阔的发展前景,深刻地改变了我的开发习惯和网络生活。它不仅是我的工作利器,更是我探索互联网世界的首选窗口。
在步入职场之前,我对浏览器的认知仅局限于 Internet Explorer (IE) 和 Firefox (火狐)。从事 Web 开发工作后,由于需要频繁调试网页在不同内核下的兼容性,我不得不在电脑上安装五到六款不同的浏览器。在日常测试与浏览的过程中,我逐渐被 Chrome 浏览器所吸引,并习惯将其作为主力工具。
Chrome 给我的工作和生活方式带来了显著的改变,主要体现在以下几个方面:
1. 高效的书签同步与数据管理
在转向 Chrome 之前,我长期使用 Firefox。虽然 Firefox 的 Firebug 插件在当时是前端调试的神器(至今我仍会在需要深度调试时启用它),但其内存占用过高的问题一直令人困扰。
Chrome 的同步功能极大地提升了我的工作效率。它不仅能够同步保存的网页书签,还能同步应用主题、保存的密码以及其他个性化设置。当我更换电脑或在新设备上工作时,只需登录账号,所有配置和数据即可瞬间恢复,无需重新配置环境。
此外,Chrome 的书签栏设计也颇具人性化。默认情况下,书签栏仅在打开新标签页时显示,或者可以设置为始终显示但布局紧凑。这种设计为我提供了更大的页面可视空间,让浏览体验更加专注。
2. 界面清爽,可视面积大
许多 Chrome 用户都有同感:Chrome 的界面极其简洁。它去除了大量不必要的边框和装饰元素,将屏幕空间最大限度地留给网页内容本身。
这种“极简主义”的设计不仅让视觉体验更加舒适,也在心理上给人一种浏览器运行轻快、响应迅速的感觉。相比于其他传统浏览器繁杂的工具栏,Chrome 的留白艺术确实独树一帜。
3. 操作逻辑简单直观
Chrome 的设置入口统一集中在浏览器右上角的菜单中。无论是调整隐私设置、管理扩展程序,还是清除浏览数据,用户都可以轻松找到对应的选项。这种扁平化的操作逻辑降低了学习成本,让用户能够专注于内容而非工具本身。
4. 丰富的插件生态
Chrome 拥有强大的扩展程序商店,能够满足各种个性化需求。目前我安装了不到 10 个插件,其中高频使用的包括:
- Neat Bookmarks:用于快速查找和管理书签,提升导航效率。
- AdBlock:有效屏蔽网页广告,净化浏览环境。
- Proxy SwitchySharp:方便地切换网络代理,满足开发测试需求。
这些插件极大地增强了浏览器的功能性,使其不仅仅是一个查看网页的工具,更成为一个高效的生产力平台。
5. 广阔的发展前景
Google 对 Chrome 的持续投入令人印象深刻。当时 Chrome 正计划内置语音和视频聊天功能,这一举措展示了其成为全能型互联网平台的野心。
正如 Android 系统在移动领域的普及一样,我相信凭借卓越的性能、开放的生态以及 Google 的技术支持,Chrome 将在桌面浏览器市场占据主导地位,甚至成为Web标准的重要推动者。
结语
综上所述,Chrome 浏览器以其高效的同步机制、清爽的界面设计、简单的操作逻辑、强大的插件生态以及广阔的发展前景,深刻地改变了我的开发习惯和网络生活。它不仅是我的工作利器,更是我探索互联网世界的首选窗口。
收起阅读 »推荐两款好用的uts蓝牙插件、Ble、经典蓝牙
BLE/低功耗蓝牙
基于 UTS 的低功耗蓝牙插件,支持 App 端:
- Android
- iOS
- HarmonyOS
支持能力:
- 蓝牙初始化
- 扫描设备(名称/服务过滤)
- 连接与断开
- 获取服务和特征
- 读特征
- 订阅通知(notify)
- 写特征(字节/字符串、UTF-8/GBK/HEX)
- 获取/设置 MTU(iOS/Harmony 根据平台能力做兼容处理)
经典蓝牙
基于 UTS 的经典蓝牙插件,支持 App 端:
- Android
- HarmonyOS
支持能力:
- 搜索周边设备
- 获取已配对蓝牙
- 连接蓝牙设备(未配对会先配对再连接)
- 读取蓝牙数据
- 向蓝牙写入数据支持UTF-8、Hex、gbk数据格式。支持分片下载(设置MTU)
BLE/低功耗蓝牙
基于 UTS 的低功耗蓝牙插件,支持 App 端:
- Android
- iOS
- HarmonyOS
支持能力:
- 蓝牙初始化
- 扫描设备(名称/服务过滤)
- 连接与断开
- 获取服务和特征
- 读特征
- 订阅通知(notify)
- 写特征(字节/字符串、UTF-8/GBK/HEX)
- 获取/设置 MTU(iOS/Harmony 根据平台能力做兼容处理)
经典蓝牙
基于 UTS 的经典蓝牙插件,支持 App 端:
- Android
- HarmonyOS
支持能力:
- 搜索周边设备
- 获取已配对蓝牙
- 连接蓝牙设备(未配对会先配对再连接)
- 读取蓝牙数据
- 向蓝牙写入数据支持UTF-8、Hex、gbk数据格式。支持分片下载(设置MTU)
全栈手写代码 非AI全自动开发 承接各类app、小程序、公众号、PC站等开发 可先开发后付费
本人是全栈开发,以人工手写代码为主 AI为辅,非AI全自动开发,代码质量高 逻辑性强 BUG少
可开发各类app、小程序、公众号、PC站等等 前后台均可开发,或者二次开发
可先开发后付费,欢迎各位朋友来咨询
QQ/微信:476519913
本人是全栈开发,以人工手写代码为主 AI为辅,非AI全自动开发,代码质量高 逻辑性强 BUG少
可开发各类app、小程序、公众号、PC站等等 前后台均可开发,或者二次开发
可先开发后付费,欢迎各位朋友来咨询
QQ/微信:476519913
有没有支持iOS Android 的UTS API人脸识别插件推荐?
以前用的虹软的号称免费的,但是每年都必须强制升级更新SDK发布版本,测试也烦
可以付费购买一个不是很贵的,预算5000 -7000. 必须有活体检测,我们就App内考勤用不太很严格
以前用的虹软的号称免费的,但是每年都必须强制升级更新SDK发布版本,测试也烦
可以付费购买一个不是很贵的,预算5000 -7000. 必须有活体检测,我们就App内考勤用不太很严格
开源免费自部署 AI 客服平台 Supportly,支持 UniApp SDK / Web Widget / RAG 知识库
最近做了一个开源的 AI 智能客服平台:Supportly。
项目定位是:基于 Cloudflare 的免费自部署客服系统,不做 SaaS 绑定,适合个人开发者、小团队、独立产品先快速搭建一套自己的客服和 AI 问答能力。
QQ 交流群:1081883123
主要能力
- Web Chat Widget:网站一段 JS 接入客服
- UniApp SDK:App / 小程序 / H5 可接入客服聊天
- Admin 后台:查看会话、人工回复、切换 AI / 人工接管
- RAG 知识库:上传文档后,AI 基于知识库自动回复
- WebSocket 实时消息:客服回复和 AI 回复可以实时推送
- Telegram Bot 接入
- Custom Webhook 接入
- Cloudflare D1 存储会话和消息
- Cloudflare AI Search 做知识库检索
- Workers AI 生成回复
技术栈
后端:
- Cloudflare Workers
- Hono
- TypeScript
- Cloudflare D1
- Cloudflare AI Search
- Workers AI
- Durable Objects WebSocket
前端:
- Admin 后台
- Web Chat Widget
- UniApp JS SDK
UniApp SDK
UniApp SDK 是纯 JS Headless SDK,不绑定 UI。
消息链路是:
- 发送消息:HTTP
- 接收消息:WebSocket
- 历史消息:HTTP
- 断线后:自动重连并补消息
业务项目可以自己做聊天 UI,SDK 只负责初始化会话、发送消息、实时接收、历史同步和重连。
适合什么场景
- 独立站接入在线客服
- UniApp App / 小程序接入客服聊天
- 小团队自建 AI 客服
- 用自己的知识库做智能问答
- 不想一开始就接入收费客服 SaaS
- 想基于 Cloudflare 免费额度先跑起来
项目地址
主项目:
https://github.com/unicornB/Supportly-Ai
UniApp SDK:
https://github.com/unicornB/Supportly-Ai-UniApp-SDK.git
Web Widget:
https://github.com/unicornB/Supportly-Ai-Web-Widget.git
Admin 后台:
https://github.com/unicornB/Supportly-Ai-Admin.git
说明
客户发消息 -> 后台会话 -> AI 检索知识库 -> 自动回复 / 人工接管。
如果大家对 UniApp 客服 SDK、Cloudflare 免费自部署、AI RAG 客服这类方向感兴趣,欢迎交流建议。
截图
最近做了一个开源的 AI 智能客服平台:Supportly。
项目定位是:基于 Cloudflare 的免费自部署客服系统,不做 SaaS 绑定,适合个人开发者、小团队、独立产品先快速搭建一套自己的客服和 AI 问答能力。
QQ 交流群:1081883123
主要能力
- Web Chat Widget:网站一段 JS 接入客服
- UniApp SDK:App / 小程序 / H5 可接入客服聊天
- Admin 后台:查看会话、人工回复、切换 AI / 人工接管
- RAG 知识库:上传文档后,AI 基于知识库自动回复
- WebSocket 实时消息:客服回复和 AI 回复可以实时推送
- Telegram Bot 接入
- Custom Webhook 接入
- Cloudflare D1 存储会话和消息
- Cloudflare AI Search 做知识库检索
- Workers AI 生成回复
技术栈
后端:
- Cloudflare Workers
- Hono
- TypeScript
- Cloudflare D1
- Cloudflare AI Search
- Workers AI
- Durable Objects WebSocket
前端:
- Admin 后台
- Web Chat Widget
- UniApp JS SDK
UniApp SDK
UniApp SDK 是纯 JS Headless SDK,不绑定 UI。
消息链路是:
- 发送消息:HTTP
- 接收消息:WebSocket
- 历史消息:HTTP
- 断线后:自动重连并补消息
业务项目可以自己做聊天 UI,SDK 只负责初始化会话、发送消息、实时接收、历史同步和重连。
适合什么场景
- 独立站接入在线客服
- UniApp App / 小程序接入客服聊天
- 小团队自建 AI 客服
- 用自己的知识库做智能问答
- 不想一开始就接入收费客服 SaaS
- 想基于 Cloudflare 免费额度先跑起来
项目地址
主项目:
https://github.com/unicornB/Supportly-Ai
UniApp SDK:
https://github.com/unicornB/Supportly-Ai-UniApp-SDK.git
Web Widget:
https://github.com/unicornB/Supportly-Ai-Web-Widget.git
Admin 后台:
https://github.com/unicornB/Supportly-Ai-Admin.git
说明
客户发消息 -> 后台会话 -> AI 检索知识库 -> 自动回复 / 人工接管。
如果大家对 UniApp 客服 SDK、Cloudflare 免费自部署、AI RAG 客服这类方向感兴趣,欢迎交流建议。
截图
收起阅读 »














