Archives for : 在路上

「红小包抽奖」进复赛

20200930

晚上看到公告,「红小包抽奖」进复赛。

小程序云开发挑战赛 | 初赛结果公示

2020.10.10 更新

小程序云开发挑战赛初赛结果

该准备路演 PPT 了。

gh_f61e6b02db0b_344

红小包抽奖

一个月前报名参加腾讯举办的 #小程序云开发挑战赛#,花三周时间做好了这款小程序。

详细介绍看 这里 >

视频介绍看 这里 >

1

「红小包抽奖」是一款模拟微信红包的数字抽奖小程序,无需花钱,可绑定多个微信群,可切换排序:手气最佳、手气最差、手速最快。

说一下应用场景。

如果你有加入一些商家群,那应该经常会看到商家在群里发红包,然后说手气最佳送一个啥啥啥,也有商家会挑手气最差的。

这里有几个小问题。

  1. 如果要找手气最差的,不太好找,尤其人多的时候。
  2. 如果要找手气最佳前几名,或者手气最差后几名,也都不太好找,因为不可以切换排序。
  3. 如果我想一个红包让多个群的人一起来抢,好像也还没办法实现。

「红小包抽奖」解决了以上问题,可以切换排序方式,可以绑定多个群。

当然也可以不绑定群,比如你是写公众号的,那就不用绑定群,公开,所有人都可以来抢。

还有一点很重要,就是不需要真的往红包里塞钱。这其实就是一个模拟微信红包的数字游戏。因为很多人玩微信红包抽奖,关键点还是在“抽奖”,而不是“红包”,金额也不会太大。不过在这款小程序里,没人可以拦住你的任性,发一个亿太简单。

特别感谢 Neo 老师给了我灵感,才有了这款小程序。Neo 是我的用户,给了我很多建议和帮助。之前做的一个“翻牌抽奖”的小程序,他使用时遇到一个 bug,我们聊的时候,Neo 说,其实直接用微信红包在群里抽奖,感觉效果也还不错。他这句听似不经意的话,刹那间给了我灵感,几天之后就开始付诸行动,花了三周时间,有了现在这款「红小包抽奖」,再次感谢 Neo!

这款小程序已经发布,不过版本是 1.0.0。后面改了几个 bug,作了一些优化,但是没有通过审核,原因是红包类目下架了,可能在作规则修改,也不知道哪天会再次开放。如果不再开放红包类目,那这个 v1.0.0 估计是绝版了。

祝你玩得开心!

gh_f61e6b02db0b_344

三个优秀指日可待

运营指标一直是优秀,审核一般都在一小时内通过。

今天发现性能也优秀了,真不容易。老实讲指标有点苛刻,花了不少心思,不知道是不是近期标准降低了。

还差用户指标。

202008121457

并发又翻车

今晚 Neo 发了三个抽奖,又翻车了一把,比上次程度轻一些(超出了一个名额),不过终究还是翻了。

聊完之后想到解决方案。一方面看看代码问题,一方面在规则上也要做一些优化,避免漏洞。

裂变

涂涂同学说,明后天可能要用抽奖。

那今天就加急上线。

把抽奖功能从微商店助手里面拆出来,单独做一个小程序,后面群活动类的应用都在这个小程序里做。

B0A6E442-376D-48D8-A2B4-D07F2F752747

验证市场

最近陆续发现有用户使用,初步验证市场,而且发现这工具自带推广属性,有一个人用,就会带来更多人用。

早上发现有用户凌晨反馈 bug,浑身来劲。

202007220810

并发翻车

晚上八点 Neo 老师在群里抽书,并发有点大,翻了小车,还好问题不是太大。

云函数得优化下。

WechatIMG9

小摊摆起来,小店开起来

第一位种子客户的首日成绩,给我不小鼓舞。

这个项目未必能赚大钱,但一定可以帮助到许多实体小店的老板们。

WechatIMG13  WechatIMG14

采纳了 Nico 和客户的建议,把小程序名称由 群友之间 改成 实体小店助手。

2020-7-3 更新:

昨晚 12 点多想到一个名字,试一下居然还没被注册,微商店助手。这名字,有点高大上。问了下 Neo,也说好。

20200703

再次改名。

微信官方的叫小商店助手,这两名字还挺配对。

云开发生成海报踩坑记

小程序新的 canvas 2d 坑有点多,粗略统计有以下 6 坑:

1、canvasToTempFilePath 生成的临时文件在开发工具中显示不了,在真机上可以显示。刚开始没用真机测试,一直在开发工具中调试,浪费不少时间。

2、canvas 的尺寸要写在 wxml 中才会跟随屏幕比例自适应大小。切记,不要写在 css 中,加 important 也没有。假如你也是用 Taro,那就这样写:

<Canvas type="2d" className="canvas" style={{ width: '375px', height: '525px' }} id="my-canvas" />

3、图片不能直接使用 src 画在 canvas 上,要先 createImage,接着 onLoad 后再画在 canvas 上。

wx.getImageInfo({
  src: 'testPath/test.png',
  success: (res) => {
    const image = canvas.createImage()
    image.src = res.path
    image.onload = () => {
      ctx.drawImage(image, 0, 0, 100, 100)
    }
  }
})

4、生成小程序码返回的临时文件不能直接画在 canvas 上,可以保存到云端再 download 下来使用。

5、getImageInfo 也有坑,取不到图片会一直 pending,要使用 wx.cloud.downloadFile 接口判断之前是否生成过小程序码,有的话直接返回 fileId,无需再次生成。

6、最后一个大坑(官方已经优化解决),就是云开发数据库自动生成的 id。早期的 id 是超过 32 位的,不能用来作为 scene,最近他们改成了 32 位。所以这里需要作个判断,如果不考虑早期数据,在页面上不显示生成海报的入口就行了。

小程序云开发还不太稳定

2020-06-10-1.46.56

一个月不到挂了两次。