Initial commit: 风影 OA 全栈源码(API/Web/Flutter/IM)

含 Phase 1.1 IM seq 排序、断线重连、多端已读同步与微信式语音转文字 UI。
排除 node_modules、构建产物、安装包与 .env 密钥。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-02 10:04:03 +00:00
commit 76f266645d
507 changed files with 99891 additions and 0 deletions
+55
View File
@@ -0,0 +1,55 @@
# 风影办公 · 原生客户端
一套 Flutter 代码,Android APK + Windows exe。界面按微信 / 企业微信手机端重做,不嵌 OA 网页。
底栏:消息 · 工作台 · 通讯录 · 我。
- 消息:会话列表、未读红点、全部/未读/单聊/群聊筛选,待办和待审批钉在列表顶部
- 工作台:应用宫格 + 待处理数字 + 新版本横幅
- 通讯录:组织架构、按姓氏排序、点人发消息
- 我:检查更新(OTA)、连接设置、退出
默认连接:
- REST`https://oa.fysxkj.com/api/v1`
- IM`47.96.23.244:8901`MobileIMSDK TCP
当前版本:`1.1.0`build `2`)。
## Android
```bash
flutter pub get
flutter build apk --release
```
产物:`build/app/outputs/flutter-apk/app-release.apk`
发布到服务器后,用户打开 App 会自动检查升级;也可在「我 → 检查更新」手动检查。
```bash
# 把 APK 放到下载地址,并登记版本
mkdir -p /data/oa-releases
cp build/app/outputs/flutter-apk/app-release.apk /data/oa-releases/fengying-oa.apk
# 管理员登录后:
# PATCH /api/v1/system/app-release
# { "version": "1.1.0", "build": 2, "url": "https://oa.fysxkj.com/fengying-oa.apk", "changelog": "..." }
```
公开接口 `GET /api/v1/system/app-release` 返回最新包信息。客户端比较 `build`,更大则提示下载并安装。
## Windows
在 Windows 安装 Flutter 与 Visual StudioDesktop development with C++)后:
```bat
build-windows.bat
```
exe 在 `build\windows\x64\runner\Release\fengying_oa.exe`
本 Linux 构建机不能交叉编译 Windows 桌面包。
## 登录前 init
Android `MainActivity` 通过 `com.fysxkj.oa/im` 暴露 `init` / `release`,通过 `com.fysxkj.oa/ota` 安装下载好的 APK。