业务背景
实验室预约管理小程序,包括实验室动态,实验室规章制度,预约审批,用户管理,基础实验室预约,专业实验室预约等功能。目前部分高校实验室存在设备管理困难的问题,要使用设备可能需要在微信群内反复询问,登记也麻烦。实验室预约助手目的就在用低成本的云开发实现对实验室的设备使用管理,从而达到有序实验,规范管理,提升效率,有效溯源的作用
功能需求
文章图片
数据库设计
文章图片
技术攻关
小程序隔离策略
同一个微信小程序用户 storage 上限为 10MB。storage 以用户维度隔离,
同一台设备上,A 用户无法读取到 B 用户的数据;不同小程序之间也无法互相读写数据。
插件隔离策略
同一小程序使用不同插件:不同插件之间,插件与小程序之间 storage 不互通。
不同小程序使用同一插件:同一插件 storage 不互通。
清理策略
本地缓存的清理时机跟代码包一样,只有在小程序代码包被清理的时候本地缓存才会被清理。
小程序缓存方法的类封装
微信缓存二次封装,有设置时效性的封装
/**
* 写小程序缓存
* k 键key
* v 值value
* t 秒(有效时间)
*/
function set(k, v, t = 86400 * 30) {
if (!k) return null;
wx.setStorageSync(k, v);
let seconds = parseInt(t);
if (seconds > 0) {
let newtime = Date.parse(new Date());
newtime = newtime / 1000 + seconds;
wx.setStorageSync(k + TIME_SUFFIX, newtime + "");
} else {
wx.removeStorageSync(k + TIME_SUFFIX);
}
}/**
* 获取小程序缓存
* k 键key
* def 默认值
*/
function get(k, def = null) {
if (!k) return null;
let deadtime = parseInt(wx.getStorageSync(k + TIME_SUFFIX));
if (deadtime) {
if (parseInt(deadtime) < Date.parse(new Date()) / 1000) {
wx.removeStorageSync(k);
wx.removeStorageSync(k + TIME_SUFFIX);
return def;
}
}let res = wx.getStorageSync(k);
if (res) {
return res;
} else {
return def;
}
}
前端界面设计
文章图片
文章图片
文章图片
文章图片
后端界面设计
文章图片
文章图片
文章图片
文章图片
【基于微信小程序的大学校园实验预约平台的设计方案】git开源代码
推荐阅读
- 小程序开发入门教程
- javascript|一个超级简单的浮动Select
- 微信小程序|微信小程序报错(“errMsg“:“request:fail url not in domain list“} Object)
- java学习|喜欢看球,那就手撸一个看球小程序系统
- Pygame实战|【Pygame实战】众志成城 同心战“疫”,为抗疫加油,只待春暖花开(附抗疫小游戏)
- Turtle|【Turtle系列】2022年春天限定(“樱你而来”带着喜欢的人一起去看一场粉色浪潮吧~)
- Python|【Turtle系列】端正心态正确面对疫情,守护安全防线不放松,共抗疫情,只待春来~
- Python|【Opencv实战】这是我见过的最强大“美颜滤镜”,代码美颜傻瓜式一键操作~(附源码)
- 视频教程|Web 前端视频资源分享(Bootstrap/Vue/小程序)