|
|
33cdd4d743
|
Merge branch 'feature_bugfix/251201_py_h5_ui' of https://git.valuefrontier.cn/vf/vf_react into feature_bugfix/251201_py_h5_ui
|
2025-12-11 11:56:29 +08:00 |
|
|
|
7d1c89a6a4
|
Merge branch 'feature_bugfix/251201_py_h5_ui' of https://git.valuefrontier.cn/vf/vf_react into feature_bugfix/251201_py_h5_ui
|
2025-12-11 11:56:29 +08:00 |
|
|
|
f9fc810ccd
|
update pay ui
|
2025-12-11 11:56:24 +08:00 |
|
|
|
ff42b17119
|
update pay ui
|
2025-12-11 11:56:24 +08:00 |
|
zdl
|
55258dc67d
|
fix: 修正微信公众号 AppSecret 配置
将 WECHAT_MP_APPSECRET 更新为正确的值,修复 H5 网页授权登录
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-11 11:42:49 +08:00 |
|
zdl
|
35823fd61f
|
fix: 修正微信公众号 AppSecret 配置
将 WECHAT_MP_APPSECRET 更新为正确的值,修复 H5 网页授权登录
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-11 11:42:49 +08:00 |
|
|
|
59e55a5501
|
update pay ui
|
2025-12-11 11:31:14 +08:00 |
|
|
|
86e31fd2bf
|
update pay ui
|
2025-12-11 11:31:14 +08:00 |
|
|
|
628cc47ef7
|
update pay ui
|
2025-12-11 11:18:12 +08:00 |
|
|
|
dae1a539ac
|
update pay ui
|
2025-12-11 11:18:12 +08:00 |
|
zdl
|
bd07b569e8
|
fix: 微信H5登录Session改用Redis存储,解决多进程不共享问题
问题:Gunicorn 4 workers 多进程部署时,wechat_qr_sessions 内存字典
不共享,导致 H5 微信授权回调被不同 worker 处理时找不到 session,
用户点击允许后登录状态无法更新。
解决方案:
- 新增 Redis 客户端配置和 session 操作函数(set/get/update/delete/exists)
- 将 wechat_qr_sessions 内存字典改为 Redis 存储
- Session 自动过期(TTL 5分钟),无需手动清理
- 添加 Redis 不可用时的错误处理
修改的接口:
- /api/auth/wechat/qrcode - PC 扫码登录
- /api/auth/wechat/h5-auth - H5 授权登录
- /api/account/wechat/qrcode - 账号绑定
- /api/auth/wechat/check - 登录状态检查
- /api/account/wechat/check - 绑定状态检查
- /api/auth/wechat/callback - 微信回调
- /api/auth/login/wechat - 微信登录确认
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-11 11:12:05 +08:00 |
|
zdl
|
6c26f6dabc
|
fix: 微信H5登录Session改用Redis存储,解决多进程不共享问题
问题:Gunicorn 4 workers 多进程部署时,wechat_qr_sessions 内存字典
不共享,导致 H5 微信授权回调被不同 worker 处理时找不到 session,
用户点击允许后登录状态无法更新。
解决方案:
- 新增 Redis 客户端配置和 session 操作函数(set/get/update/delete/exists)
- 将 wechat_qr_sessions 内存字典改为 Redis 存储
- Session 自动过期(TTL 5分钟),无需手动清理
- 添加 Redis 不可用时的错误处理
修改的接口:
- /api/auth/wechat/qrcode - PC 扫码登录
- /api/auth/wechat/h5-auth - H5 授权登录
- /api/account/wechat/qrcode - 账号绑定
- /api/auth/wechat/check - 登录状态检查
- /api/account/wechat/check - 绑定状态检查
- /api/auth/wechat/callback - 微信回调
- /api/auth/login/wechat - 微信登录确认
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-11 11:12:05 +08:00 |
|
zdl
|
3ef5f35015
|
docs: 更新 Company 模块目录结构文档
- 添加 DeepAnalysisTab 模块化重构记录(2025-12-11)
- 更新目录结构中 DeepAnalysisTab.js → DeepAnalysisTab/
- 添加组件依赖关系图
- 添加工具函数位置表
- 添加优化效果对比
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-11 10:59:12 +08:00 |
|
zdl
|
fba7a7ee96
|
docs: 更新 Company 模块目录结构文档
- 添加 DeepAnalysisTab 模块化重构记录(2025-12-11)
- 更新目录结构中 DeepAnalysisTab.js → DeepAnalysisTab/
- 添加组件依赖关系图
- 添加工具函数位置表
- 添加优化效果对比
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-11 10:59:12 +08:00 |
|
zdl
|
4b606f92ea
|
refactor(DeepAnalysisTab): 模块化拆分为 21 个 TypeScript 文件
将 1,796 行单文件拆分为原子设计模式结构:
**atoms/** - 原子组件
- DisclaimerBox: 免责声明警告框
- ScoreBar: 评分进度条
- BusinessTreeItem: 业务树形项
- KeyFactorCard: 关键因素卡片
**components/** - Card 容器组件
- CorePositioningCard: 核心定位
- CompetitiveAnalysisCard: 竞争地位分析(含雷达图)
- BusinessStructureCard: 业务结构
- ValueChainCard: 产业链分析
- KeyFactorsCard: 关键因素
- TimelineCard: 发展时间线
- BusinessSegmentsCard: 业务板块详情
- StrategyAnalysisCard: 战略分析
**organisms/** - 复杂组件
- ValueChainNodeCard: 产业链节点(含 RelatedCompaniesModal)
- TimelineComponent: 时间线(含 EventDetailModal)
**utils/**
- chartOptions.ts: ECharts 图表配置
优化效果:主文件从 1,796 行减少到 117 行(-93%)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-11 10:59:05 +08:00 |
|
zdl
|
32a73efb55
|
refactor(DeepAnalysisTab): 模块化拆分为 21 个 TypeScript 文件
将 1,796 行单文件拆分为原子设计模式结构:
**atoms/** - 原子组件
- DisclaimerBox: 免责声明警告框
- ScoreBar: 评分进度条
- BusinessTreeItem: 业务树形项
- KeyFactorCard: 关键因素卡片
**components/** - Card 容器组件
- CorePositioningCard: 核心定位
- CompetitiveAnalysisCard: 竞争地位分析(含雷达图)
- BusinessStructureCard: 业务结构
- ValueChainCard: 产业链分析
- KeyFactorsCard: 关键因素
- TimelineCard: 发展时间线
- BusinessSegmentsCard: 业务板块详情
- StrategyAnalysisCard: 战略分析
**organisms/** - 复杂组件
- ValueChainNodeCard: 产业链节点(含 RelatedCompaniesModal)
- TimelineComponent: 时间线(含 EventDetailModal)
**utils/**
- chartOptions.ts: ECharts 图表配置
优化效果:主文件从 1,796 行减少到 117 行(-93%)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-11 10:59:05 +08:00 |
|
zdl
|
a514eb3c5b
|
feat(utils): 添加深度分析格式化工具函数
- formatCurrency: 货币格式化(支持亿/万单位)
- formatBusinessRevenue: 营收格式化(智能单位转换)
- formatPercentage: 百分比格式化
从 DeepAnalysisTab 提取合并到全局工具库
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-11 10:58:52 +08:00 |
|
zdl
|
7819b4f8a2
|
feat(utils): 添加深度分析格式化工具函数
- formatCurrency: 货币格式化(支持亿/万单位)
- formatBusinessRevenue: 营收格式化(智能单位转换)
- formatPercentage: 百分比格式化
从 DeepAnalysisTab 提取合并到全局工具库
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-11 10:58:52 +08:00 |
|
|
|
811a0eab23
|
update pay ui
|
2025-12-11 10:07:17 +08:00 |
|
|
|
29cf0d7013
|
update pay ui
|
2025-12-11 10:07:17 +08:00 |
|
|
|
3c1c9e2ff0
|
update pay ui
|
2025-12-11 08:46:09 +08:00 |
|
|
|
d0c9d9b1fb
|
update pay ui
|
2025-12-11 08:46:09 +08:00 |
|
|
|
32b24d45ad
|
update pay ui
|
2025-12-11 08:33:56 +08:00 |
|
|
|
2ebc1cbc97
|
update pay ui
|
2025-12-11 08:33:56 +08:00 |
|
|
|
1913e8cd34
|
update pay ui
|
2025-12-11 08:06:23 +08:00 |
|
|
|
68c7b6232d
|
update pay ui
|
2025-12-11 08:06:23 +08:00 |
|
|
|
0991813ad5
|
update pay ui
|
2025-12-11 07:54:01 +08:00 |
|
|
|
14514458ed
|
update pay ui
|
2025-12-11 07:54:01 +08:00 |
|
|
|
7affc5ed0e
|
update pay ui
|
2025-12-11 07:48:19 +08:00 |
|
|
|
f23b859f77
|
update pay ui
|
2025-12-11 07:48:19 +08:00 |
|
|
|
8d56714da8
|
update pay ui
|
2025-12-11 07:39:34 +08:00 |
|
|
|
8748e81a7b
|
update pay ui
|
2025-12-11 07:39:34 +08:00 |
|
|
|
af34100f28
|
Merge branch 'feature_bugfix/251201_py_h5_ui' of https://git.valuefrontier.cn/vf/vf_react into feature_bugfix/251201_py_h5_ui
|
2025-12-11 07:32:36 +08:00 |
|
|
|
2c5b3b7b50
|
Merge branch 'feature_bugfix/251201_py_h5_ui' of https://git.valuefrontier.cn/vf/vf_react into feature_bugfix/251201_py_h5_ui
|
2025-12-11 07:32:36 +08:00 |
|
|
|
4433bc411d
|
update pay ui
|
2025-12-11 07:32:30 +08:00 |
|
|
|
8c6ebe01ed
|
update pay ui
|
2025-12-11 07:32:30 +08:00 |
|
zdl
|
32e4419268
|
style: BranchesPanel 组件调整为黑金风格
- 卡片使用深色渐变背景,金色边框 + hover 发光效果
- 顶部添加金色渐变装饰线
- 状态徽章改为黑金风格(存续金色/非存续红色)
- 标题区域添加金色背景图标
- 信息项提取为 InfoItem 组件,优化布局
- 空状态使用金色圆形背景装饰
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-10 21:29:02 +08:00 |
|
zdl
|
6f74c1c1de
|
style: BranchesPanel 组件调整为黑金风格
- 卡片使用深色渐变背景,金色边框 + hover 发光效果
- 顶部添加金色渐变装饰线
- 状态徽章改为黑金风格(存续金色/非存续红色)
- 标题区域添加金色背景图标
- 信息项提取为 InfoItem 组件,优化布局
- 空状态使用金色圆形背景装饰
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-10 21:29:02 +08:00 |
|
zdl
|
6d5236f070
|
feat: 调整公众号配置
|
2025-12-10 21:15:38 +08:00 |
|
zdl
|
fd0c614d90
|
feat: 调整公众号配置
|
2025-12-10 21:15:38 +08:00 |
|
zdl
|
45300f1e8e
|
feat: 调整公众号配置
|
2025-12-10 19:59:37 +08:00 |
|
zdl
|
3fed9d2d65
|
feat: 调整公众号配置
|
2025-12-10 19:59:37 +08:00 |
|
zdl
|
21054703ef
|
fix: 添加mock数据
|
2025-12-10 19:57:21 +08:00 |
|
zdl
|
514917c0eb
|
fix: 添加mock数据
|
2025-12-10 19:57:21 +08:00 |
|
zdl
|
39ee2c60c8
|
refactor: 整合 CompanyHeaderCard 到 StockQuoteCard,优化布局对齐
- 将公司基本信息整合到 StockQuoteCard 内部
- 采用 1:2 Flex 布局确保上下竖线对齐
- 删除废弃的 CompanyHeaderCard 组件
- 清理 types.ts 中的 CompanyHeaderCardProps
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-10 19:54:51 +08:00 |
|
zdl
|
6ce913d79b
|
refactor: 整合 CompanyHeaderCard 到 StockQuoteCard,优化布局对齐
- 将公司基本信息整合到 StockQuoteCard 内部
- 采用 1:2 Flex 布局确保上下竖线对齐
- 删除废弃的 CompanyHeaderCard 组件
- 清理 types.ts 中的 CompanyHeaderCardProps
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-10 19:54:51 +08:00 |
|
zdl
|
2da4d6fab2
|
refactor: ManagementPanel 组件拆分重构
- 创建 management/ 子目录,模块化管理
- 拆分为 5 个 TypeScript 文件:types.ts、ManagementPanel.tsx、CategorySection.tsx、ManagementCard.tsx、index.ts
- 添加 useMemo 缓存分类计算结果
- 使用 React.memo 优化 ManagementCard 和 CategorySection
- 添加完整的 TypeScript 类型定义,消除 any
- 更新 STRUCTURE.md 同步目录结构
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-10 19:28:05 +08:00 |
|
zdl
|
6d5594556b
|
refactor: ManagementPanel 组件拆分重构
- 创建 management/ 子目录,模块化管理
- 拆分为 5 个 TypeScript 文件:types.ts、ManagementPanel.tsx、CategorySection.tsx、ManagementCard.tsx、index.ts
- 添加 useMemo 缓存分类计算结果
- 使用 React.memo 优化 ManagementCard 和 CategorySection
- 添加完整的 TypeScript 类型定义,消除 any
- 更新 STRUCTURE.md 同步目录结构
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-10 19:28:05 +08:00 |
|
zdl
|
ab226268c7
|
feat: 公司基础信息展示字段调整,公司概览调整为公司档案
|
2025-12-10 19:04:43 +08:00 |
|
zdl
|
c32091e83e
|
feat: 公司基础信息展示字段调整,公司概览调整为公司档案
|
2025-12-10 19:04:43 +08:00 |
|