双引擎客户端
单一安装包两套引擎:未登录零配置直连态(同网段自动发现、点对点收发),登录协作态(服务端中转、全量归档)。切换不重启,服务端不可达自动回落。
界面预览覆盖桌面端八屏与手机端四屏,品牌橙(#e16531)主色,浅色与深色两套均可查看。桌面端与手机端分列两组轮播,右上角按钮切换截图主题,支持自动轮播、左右箭头、键盘方向键与触屏滑动。(实况替换进度:桌面端八屏与手机端四屏均已换客户端实况截图,浅/深各一全配平,轮播十二席全实况;鸿蒙端不承诺实况截图。详见界面原型与预览。)
完整的单屏大图与原型源文件见界面原型与预览。
| 形态 | 进入方式 | 链路 | 归档 |
|---|---|---|---|
| 直连态(默认) | 安装即用,零配置 | UDP 广播发现同网段终端,TCP 点对点直达 | 仅存本机 |
| 协作态(登录后) | 填服务器地址并登录 | 与协作服务端长连接 | 全量落服务端,可检索 |
手机端全部为协作态:首次启动必须先完成服务器地址初始化,不提供免登录匿名使用。
memex/
├── client/ # Qt C++17 桌面客户端(Windows / UOS / 麒麟 / macOS)
│ ├── app/ # 入口与主窗口、系统集成(界面层并入 app)
│ ├── engine/direct/ # 直连引擎:UDP 发现、点对点消息与文件
│ ├── engine/collab/ # 协作引擎:长连接、消息同步、离线与补传
│ ├── core/ # 共享内核:本地库、会话、联系人、文件传输
│ └── tests/ # 桌面端单测
├── server/ # C++ 协作服务端(单进程实现评审报告六模块职能)
├── common/ # 双端共用:协议定义、序列化、公共工具
├── apps/ # 手机端:android(已落地)/ ios(代码-only+CI)
│ # / harmony(代码-only+CI)
├── admin/ # 管理后台(规划,README 占位)
├── docs/ # 文档站(VitePress)、评审报告、原型
└── third_party/ # 第三方组件清单与许可核验(依赖经 vcpkg 管理)依赖(asio / protobuf / nlohmann-json / sqlite3 / openssl / aws-sdk-cpp:s3 / Qt6)经 vcpkg manifest 管理,构建入口为 CMake Presets:
# 准备 vcpkg(一次性)
git clone https://github.com/microsoft/vcpkg.git ~/vcpkg
~/vcpkg/bootstrap-vcpkg.sh
export VCPKG_ROOT="$HOME/vcpkg"
# 开发构建(Release · 服务端+客户端+测试)
cmake --preset dev
cmake --build --preset dev
ctest --preset dev