feat: 邮箱注册验证 + 9项功能修复与优化
【认证系统】 - 新增邮箱验证码注册/登录流程 (sendEmailCode / verifyEmail / forgotPassword / resetPassword) - register-email 现在需要验证码 - 服务端新增 email_verification_codes 表 + patch-email-verification.js - App.tsx 登录后 emailVerified 检查提醒 - keyServerClient token 显式传递修复 401 错误 【电商模块】 - 自动推进: 策划完成后自动生成分镜图/视频 - 模特图选项 (性别/年龄/种族/体型/场景) 注入 AI 提示词 - 任务持久化指纹修复 (图片数量替代 blob URL) - 新增「视频换装」入口 (happyhorse-1.0-video-edit) 【剧本评分】 - 新增 .docx/.doc Word 文档支持 (ZIP解压+XML提取) - 历史记录支持点击查看/恢复评测结果 【画布】 - ReactFlow 节点禁止内置拖拽避免冲突 - 连接线拖拽弹窗优化 (预览线不消失, 弹窗跟踪鼠标) 【页面修复】 - 首页轮播图改为 aspect-ratio: 16/9 解决尺寸问题 - 资产库新增悬停删除按钮 - scriptEvalClient 改用服务端 /api/ai/chat 端点 - TokenUsagePage 未登录跳过 API 调用
This commit is contained in:
@@ -365,11 +365,113 @@
|
||||
line-height: 1.55;
|
||||
}
|
||||
|
||||
.recharge-modal__checkout {
|
||||
display: grid;
|
||||
gap: 14px;
|
||||
border: 1px solid rgba(var(--accent-rgb), 0.26);
|
||||
border-radius: 14px;
|
||||
background: linear-gradient(180deg, rgba(var(--accent-rgb), 0.12), rgba(var(--accent-rgb), 0.05));
|
||||
padding: 18px;
|
||||
}
|
||||
|
||||
.recharge-modal__checkout-eyebrow {
|
||||
color: var(--accent, #34d399);
|
||||
font-size: 12px;
|
||||
font-weight: 900;
|
||||
}
|
||||
|
||||
.recharge-modal__checkout h3,
|
||||
.recharge-modal__checkout p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.recharge-modal__checkout h3 {
|
||||
margin-top: 4px;
|
||||
color: var(--fg-body, #edf2f7);
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.recharge-modal__checkout p {
|
||||
color: var(--fg-muted, #9ba7b7);
|
||||
font-size: 13px;
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
||||
.recharge-modal__payment-methods {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, minmax(0, 1fr));
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.recharge-modal__payment-methods button {
|
||||
display: grid;
|
||||
gap: 5px;
|
||||
min-height: 68px;
|
||||
padding: 12px;
|
||||
border: 1px solid var(--border-subtle, rgb(255 255 255 / 10%));
|
||||
border-radius: 12px;
|
||||
background: var(--bg-inset, rgb(0 0 0 / 18%));
|
||||
color: var(--fg-body, #edf2f7);
|
||||
cursor: pointer;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.recharge-modal__payment-methods button.is-active {
|
||||
border-color: rgba(var(--accent-rgb), 0.56);
|
||||
background: rgba(var(--accent-rgb), 0.14);
|
||||
}
|
||||
|
||||
.recharge-modal__payment-methods span {
|
||||
color: var(--fg-muted, #9ba7b7);
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.recharge-modal__pay {
|
||||
min-height: 42px;
|
||||
border: 0;
|
||||
border-radius: 12px;
|
||||
background: var(--accent, #34d399);
|
||||
color: #07110d;
|
||||
cursor: pointer;
|
||||
font-weight: 950;
|
||||
}
|
||||
|
||||
.recharge-modal__pay:disabled {
|
||||
cursor: wait;
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
.recharge-modal__order {
|
||||
display: grid;
|
||||
gap: 8px;
|
||||
padding: 12px;
|
||||
border: 1px solid var(--border-subtle, rgb(255 255 255 / 10%));
|
||||
border-radius: 12px;
|
||||
background: var(--bg-inset, rgb(0 0 0 / 18%));
|
||||
color: var(--fg-muted, #9ba7b7);
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.recharge-modal__order strong,
|
||||
.recharge-modal__order a {
|
||||
color: var(--accent, #34d399);
|
||||
}
|
||||
|
||||
.recharge-modal__order img {
|
||||
width: 160px;
|
||||
max-width: 100%;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
@media (max-width: 980px) {
|
||||
.recharge-modal__grid[data-audience="personal"],
|
||||
.recharge-modal__grid[data-audience="enterprise"] {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
.recharge-modal__payment-methods {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 640px) {
|
||||
|
||||
Reference in New Issue
Block a user