使用微信小程序云开发进行开发,无单独后台界面,管理后台也是通过小程序实现,云资源包含云函数,文档型数据库,带宽,oss存储空间、云日志等,资源配额价格低廉,无需域名和服务器即可搭建,且可根据业务发展需要随时弹性扩展。支持免费或付费报名流程,海报生成分享、准考证生成等功能。
主要功能
用户注册与登录
活动浏览与搜索
查看活动的详细信息,包括活动介绍、时间、地点、费用等
分享活动:生成海报图
报名流程:填写自定义报名表单、提交、微信支付、报名成功、重复报名、取消报名、退款审批
查看报名状态
管理后台:用户管理、活动管理、公告管理、报名列表、支付流水、退款、操作日志、数据统计与分析
开发环境
前后端:微信开发者工具
开发、部署步骤
在
project.config.json修改appid导入项目
打开并登录微信开发者工具,选择【导入项目】,后端服务选择“微信云开发”并勾选同意"云开发服务条款",点击确定导入。点击 【云开发】 按钮,开通云开发(第一个月免费),创建环境,拷贝云环境ID
设置云环境
本项目使用到了一个云函数mcloud,打开cloudfunctions/mcloud/config/config.js文件,填写上一步的云环境ID,进行如下配置(大约第4行)
小程序端目录为miniprogram下打开miniprogram/setting/setting.js文件,修改云环境ID云函数上传
点击云函数目录mcloud,右键上传(选择上传并部署:云端安装依赖):云函数参数设置:打开云开发控制台,点击【云函数】按钮,点击【版本与配置】,选择当前云函数版本 点击【配置】,
运行
系统搭建好之后都是初始化状态,会自动创建部分演示数据,需要在 设置–> 后台管理 录入各项业务数据和设置。默认超级管理员,用户名为:admin,密码为:123456。, 请及时登录管理后台修改密码,可新增管理员。开发工具支持版本
因为本小程序用到了上传头像等功能,需要【开发工具】和【基础库】支持。请保持微信开发者工具升级到最新版本,同时确保【调试基础库】>3.4.0云函数本地调试
通过开发者工具上传小程序,并进行版本发布流程。
常见问题
云函数修改,及时上传至云端。可点击开发者工具右上角【消息】按钮查看状态
云函数本地调试, 可以方便地进行云函数断点调试,查看日志,支持修改云函数后自动热更新。
微信支付对接:需要是已经开通了微信支付,且已绑定了商户号的小程序。
对接方式:云调用、工作流
a. 云调用
b. 工作流:在云模板中安装。
微信支付对接源码对比(都是在服务端-云函数中调用):
工作流
asyncorder(){constres=awaitcloudBase.getCloud().callFunction({name:'cloudbase_module',data:{name:'wxpay_order',data:{description:...,attach:...,amount:{total:...,currency:'CNY',},out_trade_no:tradeNo,payer:{openid:...,},},},});letdata={业务数据}PayModel.insert(data)res.result.data.package=res.result.data.packageValreturn{payment:res.result.data,tradeNo}}云调用
asyncorder(){letcloud=cloudBase.getCloud();constres=awaitcloud.cloudPay.unifiedOrder({"body":...,// 商品描述"outTradeNo":tradeNo,// 商户订单号"spbillCreateIp":....,// 终端 IP"subMchId":config.PAY_MCH_ID,// 商户号"totalFee":...,// 总金额"attach":...,"nonceStr":...,"spbillCreateIp":...,"tradeType":'JSAPI',"envId":config.CLOUD_ID,// 云函数环境名称"functionName":"mcloud"// 支付结果通知回调云函数名})if(res.returnCode=='SUCCESS'&&res.resultCode=='SUCCESS'){letdata={业务数据}awaitPayModel.insert(data)return{payment:res.result.data,tradeNo}}}- 云调用,支付授权报错:Error: Base resp abnormal, 268500896
注意:根据交易类小程序运营规范,对于小程序内提供珠宝玉石、3C 数码、盲盒、服饰内衣、海淘、美妆、酒类、家用电器、玩具、箱包皮具、鞋靴、运动户外等商品在线销售及配送服务时,不可使用云调用支付能力,请使用云模板-微信支付模板接入微信支付。
解决方案
工作流回调(经测试有回调无参数!)通过后台主动查询解决。 云本地调试不能接收到回调。
打开高级日志(付费),可以查看所有云函数调用及后台 console.log 日志
微信云开发,某些用户或苹果手机,无法加载云存储中的图片。
解决方案:存储权限设置
支持准考证生成
参考资料
- 微信小程序开发基础
https://developers.weixin.qq.com/miniprogram/dev/framework/quickstart/ - 小程序云开发基础知识
https://cloud.weixin.qq.com/cloudbase
欢迎联系
开发交流,技术分享,问题答疑,功能建议收集,版本更新通知,安装部署协助,小程序开发定制等。
如果这篇文章对您有所帮助,欢迎点赞、分享和留言,让更多的人受益。感谢您的细心阅读,如果发现了任何错误或需要补充的地方,请随时告诉我,我会尽快处理
^_^