Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
06d952b
fix(#166): 修复前端默认日期使用UTC而非本地时间的问题
May 19, 2026
d545233
fix(#166): 调度器使用用户配置时区计算到期天数和通知时段
May 19, 2026
55ff9cd
fix: 修复 deletePaymentRecord 中排序比较变量引用错误
May 19, 2026
e1112bb
fix(#166): 修复订阅列表到期时间显示的时区一致性
May 19, 2026
61af3b3
fix(#169): 兼容 Bark 自定义服务器 URL 格式
May 19, 2026
008df6e
feat: 统一 apiFetch wrapper,401 自动跳转登录页
May 19, 2026
384f3aa
feat: Toast 优化 - 错误延长显示、可关闭、堆叠限制
May 19, 2026
bfa4d52
feat: 配置页保存体验优化
May 19, 2026
d36f8b9
feat: 登录暴力破解防护 + Cookie Secure 标志
May 19, 2026
edc7be9
feat: 操作反馈优化 - 按钮 loading 状态、停用确认
May 19, 2026
7454d78
feat: 模态框交互优化 - ESC关闭、背景锁定滚动、动画
May 19, 2026
4f91427
feat: Dashboard 刷新优化
May 19, 2026
b76e047
feat: 搜索筛选体验优化
May 19, 2026
e2fc130
fix: XSS 风险修复
May 19, 2026
c8096c0
chore(infra): 工程化基线 - 引入 Hono + Vitest + JSDoc 类型检查
May 24, 2026
f6bce4b
refactor(time): 重写时区核心模块为单一真相源
May 24, 2026
dac8e7d
refactor(data): 订阅仓库改为 KV 多 Key + 自动迁移
May 24, 2026
b9de410
feat(observability): 三类可观测性仓库 + 迁移扩展
May 24, 2026
8ca9b07
refactor(notify): 9 渠道统一适配器接口 + 修复 #81
May 24, 2026
0bb7e76
refactor(scheduler): v3 重写 - TZ 感知 + 多规则 + 结构化日志(修复 #91/#52/#166)
May 24, 2026
a10c212
refactor(api): 引入 Hono 应用作为路由外壳
May 24, 2026
b6ab5ed
feat(api): 提醒规则 / 通知日志 / 调度日志新 API + 创建订阅联动
May 24, 2026
8b9e157
feat(assets): 启用 Workers Assets 托管 public/ + ApiClient 公共库
May 24, 2026
3397d34
feat(ui): 订阅表单加入多提醒规则编辑器(Task 10)
May 24, 2026
8518045
feat(ui): 通知历史页 + 时区感知配置页(Task 11)
May 24, 2026
868263a
fix: 货币显示一致性 + 仪表盘读新调度日志(Task 12)
May 24, 2026
d3066df
docs+ci: README/MIGRATION/ARCHITECTURE 文档 + GitHub Actions(Task 13)
May 24, 2026
a1fe2dc
fix(scheduler): NOTIFICATION_HOURS 通配符 "*" 被 padStart 误处理为 "0*"
May 24, 2026
bbcad36
fix(ui): 通知历史页布局与其他后台页面对齐
May 24, 2026
6e1b506
polish: 默认时区 Asia/Shanghai + 清理代码与文档中的版本号字眼
May 24, 2026
d9833ec
feat(categories): 新增分类标签持久化存储模块
May 26, 2026
823bcc6
fix(timezone): 修复创建/更新/续订订阅时忽略用户时区的 bug
May 26, 2026
31c44f7
fix(bark): 修复自定义 Bark 服务器 URL 认证失败
May 26, 2026
83c40d7
feat(reminder): 新增 getNextFireTime 计算规则下次触发时间
May 26, 2026
a25c817
feat(api): 新增版本号端点 + 分类管理 + 下次提醒时间 API
May 26, 2026
99557f8
test: 新增 6 个测试用例覆盖新功能
May 26, 2026
377561f
docs: 新增功能测试文档
May 26, 2026
5c1a02b
feat(ui): 分类下拉框支持从 API 加载 + 输入过滤
May 26, 2026
1cb8c9e
feat(ui): 管理页底部显示版本号
May 26, 2026
77ff034
fix(#166): 订阅创建/更新/续订使用用户配置时区解析日期
May 27, 2026
549dabd
fix(#171,#166): 分类下拉框从 API 加载 + 前端日期时区修复
May 27, 2026
df5ee5b
fix: 修复编辑订阅不生成支付记录及测试通知不写入历史的问题
May 27, 2026
7c92119
chore: 排除 docs/ 目录
May 27, 2026
ac07e10
fix(ci): 提交 package-lock.json 修复 CI 缓存报错
May 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Deploy

on:
push:
branches: [main, master]
workflow_dispatch: # 允许手动触发

jobs:
deploy:
name: Deploy to Cloudflare Workers
runs-on: ubuntu-latest
# 需要在 GitHub 仓库 Settings → Secrets 配置:
# CLOUDFLARE_API_TOKEN (Workers 编辑 + KV 编辑权限)
# CLOUDFLARE_ACCOUNT_ID (可选;Token 可锁定到单 account)
steps:
- uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '22'
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Lint + Test (deploy 前最后一道防线)
run: |
npm run lint
npm test

- name: Deploy to Cloudflare Workers
run: npm run deploy:safe
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
29 changes: 29 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Test

on:
push:
branches: [main, master, 'refactor/**']
pull_request:
branches: [main, master]

jobs:
test:
name: Lint + Unit Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '22'
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Type check (JSDoc + // @ts-check)
run: npm run lint

- name: Run unit tests
run: npm test
19 changes: 18 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
node_modules/
.wrangler/
.codeflicker/
package-lock.json
dist/
coverage/
.DS_Store

# 本地调研与草稿,不入库
优化文档/
CHANGELOG-TEST.md
docs/

# AI 工具本地配置
.codex/
.agents/

# 环境变量
.env
.env.*
.dev.vars
Loading
Loading