Commit Graph

1372 Commits

Author SHA1 Message Date
zdl
378df947a9 fix(Pagination): 优化中间页码显示,调整跳转文案格式
- 中间页码:显示当前页前后各1个页码 (如 1...4,5,6...10)
- 跳转文案:从"跳转到 [页]"改为"第 [  ] 页"格式

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-15 15:20:16 +08:00
zdl
a9c21d8478 fix(UI): Profile 取消按钮样式、HotEvents 轮播箭头、Dashboard 按钮优化
- Profile: 取消按钮添加深色主题样式 (color, borderColor, hover)
- HotEvents: 轮播箭头添加 user-select: none 防止连续点击选中文本
- Dashboard: "查看更多"按钮改为图标按钮 (IconButton + FiPlus)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-15 15:20:02 +08:00
zdl
7be35d7bb8 fix(StockChart): 图表组件使用 aspect-ratio 保持宽高比,统一弹窗大小
- KLineChartModal: 日K线图使用 aspectRatio 替代固定高度
- StockChartKLineModal: K线图高度改为响应式 min(400px, 60vh)
- TimelineChartModal: 分时图弹窗大小与日K线统一,maxWidth: 1400px

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-15 15:19:51 +08:00
zdl
4e5f999881 fix: 修复热门概念滚动动画暂停时跳跃问题
- 使用 animation-play-state 代替移除动画
- 暂停时保持在当前位置而不是跳回初始位置

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-15 14:54:13 +08:00
zdl
c1b8a98bb4 fix: 添加热门概念静态数据的 mock handler
- 拦截 /data/concept/latest.json 请求
- 返回 mock 生成的热门概念数据
- 修复 HeroPanel 热门概念模块无数据问题

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-15 14:52:31 +08:00
zdl
46be0249a8 ui: 移除热门概念模块的"点击查看详情"提示
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-15 14:49:33 +08:00
zdl
f2713e5e0a fix: 桑基图标题位置调整,避免被图表遮挡
- 标题 top 调整为 5
- 桑基图 series 添加 top: 50 给标题留出空间
- 添加 bottom, left, right 边距配置

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-15 14:22:09 +08:00
zdl
e48bcbb74b fix: 桑基图样式优化 2025-12-15 14:17:28 +08:00
zdl
d37cc720ef fix: 添加删除帖子的 mock handler
- 支持 DELETE /api/posts/:postId 请求
- 从内存存储中正确删除评论
- 修复 mock 模式下删除评论失败的问题

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-15 14:10:44 +08:00
zdl
0775409c9f fix: 添加删除帖子的 mock handler
- 支持 DELETE /api/posts/:postId 请求
- 从内存存储中正确删除评论
- 修复 mock 模式下删除评论失败的问题

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-15 14:10:44 +08:00
zdl
a89489ba46 feat: 支持用户删除自己的评论
- CommentItem: 添加删除按钮(仅显示在自己的评论上)
- CommentItem: 添加删除确认对话框,防止误删
- CommentList: 传递 currentUserId 和 onDelete 到 CommentItem
- EventCommentSection: 添加 handleDeleteComment 处理函数
- mock handler: 使用真实登录用户信息创建评论

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-15 14:10:44 +08:00
zdl
e493ae5ad1 fix: 前端兼容 phone 字段可能为非字符串的情况
- 在所有显示 user.phone 的地方添加类型检查
- 使用 typeof user.phone === 'string' && user.phone 确保只有字符串才显示
- 修复微信登录后 phone 为对象时显示 [object Object] 的问题

涉及文件:
- TabletUserMenu.js
- MobileDrawer.js
- UserAvatar.js
- PersonalCenterMenu.js

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-15 14:10:44 +08:00
zdl
83b5941281 fix: 微信登录 API 返回数据添加 phone 字段
- /api/auth/login/wechat 端点返回的 user 对象中添加 phone 和 phone_confirmed 字段
- 保持与 /api/auth/session 返回格式一致
- 修复 PC 端微信扫码登录后手机号显示 [object, object] 的问题

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-15 14:10:44 +08:00
ff8a7b2dfb update pay ui 2025-12-15 13:50:17 +08:00
b4de2ca5fa update pay ui 2025-12-15 13:48:43 +08:00
aaca6b47ed update pay ui 2025-12-15 13:44:44 +08:00
4922baa8ad update pay ui 2025-12-15 12:36:15 +08:00
2770a82172 update pay ui 2025-12-15 12:27:08 +08:00
9603adbd31 update pay ui 2025-12-15 12:07:36 +08:00
zdl
6683e7fce7 feat: 添加微信公众号网页授权域名验证文件路由
- 添加 /MP_verify_17Fo4JhapMw6vtNa.txt 路由
- 用于公众号后台网页授权域名验证

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-15 12:01:00 +08:00
71e0826244 update pay ui 2025-12-15 11:54:50 +08:00
zdl
9ba180a3ee revert: 小程序入口按钮恢复到右上角
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-15 11:45:22 +08:00
zdl
5d83532b61 style: 小程序入口按钮移到左下角
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-15 11:29:50 +08:00
zdl
464cca5ace feat: 强制使用 URL Scheme 跳转小程序
- HomePage 添加 forceLaunchMethod="urlScheme"
- 跳过环境检测,直接显示跳转按钮,避免"初始化"状态

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-15 11:09:54 +08:00
zdl
fcdf135bd8 fix: 修复微信内浏览器移动端检测问题
- isMobileDevice() 添加微信浏览器检测(micromessenger)
- 确保微信内浏览器使用 URL Scheme 跳转小程序

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-15 10:53:36 +08:00
zdl
2449619f43 feat: 微信内浏览器统一使用 URL Scheme 跳转小程序
- 移动端(包括微信内浏览器)统一使用明文 URL Scheme
- 简化跳转逻辑,无需 JS-SDK 签名配置

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-15 10:15:12 +08:00
db351ae494 update pay ui 2025-12-15 08:24:16 +08:00
f1603977f4 security: app_vx.py 添加 Redis 密码认证
- 修改 3 处 Redis 连接,添加密码参数
- 与 app.py 保持一致的安全配置

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-15 08:19:40 +08:00
e3b98eaa6a security: 添加 Redis 密码认证,修复安全漏洞
- 所有 Redis 连接添加密码参数
- 支持通过 REDIS_PASSWORD 环境变量配置密码
- 修复 Redis 未授权访问漏洞(被黑客利用设置为 slave)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-15 08:15:23 +08:00
073a0cbd7e fix: 添加 ProxyFix 中间件修复登录状态丢失问题
- 添加 werkzeug.middleware.proxy_fix.ProxyFix 中间件
- 配置信任反向代理的 X-Forwarded-Proto 头
- 解决 Nginx 反向代理后 Flask 无法识别 HTTPS 的问题
- 之前 SESSION_COOKIE_SECURE=True 会导致 cookie 被清除

问题根因:
1. Nginx 通过 HTTP 转发请求到 Flask
2. Flask 认为是 HTTP 请求,request.is_secure = False
3. SESSION_COOKIE_SECURE=True 导致 cookie 被立即删除

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-14 21:47:58 +08:00
72e72833ab update pay ui 2025-12-14 17:15:29 +08:00
77f1643a58 update pay ui 2025-12-14 16:43:45 +08:00
8971cebaa3 update pay ui 2025-12-14 16:29:01 +08:00
3967a06f1c update pay ui 2025-12-14 16:25:27 +08:00
424c5ecb3e update pay ui 2025-12-14 16:20:49 +08:00
024a34cdd0 update pay ui 2025-12-14 16:06:06 +08:00
b6b9a6b5dd update pay ui 2025-12-14 15:41:28 +08:00
4391c112c6 update pay ui 2025-12-14 15:39:54 +08:00
6910866b05 update pay ui 2025-12-14 15:02:38 +08:00
a2b734368b update pay ui 2025-12-14 14:26:01 +08:00
da81c4f8aa update pay ui 2025-12-14 14:16:37 +08:00
d87ae07a06 update pay ui 2025-12-14 13:28:07 +08:00
b2ef7963fd update pay ui 2025-12-14 10:01:48 +08:00
426ec44027 update pay ui 2025-12-14 08:46:12 +08:00
627822ed24 update pay ui 2025-12-14 08:33:12 +08:00
dd963f297c update pay ui 2025-12-14 08:17:42 +08:00
1471bf806a update pay ui 2025-12-13 22:36:59 +08:00
7ebe365b0a update pay ui 2025-12-13 21:00:09 +08:00
d76b23d8ff update pay ui 2025-12-13 20:58:44 +08:00
35100438e0 update pay ui 2025-12-13 19:31:00 +08:00