Files
tongxunruanjian/pc-client/README.md
T
KIMI 7ce40e356f 新增 pc-client:畅联 PC 端工程(Electron+React,按确认效果图改造,B-59)
- 基于 openim-electron-demo 改造:工号+密码登录(自研账号服务)、会话列表/聊天窗/通讯录界面重做
- 文字/语音/文件/图片消息、文件拖拽发送、表情面板、一对一语音通话(LiveKit)
- RTC 令牌对接账号服务带鉴权版 /api/rtc_token(Bearer imToken + {room,identity})
- account-service: CORS Allow-Headers 补 authorization(浏览器/渲染进程跨域调 rtc_token 需要)
- 附本地 mock 账号服务(scripts/mock-account-server.js)与截图联调脚本
2026-08-09 09:11:06 +08:00

49 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 畅联 PC 端(pc-client
公司内部通讯工具「畅联」的 PC 客户端,基于 OpenIM 官方 Electron 样板(openim-electron-demoElectron + React 18 + TypeScript + antd 5 + zustand)改造:
- 登录改为**工号 + 密码**,走自研账号服务(不部署 OpenIM 官方 chat 业务服务 :10008
- 用户信息、音视频通话令牌等原走 chat 服务的调用,已全部改道 OpenIM SDK 或自研账号服务
- 界面文案全中文,默认语言简体中文
## 依赖的服务端
见仓库根目录 `README.md`OpenIM 服务端(REST :10002 / WS :10001)、自研账号服务(:10010,接口见 `account-service/README.md`)、LiveKit(:17880)。客户端连接地址在 `.env` 里配置(`VITE_ACCOUNT_URL``VITE_WS_URL``VITE_API_URL` 等)。
## 本地开发
```bash
npm install
npm run dev
```
- `npm install` 时注意:本仓库用 allow-scripts 白名单管理依赖安装脚本,需批准 `electron` / `esbuild` / `koffi` 等包的 postinstallpackage.json 里已配好 `allowScripts` 字段)。
- `npm run dev` 启动 Vite 开发服务器(默认同时拉起 Electron 窗口)。
### 本地 mock 登录服务(联调用)
真实员工账号由管理员在服务器上开通。本地开发没有真实账号时,可以起一个 mock 账号服务:
```bash
npm run mock:account
```
然后新建 `.env.local`(已被 gitignore)写入 `VITE_ACCOUNT_URL=http://127.0.0.1:11010` 覆盖 `.env` 里的真实地址,用 `test001 / test123`(或 `test002 / test123`)登录。mock 服务实现了与真实账号服务相同的 `/api/login``/api/rtc_token` 接口(登录时会真实调用 OpenIM 管理接口换取 imToken`/api/rtc_token` 同样要求 `Authorization: Bearer <imToken>`)。
> ⚠️ mock 服务内置测试环境默认密钥,仅供本地开发,禁止打包、禁止用于正式环境。
## 打包
`npm run build`vite build,产物在 `dist/`),再用 electron-builder 打包安装包。打包用的脚本在 `package_electron.json` 里(打包前按原样板说明用它替换 `package.json`):
```bash
npm run build:win # Windows 安装包
```
如果只想验证构建不产出安装包:`npm run build && npx electron-builder`(此命令未验证,以 `package_electron.json` 里的脚本为准)。
## 其他
- 本项目基于 openim-electron-demoAGPL-3.0 附加条款),仅作公司内部使用。
- 原样板说明(英文、功能清单等)见上游仓库 <https://github.com/openimsdk/openim-electron-demo>。