Commit Graph

234 Commits

Author SHA1 Message Date
peanut 59503d05a5 fix(mini-program): 开发环境配置改回 IP 地址访问 2026-04-08 22:14:48 +08:00
peanut a2257611e1 fix(mini-program): 开发环境配置改为域名访问 (HTTPS/WSS) 2026-04-08 21:25:28 +08:00
peanut 817ea987f1 fix(mini-program): 调整剧本详情页容器 padding 位置
修改:
- 移除 .detail-content 的 padding
- .content-container 添加 padding: 24rpx 32rpx 32rpx 和 box-sizing: border-box

原因:
- scroll-view 在小程序中不适合直接承担内容留白
- 由内部容器控制 padding 更稳定

效果:
- 卡片与屏幕边缘有适中间距
- 布局更稳定
2026-04-08 20:58:40 +08:00
peanut f021741e5f docs(spec): clarify script detail spacing targets 2026-04-08 20:51:03 +08:00
peanut 33511ce129 docs(spec): add script detail spacing design 2026-04-08 20:49:37 +08:00
peanut e1097cbbee fix(mini-program): 修复 logo.svg 500 错误和编译问题
问题:
- SVG 文件使用 filter 和 style 属性导致小程序编译错误
- 错误信息:ReferenceError: $1 is not defined

修复:
1. 简化 SVG 文件,移除 filter 和 style 属性
   - 移除 filter (feGaussianBlur, feMerge)
   - 移除 style 属性,改用直接属性 (stop-color 替代 style="stop-color:xxx")
   - 移除 filter="url(#glow)" 引用

2. 恢复 vite.config.js 的 publicDir 配置
   - publicDir 指向 mini-program/static 目录
   - SVG 文件编译到输出目录根位置

3. 更新图片引用路径
   - splash/index.vue: /static/logo.svg
   - main/index.vue: /static/logo.svg

效果:
- logo.svg 正确编译到 unpackage/dist/dev/mp-weixin/logo.svg
- 不再出现 $1 is not defined 错误
- 小程序正常加载 logo 图片
2026-04-08 19:12:04 +08:00
peanut 8dab3f4fa6 fix(mini-program): 修复剧本详情页容器边距与创造未来页面一致
问题根源:
- 详情页卡片没有独立的 margin,依赖父容器 padding
- 创造未来页面使用 gap 管理卡片间距,详情页没有

修复方案 (方案 B):
- .detail-content padding 从 24rpx 48rpx 48rpx → 24rpx 24rpx 32rpx
- .content-container gap 从 32rpx → 24rpx

效果:
- 卡片与屏幕边缘有适中间距 (24rpx)
- 卡片之间有统一间距 (24rpx)
- 与创造未来页面的样式保持一致
2026-04-08 07:58:26 +08:00
peanut becbc6b353 fix(mini-program): 调整剧本详情页卡片边距
修改:
- .detail-content 左右 padding 从 40rpx → 48rpx
- .detail-content 底部 padding 从 40rpx → 48rpx

效果:
- 卡片与屏幕边缘有适中间距
- 圆角边框完整可见
- 布局更有呼吸感
2026-04-07 23:53:11 +08:00
peanut fbf76611d1 fix(mini-program): 修复 logo.svg 500 错误
问题:
- 小程序请求 /static/logo.svg 返回 500 错误
- logo.svg 文件在 src/static/ 目录,但编译后未被复制到输出目录

修复:
1. 在 mini-program/ 根目录创建 static/ 目录
2. 将 logo.svg 复制到 mini-program/static/logo.svg
3. 修改 vite.config.js 添加 publicDir 配置,让 Vite 复制 static 目录
4. 更新图片路径:/static/logo.svg → /logo.svg
   - pages/splash/index.vue
   - pages/main/index.vue

效果:
- logo.svg 正确编译到 unpackage/dist/dev/mp-weixin/logo.svg
- 小程序正常加载 logo 图片
- 不再出现 500 错误
2026-04-07 23:39:12 +08:00
peanut b6bf97bc36 fix(mini-program): 修复剧本详情页卡片边距与屏幕重叠问题
问题:
- 信息卡片和正文卡片的圆角边框紧贴屏幕边缘
- 容器圆角被截断,视觉显示不完整
- 底部边距不足,卡片圆角显示不完整

修复:
- .detail-content 左右 padding 从 32rpx 增加到 40rpx
- .detail-content 顶部 padding 从 20rpx 增加到 24rpx
- .detail-content 底部 padding 从 32rpx 增加到 40rpx
- 移除 .content-container 的 padding-bottom,由父容器统一控制

效果:
- 卡片与屏幕边缘有足够间距(40rpx)
- 卡片圆角(40rpx)能完整展示
- 整体布局更加美观协调
2026-04-07 23:04:34 +08:00
peanut 21c07ba450 fix(mini-program): 修复剧本详情页内容超出屏幕和间距问题
修复内容:
1. 信息卡片右侧超出屏幕:
   - .info-value 添加 flex:1 + overflow: hidden + word-break: break-all
   - 长文本自动换行,不会超出屏幕
   - .info-label 添加 flex-shrink: 0 防止被压缩
   - .info-row 添加 min-width: 0 防止 flex 子项溢出

2. 卡片顶部与 header 无间距:
   - .detail-content padding 顶部从 0 改为 20rpx

3. 正文区域右侧超出:
   - .full-content 添加 overflow: hidden + word-break: break-all
   - Markdown 内容自动换行
2026-04-07 22:56:20 +08:00
peanut ec7c07d187 feat(mini-program): 添加情绪博物馆主题 Logo
设计理念:情绪圣殿 - 情绪是内心的圣殿,需要被尊重和探索

设计元素:
- 背景:紫色渐变圆角正方形 (#A855F7 → #9333EA → #7C3AED)
- 神殿柱廊:三根柱子,代表情绪的多维度
- 中心核心:发光的椭圆,象征情绪核心
- 顶部星芒:呼应应用"星海"概念
- 四角星光:点缀装饰

配色严格使用项目主题色:
- #A855F7: 主紫色
- #9333EA: 深紫色
- #7C3AED: 更深紫色
- #C084FC: 浅紫色
- #E879F9: 粉紫色
2026-04-07 22:47:34 +08:00
peanut 8338204bcc fix(mini-program): 彻底修复剧本详情页布局超出屏幕问题
根本原因:
- height: 100vh 在小程序中包含状态栏区域,导致内容超出可视范围
- CSS env(safe-area-inset-top) 和 max() 函数在 uni-app 中支持有限

修复方案:
- 改用 height: 100% 替代 100vh
- 添加独立的状态栏占位 view,高度从 App.vue 存储的全局值读取
- 移除对 CSS env() 和 max() 函数的依赖
- header 顶部 padding 改用固定值 12px
2026-04-07 22:26:17 +08:00
peanut b8dc438cbe fix(mini-program): 修复剧本详情页样式和内容显示问题
样式修复:
- 标题添加 flex:1 和 text-overflow: ellipsis,长文本自动省略
- 标题添加左右 margin,避免与返回按钮重叠
- 返回按钮添加 flex-shrink:0 和 z-index,确保不被压缩

内容显示修复:
- 优先读取 script.content 字段(转换后的标准格式)
- 兼容 script.plotJson.fullContent 格式(旧数据)
2026-04-07 22:17:39 +08:00
peanut ae7392c37e fix(mini-program): 修复剧本详情页顶部被遮挡和布局溢出问题
- 添加 overflow: hidden 防止整体页面溢出
- 使用 env(safe-area-inset-top) 适配刘海屏安全区域
- 内容区改为 overflow-y: auto 实现局部滚动
- 调整 padding 避免顶部内容被状态栏遮挡
2026-04-07 22:08:21 +08:00
peanut 5e68bbfe71 style(mini-program): 优化核心参数选项按钮样式
- 减小 padding 从 12rpx 20rpx → 8rpx 12rpx,按钮更紧凑
- 添加 text-align: center,文字居中显示
- 移除 white-space: nowrap,允许内容换行
2026-04-07 21:59:11 +08:00
peanut b42c329618 style(mini-program): 修复剧本生成器核心参数区域布局
- 将叙事风格和故事篇幅选项从 flex-wrap 改为 grid 两列布局
- 与原型图保持一致 (grid-cols-2)
2026-04-07 21:54:50 +08:00
peanut 67f8c75a45 style(mini-program): 优化创造未来页面布局与原型一致
修改内容:
- .npc-form: 从两列改为三列等分布局 (grid-template-columns: 1fr 1fr 1fr)
- 姓名、角色、关系三个输入框在同一行,宽度一致
- textarea 跨越三列,宽度与上方三个输入框总宽度一致

验收标准:
- [x] NPC 表单:姓名 | 角色 | 关系三列等分布局
- [x] textarea 跨越三列
- [x] 核心参数容器间距 24rpx(已符合)
- [x] 参数选项按钮间距 10rpx(已符合)

解决 issues: 小程序"创造未来"页面关键配角区域两列布局导致
            关系选择器换行,与原型三列布局不一致
2026-04-07 21:50:47 +08:00
peanut 02f4de9d7f docs: 添加创造未来页面布局优化设计文档
设计内容:
- NPC 表单改为三列等分布局(姓名 | 角色 | 关系)
- 核心参数容器间距调整为 24rpx
- 参数选项按钮间距调整为 10rpx

解决 issues: 小程序"创造未来"页面关键配角区域两列布局导致
            关系选择器换行,与原型三列布局不一致
2026-04-07 21:49:01 +08:00
peanut 2192946965 style(mini-program): 优化生成剧本按钮样式与原型一致
修改内容:
- ScriptView.vue.generate-btn: 添加渐变背景、文字居中、调整圆角为 32rpx
- App.vue.btn-primary: 添加文字居中样式 (display: flex + align/justify)

样式变更:
- 背景:添加 linear-gradient(135deg, #9333EA 0%, #7C3AED 100%)
- 文字:垂直和水平居中对齐
- 圆角:40rpx → 32rpx(与原型 rounded-2xl 一致)
- 保持:高度 96rpx、阴影效果

解决 issues: 小程序"创造未来"页面生成按钮文字不居中,
            与原型图视觉效果不一致
2026-04-07 21:39:18 +08:00
peanut e511b366cc docs: 添加生成剧本按钮样式优化设计文档
设计内容:
- 添加渐变背景 linear-gradient(135deg, #9333EA 0%, #7C3AED 100%)
- 文字居中使用 flex + align-items/justify-content
- 圆角调整为 32rpx(与原型 rounded-2xl 一致)
- 保持高度 96rpx

解决 issues: 小程序"创造未来"页面生成按钮文字不居中,
            缺少渐变背景,与原型图不一致
2026-04-07 21:35:08 +08:00
peanut 86b3fa8f84 feat(mini-program): 剧本卡片支持 Markdown 渲染
实现内容:
- 扩展 Markdown 组件支持三级标题 (###) 和粗体 (**text**)
- ScriptView.vue 卡片摘要使用 Markdown 组件渲染
- 新增 ScriptDetailView.vue 剧本详情页,展示完整 Markdown 内容
- 点击卡片可跳转查看详情,"路径映射"按钮使用@click.stop 避免事件冒泡

修改文件:
- components/Markdown.vue: 添加 h3 标题、粗体解析和样式
- pages/main/ScriptView.vue: 导入 Markdown 组件,修改摘要渲染方式,添加跳转逻辑
- pages/main/ScriptDetailView.vue: 新建详情页,展示剧本完整内容
- pages.json: 注册 ScriptDetailView 页面

解决 issues: 小程序"创造未来"页面剧本内容以纯文本显示,
            无法正确渲染 Markdown 格式(标题、列表、粗体等)
2026-04-07 21:28:44 +08:00
peanut 42d7bb3cb5 docs: 添加小程序剧本卡片 Markdown 渲染设计文档
设计内容:
- 扩展 Markdown 组件支持三级标题和粗体
- ScriptView.vue 卡片摘要使用 Markdown 渲染
- 新增 ScriptDetailView.vue 剧本详情页
- 点击卡片跳转查看详情

解决 issues: 小程序"创造未来"页面剧本内容以纯文本显示,
            无法正确渲染 Markdown 格式(标题、列表、粗体等)
2026-04-07 21:18:53 +08:00
peanut e2b41f23b0 feat(mini-program): 添加 H5 开发工作流支持
实施内容:
- 创建 start-h5-dev.bat 快捷启动脚本
- 更新 CLAUDE.md 添加 H5 开发模式说明
- 创建微信开发者工具配置指南

配套文档:
- docs/superpowers/specs/2026-04-07-mini-program-dev-workflow-design.md (设计文档)
- docs/superpowers/guides/2026-04-07-wechat-devtools-config.md (配置指南)

解决 issues: 每次代码修改后需要重新登录小程序的问题
工作流:H5 模式日常开发 + 小程序模式最终验证
2026-04-07 21:12:46 +08:00
peanut 2008d996e6 docs: 添加小程序开发工作流程设计文档
定义 H5 开发模式 + 微信开发者工具验证的双轨工作流:
- 日常开发使用 H5 模式 (npm run dev:h5),登录态保留
- 小程序特性测试使用微信开发者工具
- 配置微信开发者工具关闭自动编译

解决 issues: 每次代码修改后需要重新登录小程序的问题
2026-04-07 21:09:39 +08:00
peanut ee067ad1cb feat(mini-program): 添加 Markdown 渲染组件支持回溯过去页面
- 创建 Markdown.vue 组件,解析并渲染 Markdown 格式内容
- 支持分割线 (---)、四级标题 (####)、列表项 (*-)、段落
- 更新 RecordView.vue 使用 Markdown 组件渲染事件内容和 AI 回复
- 样式采用紫色主题,与整体设计保持一致

解决 issues: 小程序回溯过去页面的 Markdown 内容以纯文本显示的问题
2026-04-07 21:00:39 +08:00
peanut c498c6ca42 chore: 移除 Python 缓存文件 __pycache__ 2026-03-21 23:35:43 +08:00
peanut d50ac3fef9 chore: 更新.gitignore 添加 Python、AI 工具配置目录等忽略规则 2026-03-21 23:34:38 +08:00
peanut 2e08c0904d 合并 feature/domain-deploy 到 master:完成域名部署配置和 SSL 证书脚本 2026-03-21 22:55:28 +08:00
peanut a78257427a chore: 保存小程序配置修改(合并分支前) 2026-03-21 22:53:52 +08:00
peanut 76403a4ad1 feat(mini-program): 添加 request.js API 请求诊断日志
- 在 request() 函数中添加请求/响应/错误日志
- 输出完整 URL、状态码、错误信息
- 仅在 DEBUG=true 时打印
2026-03-18 22:57:00 +08:00
peanut bf41bded8b feat(mini-program): 添加 env.js 环境配置诊断日志
- 在 getConfig() 函数中添加条件日志输出
- 输出原始环境变量、解析后配置、来源标识
- 仅在 DEBUG=true 时打印
2026-03-18 22:50:16 +08:00
peanut 6a423da5f0 docs: 创建小程序诊断日志实现计划
- 添加 env.js 环境配置日志任务
- 添加 request.js API 请求日志任务
- 定义验证步骤和故障排查指南

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-18 22:44:26 +08:00
peanut 4bf3899a76 docs: 创建小程序体验版诊断日志设计文档
- 添加 env.js 环境配置解析日志
- 添加 request.js HTTP 请求/响应日志
- 定义预期输出和验证步骤

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-18 22:43:00 +08:00
peanut fef29e7b0a docs: 更新环境配置文档说明(统一使用域名访问) 2026-03-18 20:38:33 +08:00
peanut 5d3c5544eb fix: 生产环境配置改为域名访问 (HTTPS/WSS) 2026-03-18 20:37:29 +08:00
peanut c895bc030b fix: 测试环境配置改为域名访问 (HTTPS/WSS) 2026-03-18 20:36:48 +08:00
peanut 5efe573b31 fix: 开发环境配置改为域名访问 (HTTPS/WSS) 2026-03-18 20:36:01 +08:00
peanut a9ec1de1bf docs: 创建小程序域名配置实现计划 2026-03-18 20:26:28 +08:00
peanut f22338beb3 feat: 添加小程序体验版构建配置,确保调用服务器 API
- 修改 build:mp-weixin 脚本,显式添加 --mode production 参数
- 新增 build:mp-weixin:test 脚本,用于体验版构建 (--mode test)
- 创建 .env.test 环境配置,指向服务器 API 并保留 DEBUG=true
- 更新 README.md 文档,说明环境配置和构建命令区别

修复问题:之前构建脚本缺少 --mode 参数,可能导致使用默认开发环境配置 (localhost)
2026-03-18 20:15:43 +08:00
peanut 50a456be8b fix: 修改 life-script 生产环境 base 路径为 /life-script/
- 之前配置为 /course-of-life/ 与项目名称不符
- 修改为 /life-script/ 以匹配访问路径
2026-03-18 20:06:56 +08:00
peanut a4252e05ab fix: 修复静态资源访问问题并添加 life-script 前端配置
- 为 /emotion-museum/assets/ 添加静态资源专用 location 处理
- 添加 /life-script/ 前端应用的 nginx 配置
- 支持 React SPA 路由和静态资源缓存策略
2026-03-18 20:06:55 +08:00
peanut fddf4f764e docs: 更新生产环境访问地址为 HTTPS 域名并添加 SSL 证书信息 2026-03-18 19:56:00 +08:00
peanut 04d5024752 feat: 完成域名部署配置
- 创建 SSL 证书申请脚本 (tools/deploy-ssl-cert.py)
- 创建 nginx HTTPS 配置文件 (conf/nginx-emotion-museum-ssl.conf)
- 创建 nginx HTTP 修复配置 (conf/nginx-emotion-museum-fix.conf)
- 创建一键部署脚本 (deploy-domain.sh)
- 更新前端依赖并构建

部署验证:
- HTTPS 前端页面:200
- HTTPS 管理后台:200
- HTTP->HTTPS 跳转:301
- SSL 证书有效期:2026-06-16
2026-03-18 19:44:39 +08:00
peanut 35126a5144 feat: 创建 SSL 证书申请脚本(服务器端执行)
- 支持 standalone 和 nginx 两种模式申请证书
- 自动配置 certbot 定时任务实现自动续期
- 支持 --verify 验证证书状态
- 支持 --renew 手动续期证书
2026-03-18 19:07:36 +08:00
peanut 98ff8fcd44 chore: 更新小程序和 CLAUDE.md 配置为域名访问
- mini-program/.env.production: 更新 API 和 WebSocket 地址为 HTTPS/WSS 域名
- mini-program/src/config/env.js: 更新测试/生产环境默认地址为域名
- CLAUDE.md: 更新生产环境地址为 lifescript.happylifeos.com
2026-03-18 00:12:05 +08:00
peanut 035923a634 feat: 添加域名一键部署脚本 2026-03-18 00:07:59 +08:00
peanut 5f77e1da3a config: 更新部署脚本访问地址为域名 lifescript.happylifeos.com 2026-03-18 00:03:37 +08:00
peanut 2fc4c29c81 config: 更新 nginx 配置为域名访问,添加 HTTPS SSL 支持 2026-03-17 23:56:47 +08:00
peanut 6ebb8a0582 config: 更新 web 前端生产环境配置为域名访问 2026-03-17 23:53:36 +08:00