4.3 KiB
一、 后端设计:多模式分流架构 核心逻辑是根据前端传来的 mode,动态拼接不同的 System Prompt。
- API 接口定义 Endpoint: /api/names/generate
Method: POST
Params:
keyword: 用户输入的意象(如:清冷、自由)。
mode: 模式枚举 (baby | persona | classic)。
surname: 可选,用户姓氏(用于声韵分析)。
- 核心 Prompt 引擎逻辑 在后端代码中通过一个 switch 或 Map 来管理 Prompt 模版:
JavaScript const prompts = { baby: "你现在是【见素·婴儿起名】导师。风格:端庄、温润。避开所有网红叠字。要求名字具备经得起时间考验的厚重感。", persona: "你现在是【见素·人设起名】导师。风格:冷冽、张力、赛博。意象可以偏向孤傲、破败或极致的浪漫。", classic: "你现在是【见素·诗词拾遗】导师。风格:考古学美感。专门寻找《全唐诗》中极少被现代人使用的冷门生僻字词。" };
// 拼接最终发送给 minimax 的消息
const finalPrompt = ${prompts[mode]} \n 当前关键词:${keyword}。${surname ? '姓氏:' + surname : ''} \n 输出格式:严格 JSON 数组...;
二、 小程序页面设计:从“输入”到“感悟”
我们要把传统的“表单填写”变成一种**“交互仪式”**。
- 首页 (Input Page):极简选择 视觉: 全白背景,中心是一个极细的输入框。
模式切换: 底部放置三个极简的标签(Tag),选中的标签下方有一个小黑点。
[ 宝宝 ] [ 人设 ] [ 拾遗 ]
交互: * 用户输入关键词后,点击下方的“求名”按钮。
按钮点击后,文字变为“见素感悟中...”,并触发一个类似墨水滴入水中慢慢晕开的动画(CSS 实现)。
- 卡片页 (Swipe Page):氛围渲染 头部: 展示当前的模式和关键词(如:见素 · 宝宝 · 清冷)。
卡片: * 正面: 巨大的宋体名字,垂直居中。右下方有一个淡淡的灰色印章。
反面: 解读文字不再是段落,而是散文诗般的排版(增加行间距)。
操作栏: 底部只有两个圆圈按钮(× 和 ♥),以及一个“返回”小图标。
三、 前端页面完整代码建议 (index.wxml 增强版) 在你的基础上,增加了模式选择和视觉氛围感。
XML
{{item.name}} 求名<view class="hint">左滑无感 · 右滑收录</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 出来的结果会有随机性,但好的意象是有限的。
姓氏平仄: 如果是“宝宝起名”模式,一定要让用户填姓氏。然后在后端加入逻辑:“如果姓氏是平声,第一个名优先选仄声”。
分享海报: 名字一定要足够大,背景一定要留/白。这是「见素」的核心竞争力。