推广 热搜: csgo  vue  angelababy  2023  gps  新车  htc  落地  app  p2p 

基于uni-app的安卓在线考试系统软件设计,附源码

   2023-07-18 网络整理佚名2490
核心提示:等,在我的开发实践中感觉虽然接近原生,谷歌独创语法,但是语法混乱,把UI和逻辑放在一起没有好的代码阅读体验,但是uni-app使用了vue.js的语法,方便了很多有vue开发经验的程序员。用户登录:管理员、教师和学生均可以使用自己的账号和密码进行登录APP;试卷管理:管理员和老师可以对试卷进行管理,包括添加试卷、添加试题、发布试卷等操作;后端:JAVA开发语言,框架,MySql数据库

随着编程技术的进步,越来越多的跨平台开发语言和框架出现。 比较常用的有uni-app、Ionic、React等,在我的开发实践中,感觉虽然接近、原生的语法,但是语法比较混乱,在使用的时候没有很好的代码阅读体验UI和逻辑放在一起,但是uni-app使用了vue.js的语法,这对于很多有vue开发经验的程序员来说很方便。 今天我要介绍的是一个用uni-app构建的在线考试应用程序。

实现的功能

存在管理员、教师、学生三种角色;

用户登录:管理员、教师、学生可以使用自己的账号和密码登录APP;

人员管理:管理员可以编辑和删除教师和学生的身份信息,教师可以编辑和删除学生的身份信息;

考试记录:参加过考试的人可以查看自己的考试记录,包括成绩和问题答案;

试卷管理:管理员和教师可以对试卷进行管理,包括添加试卷、添加试题、发布试卷等;

使用的技术

后端:JAVA开发语言、框架、MySql数据库

前端:uni-app

部分代码显示


cript>
	import appRequest from "@/common/appRequestUrl.js";
	export default {
		data() {
			return {
				pid:0,
				form: {
					paperName: "",
					memo: "",
					passScore: 60,
					singleNum: 5,
					singleScore: 10,
					multiNum: 2,
					multiScore: 10,
					judgeNum: 3,
					judgeScore: 10,
					state:0,
					score:100
				},
				user:"",
				rules: {
				paperName: [
					{
								required: true,
								message: '请填写试卷名称',
								trigger: ['change','blur']
					}
				],memo: [{
								required: true,
								message: '请填写试卷简介',
								trigger: ['change','blur']
					}
				],judgeScore:[{
								validator: function(rule,value,callback){
									return value>0;
								},
								message: '请填写完整',
								trigger: ['change','blur']
					}],judgeNum:[{
								validator: function(rule,value,callback){
									return value>0;
								},
								message: '请填写完整',
								trigger: ['change','blur']
					}],singleScore:[{
								validator: function(rule,value,callback){
									return value>0;
								},
								message: '请填写完整',
								trigger: ['change','blur']
					}],singleNum:[{
								validator: function(rule,value,callback){
									return value>0;
								},
								message: '请填写完整',
								trigger: ['change','blur']
					}],multiScore:[{
								validator: function(rule,value,callback){
									return value>0;
								},
								message: '请填写完整',
								trigger: ['change','blur']
					}],multiNum:[{
								validator: function(rule,value,callback){
									return value>0;
								},
								message: '请填写完整',
								trigger: ['change','blur']
					}],passScore:[{
								validator: function(rule,value,callback){
									return value>0;
								},
								message: '请填写完整',
								trigger: ['change','blur']
					}]
				},tips:"请确保 单选分值*单选数量 + 多选分值*多选数量 + 判断分值*判断数量 = 100"
			}
		},
		onLoad:function(option) {
			if(option.pid){
				this.pid = option.pid;
				this.getPaperInfo();
			}
			
		},
		onShow() {
			// this.user = appRequest.getUserInfo();
			// if(!this.user){
			// 	uni.switchTab({
			// 		url:"../index/index"
			// 	})
			// }
		},
		methods: {
			checkPoint(){
				return (this.form.singleNum*this.form.singleScore + this.form.multiNum*this.form.multiScore + this.form.judgeNum*this.form.judgeScore )== 100 ;
			},
			submit(){
				let _this = this;
				this.$refs.uForm.validate(valid => {
					if (valid) {
						
						if(!_this.checkPoint()){
							_this.$api.msg('试卷总分不等于100分,请修改。');
							return;
						}
						
						appRequest.request({
							method: "POST",
							url: _this.form.pid ? appRequest.urlMap.editExamPaper : appRequest.urlMap.addExamPaper,
							data:_this.form,
							success: function(res) {
								if (res.data.code == 200) {
									uni.showModal({
										title:"成功",
										content:"试卷提交成功",
										showCancel:false,
										success:function(res){
											if(res./confirm/i){
												uni.navigateBack({
													
												})
											}
										}
									})({
										
									})
								} else {
									_this.$api.msg('保存失败');
								}
							},
							fail: function(res) {
								_this.$api.msg("请求异常");
							}
						})
						
						
					} else {
						_this.$api.msg('验证异常');
					}
				});
			},
			confirm(e) {
				this.selName = e[0].label;
				this.form.typeFK = e[0].value;
			},
			numCheck(){
				return [{
								required: true,
								message: '未填写完整,请检查',
								trigger: ['change','blur']
					},
					{
								type: "integer",
								message: '格式异常,仅能为整数',
								trigger: ['change','blur']
					}
				]
			},
			getPaperInfo() {
				let _this = this;
				appRequest.request({
					method: "POST",
					url: appRequest.urlMap.findExamPaper,
					data:{
						pid:_this.pid,
						validFlag:1
					},
					success: function(res) {
						if (res.data.code == 200) {
							_this.form = res.data.data;
						} else {
							_this.$api.msg('试卷获取失败');
						}
					},
					fail: function(res) {
						_this.$api.msg("请求异常");
					}
				})
			}
		},onReady() {
			this.$refs.uForm.setRules(this.rules);
		}
	}
cript>

获取源码请关注并私信“”

 
反对 0举报 0 收藏 0 打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报
Powered By DESTOON