当前位置: 首页 > news >正文

微搭低代码MBA 培训管理系统实战 32——资料管理功能

目录

  • 前情回顾与本节目标
  • 第一步:数据模型准备
  • 第二步:管理端资料发布
    • 2.1 创建页面
    • 2.2 页面布局
    • 2.3 添加数据表格
  • 第三步:小程序端资料中心
    • 3.1 创建页面
    • 3.2 页面头部
    • 3.3 分类筛选区域
    • 3.4 资料列表区域
    • 3.5 下载功能
  • 最终效果
  • 总结

前情回顾与本节目标

在上一节中,我们完成了作业管理功能。本节我们将实现资料管理功能,包括管理端发布资料和小程序端下载资料。

本节核心目标:

  • 管理端资料发布:管理员可以上传资料,设置资料类型
  • 小程序端资料中心:学生可以查看资料列表,下载资料

第一步:数据模型准备

资料表(MBA_Resources)

用于记录发布的资料:

字段名称字段标识字段类型说明
资料ID_id文本主键,系统自动生成
关联班级rel_class_id多对一关联 Classes 表
资料标题title文本资料标题
资料类型type枚举1-课件、2-视频、3-案例、4-笔记
文件大小file_size文本文件大小(如"2.4MB")
文件地址file_url文件上传的文件
发布时间created日期时间发布时间

第二步:管理端资料发布

2.1 创建页面

点击创建页面图标,输入"资料管理",选择教师布局


切换到布局设计,添加菜单

2.2 页面布局

在教师布局下添加布局组件

修改标题改为资料管理

2.3 添加数据表格

在页面中添加数据表格组件

数据模型选择资料表,勾选对应的场景


第三步:小程序端资料中心

3.1 创建页面

点击创建页面图标,输入"资料中心"

复制页面的ID

修改首页模块跳转方法,贴入我们的页面ID

exportdefault function({event, data}){const actionType=data.target;switch(actionType){case'checkin':$w.utils.navigateTo({pageId:'u_jin_ri_qie_dao'});break;case'schedule':$w.utils.navigateTo({pageId:'u_wo_de_ke_biao'});break;case'card':$w.utils.navigateTo({pageId:'u_xue_xi_ka'});break;case'homework':$w.utils.navigateTo({pageId:'u_zuo_ye_ti_jiao'});break;case'resources':$w.utils.navigateTo({pageId:'u_zi_liao_guan_li'});break;case'survey':$w.utils.navigateTo({pageId:'survey'});break;}}

给模块配置点击事件,传入入参

3.2 页面头部

添加容器组件,设置宽、高和背景色

:root{width:100%;min-height: 100vh;background-color:#F6F7F9;}


继续添加普通容器,设置背景色、内边距和圆角

:root{background: linear-gradient(135deg,#3b82f6 0%, #1d4ed8 100%);padding: 48px 20px 24px 20px;border-radius:0024px 24px;}


里边添加文本组件,设置文本颜色、字号和加粗的效果

3.3 分类筛选区域

添加容器组件,里边添加标签选择组件

设置标签项为全部、课件、视频、案例、笔记,这里全部的值设置为0,其余的按照1、2、3、4的顺序设置

创建一个自定义变量用来接收标签选择的选中值

配置值改变事件,当选择全部时候给变量赋空值,否则赋组件的值


3.4 资料列表区域

添加数据列表组件,数据模型选择资料表

第二个文本改为文件的类型、大小和发布日期的组合

将图标改为下载图标

3.5 下载功能

创建自定义方法downloadResource

exportdefaultasyncfunctiondownloadResource({event,data}){try{constresource=data.target;if(!resource){return$w.utils.showToast({title:'文件不存在',icon:'error'});}$w.utils.showLoading({title:'下载中...'});// 获取临时下载链接consttempUrl=await$w.cloud.getTempFileURL(resource.file_url);// 下载文件wx.downloadFile({url:tempUrl,success:(res)=>{$w.utils.hideLoading();if(res.statusCode===200){// 保存到本地wx.saveFile({tempFilePath:res.tempFilePath,success:()=>{$w.utils.showToast({title:'下载成功',icon:'success'});},fail:()=>{$w.utils.showToast({title:'保存失败',icon:'error'});}});}else{$w.utils.showToast({title:'下载失败',icon:'error'});}},fail:()=>{$w.utils.hideLoading();$w.utils.showToast({title:'下载失败',icon:'error'});}});}catch(e){console.error('下载资料失败',e);$w.utils.hideLoading();$w.utils.showToast({title:'下载失败',icon:'error'});}}

给按钮设置点击事件,传入附件地址

数据列表设置数据筛选,课件类型等于我们的自定义变量


最终效果

教师先上传课件

学员打开资料中心下载课件

总结

本节完成了资料管理功能的实现:

  1. 管理端资料发布:创建资料管理页面,上传资料表单
  2. 小程序端资料中心:资料列表展示,分类筛选,文件下载
http://www.jsqmd.com/news/679251/

相关文章:

  • 信息论安全多方计算协议突破
  • 深度学习与智能卡融合的多因素认证技术解析
  • 别再搞混了!OpenLayers中Feature与Layer的交互指南(附封装函数)
  • 告别玄学连接:用HC蓝牙助手和串口工具,彻底搞定HC-08主从机配置与状态切换
  • 用TL494和INA282做个10A大电流可调恒流源:从BUCK电路设计到PCB布局避坑全记录
  • FPGA跨时钟域信号处理:从亚稳态到两级同步的实战避坑指南
  • LT8619C芯片深度评测:对比其他方案,在智能投影仪里用它到底香不香?
  • 科研图表与公式的字体规范:从变量、向量到特殊符号的视觉语法
  • Chiplet技术与AI加速器的模块化设计实践
  • 3分钟高效解决Windows平台ADB驱动安装难题:自动化工具完全指南
  • 2026原厂原子灰优质厂商推荐指南:原厂原子灰/工业原子灰/机械原子灰/电泳底原子灰/高端原子灰/高级原子灰/修补原子灰/选择指南 - 优质品牌商家
  • 流重组技术深度解析:如何将碎片化媒体缓存重构为完整播放体验
  • AE视频后期自动化:OWL ADVENTURE智能分析视频片段并应用特效模板
  • 机械转行自学嵌入式,我用正点原子IMX6ULL复刻了一个智能仓储项目(附完整代码)
  • 别再硬啃官方文档了!手把手教你用CodeSys V3.5.19.60的Extension SDK封装C++代码(附OpenCV集成实战)
  • 别再问5G打电话为啥会掉4G了!一文讲透VoNR、EPS Fallback和VoLTE的区别与演进
  • 如何利用bili2text将B站视频智能转换为可编辑文字稿
  • 低成本3D生物打印机DIY:从设计到实现的完整指南
  • 如何评估一个 Agent 好不好用?构建多维度的 Agent 能力评估指标体系
  • 熬夜乱改全白费!实测英文论文降AI避坑思路,5步教你把AIGC率压到8%
  • Docker+Python+openGauss:5分钟搭建你的第一个数据库Web应用原型
  • 告别玄学调参:用结构体位域精准配置合泰BS8116A-3的16个按键灵敏度
  • 2026年当下滴灌厂商选择指南:从节水效率到智能集成的全面评估 - 2026年企业推荐榜
  • 避开浮点数精度坑:用Python和C++两种语言实现一元三次方程求根(竞赛向)
  • 别再只盯着准确率了:用SHD和FDR给你的因果模型做个‘体检’(附Python代码)
  • 打破设备壁垒:如何让Android手机伪装成平板解锁微信双设备登录
  • EF Core 10向量搜索扩展仅支持.NET 8+?不!这3种降级兼容方案已被头部金融客户验证上线
  • Cesium自定义材质踩坑实录:从PolylineOutlineMaterial.js到我的流动线
  • 告别黑白终端:用C++转义序列为你的ROS_INFO和ROS_WARN消息添加高亮颜色(附完整代码示例)
  • Ubuntu 20.04 装 ROS Noetic,我为什么建议你跳过 rosdep 这一步?