Files
JianSu-Naming/step2.md

121 lines
4.3 KiB
Markdown
Raw Normal View History

2026-04-16 11:25:29 +08:00
一、 后端设计:多模式分流架构
核心逻辑是根据前端传来的 mode动态拼接不同的 System Prompt。
1. API 接口定义
Endpoint: /api/names/generate
Method: POST
Params:
keyword: 用户输入的意象(如:清冷、自由)。
mode: 模式枚举 (baby | persona | classic)。
surname: 可选,用户姓氏(用于声韵分析)。
2. 核心 Prompt 引擎逻辑
在后端代码中通过一个 switch 或 Map 来管理 Prompt 模版:
JavaScript
const prompts = {
baby: "你现在是【见素·婴儿起名】导师。风格:端庄、温润。避开所有网红叠字。要求名字具备经得起时间考验的厚重感。",
persona: "你现在是【见素·人设起名】导师。风格:冷冽、张力、赛博。意象可以偏向孤傲、破败或极致的浪漫。",
classic: "你现在是【见素·诗词拾遗】导师。风格:考古学美感。专门寻找《全唐诗》中极少被现代人使用的冷门生僻字词。"
};
// 拼接最终发送给 minimax 的消息
const finalPrompt = `${prompts[mode]} \n
当前关键词:${keyword}。${surname ? '姓氏:' + surname : ''} \n
输出格式:严格 JSON 数组...`;
二、 小程序页面设计:从“输入”到“感悟”
我们要把传统的“表单填写”变成一种**“交互仪式”**。
1. 首页 (Input Page):极简选择
视觉: 全白背景,中心是一个极细的输入框。
模式切换: 底部放置三个极简的标签Tag选中的标签下方有一个小黑点。
[ 宝宝 ] [ 人设 ] [ 拾遗 ]
交互: * 用户输入关键词后,点击下方的“求名”按钮。
按钮点击后,文字变为“见素感悟中...”并触发一个类似墨水滴入水中慢慢晕开的动画CSS 实现)。
2. 卡片页 (Swipe Page):氛围渲染
头部: 展示当前的模式和关键词(如:见素 · 宝宝 · 清冷)。
卡片: * 正面: 巨大的宋体名字,垂直居中。右下方有一个淡淡的灰色印章。
反面: 解读文字不再是段落,而是散文诗般的排版(增加行间距)。
操作栏: 底部只有两个圆圈按钮(× 和 ♥),以及一个“返回”小图标。
三、 前端页面完整代码建议 (index.wxml 增强版)
在你的基础上,增加了模式选择和视觉氛围感。
XML
<wxs module="handler" src="./handler.wxs"></wxs>
<view class="container">
<view class="mode-selector" wx:if="{{!isSwiping}}">
<view
wx:for="{{modes}}"
wx:key="id"
class="mode-item {{activeMode === item.id ? 'active' : ''}}"
bindtap="selectMode"
data-id="{{item.id}}"
>{{item.name}}</view>
</view>
<view class="input-section" wx:if="{{!isSwiping}}">
<input
class="main-input"
placeholder="输入意象,如:孤鸿、冷月"
bindinput="onInput"
placeholder-style="color: #ccc;"
/>
<button class="submit-btn" bindtap="startGenerate">求名</button>
</view>
<view class="card-stack" wx:if="{{isSwiping && nameList.length > 0}}">
<view
class="card {{draggingClass}} {{isFlipped ? 'flipped' : ''}}"
wx:key="{{cardKey}}"
bindtap="onFlip"
bindtouchstart="{{handler.touchstart}}"
bindtouchmove="{{handler.touchmove}}"
bindtouchend="{{handler.touchend}}"
>
</view>
<view class="hint">左滑无感 · 右滑收录</view>
</view>
</view>
四、 关键 CSS 变量 (app.wxss)
为了保证“见素”的 Vibe建议在全局定义这些变量
CSS
page {
--jiansu-bg: #ffffff;
--jiansu-text: #2c2c2c;
--jiansu-accent: #8e8e8e;
--jiansu-font: "Noto Serif SC", serif; /* 记得引入思源宋体 */
background-color: var(--jiansu-bg);
color: var(--jiansu-text);
}
.submit-btn {
background: var(--jiansu-text);
color: #fff;
border-radius: 0; /* 极致方正 */
font-weight: 300;
letter-spacing: 4rpx;
margin-top: 60rpx;
}
五、 后期优化的建议
后端缓存: 同一个模式+同一能个关键词,缓存 24 小时。因为 Gemini API 出来的结果会有随机性,但好的意象是有限的。
姓氏平仄: 如果是“宝宝起名”模式,一定要让用户填姓氏。然后在后端加入逻辑:“如果姓氏是平声,第一个名优先选仄声”。
分享海报: 名字一定要足够大,背景一定要留/白。这是「见素」的核心竞争力。