← 返回列表
一格格拼豆

一格格拼豆

已发布小程序

技术栈: Taro 4 · Vue 3 · TypeScript · Tencent CloudBase · Vitest · GitHub Actions

把一张拼豆图纸变成可以一格一格点掉的清单。 一格格拼豆是给拼豆爱好者做的微信小程序:导入图纸图片,在上面对齐网格,再在编辑器里按进度往下拼,下次打开还停在上次的位置。拼完以后,还能把作品做成一份小礼物发给朋友。

从一张图纸到一件拼好的作品
从一张图纸到一件拼好的作品

核心特点

  • 网格由你对齐,不靠猜

    填好行列数,拖动四条边套住图纸,再用局部放大镜微调四个角来修正透视。网格是叠在图片上的独立逻辑层,所以略微歪斜的照片也能用。

  • 三种拼法

    自由浏览、按行拼(提示下一个格子),或按颜色拼。进度用紧凑的位图保存,可以撤销,下次接着上次的位置。

  • 可以随时纠正的颜色系统

    相近的颜色会自动分组,你可以合并、拆分、排除背景、把单个格子归到别的组,每一步都能撤回。颜色组可以绑定 MARD 221、MARD 291、Hama Midi 的色号或自己的色卡,并生成备豆清单。

  • 做成礼物分享

    带名字和头像的送礼名片发给好友,好友点开格子把图案揭晓出来。拼完的作品放进可以拖动排布的收藏室。

导入并对齐网格

选一张清晰的拼豆图纸,填上行数和列数。校准页会在图上叠一层网格:拖动四条边套住带编号的有效区域,微调四个角来修正透视,再用放大镜检查贴合程度。大图纸可以用全屏和横屏。网格是独立的逻辑层,图片本身不会被切碎。

导入页:选图、填行列数(示例图纸)
导入页:选图、填行列数(示例图纸)
校准页:拖动四边和四角,放大镜检查贴合(示例图纸)
校准页:拖动四边和四角,放大镜检查贴合(示例图纸)

一格一格地拼

编辑器把图纸做成可缩放、可平移的底图,上面叠着对齐好的网格。可以在全图浏览,以及按行或按颜色拼之间切换,当前行和总进度始终可见。已拼的格子可以显示为颜色填充、叉、斜杠、对勾或爱心。双指缩放保持流畅,是因为手势期间的状态只保存在本地,手势结束才同步。

按颜色拼:只看当前颜色,已拼的格子标成爱心(示例图纸)
按颜色拼:只看当前颜色,已拼的格子标成爱心(示例图纸)
按行拼:高亮当前行,并提示进度(示例图纸)
按行拼:高亮当前行,并提示进度(示例图纸)
编辑页:对齐后的网格、总进度、查看方式和颜色组(示例图纸)
编辑页:对齐后的网格、总进度、查看方式和颜色组(示例图纸)

管理颜色

颜色页把相近的颜色分成组,可以校准、合并或拆分,并把每个颜色组绑定到色卡里的色号。下面这张示例图纸正好只有一种颜色,所以只显示一个颜色组。

颜色页:校准颜色、合并颜色和色卡设置(示例图纸)
颜色页:校准颜色、合并颜色和色卡设置(示例图纸)

分享与收藏

「分享作品」会把作品做成一张送礼名片:朋友看到你设置的名字和头像,点开格子把图案揭晓出来,还可以直接收下这个拼豆,或者自己再拼一个。分享快照由云函数保存,文字和图片在保存或展示之前都要通过内容安全检查。

送礼名片:名字、头像和预览,一键发给好友(示例图纸)
送礼名片:名字、头像和预览,一键发给好友(示例图纸)
好友打开后:点格子揭晓礼物(示例图纸)
好友打开后:点格子揭晓礼物(示例图纸)

拼完的作品和收到的礼物,都会钉在收藏室的一块毛毡板上。可以按「我拼过的」「收到的」筛选,更换毛毡底色、显示或隐藏标签、拖动摆放位置,每件作品都记着完成日期。

拼豆收藏室:把拼过的作品和收到的礼物钉在毛毡板上
拼豆收藏室:把拼过的作品和收到的礼物钉在毛毡板上

工作原理

应用是本地优先的:项目、进度和图纸图片都留在设备上,项目有效期 72 小时,看一次激励广告可以续期(第一次导入免费,广告已接好,等广告位通过审核后才打开)。只有分享才会用到云端:一个 CloudBase 云函数负责保存分享快照、按小时发送到期提醒(微信订阅消息),以及做文本和图片的内容安全检查。页面只做编排;网格、校准、进度和颜色逻辑都放在不依赖平台的 core 层,并有单元测试。

架构:小程序、设备本地存储、云函数与微信能力
架构:小程序、设备本地存储、云函数与微信能力

工程细节

  • 一个我愿意讲的排查案例: 双指缩放卡顿,我分三层定位:整张网格反复重绘、对超大数组的深度监听、每次 touchmove 都替换整个状态。修法是手势期间的状态留在本地,手势结束再同步。
  • 有数据支撑的产品决定: 自动识别行列数在 13 个测试用例里只对了 3 个,所以我把它搁置并隐藏入口,没有上线一个会猜错的功能;代码和回归脚本仍然保留。
  • 对颜色保持诚实: 色卡来自第三方,色值是屏幕近似值并如实标注,界面用词是「推荐」而不是「精确」。
  • 内容安全: 图纸图片在设备上先做预筛查再上传,云端保存前再检查一次图片和文字。这是微信平台审核之后补上的,最新一轮加固已经写进代码,但还没有部署。
  • 有测试、有 CI: 约 250 个测试用例覆盖网格、校准、进度、颜色、色卡、分享和云函数;GitHub Actions 在每次推送时跑测试、类型检查和构建。

当前状态

已发布在微信上:2026 年 8 月 12 日通过微信认证,8 月 26 日发布 0.1.6 版,不做任何推广,靠自然流量累计约 100 名用户。接下来:把最新的安全加固部署并真机回归,等广告位就绪后打开激励广告,自动识别以后再评估。源码是私有仓库,所以本页用截图代替代码;所有截图用的都是示例图纸,不含个人信息。

该项目的源码为私有仓库,因此这里用截图和文字说明代替,可以在面试中现场演示代码。