业务背景
公益培训报名小程序,提供给文化馆,图书馆,文体中心,青少年活动中心,少年宫等社会公益机构进行公益培训活动报名登记的小工具
功能分解

技术选型
- 使用腾讯专门的小程序云开发技术,云资源包含云函数,数据库,带宽,存储空间,定时器等,资源配额价格低廉,无需域名和服务器即可搭建。
- 小程序本身的即用即走,适合小工具的使用场景,也适合快速开发迭代。
- 云开发技术采用腾讯内部链路,没有被黑客攻击的风险,不会 DDOS攻击,节省防火墙费用,安全性高且免维护。
- 资源承载力可根据业务发展需要随时弹性扩展。
数据库设计
EnrollJoinModel.DB_STRUCTURE = {
_pid: 'string|true',
ENROLL_JOIN_ID: 'string|true',
ENROLL_JOIN_ENROLL_ID: 'string|true|comment=报名PK',
ENROLL_JOIN_IS_ADMIN: 'int|true|default=0|comment=是否管理员添加 0/1',
ENROLL_JOIN_USER_ID: 'string|true|comment=用户ID',
ENROLL_JOIN_FORMS: 'array|true|default=[]|comment=表单',
ENROLL_JOIN_STATUS: 'int|true|default=1|comment=状态 0=待审核 1=报名成功, 99=审核未过',
ENROLL_JOIN_REASON: 'string|false|comment=审核拒绝或者取消理由',
ENROLL_JOIN_LAST_TIME: 'int|true|default=0',
ENROLL_JOIN_ADD_TIME: 'int|true',
ENROLL_JOIN_EDIT_TIME: 'int|true',
ENROLL_JOIN_ADD_IP: 'string|false',
ENROLL_JOIN_EDIT_IP: 'string|false',
};
UI设计





核心代码
// 获取当前登记状态
getJoinStatusDesc(enroll) {
let timestamp = this._timestamp;
if (enroll.ENROLL_STATUS == 0)
return '已停止';
else if (enroll.ENROLL_START > timestamp)
return '未开始';
else if (enroll.ENROLL_END <= timestamp)
return '已截止';
else if (enroll.ENROLL_MAX_CNT > 0
&& enroll.ENROLL_JOIN_CNT >= enroll.ENROLL_MAX_CNT)
return '人数已满';
else
return '进行中';
}
/** 浏览信息 */
async viewEnroll(userId, id) {
let fields = '*';
let where = {
_id: id,
ENROLL_STATUS: EnrollModel.STATUS.COMM
}
let enroll = await EnrollModel

本文介绍了用于公益培训报名的小程序设计,包括技术选型(腾讯小程序云开发)、数据库设计、核心代码展示以及后台管理功能。小程序采用即用即走特性,利用云开发实现低成本、高安全性的资源管理,并提供了用户报名、状态查询、数据统计等功能。
最低0.47元/天 解锁文章
1031

被折叠的 条评论
为什么被折叠?



