当前位置:   article > 正文

基于微信小程序的大学实验室预约平台设计开发_基于微信小程序的高校实验室预约系统

基于微信小程序的高校实验室预约系统

业务背景

实验室预约管理小程序前后端完整,包括实验室动态,实验室规章制度,预约审批,用户管理,基础实验室预约,专业实验室预约等功能。目前部分高校实验室存在设备管理困难的问题,要使用设备可能需要在微信群内反复询问,登记也麻烦。实验室预约助手目的就在用低成本的云开发实现对实验室的设备使用管理,从而达到有序实验,规范管理,提升效率,有效溯源的作用

功能需求

在这里插入图片描述

数据库设计

在这里插入图片描述

技术攻关

小程序隔离策略

同一个微信小程序用户 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;
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46

前端界面设计

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

后端界面设计

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
开源GIT地址

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/308062
推荐阅读
相关标签
  

闽ICP备14008679号