返回首页

我的第一个小工具:在线打印小程序开发心得

产品
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%。

接下来

下一步我打算把它和云打印硬件打通,让用户可以直接在小程序里看到打印机状态。

如果你也在做工具类产品,欢迎交流。我的邮箱在关于页面。

评论

友善交流,邮箱不会公开

发表评论

未配置人机验证,已启用频率限制与内容过滤