基于微信云开发的防诈反诈宣传教育答题小程序
基于微信云开发的防诈反诈宣传教育答题小程序
一、前言介绍
作为当代大学生,诈骗事件的发生屡见不鲜,但却未能引起大家的重视。高校以线上宣传、阵地展示为主,线下学习、实地送法为辅,从而构筑立体化反诈骗防线。在线答题考试是一种高效的考试方式,考生通过微信扫码即可参加培训考试,非常方便快捷,近几年越来越受企事业单位学校机构的青睐。
本答题小程序系统采用的架构是微信原生小程序+云开发。主要包含六大功能模块页面,首页、答题页、结果页、活动规则页、答题记录页、排行榜页等。提炼了典型的答题考试业务模型,可以助你快速搭建各种形式的答题软件产品。在线考试、企业培训、知识竞赛、PK答题、调查问卷等在线教育系统搭建云服务,助企事业单位/高校/培训机构更高效地组织每场培训考试。
二、系统功能分析
2.1管理员功能分析
系统的功能分析决定了系统的功能设计,完整详细的系统功能分析可以使系统的开发事半功倍。本系统的功能围绕用户、管理员两种权限设计。根据不同权限的不同需求设计出更符合用户要求的功能。本系统中管理员主要负责审核管理用户,录入新的试题,创建考卷,审核用户的考试信息和单位信息等,用户可以进行学习、答题、排名等。
2.2用户功能分析
用户可以管理个人资料、查询题目、在线练习和在线考试、查看实时排名等,用户的个人资料是用户填写提交是产生,用户的成绩右用户答题考试提交时产生,题库题目由管理员添加录入时产生,用户创建的单位需要经过管理员审核。
3.3系统功能结构设计
系统的功能结构是采用脑图来绘制功能设计。根据分析所得,本系统的功能设计为管理员、用户两部分。管理员为题库管理、题目分类管理、用户管理、考试管理等,用户的功能为查询考卷,在线答题、提交答卷、管理个人信息等。本在线答题考试系统的功能结构设计图如下图所示:

三、小程序端
3.1用户信息管理功能的详细界面实现
当用户登录进系统后需要完善头像、姓名、所属分组等信息,使自己信息的保持正确性。用户信息管理的实现界面如下图所示:

3.2题库展示功能的详细界面
用户可以学习题库里面所有的课时,可以查看详细的题目内容,也可以进行题目的收藏。用户题库学习的界面实现如下图所示:


3.3答题功能的详细实现
在本功能里用户可以进行正式答题考试,上一题、下一题切换,答题卡查看作答情况,答题进度显示、剩余作答时间、提交功能。答题功能的实现界面如下图所示:

小程序【护网专题信息安全知识竞答】
3.4结果计算功能的详细实现
用户在限定的时间内,进行在线作答完毕后,点击提交答卷后,结果计算功能的实现界面如下图所示:

3.5排行榜功能的实现
用户可以查看排行榜的实时排名,了解自己的排名动态,实现界面如下图所示:

3.6答题记录功能的详细实现
用户可以管理自己的答题考试记录,在答题历史界面里也可以进行查询操作。答题历史功能的实现界面如下图所示:

3.7我的管理功能的详细实现

四、管理员功能模块
4.1题库查询功能的详细实现
管理员负责题目信息的查询和管理,题干、选项、答案都可以由管理员在此功能里看到。管理员查询题库信息的功能实现如下图所示:

4.2题目新增功能的详细实现
管理员可以对题目的信息进行创建。管理员添加题目信息的实现界面如下图所示:

4.3题目编辑更新功能的详细实现
本功能包括查询题目详情,也可以编辑更新题目信息。查询更新题目信息的实现详情如下图所示:

4.4答题记录管理功能的详细实现
管理员可以查询已提交的答题情况,并进行审核。答题记录功能的实现界面如下图所示:

4.5系统功能的详细实现
管理员可以管理公告和系统的轮播图,可以安排活动。查询公告功能的实现界面如下图所示:(省略)
4.6个人中心管理功能的详细实现
管理员可以对个人的资料进行修改和管理。管理员个人信息修改的实现界面如下图所示:(省略)
五、部分核心代码
5.1登录系统关键代码
//已弃用
getUserProfile(e) {wx.getUserProfile({desc: '用于完善用户信息', success: (res) => {this.setData({userInfo: res.userInfo})}})}//推荐使用
<button class="avatar-wrapper" open-type="chooseAvatar" bind:chooseavatar="onChooseAvatar"><image class="avatar" src="{{avatarUrl}}"></image>
</button>
<input type="nickname"class="weui-input" placeholder="请输入昵称"/>const defaultAvatarUrl = 'https://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRna42FI242Lcia07jQodd2FJGIYQfG0LAJGFxM4FbnQP6yfMxBgJ0F3YRqJCJ1aPAK2dQagdusBZg/0'Page({data: {avatarUrl: defaultAvatarUrl,},onChooseAvatar(e) {const { avatarUrl } = e.detail this.setData({avatarUrl,})}
})5.2随机出题关键代码
// 获取题库-函数定义getQuestionList() {// 数据库集合的聚合操作实例activityQuestion.aggregate().match({ //类似于where,对记录进行筛选true: _.exists(true)}).sample({size: 20}).end().then(res => {// 在控制台打印数据console.log(res.list)let data = res.list || [];// 将数据从逻辑层发送到视图层,通俗的说,也就是更新数据到页面展示this.setData({questionList:data});})}5.3页面跳转关键代码
//答题页
activityRecord.add({data: {...examResult,createDate: db.serverDate()}}).then(res => {// 跳转到答题结果页,查看成绩wx.reLaunch({url: '../result/result?id=' + res._id});})//结果页//生命周期函数--监听页面加载
onLoad(options) {// 查看答题成绩this.getExamResult(options.id);
},
getExamResult(id){activityRecord.doc(id).get().then(res => {let examResult = res.data;})
}5.4实时排名机制关键代码
getRankList() {// 数据库集合的聚合操作实例activityScore.where({_openid: _.exists(true)}).orderBy('totalScore', 'desc').get().then(res => {// 获取集合数据,或获取根据查询条件筛选后的集合数据。console.log('[云数据库] [排行榜] 查询成功')console.log(res.data)let data = res.data || [];// 将数据从逻辑层发送到视图层,通俗的说,也就是更新数据到页面展示this.setData({rankList:data});})}gzh.获.取.源.码
相关文章:
基于微信云开发的防诈反诈宣传教育答题小程序
基于微信云开发的防诈反诈宣传教育答题小程序一、前言介绍作为当代大学生,诈骗事件的发生屡见不鲜,但却未能引起大家的重视。高校以线上宣传、阵地展示为主,线下学习、实地送法为辅,从而构筑立体化反诈骗防线。在线答题考试是一种…...
Map和Set
Map和set是一种专门用来进行搜索的容器或者数据结构,其搜索的效率与其具体的实例化子类有关。数据的一般查找方式有两种:直接遍历和二分查找。但这两种查找方式都有很大的局限性,也不便于对数据进行增删查改等操作。对于这一类数据的查找&…...
【位运算问题】Leetcode 136、137、260问题详解及代码实现
Halo,这里是Ppeua。平时主要更新C语言,C,数据结构算法......感兴趣就关注我吧!你定不会失望。 🌈个人主页:主页链接 🌈算法专栏:专栏链接 我会一直往里填充内容哒! &…...
同花顺2023届春招内推
同花顺2023届春招开始啦! 同花顺是国内首家上市的互联网金融信息服务平台,如果你对互联网金融感兴趣,如果你有志向在人工智能方向发挥所长,如果你也是一个激情澎湃的小伙伴,欢迎加入我们!岗位类别…...
深入Kafka核心设计与实践原理读书笔记第三章消费者
消费者 消费者与消费组 消费者Consumer负责定于kafka中的主题Topic,并且从订阅的主题上拉取消息。与其他消息中间件不同的在于它有一个消费组。每个消费者对应一个消费组,当消息发布到主题后,只会被投递给订阅它的消费组的一个消费者。 如…...
IDEA 中使用 Git 图文教程详解
✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…...
【Linux系统】进程概念
目录 1 冯诺依曼体系结构 2 操作系统(Operator System) 概念 设计OS的目的 定位 总结 系统调用和库函数概念 3 进程 3.1 基本概念 3.2 描述进程-PCB 3.2 组织进程 3.3 查看进程 3.4 通过系统调用获取进程标示符 3.5 进程状态 在了解进程概念前我们还得了解下冯诺…...
上课睡觉(2023寒假每日一题 4)
有 NNN 堆石子,每堆的石子数量分别为 a1,a2,…,aNa_1,a_2,…,a_Na1,a2,…,aN。 你可以对石子堆进行合并操作,将两个相邻的石子堆合并为一个石子堆,例如,如果 a[1,2,3,4,5]a[1,2,3,4,5]a[1,2,3,4,5],合并第 2,32…...
【Selenium学习】Selenium 中常用的基本方法
1.send_keys 方法模拟键盘键入此方法类似于模拟键盘键入。以在百度首页搜索框输入“Selenium”为例,代码如下:# _*_ coding:utf-8 _*_ """ name:zhangxingzai date:2023/2/13 form:《Selenium 3Python 3自动化测试项目实战》 …...
python练习——简化路径
项目场景: 给你一个字符串 path ,表示指向某一文件或目录的 Unix 风格 绝对路径 (以 /开头),请你将其转化为更加简洁的规范路径。在 Unix 风格的文件系统中,一个点(.)表示当前目录本…...
2023新华为OD机试题 - 火星文计算2(JavaScript) | 刷完必过
火星文计算 2 题目 已知火星人使用的运算符号为#;$ 其与地球人的等价公式如下 x#y=4*x+3*y+2 x$y=2*x+y+3 x y是无符号整数 地球人公式按照 c 语言规则进行计算 火星人公式中#符优先级高于$ 相同的运算符按从左到右的顺序运算 输入 火星人字符串表达式结尾不带回车换行 输入…...
前端插件重磅来袭
“你值得拥有”专栏系列上新啦,今日推出“手写前端插件”项目,作为一个前端中高级工程师,手写前端树形菜单插件、弹出层插件、日历插件、分页插件、选项卡插件、进度条插件等是必备的技能,让你的前端技术百尺竿头更进一步…...
深入工厂|高精密多层板是如何被智造出来的?
或许有很多人从网络上见过各种教程,告诉你单层板是什么,多层板是什么,他们该如何做出来,但是在具体制造时却全凭想象,今天,就让我们来实地看看,精密的多层板是如何被制造出来的!今天…...
代理模式动态代理
什么是代理模式? 代理模式是开发中常见的一种设计模式,使用代理模式可以很好的对程序进行横向扩展。代理,顾名思义就是一个真实对象会存在一个代理对象,并且代理对象可以替真实对象完成相应操作,外部通过代理对象来访…...
Mysql之二进制日志
目录 二进制日志 12-37 二进制日志格式 基于行的二进制日志 基于语句的二进制日志 混合格式二进制日志 复制日志 12-42 故障安全 (Crash-Safe) 复制 多源复制 二进制日志 12-37 二进制日志: • 包含数据和模式更改及其时间戳 – 基于语句 或 基于行 的日志…...
kail工具的使用--- cewl
1.介绍 Cewl是一款采用Ruby开发的应用程序,可以给他的爬虫指定URL地址和爬取深度,还可以添加外部链接,接下来Cewl会给你返回一个字典文件,你可以把字典用到类似John the Ripper这样的密码破解工具中。 2.使用 输入以下命令之后…...
【蓝桥杯集训1】前缀和专题(2 / 5)
目录 前缀和模板 !3956. 截断数组 - 前缀和枚举 前缀和模板 活动 - AcWing import java.util.*;class Main {static int N100010;static int[] anew int[N],snew int[N];public static void main(String[] args){Scanner scnew Scanner(System.in);int nsc.nex…...
基于模块联邦的微前端实现方案
一、 微前端应用案例概述 当前案例中包含三个微应用,分别为 Marketing、Authentication 和 Dashboard Marketing:营销微应用,包含首页组件和价格组件 Authentication:身份验证微应用,包含登录组件 Dashboard&#x…...
【单目标优化算法】食肉植物优化算法(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
ANTLR4入门学习(四)
ANTLR4入门学习(四)一、设计语法1.语法2.ANTLR核心标记3.常见计算机语言模式4.左右递归5.识别常见的语法结构5.1 匹配标识符5.2 匹配数字5.3 匹配字符串常量5.4 匹配注释和空白字符5.5 基础的语法规则5.6 划定词法分析器和语法分析器的界线一、设计语法 …...
如何用Rusted PackFile Manager彻底重构全面战争模组开发工作流?
如何用Rusted PackFile Manager彻底重构全面战争模组开发工作流? 【免费下载链接】rpfm Rusted PackFile Manager (RPFM) is a... reimplementation in Rust and Qt6 of PackFile Manager (PFM), one of the best modding tools for Total War Games. 项目地址: h…...
Ajax技术和Axois工具库
前端如何才能动态展示数据?如何动态获取后端的数据呢? 目录 文章目录 一、什么是Ajax? 二、什么是Axios? 核心用途 三、如何在Vue项目中使用Axios? 1、安装Axios 2、引入Axios 3、基础使用 4、拦截器 5、async/await是什么? 总…...
带fp8激活量化的RMSNorm算子手撕
rms_norm_fp8_noweight_fp16:计算流程与优化 完整代码 void rms_norm_fp8_noweight_fp16(const __half *x, __nv_fp8_e4m3 *out,int seq_len, int dim, const float *d_scale,cudaStream_t stream) {rms_norm_fp8_noweight_kernel<<<seq_len, 256, 0, stream>&g…...
AI辅助故事创作:从工具链构建到人机协同写作实践
1. 项目概述:当AI成为你的专属故事创作伙伴最近在折腾一个挺有意思的项目,我把它叫做“盐的故事”(Salt-Story)。这名字听起来有点玄乎,其实内核很简单:一个专门用来辅助故事创作的AI工具链。我自己是个业余…...
LaTeX2Word-Equation:3秒搞定网页公式到Word的终极解决方案
LaTeX2Word-Equation:3秒搞定网页公式到Word的终极解决方案 【免费下载链接】LaTeX2Word-Equation Copy LaTeX Equations as Word Equations, a Chrome Extension 项目地址: https://gitcode.com/gh_mirrors/la/LaTeX2Word-Equation 还在为复制数学公式而头疼…...
AI智能体视觉(TVA)实战教程(1)
重磅预告:本专栏将独家连载新书《AI视觉技术:从入门到进阶》精华内容。本书是《AI视觉技术:从进阶到专家》的权威前导篇,特邀美国 TypeOne 公司首席科学家、斯坦福大学博士 Bohan 担任技术顾问。Bohan先生师从美国三院院士、“AI教…...
GOCI数据爬虫失效了?别慌!手把手教你用Python搞定新版韩国官网批量下载(附完整代码)
GOCI数据爬虫失效了?别慌!手把手教你用Python搞定新版韩国官网批量下载 最近不少同行反馈,之前运行的GOCI数据爬虫脚本突然失效了。作为长期处理海洋遥感数据的老手,我第一时间测试了韩国官网的新版页面结构,发现他们确…...
Neoscroll.nvim与Telescope集成:实现搜索结果的流畅滚动
Neoscroll.nvim与Telescope集成:实现搜索结果的流畅滚动 【免费下载链接】neoscroll.nvim Smooth scrolling neovim plugin written in lua 项目地址: https://gitcode.com/gh_mirrors/ne/neoscroll.nvim Neoscroll.nvim是一款用Lua编写的Neovim平滑滚动插件…...
应对海外AIGC检测:初稿AI率飙到97%怎么救?4个结构级优化实测指南
大家最近都在为英文降aigc率发愁吧,作为研三党,我太懂这种痛了,之前我自己写英文初稿,写完直接拿去查重,结果turnitin检测ai率飙到了89%,当时看着报告整个人都懵了。 怎么给英文降ai?对于非母语…...
芯粒技术:从封装协同到UCIe标准,破解芯片设计新范式
1. 芯片设计范式的演进:从单片到芯粒在半导体行业摸爬滚打了十几年,亲眼见证了芯片设计从追求单一巨无霸的“单片系统”(SoC)时代,逐渐转向一个更灵活、也更复杂的“乐高积木”时代。这个转变的核心,就是芯…...
