Commit Graph

50 Commits

Author SHA1 Message Date
kdletters e4b9cbf09d 接入移动端原生扫码能力
新增 scanner.scanQrCode HostBridge 契约与二维码结果归一。

接入 Expo Camera 扫码 overlay 并保留 H5 浏览器扫码回退。

让 Tauri 白名单识别扫码 method 但不声明桌面扫码能力。

同步原生壳门禁、Expo 权限检查、方案文档和共享决策记录。
2026-06-19 05:13:21 +08:00
kdletters a471e69455 补齐桌面壳后台生命周期
桌面壳生命周期按可见性、最小化和焦点统一归一

托盘隐藏前注入 background 并在恢复窗口时回放当前状态

H5 lifecycle 测试覆盖 background 暂停语义

宿主壳文档和原生壳门禁同步桌面 background 约定
2026-06-19 04:25:42 +08:00
kdletters 81b51ed405 拆薄桌面壳入口
新增桌面壳 app.rs 承接 Tauri 应用装配

收敛 main.rs 为薄入口并调用 app::run

扩展原生壳门禁锁定桌面入口职责边界

更新宿主壳方案和共享决策记录
2026-06-19 04:07:08 +08:00
kdletters 5ab7b53bf2 收紧桌面壳分享地址边界
桌面壳分享文本只接受公开主站同源地址

拒绝外域和危险分享地址且不回退缓存目标

补充桌面壳分享地址回归测试和配置门禁

更新 HostBridge 分享边界文档和共享决策
2026-06-19 03:12:27 +08:00
kdletters 429e65952d 收口宿主事件白名单
新增共享 HostBridge event 白名单与类型守卫

让 H5、Expo 和 Tauri 只分发白名单宿主事件

补齐移动端、桌面端和根级原生壳门禁

更新宿主壳方案文档和项目决策记录
2026-06-19 02:18:36 +08:00
kdletters 1f5c752302 统一桌面壳宿主上下文补写
收敛 Tauri 配置为基础 H5 入口

由 Rust shell/url 统一补写桌面宿主上下文

增加桌面 HostBridge 协议常量漂移检查

增加微信壳 capability 共享白名单校验

更新原生壳方案和共享决策记录
2026-06-19 00:10:14 +08:00
kdletters 04d2498579 桌面壳主动导航保留宿主上下文
抽出 Tauri H5 宿主上下文补写方法

让桌面深链和主动同源跳转共用宿主上下文

补充桌面壳检查脚本和文档决策
2026-06-18 23:34:44 +08:00
kdletters 32d7061b52 原生壳收紧外链协议门禁
让桌面壳外链归一改用 URL parser 校验允许协议

在统一原生壳检查中对齐共享契约与桌面壳外链协议清单

同步原生壳方案文档和团队决策记录中的外链协议口径
2026-06-18 22:40:35 +08:00
kdletters 13f1738d9c 桌面壳补齐返回栈状态事件
为 Tauri 壳声明 navigation.canGoBack 能力

注入固定脚本追踪 H5 当前文档路由栈并回放 HostBridge 事件

补充 H5 返回栈事件订阅 facade 与测试

更新原生壳门禁、方案文档和共享决策
2026-06-18 21:50:18 +08:00
kdletters ddfdc409f3 桌面壳补齐历史导航菜单
为桌面应用菜单增加后退和前进历史动作

补充桌面菜单测试与配置门禁

更新桌面壳菜单导航文档
2026-06-18 21:14:51 +08:00
kdletters 19ec8daf37 桌面壳校验文件真实内容
为图片和音频导入导出增加 bytes 头部校验

桌面图片拖入跳过伪装文件继续寻找有效图片

更新桌面壳门禁与宿主壳文件能力文档
2026-06-18 20:39:34 +08:00
kdletters 077c37b67c 桌面壳补强通知权限门禁
发送本地通知前检查并请求系统通知权限

收紧桌面壳通知插件授权和配置门禁

同步宿主壳协议文档和团队决策记录
2026-06-18 20:08:26 +08:00
kdletters ec36300d92 桌面壳接入应用菜单
新增 Tauri 应用菜单并复用显示、刷新和退出窗口动作

收紧桌面壳菜单模块和结构门禁

同步宿主壳方案文档和团队决策记录
2026-06-18 19:42:17 +08:00
kdletters f3b5edd4c6 桌面壳持久化窗口状态
新增 Tauri window-state 插件并只保存主窗口大小、位置和最大化状态

收紧桌面壳依赖版本、插件顺序和三端文件结构门禁

同步宿主壳方案文档和团队决策记录
2026-06-18 19:29:56 +08:00
kdletters d71fde8b9a 统一三端宿主桥接层结构
拆分移动壳能力清单与分发模块

拆分桌面壳能力清单与分发模块

补充微信壳协议与分发薄索引

同步三端桥接层门禁和文档
2026-06-18 18:41:34 +08:00
kdletters ce27a0c35d 细分桌面壳容器职责模块
将桌面壳 WebView 职责拆分为运行态、URL、导航、网络、生命周期、拖拽和事件模块

更新三端桥接层结构门禁清单

同步宿主壳文档和共享记忆中的桌面壳模块口径
2026-06-18 18:10:19 +08:00
kdletters bb62801032 补齐桌面壳事件能力声明
声明 Tauri host.events 真实事件通道

同步桌面入口 URL 与 runtime 能力清单

更新宿主壳事件能力文档
2026-06-18 17:34:16 +08:00
kdletters 75b1f8391f 接入桌面壳深链
新增Tauri桌面深链模块并归一到同源H5入口

启用deep-link插件与single-instance深链转发

更新原生壳门禁和架构文档
2026-06-18 16:53:52 +08:00
kdletters 00b41b6a29 统一宿主壳目录边界
移动端壳拆分为 host-bridge 与 shell 目录

桌面端 Tauri 拆分为 host_bridge 与 shell Rust 模块

更新三端桥接层结构门禁与配置检查

同步宿主壳方案文档和项目共享决策
2026-06-18 16:02:55 +08:00
kdletters e92e016549 统一三端桥接层结构
Tauri入口main.rs收敛为应用装配

桌面HostBridge按协议分发文件分享WebView和托盘职责拆分模块

微信小程序桥接逻辑迁入host-bridge目录并保留页面装配

原生壳检查锁定微信移动桌面桥接层文件结构

宿主壳文档和共享决策记录三端桥接层结构约定
2026-06-18 15:42:10 +08:00
kdletters 4731263073 收口桌面壳WebView状态重放
桌面壳页面加载完成后回放生命周期状态

桌面壳页面加载完成后重装网络状态监听

桌面壳配置检查锁定页面状态重放路径

宿主壳方案和共享决策日志记录桌面状态重放约束
2026-06-18 14:53:02 +08:00
kdletters 71b18002d4 收口HostBridge请求信封校验
共享契约新增HostBridge method白名单和request id归一规则

Expo与Tauri壳在能力分发前拒绝非法id和未知method

补充两端测试、配置门禁、原生壳方案和共享决策记录
2026-06-18 13:22:27 +08:00
kdletters 4c4682069b 收口HostBridge重复请求回放
Expo壳按request id复用进行中请求并回放已完成响应

Tauri壳在唯一HostBridge命令外层增加重复请求等待与回放

补充两端测试、配置门禁、原生壳方案和共享决策记录
2026-06-18 13:07:54 +08:00
kdletters 6cf1038ff3 收口HostBridge入站消息来源
让Expo和Tauri注入的HostBridge消息显式携带当前窗口origin和source

H5原生HostBridge监听器拒绝非当前窗口或非当前origin的消息

补充伪造来源回包测试,防止sandbox消息结算宿主请求

更新原生壳方案和共享决策记录
2026-06-18 12:43:53 +08:00
kdletters 1817793de2 固化登录支付未接入回退边界
移动壳测试覆盖登录和支付未接真实渠道时返回 unsupported_method。

桌面壳测试覆盖登录和支付未接真实渠道时返回 unsupported_method。

更新宿主壳方案说明登录支付半接入不得返回伪成功。

更新共享决策日志记录登录支付 unsupported 回退验收口径。
2026-06-18 11:44:39 +08:00
kdletters 16196464b9 拒绝桌面壳默认下载落盘
桌面壳 WebView 下载事件默认拒绝网页触发的落盘动作

桌面壳配置检查守卫下载拒绝策略

宿主壳方案和共享决策记录桌面保存边界
2026-06-18 10:49:40 +08:00
kdletters db4df0ab9a 收紧桌面壳顶层导航边界
桌面主窗口只允许打包资产和同源 H5 留壳

桌面外链与新窗口请求交给系统 opener 后拒绝留壳

同步宿主壳方案和共享决策记录
2026-06-18 10:39:35 +08:00
kdletters 6b700a0ea0 固定桌面壳运行平台标记
桌面壳创建主窗口前将 hostPlatform 归一为真实系统平台

桌面壳配置检查新增运行平台归一守卫

同步宿主壳方案与共享决策记录
2026-06-18 10:31:59 +08:00
kdletters 94046153c6 接入桌面壳单实例唤醒
Tauri 桌面壳启用 single-instance 插件

重复启动只唤醒并聚焦已有主窗口

禁止把第二实例参数透传给 H5

补充单实例检查测试和架构文档
2026-06-18 08:07:50 +08:00
kdletters 88e363586e 完善桌面壳托盘关闭行为
主窗口关闭在托盘可用时隐藏到托盘

托盘不可用时保持默认关闭避免窗口无法恢复

补充关闭策略检查测试和架构文档
2026-06-18 08:01:21 +08:00
kdletters 45a9f9b0cd 接入桌面壳系统托盘
Tauri 桌面壳启用真实系统托盘

托盘菜单提供显示主窗口刷新和退出动作

托盘注册失败不阻断主窗口启动

补充桌面壳托盘检查测试和架构文档
2026-06-18 07:56:47 +08:00
kdletters b3278739a5 接入原生壳音频文件导出能力
新增 file.exportAudio HostBridge 契约和 H5 facade

移动端通过 Expo 缓存文件与系统分享导出受控音频

桌面端通过 Tauri 保存对话框写入受控音频字节

通用音频输入面板仅对本地音频资产展示宿主导出入口

更新壳能力检查、测试、方案文档和共享决策记录
2026-06-18 05:42:16 +08:00
kdletters 3be997e286 接入原生壳音频文件导入能力
新增 file.importAudio HostBridge 契约和 H5 facade

移动端通过 Expo DocumentPicker 读取受控音频文件

桌面端通过 Tauri 文件选择框读取受控音频文件

通用音频输入面板在原生壳复用宿主导入和现有音频处理管线

更新壳能力检查、测试、方案文档和共享决策记录
2026-06-18 05:25:39 +08:00
kdletters 51dcff6d16 接入原生壳页面刷新能力
新增 app.reloadWebView HostBridge 契约和 H5 facade

移动端通过 react-native-webview reload 刷新当前 WebView

桌面端通过 Tauri WebviewWindow reload 刷新主窗口

更新壳能力检查、测试、方案文档和共享决策记录
2026-06-18 05:07:01 +08:00
kdletters 1c6749b53e 接入原生壳文本文件导入能力
新增 file.importText HostBridge 契约和 H5 facade

移动端通过 Expo DocumentPicker 读取受控文本文件

桌面端通过 Tauri 文件选择框读取受控文本文件

更新壳能力检查、测试、方案文档和共享决策记录
2026-06-18 04:51:56 +08:00
kdletters c7a24fba37 接入原生壳剪贴板读取能力
新增 clipboard.readText HostBridge 契约和 H5 facade

移动端通过 expo-clipboard 读取纯文本剪贴板

桌面端通过 Tauri clipboard-manager 读取纯文本剪贴板

更新壳能力检查、测试、方案文档和共享决策记录
2026-06-18 04:38:16 +08:00
kdletters bbfe4b7181 接入原生壳本地通知能力
新增 notification.showLocal HostBridge 契约和 H5 facade

移动端通过 expo-notifications 发送即时本地通知

桌面端通过 Tauri notification 插件发送系统通知

更新壳能力检查、测试、方案文档和共享决策记录
2026-06-18 04:24:55 +08:00
kdletters 199f02cf9f 接入桌面壳图片导入能力
新增 file.importImage 与 file.imageDropped HostBridge 能力

Tauri 壳通过系统图片选择和主窗口拖拽读取真实图片文件

H5 统一使用导入图片与拖入图片事件 facade

限制图片 MIME 与大小并避免暴露本机绝对路径

更新壳能力校验、测试和架构文档
2026-06-18 02:52:37 +08:00
kdletters 586e46fa63 接入原生壳网络状态能力
新增 network.status 与 network.statusChanged HostBridge 能力

Expo 壳通过 expo-network 查询并订阅真实网络状态

Tauri 壳通过主站可达性查询和 WebView online/offline 事件同步网络状态

更新壳能力检查、测试和架构文档
2026-06-18 02:35:48 +08:00
kdletters 346368f0e7 接入原生壳生命周期事件
新增 app.lifecycle HostBridge 能力与 H5 订阅入口

Expo 壳通过 React Native AppState 注入真实前后台状态

Tauri 壳通过主窗口 focus 和 blur 注入真实激活状态

更新壳能力漂移检查、测试和架构文档
2026-06-18 02:16:47 +08:00
kdletters 45eec17007 接入原生壳外观查询能力
新增 HostBridge appearance.getColorScheme 只读契约和 H5 facade

Expo 壳通过 React Native Appearance 读取系统配色

Tauri 壳通过主窗口 theme 读取桌面配色

补齐外观查询测试、漂移检查和架构文档
2026-06-18 02:00:49 +08:00
kdletters 6b39bdbe19 接入原生壳应用角标能力
新增 HostBridge app.setBadgeCount 契约和 H5 能力门控

Expo 壳按平台声明能力并在 iOS 调用系统角标 API

Tauri 壳通过主窗口设置任务栏角标并校验 payload

补齐角标能力测试、漂移检查和架构文档
2026-06-18 01:50:15 +08:00
kdletters 910625d5e1 接入原生壳分享卡图片导出
新增 file.exportImage 宿主能力契约

分享卡下载在原生壳中优先走宿主图片导出

Expo 壳写入缓存图片并调用系统分享保存

Tauri 壳通过保存对话框写入图片字节

补齐能力漂移检查、测试和架构文档
2026-06-18 01:31:28 +08:00
kdletters 87cdb8bfba 接入桌面壳受控站内导航
Tauri 桌面壳支持 navigation.openNativePage 的同源 H5 路由跳转

补充桌面壳导航白名单校验和运行时能力检查

更新宿主壳方案和项目共享决策记录
2026-06-17 23:19:59 +08:00
kdletters d67f9d5725 接入桌面壳文本文件导出能力
新增 HostBridge file.exportText 契约、文件名清洗和 H5 导出入口

Tauri 桌面壳通过受控 host_bridge_request 打开保存对话框并写入文本文件

Expo 移动壳对未接入的文件导出能力明确返回 unsupported

更新宿主壳方案、统一协议和项目共享决策记录
2026-06-17 23:02:01 +08:00
kdletters a87f3dcc82 接入桌面壳窗口标题同步
HostBridge 契约新增 app.setTitle 方法和标题 payload

Tauri 桌面壳通过主窗口 API 同步非空窗口标题

桌面壳能力清单和配置守卫声明 app.setTitle

补充标题校验测试并更新宿主壳方案和团队共享决策记录
2026-06-17 22:36:52 +08:00
kdletters 61d910400e 收口宿主壳外链打开协议
共享 HostBridge 契约新增外链 URL 协议白名单校验

Expo 移动壳打开外链前拒绝危险协议

Tauri 桌面壳打开外链前拒绝危险协议

补充共享契约、移动壳和桌面壳外链校验测试

更新宿主壳方案和团队共享决策记录
2026-06-17 22:31:24 +08:00
kdletters 8b14c6ebe5 接入桌面壳分享复制能力
Tauri HostBridge 声明 share.setTarget 和 share.open 真实能力

桌面壳将分享 payload 或已同步作品目标整理为非空文本写入系统剪贴板

补充桌面壳分享文本解析测试和配置守卫

更新 Expo React Native 与 Tauri 宿主壳方案及团队共享决策记录
2026-06-17 22:23:34 +08:00
kdletters 4acc81747a 接入 Tauri 桌面剪贴板能力
新增 Tauri clipboard-manager 依赖并通过 HostBridge 写入系统剪贴板

同步桌面壳能力清单和真实品牌图标配置

补充桌面壳配置守门、测试和宿主壳文档记忆
2026-06-17 21:54:53 +08:00
kdletters 9b7da18879 新增 Expo 与 Tauri 原生宿主壳
新增 HostBridge 原生宿主契约和 H5 native_app transport

新增 Expo React Native 移动壳并收紧 WebView 外链边界

新增 Tauri 桌面壳并用 capability 收口受控命令

更新宿主壳方案、文档索引和共享记忆
2026-06-17 21:39:34 +08:00