IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 基于小程序的微信学习平台设计与实现+源码 -> 正文阅读

[移动开发]基于小程序的微信学习平台设计与实现+源码

统计显示, 我国微信用户 数量在 2018 年超过了 10亿,小程序是微信开发推出的新型应用程序,用户无须下载安装就可以在微信中进行程序的开发。 相比传统的APP,小程序能调用微信基础框架、API接口等,提升了程序的开发效率,此外, 小程序能够在微信中快速传播, 拥有非常庞大的用户量[1-3] 。 小程序因其轻量级,在发布一年后,用户量迅速达到了 4亿,且在各个领域中都得到了迅速的推广应用,如餐饮、服务等行业。教育领域,移动学习逐步成为未来发展的趋势,越来越多的人利用碎片时间在任何地点进行学习, 也逐步拓展到高校教育体系中(如慕课、微课)。 目前上面有较多的学习类 APP, 却无法得到较好的推广, 其开发周期较长、费用支出较高。 微信小程序发布后也在教育领域内被应用, 但是应用(如扇贝字典、英语角等)比较简单,移动学习类的小程序平台仍然处于一片空白。

1 需求分析

当前已经进入移动智能社会,随着网络的快速发展,移动设备能够快速地连入互联网。 据统计, 移动智能端中微信站占比高达98%, 应用小程序来开发业务也是未来发展的趋势。 教育领域, 微学习平台能够提供给用户便携的移动学习平台,满足人们日 益增长的学习需求,提升个人的知识技能。 传统的APP学习软件对移动终端性能(内存、硬盘等)要求比较高,在学习过程中, 如果无法保持连续性,就很容易丧失用户流量,用户也无法维持学习的专注度和积极性。 微信小程序内嵌在微信中, 用户只要安装了微信就可以直接打开,开发成本较低,显著降低了维护成本 [4-6] 。 教育领域, 微信小程序仍处于空白,设计者需要结合微课程的教育理念, 开发便于大众在碎片分散时间内学习的小程序, 该种方式通过扫描二维码直接用微信登录,不需要二次注册,具备较好的灵活性和移动性,性能趋向于原生态APP。基于小程序的微信学习平台, 其用户划分为三类。

一是管理员,对用户进行管理, 负责平台后台运营、数据统计等;二是学生,进行课程学习、打卡、学习互动和成绩查询等;三是教师,负责课程规划管理、教学视频上传、学生互动、教学资料管理等。微信学习平台对于软硬件有以下需求。 软件方面,包括微信APP、使用 HTTPS协议接入网络、服务器(搭建WEB环境)、数据库。 硬件方面,包括服务器、云服务器、移动智能终端。

2 学习平台设计和实现

2.1 框架模式设计

当前, 移动平台开发模式可以划分为三种。 一是浏览器/服务器模式,应用在WEB 网页开发过程中, 跨平台的企业经常应用,整体开发过程相对简单,无法适应多样化的屏幕尺寸。 二是客户端/服务器模式,通常被应用在独立的 APP应用程序中, 这种方式开发的 APP功能较为全面、安全性能高、用户个人体验感强,但是开发难度高,周期长,成本较高。 三是基于第三方应用程序拓展模式,该种方式应用既有的第三方应用程序API、数据库,通过对接其他应用平台,使得新的平台降低成本、提升体验感,提升用户使用频率,但这种方式会受限于第三方应用程序,独立性较差[7,8] 。

在高校教育中,课堂教学外应用微课程、微信等来辅助教学, 提升教学质量, 实现师生交流方式的多样性, 但同时存在学习内容不连贯、检索效率差等问题。 微信小程序能够实现APP的基本功能,无须另外下载,能够显著提升用户的个人体验感。 因此, 本文选择微信小程序框架作为学习平台的主框架。

2.2 功能模块设计

微信学习平台划分为两个部分: 用户前端、管理员(教师)后台。 用户前端主要是提供页面供用户学习;后台提供给管理员(教师)进行数据管理。

2.2.1 用户前端。 用户前端包括内容较多,具体如下。

2.2.1.1 学习章程、计划。 该部分主要呈现给用户该学习主题下所有教师发布的学习计划、学习内容(包含PPT、视频、知识点等)。 此外,还包含一些小测试,以提升和巩固知识点,同时可以实现学习内容的问答功能,增加学习的互动性和参与性。

2.2.1.2 交流模块。 该模块采用学习三步骤来实现流程设计, 即交流前准备、交流、评价反馈。 交流前通过查看教师发布的主题以及内容,确定个人的观点,通过查找各种资料来辅助观点,不断深入理解主题,这就可以显著提升用户学习的独立性;交流中,各个参与者都可以提出自己的观点,提出相关问题进行讨论,平台会自动存储交流记录, 以供后续进行查验;评价反馈,采用问卷方式统计用户对于评论的自 我体验, 教师会根据讨论结果给出相关评价,并对一些高热点问题进行延伸准备,这也有利于提升教师的素材准备。

2.2.1.3 学习成绩。 该模块可以查看到学习进度、互动参与情况、下载资料等。

2.2.1.4 个人中心。 该模块可以进行用户个人信息的注册、登录、修改等操作。

2.2.2 后台。 后台设计主要供管理员、教师进行操作。 管理员主要负责对用户进行管理, 对用户行为数据和各类调查问卷进行统计分析。 教师主要负责内容有:规划管理课程计划, 课程学习资料的准备、上传, 调查问卷的设计、发布、收集等,和用户互动。

2.3 系统业务流程设计

微信小程序是基于腾讯开发的各类组件、API接口,应用方根据自 身需求设计微信移动学习平台小程序端,包含用户界面、数据请求等。 服务器端在接收到用户端数据请求后,对这些请求进行处理,并从相对应的后台数据库中读取相关数据,最后将读取后数据以 JSON格式返回给程序端, 呈现给用户。 客户端应用 ODBC 来连接服务器或数据库,数据库会存储大量的学习文档、视频等资料。 网络连接采用HTTP协议保障数据的安全传输,数据交互过程中会对数据进行保密操作。 用户可以通过微信小程序名、二维码等方式搜索到学习平台。

2.4 平台功能模块实现

2.4.1 用户模块。 用户模块需要获取用户微信授权, 为了确保用户隐私, 用户需要授权部分接口 来调用API。 授权过程如下: 用户授权状态的获取通过调用 wx.get Setting()函数,该函数会返回一个值,该值包含小程序可以使用的权限, 如果返回值中不包含权限, 就调用 wx.authorize();微信小程序在授权API接口前,设计一个前端页面来引导用户开启授权, 并调用 wx.open Setting()来完成用户授权。 用户授权是一次性操作, 此后用户都不需要进行用户授权。

在获取用户授权后, 小程序得到用户信息。 用户授权信息获取调用 scope.user Info接口实现, 该接口会反馈给小程序一个值encrypted Data, 该值包含用户唯一标识openid,在经过解密后会将该openid作为用户名作为注册ID。 用户在完成上述注册操作后,小程序会使用 wx.login接口来识别用户登录凭证code, 在下次登录操作后则直接通过该code来完成身份认证操作,code包含openid、临时登录会话密钥session_key等。

2.4.2 课程模块实现。 微信学习平台以课程视频学习为主,平台支持多种不同格式的语音类型。 一是video组件,该格式主要用于视频播放,其中,bindplay、bindend?ed、bindprogress三个属性用于记录视频播放触发事件,支持MP4格式等常规视频格式。 二是audio组件,该格式主要用于音频播放, 其中, bindplay属性用户完成对视频学习情况的记录。

用户不仅可以通过小程序获取视频资料, 还可以获取文本资料,包含图片、文档等课程料,支持主流的文件格式有: Office、PPT、Excel办公软件文档;jpg、png等图像格式。 rich-text组件用于加载页面内的富文本。微信移动学习平台具备非常丰富的学习资源, 能够满足不同用户的各种需求。

2.4.3 交流模块。 在学习过程中, 教师和用户之间的交流有助于提升用户的理解, 还可以不断鼓励用户持续学习。 微信学习平台包含实时交流、异步回答等功能模块: 实时交流则是在线沟通, 在微信界面中通过<but?ton open-type="contact"/>来设计会话交流按钮,用户单击该按钮就可以直接和在线教师进行沟通交流, 此外还可以通过微信群的方式进行主题讨论;异步回答模块则以微论坛为主,通过用户唯一标识openid绑定微论坛ID,省去双重操作,然后以主题帖、回复等操作进行交流, 其他用户可以进入微论坛查看内容。在学习内容(课程、文档、视频等)后, 用户能够根据自身体验在下方进行评论。

2.4.4 用户学习记录模块。 在线上学习中, 用户主观能动性发挥了非常关键的作用, 教师可以在后台上查看用户的浏览记录、作业完成情况、考试情况等, 这就可以从整体上把控用户的学习质量, 并根据评论等实时调整课程计划。

微信小程序可以通过不同组件来实现对学习情况的记录。 例如, video 组件中定义的属性会根据用户单击的情况触发跳转到不同的事件, 小程序会记录相关的事件日 志信息, 从该日 志中可以读取到视频学习时长、时间、次数等各种行为数据, 调用 wx.set Storag口 就可以将学习行为数据直接保存到数据库中。 后台数据库会将学习行为数据存储到相关的表中, 以此来触发相关的程序逻辑。

3 结语

微信作为当前应用广泛的应用程序, 其小程序内嵌在微信内部, 不需要另外安装, 具备开放的 API接口、组件等供程序员进行调用开发, 大大节约了开发时间。 微信移动学习平台基于小程序,具备非常大的流量入口,能够满足当前大部分人的碎片化学习需求,具非常好的效果。

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-11-05 00:39:30  更:2022-11-05 00:41:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 18:11:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码