✌IT实战营站长,拥有10年软件相关系统架构及教学经验,Java、大数据培训讲师,曾任公司技术总监;其与团队成员,陆续录制了一系列计算机毕业设计项目课程,可供大家学习参考,现公司全新升级提供专业售后团队与技术交流群!✌
🍅文末获取联系🍅
目录
一、项目介绍
二、功能模块
三、代码介绍
四、参考lunwen
五、相关案例
六、源码获取
一、项目介绍
考试基本是每个学生都要面对的一个问题,学生时代每个学期都要经历大大小小的考试,很多时候在考前刷题可以更好的掌握所学的知识,为了让学生能够有一个更加方便的在线刷题系统为此我开发了本次的基于微信的刷题小程序
本基于微信的刷题小程序是根据当前刷题管理的实际情况开发的,在系统语言选择上我们使用的Python语言,数据库是小巧灵活的MySQL数据库,本系统的开发可以极大的满足了刷题的需求。
基于微信的刷题小程序是一个可以很大程度上解决刷题管理问题的系统。基于微信的刷题小程序分为小程序部分和后台管理两部分。小程序主要功能包含:注册登录,首页,试卷列表,在线考试,考试记录和错题等功能;后台管理部分功能主要包括系统首页,个人中心,教师管理,学生管理,试卷管理,试题管理,系统管理,考试管理等功能。基于微信的刷题小程序主要使用MySQL作为数据库管理系统,开发环境是微信开发工具和Hbuilder以及pycharm,本系统的开发基本满足了在线刷题管理的需要。
关键词:在线,刷题,MySQL,微信小程序
下面是资料信息截图:
二、功能模块
3.1.1 功能需求
基于微信的刷题小程序是一个可以很大程度上解决刷题管理问题的系统。基于微信的刷题小程序分为小程序部分和后台管理两部分。小程序主要功能包含:注册登录,首页,试卷列表,在线考试,考试记录和错题等功能;后台管理部分功能主要包括系统首页,个人中心,教师管理,学生管理,试卷管理,试题管理,系统管理,考试管理等功能。基于微信的刷题小程序主要使用MySQL作为数据库管理系统,开发环境是微信开发工具和Hbuilder以及pycharm,本系统的开发基本满足了在线刷题管理的需要。
4.1 系统结构
基于微信的刷题小程序是一个可以很大程度上解决刷题管理问题的系统。基于微信的刷题小程序分为小程序部分和后台管理两部分。小程序主要功能包含:注册登录,首页,试卷列表,在线考试,考试记录和错题等功能;后台管理部分功能主要包括系统首页,个人中心,教师管理,学生管理,试卷管理,试题管理,系统管理,考试管理等功能。基于微信的刷题小程序主要使用MySQL作为数据库管理系统,开发环境是微信开发工具和Hbuilder以及pycharm,本系统的开发基本满足了在线刷题管理的需要。具体功能如下图所示
小程序端功能设计
5.1.1用户注册
当用户想要查看和进行刷题管理的时候一定要进行注册登录才可以,没有注册登录的时候是不能进行刷题管理相关信息的操作,当基于微信的刷题小程序的使用者点击注册菜单会跳转到对应的注册页面中来,在注册页面中需要输入对应的用户名和密码以及性别,手机等内容即可示
服务器端功能的实现
5.2.1登录功能
基于微信的刷题小程序分为服务器端和小程序端,服务器端主要是给管理人员和教师使用的,管理人员和教师需要登录以后才可以对系统内的一些功能进行操作,所以系统打开之后的第一个界面就是登录界面,在登录界面中输入账号和密码并点击登录即可。
学生管理
基于微信的刷题小程序的操作人员可以管理学生,在学生管理中输入对应的学生学号+学生姓名+密码+性别+头像+手机号码+邮箱等基本信息后点击学生管理中的[提交]按钮,系统会将用户输入的信息通过add方法将数据添加到数据库xuesheng表中,在页面中我们通过required来进行控件的非空验证,这样用户在没有输入信息的时候系统会给出对应的提示。基于微信的刷题小程序学生信息添加界面如图 5-3
基于微信的刷题小程序的管理员在上一步中对学生信息进行了添加操作之后还根据对学生信息进行管理的操作,主要包括根据关键字对学生信息进行查询,对有误的信息进行修改,对不需要的学生信息进行删除等操作。基于微信的刷题小程序学生管理界面如图5-4所示
三、代码介绍
注册模块相关代码
# coding:utf-8
__author__ = "ila"
from django.http import JsonResponse
from .users_model import users
from util.codes import *
from util.auth import Auth
import util.message as mes
def users_login(request):
if request.method in ["POST", "GET"]:
msg = {'code': normal_code, "msg": mes.normal_code}
req_dict = request.session.get("req_dict")
if req_dict.get('role')!=None:
del req_dict['role']
datas = users.getbyparams(users, users, req_dict)
if not datas:
msg['code'] = password_error_code
msg['msg'] = mes.password_error_code
return JsonResponse(msg)
req_dict['id'] = datas[0].get('id')
return Auth.authenticate(Auth, users, req_dict)
def users_register(request):
if request.method in ["POST", "GET"]:
msg = {'code': normal_code, "msg": mes.normal_code}
req_dict = request.session.get("req_dict")
error = users.createbyreq(users, users, req_dict)
if error != None:
msg['code'] = crud_error_code
msg['msg'] = error
return JsonResponse(msg)
def users_session(request):
'''
'''
if request.method in ["POST", "GET"]:
msg = {"code": normal_code,"msg":mes.normal_code, "data": {}}
req_dict = {"id": request.session.get('params').get("id")}
msg['data'] = users.getbyparams(users, users, req_dict)[0]
return JsonResponse(msg)
def users_logout(request):
if request.method in ["POST", "GET"]:
msg = {
"msg": "退出成功",
"code": 0
}
return JsonResponse(msg)
def users_page(request):
'''
'''
if request.method in ["POST", "GET"]:
msg = {"code": normal_code, "msg": mes.normal_code,
"data": {"currPage": 1, "totalPage": 1, "total": 1, "pageSize": 10, "list": []}}
req_dict = request.session.get("req_dict")
tablename = request.session.get("tablename")
try:
__hasMessage__ = users.__hasMessage__
except:
__hasMessage__ = None
if __hasMessage__ and __hasMessage__ != "否":
if tablename != "users":
req_dict["userid"] = request.session.get("params").get("id")
if tablename == "users":
msg['data']['list'], msg['data']['currPage'], msg['data']['totalPage'], msg['data']['total'], \
msg['data']['pageSize'] = users.page(users, users, req_dict)
else:
msg['data']['list'], msg['data']['currPage'], msg['data']['totalPage'], msg['data']['total'], \
msg['data']['pageSize'] = [],1,0,0,10
return JsonResponse(msg)
def users_info(request, id_):
'''
'''
if request.method in ["POST", "GET"]:
msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}
data = users.getbyid(users, users, int(id_))
if len(data) > 0:
msg['data'] = data[0]
# 浏览点击次数
try:
__browseClick__ = users.__browseClick__
except:
__browseClick__ = None
if __browseClick__ and "clicknum" in users.getallcolumn(users, users):
click_dict = {"id": int(id_), "clicknum": str(int(data[0].get("clicknum", 0)) + 1)}
ret = users.updatebyparams(users, users, click_dict)
if ret != None:
msg['code'] = crud_error_code
msg['msg'] = ret
return JsonResponse(msg)
def users_save(request):
'''
'''
if request.method in ["POST", "GET"]:
msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}
req_dict = request.session.get("req_dict")
error = users.createbyreq(users, users, req_dict)
if error != None:
msg['code'] = crud_error_code
msg['msg'] = error
return JsonResponse(msg)
def users_update(request):
'''
'''
if request.method in ["POST", "GET"]:
msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}
req_dict = request.session.get("req_dict")
if req_dict.get("mima") and req_dict.get("password"):
if "mima" not in users.getallcolumn(users,users):
del req_dict["mima"]
if "password" not in users.getallcolumn(users,users):
del req_dict["password"]
try:
del req_dict["clicknum"]
except:
pass
error = users.updatebyparams(users, users, req_dict)
if error != None:
msg['code'] = crud_error_code
msg['msg'] = error
return JsonResponse(msg)
def users_delete(request):
'''
'''
if request.method in ["POST", "GET"]:
msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}
req_dict = request.session.get("req_dict")
error = users.deletes(users,
users,
req_dict.get("ids")
)
if error != None:
msg['code'] = crud_error_code
msg['msg'] = error
return JsonResponse(msg)
用户登录相关代码:
import { DataTypes } from 'sequelize'
import sequelize from './sequelize'
const ConfigModel = sequelize.define('ConfigModel', {
id: {
type: DataTypes.BIGINT,
primaryKey: true,
autoIncrement: true,
allowNull: false,
comment: '主键id'
},
name: {
type: DataTypes.STRING,
allowNull: false,
comment: '配置参数名称'
},
value: {
type: DataTypes.STRING,
allowNull: true,
comment: '配置参数值'
}
}, {
timestamps: false,
freezeTableName: true,
tableName: 'config'
})
export default ConfigModel
四、参考lunwen
五、相关案例
文章来源:https://www.toymoban.com/news/detail-764429.html
六、源码获取
大家点赞、收藏、关注、评论啦 、查看👇🏻👇🏻👇🏻获取联系方式👇🏻👇🏻👇🏻文章来源地址https://www.toymoban.com/news/detail-764429.html
到了这里,关于python毕业设计项目基于微信的刷题小程序的设计与实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!