内容简介:在之前的开发中,一般都是用ThinkPHP去开发一个后端api,然后给小程序调用。这是最传统的做法,但是对于个人开发者来讲,一个月的时间去兼职完成一个完整的小程序,还是非常累的。所以小程序云开发能够极大加快个人开发者的进度。(官方发过一篇文:小程序提供的
2019 — 中国高校计算机大赛 微信小程序应用开发赛 参赛作品。
部分真实信息已经隐藏。
前端采用小程序原生开发
后端采用小程序云开发
部分组件化,自定义组件较多
我学到了什么
1. 小程序云开发的 优点/缺点
在之前的开发中,一般都是用ThinkPHP去开发一个后端api,然后给小程序调用。这是最传统的做法,但是对于个人开发者来讲,一个月的时间去兼职完成一个完整的小程序,还是非常累的。所以小程序云开发能够极大加快个人开发者的进度。(官方发过一篇文: 1个开发如何撑起一个过亿用户的小程序 )
小程序提供的
云存储
对外开放能力有限,文件url为 cloud:// 开头,可以存储下载多重类型,同时image, audio, video 等允许直接调用云存储的文件 ( cloud://xxxxxx)
云数据库
为非关系型数据库,想要联表查询的话,嘿嘿你懂的。每一条数据自带_id和_openid字段,云数据库允许的权限有:

云函数
, 说实话一开始我不知道这个有什么用,直到最后我需要删除、更新特殊信息,以及调用微信公众平台api时发现了它的妙处。
例如有这么一个需求:甲发送了一篇文章,除了所有用户可以查看之外,她的女朋友乙可以删除或者修改这篇文章的内容,这就涉及到修改其他人创建的数据,这个时候上图中云数据库的权限是完全不够用的。但是在云函数中可以实现上述功能。
另外如果我需要发送模板消息,或者调用其他微信公众平台官方api。这个时候如果在小程序中直接网络请求会被限制。所以可以在云函数中去操作。
同时云函数支持定时任务。
2. 个人/企业开发者账号的区别(个人开发者不能做什么)
在 详细 阅读开发文档之后,基本就可以总结出来。
个人开发者不允许使用支付功能。
个人开发者不允许使用web-view组件 (类似iframe功能)。
上述功能对企业开发账号不做限制。
另外,在产品上架的时候也会遇到一些局限。
比如在下方我的作品中,我涉及到了个人日记功能,还有添加习惯,添加奖励等功能,这些在上架的时候,个人开发者是会受到限制的,下面是小程序官方发来的审核信息。
你好,你的小程序涉及用户自行生成内容的发布/分享/交流,属社交范畴,为个人主体小程序未开放类目,建议申请企业主体小程序。
另外我的打卡功能非常依赖推送功能,但是小程序本身很局限。本来想参考其他打卡提醒类小程序的做法,通过微信公众号的方式去提醒,结果发现个人只能申请订阅号,订阅号的推送通知都被折叠起来了,所以基本起不到提醒的作用。
3. 自定义组件中遇到的问题
a. 自定义tabBar
通过官方的方式自定义tabBar时会发现存在 tabBar 跳动的问题,而且大部分时候会错位,也需要在每个页面的 onShow() 里面去设置参数。
可以通过components的方式去自定义tabBar,这里我模仿了某APP,实现了一个自定义tabBar,没有出现上述问题。

b. 自定义toast
自定义toast相对简单,通过components的方式即可。但是需要注意一个问题就是,当页面中出现textarea等官方控件时,自定义组件的层级永远都比这些特殊组件低。很难解决覆盖问题。
4. 对小程序的部分幻想
推送功能:
这是我目前实现的推送功能:

一开始我对这种模板消息充满了各种期待,后来发现对于小程序它是一个基本可有可无的东西。
首先要在用户点击form表单里面的按钮时,获取一个formID, 然后通过用户的openID和formID去给用户发送模板消息。
这里有几个问题:
- 必须是点击form表单里面的按钮才可以生成formID;
- 每个form只能生成一个formID。 网上有那种一个form里面嵌套几十个button的方式去一次性获取多个formID,该方法已经失效。
- formID和openID关联,由谁产生的formID,就只能给谁发送模板消息
- 一个formID只能使用一次,有效期7天。
目前网上有提供小程序推送的服务商,看了看做法,大部分就是通过在页面中藏表单,或者项目中的大部分按钮在都换成form表单的方式,在点按的同时获取一个formID, 然后在合适的时机将收集到的formID上传到服务器存储。
我的做法是在每天初次打开的时候,出现一个早上好的提示,用户点击按钮获取formID,然后在小程序进入后台的时候,将收集到的formID上传到服务器。
项目名称
xxxxx Daily
“中文别名: xx日常”
项目介绍
xxxxx Daily 是一款提供
双人互动
打卡,设置奖励,分享日常的小程序。
与目前市场上存在的大部分习惯日常类应用不同的是,我们更希望互相绑定的两个用户之间去完成一些日常活动。例如在完成自己的每日任务时,可以查看对方的打卡进度,提醒对方及时完成任务;或者可以根据任务为对方制订一套奖励计划,鼓励对方按时完成任务。另外,你可以在广场记录当天完成的任务,发生的故事,这可以只在你与同伴之间分享,也可以设置允许其他人阅读。
另外,xxxxx Daily 虽然更侧重于两个用户完成绑定后使用,但是其中的所有功能也都可以一个人完成。你可以自己打卡,自己给自己设置奖励。
在第一次使用本小程序时,你可以设置一个分享海报,邀请小伙伴与你进行绑定。绑定的双方也可以随时解除关系。
功能介绍
习惯
- 编辑习惯列表
- 查看自己/对方打卡进度
-
打卡
- 完成自己的任务
- 提醒对方打卡
-
查看打卡记录
奖励
- 查看进行中/已结束奖励
- 为自己/对方添加奖励
广场
- 大厅/个人中心 文章列表
- 添加文章
设置
- UI设置
- 绑定关系管理
团队信息
-
学校: xxx
-
组员:
- xxx
- xxx
详细功能介绍
因为本小程序既可单人运行,又可双人交互,所以在下方的介绍中,除特殊说明外,所有功能都是在双人绑定的状态下运行。
详细介绍
- 登录
- 个人中心
- 设置
- 邀请好友
-
习惯操作
- 添加习惯
- 个人打卡
- 查看对方习惯
- 提醒对方打卡
- 查看对方打卡记录
-
广场
- 添加文章
- 文章浏览
-
奖励
- 添加奖励
- 查看奖励
1. 登录

新用户使用指南

2. 个人中心

3. 设置

4. 邀请好友

对方收到的样子

5. 习惯操作
A. 添加习惯
点击中间添加按钮,选择添加习惯

可以为习惯选择图标,设置名称, 设置每周什么时候打卡,下方可以选择截至时间。

选择截止时间

B. 个人打卡
在 “今天” 页面点击习惯名可打卡

再次点击则取消打卡

C. 查看对方习惯
在“今天”页面顶部点击对方可切换视角
点击后,下方变成对方的习惯列表。

D. 提醒对方打卡
切换到对方视角,点击对方未完成的任务,即可发送提醒。


小程序卡片消息提醒

当无法发送卡片消息时,需要手动分享给对方


E. 查看对方打卡记录
当点击对方已完成的任务时,可以查看对方打卡记录

点击查看详情

6. 广场
A. 添加文章

可以上传照片
设置查看权限 (我们: 只允许自己和对方查看。 所有人: 任何人可见)

B. 文章浏览



7. 奖励
A. 添加奖励

可以给自己或者对方添加奖励

无期限习惯可以设置打卡次数。

有期限习惯会自动计算剩余天数。

B. 查看奖励

查看奖励详情。(打卡记录仅从奖励设置当天开始)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 微信小程序消息通知-打卡考勤
- 运动时谁还不来个姨妈:打卡小程序
- 爱打卡源码|爱打卡模式系统开发|爱打卡现成版
- ARTS第四周打卡(2019.04.08~2019.04.14)
- 力扣每日一题打卡:构建二叉树专题
- 云办公系统 skyeye v2.1.4 发布,新增手机端考勤打卡
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。