此页面需要javascript支持,请在浏览器中启用javascript

无聊怎么办?写个小程序玩吧

小程序
Serverless
云开发
共761个字,阅读时间 4 分钟
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://icebreaker.top/articles/2021/2/19-program-card-1

先放一个小程序的 Qrcode

今天刚刚发布,还有很多的细节需要调整,
本人呢没有苹果手机 , 所以 IOS 压根没测

bug and feat report

无聊的春节档

2021 年几部电影是真的无聊,出去玩也没啥好玩的。

小程序技术选型

uni-app + 微信开发者工具里自带的云开发(cloudbase) + slsGithub OAuth app

OAuth app and token

Github 设置里创建,生成一下就 ok 了

同时可以借助 @octokit 的力量, 用 graphqlrest 进行混合双打

当然这是有每小时 5000 次的限制的,反正现在用的人少

解决思路也很简单,动态生成 account or token ?

Cloudbase

给了一个内置的 cos + db + sls + 版本流量灰度功能

虽然是微信专属的,但是用的挺爽的,和微信集成度非常的高

本来很多要通过解密拿的东西,一个 cloudID 全搞定了

不过使用过程中也有一些小问题

  • event 中 userInfo 的默认值 {appId:xxx,openId:xxx}

  • 逻辑的复用,现在目录结构下,一个 package.json 是一个单独的项目,放在单独的容器中,有很多云函数要复用的代码,工具类啥的,只能放在外部,这就带来一个问题:
    每一个 package.json 都要反复的安装之前就有的 npm 依赖包,每个都去 cv 过来,感觉很烦。
    解决方案:
    方案一 : 这个最现实了, 使用 layer ,毕竟这是 SCF 现成的功能
    方案二 : 这个就是我的意淫了 , 看到 cloudfunctions 这个文件夹和里面的目录结构,让我 似曾相识!

    咦,这不就是 lerna.jsonpackages 吗?
    咦,这不就是 lerna.jsonpackages 吗?
    咦,这不就是 lerna.jsonpackages 吗?

    重要的事情,说三遍

    所以,思路跃然啊,浮现在显示器上。 那就是基于 git 构建本地包的安装机制,让每个云函数都成为一个 npm 包, 通过 package.json 构建相互依赖的体系,版本管理也方便,天然继承了 npm 那一套

    不过这样,那个微信的开发者工具中 上传并部署 的功能就变得复杂了,因为要去分析本地的依赖, 而且,package.json 中的 name 字段也不能瞎起了。

db 啊,用起来有惊喜,懒得说。

小程序

惊讶的发现,鄙人小程序的水平,不如半年前的自己!

很多代码,是从半年前的另外一个项目搞过来的

这次搞 快速成型 ,有两个好玩的地方:

  • uni-app 植入 tailwindcss, 并从默认的 remrpx 进行自定义配置
  • canvas 全面启用 type="2d" , 踩了一些坑,也走过了

Todo List

  • 一个收藏名片,一个点赞
  • 一个名片夹
  • 更多的名片样式

参考

这个小程序设计是参考的 github-readme-stats , 部分展现也借鉴的 某片全某王, 我这反正也是个人的,不盈利。