
微信小程序云开发 搭建一个管理小程序
概述 :
开发者可以使用云开发开发微信小程序、小游戏,无需搭建服务器,即可使用云端能力。
云开发为开发者提供完整的云端支持,弱化后端和运维概念,无需搭建服务器,使用平台提供的 API 进行核心业务开发,即可实现快速上线和迭代,同时这一能力,同开发者已经使用的云服务相互兼容,并不互斥。
目前提供三大基础能力支持:
- 云函数:在云端运行的代码,微信私有协议天然鉴权,开发者只需编写自身业务逻辑代码
- 数据库:一个既可在小程序前端操作,也能在云函数中读写的 JSON 数据库
- 存储:在小程序前端直接上传/下载云端文件,在云开发控制台可视化管理
创建项目:
新建项目选择一个空目录,填入 AppID(使用云开发能力必须填写 AppID),勾选创建 “云开发 QuickStart 项目”,点击创建即可得到一个展示云开发基础能力的示例小程序。
项目结构如下:
开通云服务:
点击云开发 , 打开云开发控制台,云开发控制台提供如下能力(云函数中对数据库的操作等同于在控制台直接操作数据库)
- 概览:查看云开发基础使用数据
- 用户管理:查看小程序用户信息
- 数据库:管理数据库,可查看、增加、更新、查找、删除数据、管理索引、管理数据库访问权限等
- 存储管理:查看和管理存储空间
- 云函数:查看云函数列表、配置、日志和监控
- 统计分析:查看云开发资源具体使用统计信息
基础方法(基本涵盖小程序云开发常用的定义和方法):
小程序调用云函数示例:
小程序调用数据库示例:
小程序存储调用示例:
云函数的定义:
云函数中操作数据库
以下调用获取默认环境的数据库的引用:
假设有一个环境名为 test,用做测试环境,那么可以如下获取测试环境数据库:
也可以通过 init 传入默认环境的方式使得获取数据库时默认是默认环境数据库:
操作集合:
云开发实践:
(使用小程序云开发实现一个可以增删改查的设备管理平台)
1: 需求分析:
- 设备管理现状: 部门有大量安卓/苹果测试机和测试硬件设备 , 当前管理现状混乱 , 管理员使用纸质表格和excel对每次的出借情况进行记录 , 当有同事需要测试设备的时候 , 需要联系管理员 , 管理员查阅表格 , 找到最后借用人进行协调 , 并登记在册
- 管理痛点: 管理员需要通过翻阅借用记录表去了解设备现状 , 并协调资源 , 增加了工作量 , 普通员工无法知道设备出借现状 , 获取设备环节复杂;
- 考勤管理现状: 管理员通过excel表格汇总考勤情况 , 并逐月发送到员工邮箱 , 员工需要下载csv文件去查看考勤
- 考勤管理痛点: 对于员工 , 通过查看excel十分不便
- 需求总结: 普通员工通过查看设备现状 , 找到可以状态的设备 , 并汇报管理员 , 管理员通过小程序切换设备状态 , 绑定使用人 ; 管理员逐月导入考勤数据 , 员工可通过小程序查看个人考勤情况;
2: 项目构建
- ui库使用iview weapp
- 小程序端(前端)对数据库的操作权限是严格按照控制台中配置的权限 , 云函数则拥有所有权限(云函数中对数据库的操作等同于在云开发控制台中进行数据库操作),所以本项目中所有的关于数据库的操作都将在云函数中处理 , 小程序端只作为视图层 , 并对无权限的界面和操作进行视觉隔离
3: 建立集合
通过云函数控制台建立需要的集合 , 并将excel/json文件导入到对应的集合, 也可以直接手动建立
4: 核心功能的实现(以云函数操作数据库为主)
小程序端>app.js
初始化云函数 , 获取已授权用户信息 , 定义需要的全局数据
云函数 > login (云函数条件查询云数据库)
以小程序open_id为查询条件 , 在云函数user集合中查找绑定该open_id的数据 , 为空表示该微信账号未绑定用户名
云函数 > register (云函数修改数据库数据)
对于未绑定的微信号 , 需要将用户选中的用户名与当前微信open_id绑定 , 完成注册
云函数 > getEquipmentList (云函数查询全部数据 , 云函数按条件查询数据库)
获取设备数据的时候存在多种情况
- 获取全部数据: 由于获取数据库有100条上限的限制 , 需要进行特殊处理
- 按条件查询数据 : 需要提前拼接好查询语句
云函数 > removeEquipement (云函数删除集合数据)
项目截图:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。