92451 67c85678e6 feat: 接入网商银行每日动账明细 (#831)
Co-authored-by: 92451 <924518135@qq.com>
Co-committed-by: 92451 <924518135@qq.com>
2026-11-02 20:58:42 +08:00

48 lines
2.1 KiB
Markdown

# 网商银行每日交易明细
每天从支付宝企业工作台进入网商银行企业网银,查询并下载前一天的交易明细,批量写入财务台账“动账明细”。
## 首次准备
```powershell
pwsh -File scripts\wangshang-bank\import-accounts.ps1
pwsh -File scripts\wangshang-bank\open-login.ps1
```
账号表默认读取 `D:\zyc\网商银行账号密码.xlsx`。脚本生成:
- `runtime/private/wangshang-bank-accounts.json`:公司、支付宝账号密码、网商账号和账户简称。
- `runtime/private/wangshang-bank-profiles/`:每个网商账号独立的 Edge 登录态。
- 登录 Cookie 额外使用 Windows 当前用户 DPAPI 加密保存,后续任务可直接恢复会话。
若支付宝要求短信、扫码或图形验证,在打开的 Edge 窗口完成验证即可;脚本最多等待 5 分钟,成功后自动关闭该账户窗口并继续下一个账户。
## 手动运行
```powershell
# 导出并导入昨天
pwsh -File scripts\wangshang-bank\run-wangshang-daily.ps1
# 指定日期,只导出
pwsh -File scripts\wangshang-bank\run-wangshang-daily.ps1 -Date 2026-11-01 -SkipImport
# 指定公司,校验端到端链路但不写台账
pwsh -File scripts\wangshang-bank\run-wangshang-daily.ps1 -Company 株洲市珉佳 -Date 2026-11-01 -DryRun
```
## 安装每日任务
```powershell
pwsh -File scripts\wangshang-bank\install-daily-task.ps1
```
任务名为 `CaiWuXiTong-WangshangBankDaily`,默认每天 10:00 执行;电脑休眠时会在恢复后补跑。
## 数据规则
- 页面笔数和下载文件有效行必须一致,否则整批不写入。
- 每批先完整解析,再按“网商银行来源 + 账号 + 日期”替换,最后统一重算一次台账。
- 部分账户登录失效时,成功账户仍会导入,失败账户保持原数据,任务以失败状态结束并写日志。
- 账户总表暂未登记网商账号时,明细仍会按公司简称显示在“动账明细”;补齐账户和期初余额后才会进入余额计算。
- 密码、登录态、下载账单和日志只保存在 `runtime/private/`,不会进入 Git。