用码道做今日运势签:从5步对话到桌面端摇一摇与离线老黄历

举报
yd_264719091 发表于 2026/11/02 10:58:53 2026/11/02
【摘要】 10月24日,我决定为码道创作季新做一个小作品再投稿,而不是复用已有的作品。当天在8个候选中选定了主题「今日运势签」,目标是一个手机端优先的单文件HTML应用:抽签动画、等级、签文与解签、宜忌、幸运色与数字,再加一张可以分享的卡片。开发是在码道CodeArts的新对话里按5步走下来的:先定需求,再写24条原创签文,然后做页面样式,接着写抽签逻辑,最后做自查审查。签文一共24条,上上4条、上8...

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日公布。对我来说,这次最大的体会是:过程文章不用讲通用道理,把提示词拆成哪几步、第一版卡在哪、改了什么、用什么数据核对过,写清楚就是原创证明。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。