我的第一个小工具:在线打印小程序开发心得
产品
2025-10-26 623 0 2 min
公司楼下的打印店,每天晚上七点就关门。加班的人想打印一份材料,要么等到第二天,要么跑两公里去便利店。
这个场景我观察了半年,最后决定自己做一个「在线打印」小程序。
需求验证
我没有直接写代码,而是先在楼下打印店蹲了两个晚上,数了数有多少人在关门前十分钟冲进来。
结果是:平均每晚 6 到 8 个人,其中一半在抱怨时间。
这个数字不大,但足够支撑一个假设:有一群人愿意为「随时能打印」付一点钱。
产品设计的三条原则
一、不超过三步。 上传文件 → 选择参数 → 支付。任何多一步的设计都被我砍掉了。
二、价格必须可见。 用户在点击支付之前,必须清楚知道要花多少钱。隐藏费用是工具类产品最快的死亡方式。
三、失败要能重来。 文件上传失败、支付中断、打印机缺纸 —— 每一种情况都要有明确的下一步。
技术选型
前端用微信小程序原生框架,后端用 Cloudflare Workers + R2:
javascript
// 生成预签名上传地址
export default {
async fetch(request, env) {
const { filename } = await request.json()
const key = `uploads/${crypto.randomUUID()}-${filename}`
const url = await env.R2.createPresignedUrl(key, {
expiresIn: 600,
method: 'PUT',
})
return Response.json({ uploadUrl: url, key })
},
}选择 R2 的原因是出网流量免费。打印场景里文件会被反复下载,用 S3 的话账单会很难看。
上线后的真实数据
上线第一个月:
- 注册用户 214
- 完成打印 87 单
- 复购用户 12 人
- 平均客单价 4.2 元
收入很低,但有个细节让我很兴奋:有 3 个用户主动把小程序转发到了公司群。
这说明产品真的解决了问题,而不是靠运营硬推。
我犯的错
打印参数太自由。 一开始我让用户自己选纸张、单双面、装订方式,结果 40% 的订单因为参数不匹配需要人工介入。后来我改成 4 个预设套餐,问题立刻消失了。
没有做文件预览。 有用户上传了错误的文件,打印出来才发现。加了一个简单的 PDF 首页缩略图之后,这类客诉下降了 70%。
接下来
下一步我打算把它和云打印硬件打通,让用户可以直接在小程序里看到打印机状态。
如果你也在做工具类产品,欢迎交流。我的邮箱在关于页面。
评论
友善交流,邮箱不会公开