news 2025/12/25 12:04:07

小程序项目之数学辅导微信小程序源代码(源码+文档)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
小程序项目之数学辅导微信小程序源代码(源码+文档)

大家好我是风歌,曾担任某大厂java架构师,如今专注java毕设领域。今天要和大家聊的是一款java小程序项目——数学辅导微信小程序。项目源码以及远程配置部署相关请联系风歌,文末附上联系信息。

项目简介:

本系统主要包括管理员和用户两大部分;主要包括首页、个人中心、用户管理、学习中心管理、知识分类管理、学习周报管理、口算练习管理、试题管理、系统管理、考试管理等功能的管理系统。

💕作者:风歌
💕个人简介:混迹在java圈十年有余,擅长Java、微信小程序、Python、Android等,大家有这一块的问题可以一起交流!
💕服务说明:提供成品源码和定制服务,如有需要请文末联系风歌!

成品源码:提供有6000+近几年的成品项目源码,包含java,Python,小程序,php,安卓,vue,html等项目,如有需要,请文末联系风歌!

定制说明:可定制java,Python,小程序,php,安卓,vue,html等语言框架源码,同时也支持程序开发、技术解答、代码讲解、文档报告等,需要请看文末联系方式!

开发环境:

后端:

开发语言:java+小程序

jdk版本:jdk1.8+

数据库:mysql 5.7+

数据库工具:Navicat11+

开发软件:idea、微信开发者工具

前端:

nodejs,vue

数据库:

mysql

系统架构:

主要功能:

小程序端

登录,用户通过输入账号和密码,选择角色并点击登录进入系统进行操作。

实现的代码如下:

form.on('submit(login)', function(data) {

data = data.field;

if (vue.roles.length!=1) {

if (!data.role) {

layer.msg('请选择登录用户类型', {

time: 2000,

icon: 5

});

return false;

}

} else {

data.role = vue.roles[0].tableName;

}

http.request(data.role + '/login', 'get', data, function(res) {

layer.msg('登录成功', {

time: 2000,

icon: 6

});

// 登录凭证

localStorage.setItem('Token', res.token);

var roleName = "";

if(typeof(jquery('#role:checked').attr('title')) == "undefined") {

roleName = vue.roles[0].roleName;

} else {

roleName = jquery('#role:checked').attr('title');

}

localStorage.setItem('role', roleName);

// 当前登录用户角色

localStorage.setItem('userTable', data.role);

localStorage.setItem('sessionTable', data.role);

// 用户名称

localStorage.setItem('adminName', data.username);

http.request(data.role + '/session', 'get', {}, function(res) {

// 用户id

localStorage.setItem('userid', res.data.id);

if(res.data.vip) {

localStorage.setItem('vip', res.data.vip);

}

// 路径访问设置

window.location.href = '../../index.html';

})

});

return false

});

});

/**

* 跳转登录

* @param {Object} tablename

*/

function registerClick(tablename) {

window.location.href = '../' + tablename + '/register.html?tablename=' + tablename;

}

用户注册,在注册页面通过填写账号、密码、确认密码、姓名、性别、年龄、手机等信息进行用户注册操作。

实现的代码如下:

*/

@IgnoreAuth

@RequestMapping("/register")

public R register(@RequestBody YonghuEntity yonghu){

//ValidatorUtils.validateEntity(yonghu);

YonghuEntity user = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuming", yonghu.getYonghuming()));

if(user!=null) {

return R.error("注册用户已存在");

}

Long uId = new Date().getTime();

yonghu.setId(uId);

yonghuService.insert(yonghu);

return R.ok();

}

用户登陆小程序端,可以对首页、学习中心、考试、我的等功能进行详细操作。

实现的代码如下:

methods: {

jump(url) {

if (this.queryIndex == 0) {

localStorage.setItem('indexQueryCondition', document.getElementById("dianyingxinxidianyingmingcheng").value);

}

jump(url)

},

queryChange(event) {

this.queryIndex = event.target.value;

if (this.queryIndex == 0) {

this.dianyingxinxidianyingmingcheng = this.queryList[event.target.value].queryName;

}

}

}

});

layui.use(['layer', 'form', 'element', 'carousel', 'http', 'jquery'], function() {

var layer = layui.layer;

var element = layui.element;

var form = layui.form;

var carousel = layui.carousel;

var http = layui.http;

var jquery = layui.jquery;

vue.baseurl=http.baseurl;

// 获取轮播图 数据

http.request('config/list', 'get', {

page: 1,

limit: 5

}, function(res) {

if (res.data.list.length > 0) {

let swiperList = [];

res.data.list.forEach(element => {

if (element.value != null) {

swiperList.push({

img: http.baseurl + element.value

});

}

});

vue.swiperList = swiperList;

vue.$nextTick(() => {

carousel.render({

elem: '#test1',

width: '89.6%',

height: '500px',

arrow: 'hover',

anim: 'default',

autoplay: 'true',

interval: '3000',

indicator: 'inside'

});

})

// vue.$nextTick(()=>{

// window.xznSlide();

// });

}

});

http.request('news/list', 'get', {

page: 1,

order: 'desc'

}, function(res) {

var newsList = res.data.list;

for(var i = 0; i<newsList.length; i++) {

let d = newsList[i].addtime.split(' ')

d = d[0].split('-')

newsList[i].year = d[0]

newsList[i].month = d[1] + '-' + d[2]

}

vue.newsList = newsList;

if (newsList.length > 0 && newsList.length <= 2) {

vue.leftNewsList = res.data.list

} else {

var leftNewsList = []

for (let i = 0; i <= 2; i++) {

leftNewsList.push(newsList[i]);

}

vue.leftNewsList = leftNewsList

}

if (newsList.length > 2 && newsList.length <= 8) {

var rightNewsList = []

for (let i = 3; i <= newsList.length; i++) {

rightNewsList.push(newsList[i]);

}

vue.rightNewsList = rightNewsList

}

let flag = 10;

let options = {"navigation":{"nextEl":".swiper-button-next","prevEl":".swiper-button-prev"},"slidesPerView":5,"loop":true,"spaceBetween":20,"autoplay":{"delay":3000,"disableOnInteraction":false}}

options.pagination = {el:'null'}

if(flag == 3) {

vue.$nextTick(() => {

new Swiper('#newsnews', options)

})

}

if(flag == 6) {

let sixSwiper = {

loop: true,

speed: 2500,

slidesPerView: 3,

spaceBetween: 10,

centeredSlides: true,

watchSlidesProgress: true,

autoplay: {

delay: 0,

stopOnLastSlide: false,

disableOnInteraction: false

}

}

vue.$nextTick(() => {

new Swiper('#new-list-6', sixSwiper)

})

}

});

// 获取推荐信息

var autoSortUrl = "dianyingxinxi/autoSort";

if(localStorage.getItem('userid')!=null) {

autoSortUrl = "dianyingxinxi/autoSort2";

}

http.request(autoSortUrl, 'get', {

page: 1,

limit: 3 * 1

}, function(res) {

vue.dianyingxinxiRecommend = res.data.list

let flag = 1;

let options = {"navigation":{"nextEl":".swiper-button-next","prevEl":".swiper-button-prev"},"slidesPerView":5,"loop":true,"spaceBetween":20,"autoplay":{"delay":3000,"disableOnInteraction":false}}

options.pagination = {el:'null'}

if(flag == 3) {

vue.$nextTick(() => {

new Swiper('#recommenddianyingxinxi', options)

})

}

if(flag == 5) {

vue.$nextTick(() => {

var swiper = new Swiper('#recommend-five-swiperdianyingxinxi', {

loop: true,

speed: 500,

slidesPerView: 5,

spaceBetween: 10,

autoplay: {"delay":3000,"disableOnInteraction":false},

centeredSlides: true,

watchSlidesProgress: true,

on: {

setTranslate: function() {

slides = this.slides

for (i = 0; i < slides.length; i++) {

slide = slides.eq(i)

progress = slides[i].progress

// slide.html(progress.toFixed(2)); //看清楚progress是怎么变化的

slide.css({

'opacity': '',

'background': ''

});

slide.transform(''); //清除样式

slide.transform('scale(' + (1.5 - Math.abs(progress) / 4) + ')');

}

},

setTransition: function(transition) {

for (var i = 0; i < this.slides.length; i++) {

var slide = this.slides.eq(i)

slide.transition(transition);

}

},

},

navigation: {"nextEl":".swiper-button-next","prevEl":".swiper-button-prev"},

pagination: {"el":".swiper-pagination","clickable":true},

});

})

}

});

});

学习中心,在学习中心页面可以查看知识名称、知识类型、封面、所属年级、上传日期、点击次数、知识简介等信息,并根据需要进行评论或收藏操作。

用户,在我的页面可以对个人中心、学习周报、我的收藏管理、考试记录、错题本等详细信息进行操作。

用户信息,在用户信息页面通过填写账号、密码、姓名、性别、年龄、手机、头像等详细信息进行保存或退出登录操作。

管理员功能模块

管理员登录,管理员通过输入账号、密码,选择角色并点击登录进行系统登录操作。

实现的代码如下:

mounted() {

let menus = menu.list();

this.menus = menus;

},

created() {

this.getRandCode()

},

methods: {

register(tableName){

this.$storage.set("loginTable", tableName);

this.$router.push({path:'/register'})

},

// 登陆

login() {

if (!this.rulesForm.username) {

this.$message.error("请输入用户名");

return;

}

if (!this.rulesForm.password) {

this.$message.error("请输入密码");

return;

}

if (!this.rulesForm.role) {

this.$message.error("请选择角色");

return;

}

let menus = this.menus;

for (let i = 0; i < menus.length; i++) {

if (menus[i].roleName == this.rulesForm.role) {

this.tableName = menus[i].tableName;

}

}

this.$http({

url: `${this.tableName}/login?username=${this.rulesForm.username}&password=${this.rulesForm.password}`,

method: "post"

}).then(({ data }) => {

if (data && data.code === 0) {

this.$storage.set("Token", data.token);

this.$storage.set("role", this.rulesForm.role);

this.$storage.set("sessionTable", this.tableName);

this.$storage.set("adminName", this.rulesForm.username);

this.$router.replace({ path: "/index/" });

} else {

this.$message.error(data.msg);

}

});

},

管理员登陆系统后,可以对首页、个人中心、用户管理、学习中心管理、知识分类管理、学习周报管理、口算练习管理、试题管理、系统管理、考试管理等功能进行相应操作。

用户管理,在用户管理页面可以对索引、账号、姓名、性别、年龄、手机、头像等内容进行详情、修改或删除等操作。

学习中心管理,在学习中心管理页面可以对索引、知识名称、知识类型、所属年级、分析视频、上传日期、知识图片等内容进行详情,修改,查看评论或删除操作。

知识分类管理,在知识分类管理页面可以对索引、类型等内容进行修改和删除操作。

图5-11知识分类管理界面图

学习周报管理,在学习周报管理页面可以对索引、周报标题、周报日期、周报图片、账号、姓名等内容进行详情或删除操作。

口算练习管理,在口算练习管理页面可以对索引、口算练习名称、考试时长(分钟)、口算练习状态等内容进行详情,修改或删除等操作。

试题管理,在试题管理页面可以对口算练习、试题名称、分值、答案、类型等内容进行修改和删除操作。

系统管理,在公告信息页面可以对索引、标题、图片等内容进行详情,修改或删除操作;还可以对轮播图管理进行详细操作。

以上就是项目的一些基本信息了。

更多项目:

另有6000+份项目源码,项目有java(包含springboot,ssm,jspm等),小程序,python,php,net等语言项目。项目均包含完整前后端源码,可正常运行!

!!! 有需要的小伙伴可以点击下方链接直接联系我哦!!!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/22 13:37:57

论文AI率高怎么办?认准这2个免费降低AI率的工具,嘎嘎快!

2个实测免费的降AIGC率工具&#xff0c;顺利通过ai率查重&#xff01; AI 检测本身就没有公开算法&#xff0c;降 AI 工具更像黑箱。如果降AI率连一次免费试用都不给&#xff0c;那风险太大了。万一AI率没有降下来&#xff0c;又不能退&#xff0c;少则几元多则几十。 对于学…

作者头像 李华
网站建设 2025/12/22 13:39:28

程序员的幸福之道:不必追逐权力与学历——在代码与生活之间寻找真正的自由

程序员的幸福之道&#xff1a;不必追逐权力与学历——在代码与生活之间寻找真正的自由写在前面 在这个信息爆炸、竞争激烈的时代&#xff0c;程序员群体正面临前所未有的身份焦虑。考公热、考研潮、大厂内卷、35岁危机……各种标签如影随形。许多人开始怀疑&#xff1a;我是不是…

作者头像 李华
网站建设 2025/12/22 13:38:56

实测20个多降AI率工具,只有这2个是真有免费降AI额度!

AI 检测本身就没有公开算法&#xff0c;降 AI 工具更像黑箱。如果降AI率连一次免费试用都不给&#xff0c;那风险太大了。万一AI率没有降下来&#xff0c;又不能退&#xff0c;少则几元多则几十。 对于学生来说&#xff0c;论文从AIGC检测→降AI→再次检测AI痕迹&#xff0c;至…

作者头像 李华
网站建设 2025/12/22 13:38:38

【最新】2个免费降AIGC率的工具,适合本科生论文查重!

2个实测免费的降AIGC率工具&#xff0c;顺利通过ai率查重&#xff01; AI 检测本身就没有公开算法&#xff0c;降 AI 工具更像黑箱。如果降AI率连一次免费试用都不给&#xff0c;那风险太大了。万一AI率没有降下来&#xff0c;又不能退&#xff0c;少则几元多则几十。 对于学…

作者头像 李华
网站建设 2025/12/22 13:39:25

毕业党最爱!2个免费降AI率的工具,一键去AI味不留痕

2个实测免费的降AIGC率工具&#xff0c;顺利通过ai率查重&#xff01; AI 检测本身就没有公开算法&#xff0c;降 AI 工具更像黑箱。如果降AI率连一次免费试用都不给&#xff0c;那风险太大了。万一AI率没有降下来&#xff0c;又不能退&#xff0c;少则几元多则几十。 对于学…

作者头像 李华
网站建设 2025/12/20 22:02:20

基于java的SpringBoot/SSM+Vue+uniapp的大学生学业预警和警告平台的详细设计和实现(源码+lw+部署文档+讲解等)

文章目录 前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus 系统测试系统测试目的系统功能测试系统测试结论 为什么选择我代码参考数据库参考源码获取 前言 &#x1f31e;博主介绍&#xff1a;✌全网粉丝15W,CSDN特邀作者、211毕业、高…

作者头像 李华