chore(release): 冻结 v1.1.0 版本
- 同步版本号:VERSION / backend pom / admin-web / miniapp 均升至 1.1.0 - 合并本轮代码审查修复(详见 docs/CODE-REVIEW-2026-09-24.md): - 后端:微信登录真实实现 RealWechatLoginProvider、实名核验真实实现 RealIdentityVerificationProvider(本地强校验 + 可配置第三方 + fail-closed/fail-fast) - 照片直传落库端点 POST /me/photos/confirm(fileKey 归属校验 + 对象存在性校验后 savePhoto) - 刷新 Token Redis TTL 修正(getExpirationMs()*2 的 4h → refreshExpirationMs 的 14 天) - 管理端 token 改为 HttpOnly Cookie + silent-refresh,移除 localStorage 明文存储与 30+ 处手工注入 - 小程序:红娘接单鉴权头错位修复、serviceType 中文映射、生产域名可配置 - 隔离本地产物(.workbuddy/、*.bundle、*.dump、secrets、application-dev.yml 等已被 .gitignore 覆盖) 未验证项(打标签 ≠ 生产发布): - 后端编译 / 单测未在本环境执行(Maven 慢、Docker DNS 受限) - 管理端 登录→刷新→登出 端到端、小程序真机走查待人工验收 - 生产部署需注入 WECHAT_APP_ID / WECHAT_APP_SECRET、VERIFICATION_API_URL / VERIFICATION_API_KEY 与小程序生产域名
This commit is contained in:
@@ -110,9 +110,9 @@ Page({
|
||||
async _uploadPhoto(filePath, photoType) {
|
||||
appStore.showLoading('上传中…');
|
||||
try {
|
||||
// 1. 获取上传凭证(EXIF 由服务端清理)
|
||||
// 1. 获取上传凭证(EXIF 由服务端清理);带上 photoType 使 fileKey 路径与类型一致
|
||||
const fileName = `photo_${Date.now()}.jpg`;
|
||||
const tokenRes = await profileService.requestUploadToken({ fileName, contentType: 'image/jpeg' });
|
||||
const tokenRes = await profileService.requestUploadToken({ fileName, contentType: 'image/jpeg', photoType });
|
||||
|
||||
// 2. 上传到对象存储
|
||||
await new Promise((resolve, reject) => {
|
||||
@@ -129,9 +129,12 @@ Page({
|
||||
});
|
||||
});
|
||||
|
||||
// 3. 若上传的是头像区,或当前无主头像,则设为主头像
|
||||
// 3. 直传成功后必须调 confirm 落库,否则对象成孤儿、照片不展示(修复"照片直传不落库")
|
||||
const confirmRes = await profileService.confirmPhoto({ fileKey: tokenRes.fileKey, photoType });
|
||||
|
||||
// 4. 若上传的是头像区,或当前无主头像,则设为主头像(用真实 photoId)
|
||||
if (photoType === 'avatar' || this.data.avatarPhotos.length === 0) {
|
||||
await profileService.setMainPhoto(tokenRes.photoId);
|
||||
await profileService.setMainPhoto(confirmRes.photoId);
|
||||
}
|
||||
|
||||
appStore.hideLoading();
|
||||
|
||||
Reference in New Issue
Block a user