feat: 完成见素起名小程序核心功能

- 实现 AI 起名功能(Kimi API 接入)
- 添加用户收藏功能(MySQL 数据库)
- 实现海报生成与分享
- 添加音效和触觉反馈
- 配置生产环境部署(WAR 包 + Nginx)
- 支持多种起名模式(经典、诗词、自然、现代)
- 实现分批加载优化体验
This commit is contained in:
王鹏
2026-04-17 15:34:51 +08:00
parent 1a749cdf71
commit be1f5722ab
136 changed files with 3322 additions and 420 deletions

View File

@@ -1,4 +1,20 @@
<view class="container">
<!-- 意境感加载页 -->
<view class="loading-container {{isLoading ? 'visible' : ''}}">
<view class="loading-content">
<view class="loading-circle"></view>
<text class="loading-text">{{loadingQuote}}</text>
<text class="loading-subtext">见素正在感悟...</text>
</view>
</view>
<!-- 顶部标题 -->
<view class="header" wx:if="{{!isLoading}}">
<view class="back-btn" bindtap="onBack">←</view>
<view class="header-title">见素 · {{modeName}} · {{keyword}}</view>
<view class="header-spacer"></view>
</view>
<view class="card-stack" wx:if="{{!isLoading && nameList.length > 0}}">
<view
class="card-container"
@@ -17,7 +33,7 @@
</view>
</view>
<!-- 反面:故事化解读 -->
<view class="card-face back">
<view class="card-face back" bindtap="onFlip">
<view class="desc-container">
<text class="desc">{{nameList[currentIndex].description}}</text>
</view>
@@ -33,12 +49,55 @@
</view>
</view>
</view>
<!-- 海报生成画布 (隐藏在屏幕外) -->
<canvas type="2d" id="posterCanvas" style="width: 750px; height: 1334px; position: absolute; left: -9999px;"></canvas>
<!-- 海报生成区域 (使用 snapshot 组件) -->
<view class="poster-modal {{showPoster ? 'visible' : ''}}" bindtap="closePoster">
<view class="poster-content" catchtap="preventBubble">
<view class="poster-close" bindtap="closePoster">×</view>
<!-- snapshot 目标区域 -->
<view class="poster-capture-area" id="posterArea">
<view class="poster-bg">
<!-- 大字竖排 -->
<view class="poster-name-vertical">
<text wx:for="{{posterNameChars}}" wx:key="index">{{item}}</text>
</view>
<!-- 出处 -->
<view class="poster-origin">{{nameList[currentIndex].origin}}</view>
<!-- 印章 -->
<view class="poster-seal">见素</view>
<!-- 底部信息 -->
<view class="poster-footer">
<view class="poster-desc">{{nameList[currentIndex].description}}</view>
<view class="poster-qrcode">
<text class="qrcode-text">扫码起名</text>
</view>
</view>
</view>
</view>
<!-- 操作按钮 -->
<view class="poster-actions">
<view class="poster-btn save-btn" bindtap="savePoster">
<text>保存到相册</text>
</view>
<view class="poster-btn share-btn" bindtap="sharePoster">
<text>分享给好友</text>
</view>
</view>
</view>
</view>
<!-- 底部操作提示 -->
<view class="footer" wx:if="{{!isLoading}}">
<view class="hint">左滑无感 · 右滑收藏</view>
<!-- 底部操作 -->
<view class="action-bar" wx:if="{{!isLoading && nameList.length > 0}}">
<view class="action-btn dislike-btn" bindtap="onDislike">
<text class="action-icon">×</text>
</view>
<view class="action-btn like-btn" bindtap="onLike">
<text class="action-icon">♥</text>
</view>
</view>
<!-- 空状态 -->
@@ -71,4 +130,4 @@
</scroll-view>
</view>
</view>
</view>
</view>