Files
ttshop/REAMME.md
T

74 lines
2.9 KiB
Markdown
Executable File
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.
# TTSHOP 销售看板
TTSHOP 从公开的 Google Sheets 工作簿读取销售数据,生成合并后的原始数据页面,并提供 Commission 与 GMV 趋势看板。
- **项目仓库**:<https://git.ops.roasbloom.site/liuji/ttshop>
- **销售看板**:<https://ops.roasbloom.site/ttshop/>
- **原始数据**:<https://ops.roasbloom.site/ttshop/data/merged.html>
## 数据同步
数据源是公开的 Google Sheets 工作簿,固定 ID 为:
```text
1DPbdVsX3SG_kgDXs2j34mDAgplRSfcAWKKG9yqalFmw
```
`sync.py` 的处理流程如下:
1. 读取 XLSX 导出文件,获取工作表顺序。
2. 使用 Google Visualization API(gviz)读取各工作表中的显示值。
3. 合并所有工作表,并生成 UTF-8 的 `data/merged.html`,供数据读取和 `IMPORTHTML` 使用。
### 字段与合并规则
- 每张工作表的第一行作为标题行。
- 输出列按各工作表标题的首次出现顺序取并集。
- 源数据中的 `LinkName` 会重命名为 `LinkName_Source`、`LinkName_Source_2` 等,并保留原值。
- 合并结果末尾增加生成的 `LinkName` 列。
- 看板对仅包含 `Date`、且 `Commission` 与 `GMV` 均为空的日期行进行过滤;该过滤由 `index.html` 完成。
## 看板功能
看板页面采用上下布局,包含以下内容:
- **总体趋势**:Commission 柱状图与 GMV 折线图。
- **LinkName Commission 趋势**:按日期和 LinkName 堆积的 Commission 柱状图。
- **LinkName GMV 趋势**:按日期和 LinkName 堆积的 GMV 柱状图。
- **币种切换**:支持 IDR 与 USD;检测到多个源币种时统一换算为 USD。
- **日期范围筛选**:支持当月、最近 30 天和全部日期;默认选择数据最新月份。
- **KPI**:显示 Total Commission 和 Total GMV,并提供记录数、LinkName 数等概览信息。
- **原始数据入口**:可从看板打开 `data/merged.html`。
### 汇率
需要换算时,看板请求公开汇率接口:
<https://open.er-api.com/v6/latest/USD>
页面注明该公开接口通常每日更新,不承诺分钟级实时,并提供汇率来源说明:<https://www.exchangerate-api.com>。
## 自动运行
AgentStage 自动执行仓库根目录的 `update.sh`,不使用 Gitea Actions workflow。
`schedule.conf` 当前值为 `8`,表示每 8 小时自动运行一次。`update.sh` 会执行 `sync.py`;同步失败时返回非零状态。
## 本地手动运行
在仓库根目录执行:
```sh
python3 -m pip install -r requirements.txt
./update.sh
```
Git 推送凭据由环境变量或 AgentStage 运行环境提供。凭据不得写入 remote URL、脚本、提交文件或日志。
## 安全提醒
- 不要提交 token、密码或 `credentials` 文件。
- 不要把敏感凭据写入 Git URL、代码、数据文件或日志。
- 本地密钥和临时文件应通过 `.gitignore` 等规则排除在提交之外。
- `update.sh` 失败时会返回非零状态,调用方应据此判断同步失败。