用码道做今日运势签:从5步对话到桌面端摇一摇与离线老黄历
10月24日,我决定为码道创作季新做一个小作品再投稿,而不是复用已有的作品。当天在8个候选中选定了主题「今日运势签」,目标是一个手机端优先的单文件HTML应用:抽签动画、等级、签文与解签、宜忌、幸运色与数字,再加一张可以分享的卡片。
开发是在码道CodeArts的新对话里按5步走下来的:先定需求,再写24条原创签文,然后做页面样式,接着写抽签逻辑,最后做自查审查。签文一共24条,上上4条、上8条、中平8条、下4条。抽签规则定了两条:一是每日一签按日期固定,同一天抽到的是同一支签;二是再抽不立即重复。历史记录保留最近7条,分享卡用Canvas导出1080×1440的PNG。
第一版跑出来后,第一个真实问题出在桌面端:手机上可以摇一摇,电脑上没有这个动作,原版只有按钮一种抽签方式。改法不是只加一个按钮,而是按设备补齐交互:点签筒也能抽,空格与回车抽签、Esc关分享弹窗;手机端用DeviceMotion加速度阈值加2秒防抖做真摇一摇,iOS首次点击时申请动作权限;按钮加悬停与按压反馈,提示文案按设备区分,只有触屏设备才显示摇一摇。复测时,原来的11项加历史封顶与演示模式全过,新增的签筒点击、空格键、摇晃阈值也验证通过:静止约9.8不触发,35触发。
第二个改动是用户反馈后加的:抽签结果下方加一块老黄历。最开始的取舍很直接:聚合数据等接口都要申请key,我没有采用,而是把离线农历算法库lunar-javascript的UMD版(426KB)内嵌进单文件,不联网、不用key也能算。准确性是拿公开黄历页交叉核对过的:2026年10月24日那天核对的是农历二〇二六年九月十五、丙午年戊戌月辛未日、冲牛煞西、财神正东,上一节气霜降10月23日、下一节气立冬11月7日,都对得上。卡片放在抽签结果下方、历史记录上方,含农历、干支、生肖、冲煞、值神、宜忌、吉神凶神、财神喜神福神方位、胎神与节气;算法算不出时卡片直接隐藏,绝不编造数据,并注明不同流派宜忌略有出入、仅供民俗参考。
还有一处措辞是事后改对的:小红书草稿里原来写了“零依赖”,后来改成“农历算法内嵌在文件里,不用联网也能算”。因为算法库本身就是内嵌的依赖,说零依赖并不准确,改成按事实写,反而更可信。
这篇记录的都是10月24日当天真实走过的步骤:5步对话、桌面端交互补齐、离线老黄历内嵌与核对。作品后来在小红书发布并经官方问卷投稿,获奖名单11月30日公布。对我来说,这次最大的体会是:过程文章不用讲通用道理,把提示词拆成哪几步、第一版卡在哪、改了什么、用什么数据核对过,写清楚就是原创证明。
- 点赞
- 收藏
- 关注作者
评论(0)