Files
MobileModels/docs/web-ui.md

149 lines
3.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.
# Web UI
## 启动方式
在项目根目录执行:
```bash
docker compose up --build -d
```
如果要连本地测试 MySQL
```bash
docker compose -f docker-compose.yml -f docker-compose.test.yml up --build -d
```
如需自定义环境变量:
```bash
cp .env.example .env
```
Compose 的环境变量来源顺序:
1. 当前 shell 环境变量
2. 项目根目录 `.env`
3. `docker-compose.yml` 中的默认值
停止服务:
```bash
docker compose down
```
重置 MySQL 和运行期数据:
```bash
docker compose down -v
```
## 页面入口
- `http://127.0.0.1:8123/web/device_query.html`:设备查询
- `http://127.0.0.1:8123/web/brand_management.html`:数据管理
- `http://127.0.0.1:8123/web/device_query.html?view=docs`:相关文档
整个功能栈统一运行在 Docker Compose 中,不再依赖本地 Python。
原始数据工作空间位于项目内的 `workspace/` 目录。
## 启动后自动完成的动作
-`workspace/brands` 构建设备索引
- 生成 `dist/device_index.json`
- 导出 MySQL seed 文件
- 如开启 `MYSQL_AUTO_LOAD=1`,则加载 MySQL schema 与 seed 数据
- 启动项目内置的每日自动同步调度器
- 启动 Web 页面与 API 服务
## MySQL 默认连接
- Host: `127.0.0.1`
- Port: `3306`
- Database: `mobilemodels`
- Reader User: `mobilemodels_reader`
如需自定义账号密码,请使用 `.env` 覆盖默认值。
常用变量:
- `MYSQL_HOST`
- `MYSQL_PORT`
- `TZ`
- `MYSQL_ROOT_USER`
- `MYSQL_ROOT_PASSWORD`
- `MYSQL_DATABASE`
- `MYSQL_READER_USER`
- `MYSQL_READER_PASSWORD`
- `MYSQL_AUTO_LOAD`
- `SYNC_SCHEDULE_ENABLED`
- `SYNC_SCHEDULE_TIME`
- `GITHUB_PROXY_PREFIX`
## MySQL 模式
- 主配置 `docker-compose.yml`
- 面向远程 MySQL
- 默认不自动装载 schema/seed
- 测试配置 `docker-compose.test.yml`
- 额外启动一个本地测试 MySQL
- 应用容器会自动把数据加载进去
## 设备查询
页面顶部统一提供三个导航入口:
- `设备查询`
- `数据管理`
- `相关文档`
设备查询页顶部包含两个页内 tab
- `SQL 查询`
- `索引查询`
### SQL 查询
- 直接调用 Compose 内 API 查询 MySQL 主表 `mobilemodels.mm_device_catalog`
- 服务端先将输入归一化为 `alias_norm`
- 页面展示实际执行的 SQL、返回结果和 JSON
- 页面同时展示只读连接信息,便于第三方联调
### 索引查询
- 基于 `dist/device_index.json` 内存索引进行快速识别
- 适合前端联调、接口对比和结果核验
### 平台输入建议
- Android / iOS / HarmonyOS直接使用客户端原始上报的 `model_raw`
- 输入框会根据所选平台自动提供示例值
- 未输入时,系统会使用当前平台的默认示例值发起查询
## 数据管理
数据管理页支持:
- 品牌列表管理
- 品牌与厂商关系管理
- 品牌同义词管理
- 数据来源优先级管理
- 原始数据同步
- 每日自动同步时间点设置
- 索引数据查看与重新加载
### 每日自动同步
- 调度器运行在项目容器内部,不依赖 GitHub Actions
- 页面入口:`数据管理 -> 原始数据同步`
- 可设置是否启用,以及每天执行的时间点
- 可选配置 GitHub 加速前缀,例如 `https://ghfast.top/`
- 运行期配置持久化在 `/data/state/sync_schedule.json`
- 时间按容器时区执行,默认值来自 `TZ`,默认 `Asia/Shanghai`
## 说明
- 原始数据、索引和 MySQL seed 运行时持久化在 Docker volume 中,不回写本地工作区
- 交付环境建议覆盖默认的 `MYSQL_ROOT_PASSWORD``MYSQL_READER_PASSWORD`