Commit Graph

63 Commits

Author SHA1 Message Date
zpc
e9cc5a0bc5 21 2026-02-21 14:19:07 +08:00
zpc
186ed4f8a1 21 2026-02-21 13:29:29 +08:00
zpc
1bd6683cb8 feat(payment): 支持微信支付V3证书PEM内容存储到数据库
- WechatPayMerchantConfig 新增 PrivateKeyContent/WechatPublicKeyContent 字段
- WechatPayV3Service 新增 ResolvePrivateKey/ResolvePublicKey 优先读数据库内容
- 后台管理页面改为文本域粘贴PEM内容,路径作为备选
- 完全向后兼容,原文件路径方式依然可用
- 迁移服务器只需在后台重新配置即可,无需拷贝证书文件
2026-02-21 13:28:42 +08:00
zpc
f082f20fc8 fix(order,encoding): 修复订单创建字段名不匹配和中文乱码问题
- 前端 productType/userInfo 改为 orderType/assessmentInfo 对齐后端 DTO
- 添加 gender/age/educationStage 数据格式转换(字符串转int)
- Program.cs 设置 Console.OutputEncoding = UTF8 解决日志中文乱码
- AddJsonOptions 配置 UnsafeRelaxedJsonEscaping 解决响应中文转义
- Dockerfile 添加 LANG/LC_ALL=C.UTF-8 环境变量
2026-02-21 13:18:11 +08:00
zpc
4bba7f8e53 fix(upload): 改回PUT预签名URL方式,前端用readFile+uni.request PUT上传
- 后端恢复PUT预签名URL生成,移除POST Object的policy/signature逻辑
- 前端改用uni.getFileSystemManager().readFile读取二进制数据
- 再通过uni.request PUT方式直传COS(uni.uploadFile只支持POST)
- 参考验证过的CosUploadService实现
2026-02-20 23:46:01 +08:00
zpc
66df292628 fix(upload): 修复POST Object签名错误,StringToSign应对原始policy做SHA1而非Base64编码后的 2026-02-20 23:43:04 +08:00
zpc
608fbe714f feat(upload): 小程序COS上传改为POST Object方式
- UploadConfigService: PUT预签名URL改为生成POST Object的policy+signature
- IUploadConfigService: PresignedUploadInfo增加Key/Policy/SecretId/KeyTime/Signature字段
- uniapp/upload.js: uni.uploadFile改为POST multipart/form-data + formData传签名参数
- 后台管理端上传不受影响,仍走独立的TencentCosProvider PUT预签名链路
2026-02-20 23:37:09 +08:00
zpc
e80df8a724 fix(upload): 修正COS配置读取key为uploads 2026-02-20 23:25:11 +08:00
zpc
3f179e5682 feat(upload): 头像直传COS + 修复用户资料接口404
后端:
- Model层新增UploadSetting配置模型
- Core层新增IUploadConfigService/UploadConfigService,从Admin库读取COS配置生成预签名URL
- Api层新增UploadController,提供POST /api/upload/presignedUrl接口
- ServiceModule注册UploadConfigService服务

前端:
- api/user.js修复接口路径:updateProfileupdate_userinfo,upload/imageupload/presignedUrl
- 新增utils/upload.js COS直传工具(获取预签名URL直传COS返回文件URL)
- 个人资料页改为:选图直传COS保存时提交headimg URL到update_userinfo
2026-02-20 23:21:56 +08:00
zpc
5454ac5f64 feat(profile): 个人资料页按设计图重构
- 头像居中展示,右下角叠加编辑图标(icon-user-icon-edit.png)
- 昵称改为表单输入框样式,支持直接编辑
- UID只读展示
- 底部橙色保存按钮
- 移除旧的列表式布局和弹窗修改昵称方式
2026-02-20 23:10:13 +08:00
zpc
ddf1a092b1 feat(user): 登录后获取用户信息、App启动刷新、我的页面下拉刷新
- 用户store新增fetchUserInfo action,调用/userInfo接口获取完整用户信息
- 登录页修复:LoginResponse只有token和userId,登录成功后调用fetchUserInfo获取资料
- App.vue启动时若已登录自动刷新用户信息
- 我的页面onShow时刷新用户信息,新增下拉刷新支持
- pages.json为我的页面启用enablePullDownRefresh
2026-02-20 22:56:47 +08:00
zpc
d35fbe319a fix(mine): 修复我的页面背景,添加顶部暖橙色渐变
- 页面背景改为 #F3F3F3
- 顶部添加从 #FFEFDE 到 #F3F3F3 的渐变背景层
- 移除自定义导航栏,使用系统导航栏
- 菜单列表去掉白色卡片包裹,改为透明背景
2026-02-20 22:46:57 +08:00
zpc
33f806c180 feat(mine): 按设计图重构我的页面布局
- 常用功能和其他功能改为列表布局,使用 icon 图片替代 emoji
- 用户头像使用 icon-user.png 作为默认头像
- 未登录状态显示'点击登录',点击整个区域跳转登录页
- 菜单项统一使用 /static/mine/ 下的 icon 图片
2026-02-20 22:32:49 +08:00
zpc
1b4a56e347 21 2026-02-20 22:16:20 +08:00
zpc
26902724c8 fix(user): 修复用户等级显示乱码,添加删除用户功能
- 修正用户等级常量:1=普通用户, 2=合伙人, 3=渠道合伙人
- 添加删除用户接口(硬删除),同时清除 user_refresh_tokens 和 user_login_logs
- 前端添加删除按钮和确认对话框
2026-02-20 21:54:38 +08:00
zpc
795e5586ac 126 2026-02-20 21:46:53 +08:00
zpc
807f8fe9b2 fix(config): 默认头像改用 ImageUpload 图片上传控件 2026-02-20 21:35:11 +08:00
zpc
d95f4c02bc fix: ServiceModule 注册 AuthService 时补充 IConfigService 参数 2026-02-20 21:30:18 +08:00
zpc
54418db98e 21 2026-02-20 21:28:49 +08:00
zpc
d14e96ac97 feat(config): 添加用户默认配置功能(UID、昵称前缀、默认头像)
- UserConfigSetting 模型增加 default_nickname_prefix 和 default_avatar 字段
- Admin ConfigController 新增 user/get 和 user/update 接口
- 后台管理前端新增用户配置 tab 页面
- AuthService 创建用户时从配置读取默认昵称前缀和头像,支持 fallback
2026-02-20 21:25:22 +08:00
zpc
d125c24cba fix(model): 修复实体ID类型int->long匹配数据库bigint,删除FK_users_parent外键 2026-02-20 20:45:21 +08:00
zpc
26b471d691 fix(auth): 修复新用户注册Uid超长导致截断错误
- GenerateUid生成的是timestamp+random(14位),超过数据库nvarchar(6)限制
- 改为生成6位随机数字,并查库确保唯一性
2026-02-20 20:33:20 +08:00
zpc
21e8ff5372 refactor: 清理遗留实体和无效代码
- 删除无数据库表的实体: UserDetail, UserAddress, PaymentOrder, Admin, AdminLoginLog, AdminOperationLog, Picture, Delivery
- 删除关联服务: AddressService, PaymentService, PaymentOrderService, PaymentRewardDispatcher, DefaultPaymentRewardHandler
- 删除关联接口: IAddressService, IPaymentService, IPaymentOrderService, IPaymentRewardHandler, IPaymentRewardDispatcher
- 删除关联控制器: AddressController
- 删除关联DTO: AddressModels, CreatePaymentOrderRequest, PaymentOrderDto, PaymentOrderQueryRequest
- 删除关联测试: PaymentOrderServicePropertyTests, PaymentRewardDispatcherPropertyTests
- 修复实体字段映射: User, UserLoginLog, UserRefreshToken, Config, OrderNotify
- 更新 NotifyController 移除 IPaymentOrderService 依赖
- 更新 ServiceModule 移除已删除服务的DI注册
- 更新 MiAssessmentDbContext 移除已删除实体的DbSet和OnModelCreating配置
2026-02-20 20:29:34 +08:00
zpc
a595eee90d 21 2026-02-20 19:40:59 +08:00
zpc
04219e8436 321 2026-02-20 19:40:36 +08:00
zpc
d00dc98794 21 2026-02-20 19:13:19 +08:00
zpc
de7eb8234c 321 2026-02-20 19:12:08 +08:00
zpc
07562a377b 21 2026-02-20 18:05:37 +08:00
zpc
bd77dc50bd 21 2026-02-20 17:57:17 +08:00
zpc
c8b7cff7e9 12 2026-02-20 17:51:39 +08:00
zpc
9f270c3741 refactor(api): 统一API响应格式和DTO命名规范
- ApiResponse基类: Status/Msg 改为 Code/Message,成功码统一为0
- 移除所有DTO中冗余的 [JsonPropertyName],ASP.NET Core 自动处理camelCase
- Payment相关DTO: snake_case 改为 camelCase(微信支付协议模型保留不变)
- PaymentOrderQueryRequest: FromQuery参数名改为camelCase
- GlobalExceptionFilter: 错误码从0改为5000(0表示成功)
- PagedResult: 移除冗余的 [JsonPropertyName]
- 前端index.vue: 统一使用 res.code === 0 判断
2026-02-20 16:35:10 +08:00
zpc
2c3940895f docs(db): 添加双数据库架构规范文档
- 在开发规范 steering 文件中新增第九节:双数据库架构规范
- 在开发文档中新增第八节:双数据库架构说明
- 明确 Admin 库与 Business 库的职责划分
- 定义配置数据分离规则和 DbContext 映射关系
- 规定跨库访问只读原则
2026-02-20 15:52:28 +08:00
zpc
8489b4300c refactor(config): 统一配置读取架构,运营配置从Admin库读取
- Model层新增AdminConfig实体和AdminConfigReadDbContext(只读连接Admin库)
- API项目新增AdminConnection连接字符串,注册AdminConfigReadDbContext
- Core层ConfigService按key路由:运营配置走Admin库,业务配置走业务库
- WechatPayConfigService改为从Admin库读取支付/小程序配置
- WechatService新增AdminConfigReadDbContext注入,配置读取改为Admin库
- Autofac注册同步更新三个服务的依赖注入
- Admin.Business的AdminConfigService改用AdminConfigDbContext连接Admin库
2026-02-20 15:48:16 +08:00
zpc
60c018b08a 21 2026-02-20 15:10:57 +08:00
zpc
d098a7ff81 验证存储桶是否可访问 2026-02-20 15:10:15 +08:00
zpc
09f72d1132 后台 2026-02-20 15:05:12 +08:00
zpc
0ffe59377a 提交代码 2026-02-20 14:57:43 +08:00
zpc
edc91995fe fix: 修复业务表实体映射,移除HasColumnName配置以匹配PascalCase数据库字段 2026-02-10 00:35:37 +08:00
zpc
4387b15de0 feat(mine): 完成我的页面改造
- 实现未登录/已登录两种状态样式
- 添加常用功能入口:我的订单、往期测评、联系我们、邀请新用户
- 添加其他功能入口:关于、用户协议、隐私政策、退出登录
- 实现退出登录二次确认弹窗
- 修复 uni.scss 中 SCSS 导入路径问题
- 整理 .gitignore 文件,移除 unpackage 构建目录
2026-02-10 00:12:01 +08:00
zpc
fe9b270571 小程序接口开发 2026-02-09 14:45:06 +08:00
zpc
af4b68c2dd docs: 添加小程序API开发规划文档
- 创建 miniapp-api spec (requirements, design, tasks)
- 添加 API开发任务清单,包含页面-API对照验证
- 规划28个待开发接口,按P0/P1/P2优先级排列
2026-02-09 08:35:43 +08:00
zpc
501bdcc999 小程序开发文档 2026-02-09 08:02:54 +08:00
zpc
9f8df3061a 321 2026-02-09 01:02:42 +08:00
zpc
82dd3e731b 213 2026-02-09 01:01:55 +08:00
zpc
fae900819a 21 2026-02-09 00:32:32 +08:00
code@server
fcf1054707 更新 Dockerfile 和前端构建产物 2026-02-08 23:55:13 +08:00
zpc
a92d011f46 312 2026-02-08 11:31:08 +08:00
zhangzhe
83e038ad28 清楚历史文件 2026-02-04 18:57:04 +08:00
zhangzhe
813a6e4ac1 去除模板 2026-02-04 18:47:50 +08:00
zhangzhe
9d6d1f0af0 docker 2026-02-04 18:47:37 +08:00