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:
@@ -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 Studio(Desktop 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。
|
||||
Reference in New Issue
Block a user