✌全网粉丝20W+,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌
🍅文末获取项目下载方式🍅
一、项目背景介绍:
近年来,随着信息技术的发展和普及,中小学生作业管理系统作为一种新型的教育工逐渐被广泛关注和研究。本文将分别探讨国内和国外的研究现状。
在国内,中小学生作业管理系统得到了广泛的应用和研究。许多教育机构和科技公司推出了各种类型的作业管理系统,包括“校园助手”、“智慧校园”、“作业帮”等。这些系统提供了课程表、作业发布、查看和提交、考试安排等多种功能,为学生提供了更加便利的作业管理方式。同时,这些系统也为教师提供了更加高效的作业布置、批改和评估的方式,促进了教学质量的提高。除此之外,国内的研究还关注作业管理系统的应用效果和影响。一些研究表明,作业管理系统能够提高学生的学习效率、学习动机和成绩,但也有一些研究认为,作业管理系统的应用效果并不明显,需要继续完善和改进。此外,国内的研究还关注作业管理系统的安全性和隐私保护问题,如如何保护学生的个人信息和作业内容不被泄露等,这些问题也需要引起更多的关注和研究。
在国外,中小学生作业管理系统同样得到了越来越多的关注和研究。许多教育机构和科技公司也开发了不同类型的作业管理系统,如“Google Classroom”、“Canvas”等。与国内的系统相似,这些系统提供了基本的作业发布、查看和提交等功能,但也有一些系统提供了更多的辅助功能,如在线作业批改、个性化学习推荐和作业数据分析等。同时,国外的研究也关注作业管理系统的应用效果和影响。一些研究表明,作业管理系统能够提高学生的学习效率、学习动机和成绩,但也有一些研究认为,作业管理系统的应用效果还需要进一步研究和改进。此外,国外的研究也关注作业管理系统的局限性和隐私保护问题。如“谷歌课堂”因为其涉嫌违反欧盟的数据隐私法而被罚款5000万欧元。
二、项目技术简介:
三、系统功能模块介绍:


四、数据库设计:
1:‘班级信息’(cla_info)
| 字段名 | 类型 | 默认值 | 列注释 |
|---|---|---|---|
| id | bigint | NULL | 主键ID |
| cla_name | varchar | NULL | 班级名称 |
| cla_location | varchar | NULL | 班级所处位置 |
| create_time | datetime | NULL | 创建时间 |
2:‘班级课程关联表’(cla_les)
| 字段名 | 类型 | 默认值 | 列注释 |
|---|---|---|---|
| id | bigint | NULL | 主键ID |
| les_id | bigint | NULL | 课程ID |
| cla_id | bigint | NULL | 班级ID |
3:‘作业表’(homeworks)
| 字段名 | 类型 | 默认值 | 列注释 |
|---|---|---|---|
| id | bigint | NULL | 主键ID |
| work_url | varchar | NULL | 作业下载链接 |
| remark | varchar | NULL | 备注 |
| cla_id | bigint | NULL | 班级ID |
| les_id | bigint | NULL | 课程ID |
| create_time | datetime | NULL | 创建时间 |
| end_time | datetime | NULL | 截止时间 |
| tea_id | bigint | NULL | 老师ID |
| work_name | varchar | NULL | 作业名称 |
4:‘老师课程管理表’(les_tea)
| 字段名 | 类型 | 默认值 | 列注释 |
|---|---|---|---|
| id | bigint | NULL | 主键ID |
| tea_id | bigint | NULL | 老师ID |
| les_id | bigint | NULL | 课程ID |
5:‘课程表’(lessons)
| 字段名 | 类型 | 默认值 | 列注释 |
|---|---|---|---|
| id | bigint | NULL | 课程编号 |
| les_name | varchar | NULL | 课程名称 |
| les_img | varchar | NULL | 课程图片 |
| les_info | text | NULL | 课程简介 |
| create_time | datetime | NULL | 创建时间 |
6:‘管理员表’(manage)
| 字段名 | 类型 | 默认值 | 列注释 |
|---|---|---|---|
| id | bigint | NULL | ID |
| user_name | varchar | NULL | 用户名 |
| pass_word | varchar | NULL | 密码 |
| photo_img | varchar | NULL | 图片 |
| name | varchar | NULL | 名称 |
7:‘留言表’(messages)
| 字段名 | 类型 | 默认值 | 列注释 |
|---|---|---|---|
| id | bigint | NULL | 主键ID |
| tea_id | bigint | NULL | 老师ID |
| stu_id | bigint | NULL | 学生ID |
| create_time | datetime | NULL | 创建时间 |
| answer | varchar | NULL | 回复 |
| content | varchar | NULL | 留言内容 |
8:‘学生提交作业管理’(stu_work)
| 字段名 | 类型 | 默认值 | 列注释 |
|---|---|---|---|
| id | bigint | NULL | 主键ID |
| work_id | bigint | NULL | 作业ID |
| stu_id | bigint | NULL | 学生ID |
| stu_url | varchar | NULL | 学生上传URL |
| create_time | datetime | NULL | 提交时间 |
| next_url | varchar | NULL | 批阅文件下载链接 |
| update_time | datetime | NULL | 批阅时间 |
| grade | varchar | NULL | 本次分数 |
| comment | text | NULL | 评语 |
| status | int | NULL | 状态[0:待提交,1:已提交,2:已批阅] |
9:‘学生表’(student)
| 字段名 | 类型 | 默认值 | 列注释 |
|---|---|---|---|
| id | bigint | NULL | 学生编号 |
| stu_name | varchar | NULL | 学生姓名 |
| stu_age | int | NULL | 年龄 |
| stu_sex | int | NULL | 性别[0:男,1:女] |
| stu_phone | varchar | NULL | 家长联系方式 |
| stu_address | varchar | NULL | 家庭住址 |
| stu_class_num | bigint | NULL | 所属班级 |
| stu_img | varchar | NULL | 照片 |
| create_time | datetime | NULL | 入学时间 |
| password | varchar | NULL | 登录密码 |
10:‘老师’(teachers)
| 字段名 | 类型 | 默认值 | 列注释 |
|---|---|---|---|
| id | bigint | NULL | 教师编号 |
| username | varchar | NULL | 账号 |
| password | varchar | NULL | 密码 |
| tea_name | varchar | NULL | 姓名 |
| tea_age | int | NULL | 年龄 |
| tea_sex | int | NULL | 性别 |
| tea_info | text | NULL | 简介 |
| tea_tel | varchar | NULL | 联系方式 |
| tea_img | varchar | NULL | 头像 |
| education | int | NULL | 学历 |
| create_time | datetime | NULL | 创建时间 |
| status | varchar | NULL | 状态 |
五、功能模块:
登录功能实现:管理员端登录:管理员可以在管理员登录界面通过输入自己的账号密码信息对管理员后台系统进行登录
老师端登录:老师可以在老师登录界面通过输入自己的账号密码信息对老师后台系统进行登录
学生登录:学生可以在微信小程序输入自己的账号密码信息登录学生端系统

留言管理功能实现: 留言管理:管理员可以在管理员后台对学生对老师的留言信息进行管理,具体功能包括根据老师的维度和学生的维度进行搜索留言,并且对相应的留言的基本信息进行查看并且可以删除留言信息
留言管理:老师可以在登录老师端管理系统对学生给自己的留言信息进行查找,查找的维度有学生的项目与老师的姓名,并且可以对学生的留言信息进行回复,以便于学生得到更好的反馈
留言信息:在学生端系统中的留言菜单中可以根据老师姓名进行查找从而对对相应的老师进行留言

课程管理功能:

班级信息管理: 班级信息管理:管理员可以在管理员后台对学校内的班级信息进行管理,具体功能根据班级名称的维度对班级信息进行查找,并且可以新增新的班级信息与对已存在的班级信息进行修改基本信息与删除该班级
我的班级:老师可以在登录老师端管理系统对自己所在的班级信息进行查看,并且可以根据班级名称进行查找

老师信息管理: 老师信息管理:管理员可以在管理员后台对学校内的老师信息进行管理,具体功能根据老师姓名的维度对班级信息进行查找,并且可以新增新的老师信息与对已存在的老师信息进行修改基本信息与删除该班级

作业信息管理: 作业信息管理:管理员可以在管理员后台对学生提交给老师的作业信息进行管理,具体功能根据作业名称、班级名称、课程名称、学生姓名等多个维度对作业信息进行查找,并且可以删除对于的作业信息
作业信息:老师可以在登录老师端管理系统对自己布置的作业信息进行管理,具体功能包括根据作业名称、班级信息、课程名称、老师姓名等多个维度对作业信息进行查找,还能布置新的作业信息,对已经布置过的作业信息进行管理,包括修改布置的作业信息与删除作业信息
作业提交信息:老师可以在登录老师端管理系统对学生提交的作业信息进行管理,具体功能包括根据作业名称与学生姓名等多个维度对作业信息进行管理,包括对以及添加评语的作业进行评语预览与对批阅的文件进行查看和批阅学生的作业
作业信息查询:在学生端系统中的作业菜单中可以 查看作业信息,其中包括等待提交的作业信息查看、已经提交的作业信息进行查看、已经被老师批阅的作业信息进行查看。在待提交页面中可以查看作业的具体信息并且下载对应的作业文件,如果对已经提交的作业存在问题可以点击撤回按钮撤回当前提交并且重新提交新的作业,对已经被老师批阅的作业信息下载对于的批阅文件,在等待提交的作业信息查看、已经提交的作业信息进行查看、已经被老师批阅的作业信息进行查看三个菜单中都存在对于的搜索框可以在历史记录过多的情况下快速定位到自己所需要操作的具体作业

学生信息管理功能: 学生信息管理:管理员可以在管理员后台对学校内的学生信息进行管理,具体功能根据学生姓名与所在班级的维度对学生信息进行查找,并且可以新增新的班级信息与对已存在的班级信息进行修改基本信息与删除该班级
学生信息:老师可以在登录老师端管理系统对学生信息进行管理,具体功能包括根据学生姓名与所在的班级信息等多个维度查找学生信息,点击预览按钮查看学生的具体家庭地址信息
个人中心:在学生端系统在个人中心中学生可以修改自己的个人基本信息,并且修改查看自己历史对各个老师的留言信息,留言信息进行查看,并且在此处可以查看老师的回复信息,在该页面还能退出当前账户切换新的账户信息进行登录

六、代码示例:
@PostMapping
public ReturnMsg manageLogin(@RequestBody Map<String, String> param) {
if (StrUtil.isEmpty(param.get("username")) || StrUtil.isEmpty(param.get("password"))) {
return ReturnMsg.error("用户名或密码错误!");
}
ManageDTO manageDTO = new ManageDTO();
manageDTO.setUserName(param.get("username"));
manageDTO.setPassWord(param.get("password"));
QueryWrapper<ManageDTO> manageDTOQueryWrapper = new QueryWrapper<>(manageDTO);
manageDTOQueryWrapper.last("limit 1");
ManageDTO adminDTOS = manageService.getOne(manageDTOQueryWrapper);
if (adminDTOS == null) return ReturnMsg.error("用户名或密码错误!");
Map<String, Object> map = new HashMap<>();
map.put("avatar", StrUtil.isNotBlank(adminDTOS.getPhotoImg()) ? adminDTOS.getPhotoImg() : "https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif");
map.put("introduction", adminDTOS.getName() + ",你好!");
map.put("name", adminDTOS.getName());
map.put("roles", Arrays.asList("admin"));
map.put("id", adminDTOS.getId());
Map<String, String> returnMap = new HashMap<>();
String uuid = UUID.randomUUID().toString();
returnMap.put("token", uuid);
userInfoMap.put(uuid, JSON.toJSONString(map));
return ReturnMsg.ok(returnMap);
}
public Page<MessagesDTO> basePage(MessagesDTO messagesDTO) {
if (null != messagesDTO.getCurrent() && null != messagesDTO.getPageSize())
messagesDTO.setCurrent((messagesDTO.getCurrent() - 1) * messagesDTO.getPageSize());
List<MessagesDTO> list = this.baseMapper.findList(messagesDTO);
int count = this.baseMapper.findPageCount(messagesDTO);
Page<MessagesDTO> page = new Page<>();
page.setTotal(count);
page.setRecords(list);
return page;
}
课程管理:管理员可以在管理员后台对学校的课程信息进行管理如新增一门课程,对已有的课程信息进行修改基本信息与删除课程信息也能够根据课程名称的维度进行搜索课程信息
我的课程:老师可以在登录老师端管理系统对管理员给自己添加的课程信息进行查看,并且可以根据课程名称进行查找,还能点击课程预览按钮对课程信息进行预览
@PostMapping("/page")
public ReturnMsg page(@RequestBody ClaInfoDTO claInfoDTO) {
Page<ClaInfoDTO> teachersDTOPage = baseService.basePage(claInfoDTO);
List<ClaInfoDTO> dtoPageRecords = teachersDTOPage.getRecords();
dtoPageRecords.forEach(item -> {
ClaLesDTO teaDTO = new ClaLesDTO();
teaDTO.setClaId(item.getId());
List<ClaLesDTO> teaServiceList = claLesService.findList(teaDTO);
if (CollectionUtil.isNotEmpty(teaServiceList)) {
String collect = teaServiceList.stream().map(item1 -> item1.getLesName()).collect(Collectors.joining(","));
item.setLessonArr(collect);
}
});
return ReturnMsg.ok(teachersDTOPage);
}
public Page<TeachersDTO> basePage(TeachersDTO teachersDTO) {
if (null != teachersDTO.getCurrent() && null != teachersDTO.getPageSize())
teachersDTO.setCurrent((teachersDTO.getCurrent() - 1) * teachersDTO.getPageSize());
List<TeachersDTO> list = this.baseMapper.findList(teachersDTO);
int count = this.baseMapper.findPageCount(teachersDTO);
Page<TeachersDTO> page = new Page<>();
page.setTotal(count);
page.setRecords(list);
return page; }
protected ReturnMsg afterSaveOrUpdate(HomeworksDTO entity, boolean flag, String msg) {
LambdaQueryWrapper<StuWorkDTO> queryWrapper1 = new LambdaQueryWrapper<>();
queryWrapper1.eq(StuWorkDTO::getWorkId, entity.getId());
stuWorkService.remove(queryWrapper1);
Long claId = entity.getClaId();
LambdaQueryWrapper<StudentDTO> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(StudentDTO::getStuClassNum, claId);
List<StudentDTO> studentDTOS = studentService.list(queryWrapper);
List<StuWorkDTO> stuWorkDTOS = studentDTOS.stream().map(item -> {
StuWorkDTO stuWorkDTO = new StuWorkDTO();
stuWorkDTO.setWorkId(entity.getId());
stuWorkDTO.setStuId(item.getId());
stuWorkDTO.setStatus(0);
return stuWorkDTO;
}).collect(Collectors.toList());
stuWorkService.saveBatch(stuWorkDTOS);
return super.afterSaveOrUpdate(entity, flag, msg);
}
public ReturnMsg teacherPage(@RequestBody StudentDTO studentDTO) {
List<ClaInfoDTO> dtoPage = new ArrayList<>();
if (studentDTO.getStuClassNum() != null) {
studentDTO.setCurrent(0);
return this.findList(studentDTO);
} else {
if (studentDTO.getTeacherId() == null) return ReturnMsg.ok(dtoPage);
LesTeaDTO le = new LesTeaDTO();
le.setTeaId(studentDTO.getTeacherId());
List<LesTeaDTO> teaServiceList = lesTeaService.findList(le);
if (CollectionUtil.isEmpty(teaServiceList)) return ReturnMsg.ok(dtoPage);
List<Long> longs = teaServiceList.stream().map(item -> item.getLesId()).collect(Collectors.toList());
LambdaQueryWrapper<ClaLesDTO> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.in(ClaLesDTO::getLesId, longs);
List<ClaLesDTO> lesDTOS = claLesService.list(queryWrapper);
if (CollectionUtil.isEmpty(lesDTOS)) return ReturnMsg.ok(dtoPage);
LambdaQueryWrapper<ClaInfoDTO> queryWrapper1 = new LambdaQueryWrapper<>();
queryWrapper1.in(ClaInfoDTO::getId, lesDTOS.stream().map(item -> item.getClaId()).collect(Collectors.toList()));
// 老师拥有的班级
List<ClaInfoDTO> claInfoDTOS = claInfoService.list(queryWrapper1);
if (CollectionUtil.isEmpty(claInfoDTOS)) return ReturnMsg.ok(dtoPage);
LambdaQueryWrapper<StudentDTO> queryWrapper2 = new LambdaQueryWrapper<>();
queryWrapper2.in(StudentDTO::getStuClassNum, claInfoDTOS.stream().map(item -> item.getId()).collect(Collectors.toList()));
if (StrUtil.isNotEmpty(studentDTO.getStuName())) {
queryWrapper2.like(StudentDTO::getStuName, studentDTO.getStuName());
}
return ReturnMsg.ok(this.baseService.list(queryWrapper2));
}
}
七、论文参考:
论文参考···
八、项目总结:
本文旨在探讨中小学生作业管理系统的优势和局限性,提出一种基于互联网的作业管理系统的构想,为学生提供方便、快捷、高效的作业管理方式,并探讨该系统的局限性以及相应的解决方案。
本文通过对国内外文献的分析和综合研究,结合自身的经验和实践,提出了一种基于互联网的中小学生作业管理系统的构想。该系统可以提供作业的分类、提醒、评分等功能,并支持多种设备的访问。同时,本文还探讨了作业管理系统的局限性,包括安全性和隐私保护等问题,并提出了相应的解决方案。
通过本文的研究,我们可以看出,作业管理系统可以帮助学生更好地掌握自己的作业情况,提高学习效率和成绩。同时,我们也意识到,作业管理系统还存在一些局限性,如安全性和隐私保护等问题。但是,通过我们的研究,我们也提出了相应的解决方案,可以更好地保护学生的隐私和安全。
综上所述,中小学生作业管理系统可以帮助学生更好地管理自己的作业,提高学习效率和成绩。通过本文的研究,我们提出了一种基于互联网的中小学生作业管理系统的构想,并探讨了该系统的局限性和相应的解决方案。我们相信,在未来的研究中,我们可以进一步完善和改进作业管理系统,为学生提供更加方便、快捷、高效的作业管理方式。
本项目的功能模块包含一下部分:
管理员端:
管理员端登录:管理员可以在管理员登录界面通过输入自己的账号密码信息对管理员后台系统进行登录
留言管理:管理员可以在管理员后台对学生对老师的留言信息进行管理,具体功能包括根据老师的维度和学生的维度进行搜索留言,并且对相应的留言的基本信息进行查看并且可以删除留言信息
课程管理:管理员可以在管理员后台对学校的课程信息进行管理如新增一门课程,对已有的课程信息进行修改基本信息与删除课程信息也能够根据课程名称的维度进行搜索课程信息
管理员管理:管理员可以在管理员后台对该系统后台管理员的信息进行管理,对已有的管理员信息进行修改基本信息与删除管理员账户信息也能够根据管理员名称信息的维度进行搜索 相应的管理员
班级信息管理:管理员可以在管理员后台对学校内的班级信息进行管理,具体功能根据班级名称的维度对班级信息进行查找,并且可以新增新的班级信息与对已存在的班级信息进行修改基本信息与删除该班级
老师信息管理:管理员可以在管理员后台对学校内的老师信息进行管理,具体功能根据老师姓名的维度对班级信息进行查找,并且可以新增新的老师信息与对已存在的老师信息进行修改基本信息与删除该班级
作业信息管理:管理员可以在管理员后台对学生提交给老师的作业信息进行管理,具体功能根据作业名称、班级名称、课程名称、学生姓名等多个维度对作业信息进行查找,并且可以删除对于的作业信息
学生信息管理:管理员可以在管理员后台对学校内的学生信息进行管理,具体功能根据学生姓名与所在班级的维度对学生信息进行查找,并且可以新增新的班级信息与对已存在的班级信息进行修改基本信息与删除该班级
老师端:
老师端登录:老师可以在老师登录界面通过输入自己的账号密码信息对老师后台系统进行登录
留言管理:老师可以在登录老师端管理系统对学生给自己的留言信息进行查找,查找的维度有学生的项目与老师的姓名,并且可以对学生的留言信息进行回复,以便于学生得到更好的反馈
我的课程:老师可以在登录老师端管理系统对管理员给自己添加的课程信息进行查看,并且可以根据课程名称进行查找,还能点击课程预览按钮对课程信息进行预览
我的班级:老师可以在登录老师端管理系统对自己所在的班级信息进行查看,并且可以根据班级名称进行查找
作业信息:老师可以在登录老师端管理系统对自己布置的作业信息进行管理,具体功能包括根据作业名称、班级信息、课程名称、老师姓名等多个维度对作业信息进行查找,还能布置新的作业信息,对已经布置过的作业信息进行管理,包括修改布置的作业信息与删除作业信息
学生信息:老师可以在登录老师端管理系统对学生信息进行管理,具体功能包括根据学生姓名与所在的班级信息等多个维度查找学生信息,点击预览按钮查看学生的具体家庭地址信息
作业提交信息:老师可以在登录老师端管理系统对学生提交的作业信息进行管理,具体功能包括根据作业名称与学生姓名等多个维度对作业信息进行管理,包括对以及添加评语的作业进行评语预览与对批阅的文件进行查看和批阅学生的作业
学生端:
学生登录:学生可以在微信小程序输入自己的账号密码信息登录学生端系统
作业信息查询:在学生端系统中的作业菜单中可以 查看作业信息,其中包括等待提交的作业信息查看、已经提交的作业信息进行查看、已经被老师批阅的作业信息进行查看。在待提交页面中可以查看作业的具体信息并且下载对应的作业文件,如果对已经提交的作业存在问题可以点击撤回按钮撤回当前提交并且重新提交新的作业,对已经被老师批阅的作业信息下载对于的批阅文件,在等待提交的作业信息查看、已经提交的作业信息进行查看、已经被老师批阅的作业信息进行查看三个菜单中都存在对于的搜索框可以在历史记录过多的情况下快速定位到自己所需要操作的具体作业
留言信息:在学生端系统中的留言菜单中可以根据老师姓名进行查找从而对对相应的老师进行留言
个人中心:在学生端系统在个人中心中学生可以修改自己的个人基本信息,并且修改查看自己历史对各个老师的留言信息,留言信息进行查看,并且在此处可以查看老师的回复信息,在该页面还能退出当前账户切换新的账户信息进行登录
九、源码获取:
大家点赞、收藏、关注、评论啦 、查看👇🏻👇🏻👇🏻获取联系方式👇🏻👇🏻👇🏻
链接点击直达:下载链接
导读:随着叮咚买菜业务的发展,不同的业务场景对数据分析提出了不同的需求,他们希望引入一款实时OLAP数据库,构建一个灵活的多维实时查询和分析的平台,统一数据的接入和查询方案,解决各业务线对数据高效实时查询和精细化运营的需求。经过调研选型,最终引入ApacheDoris作为最终的OLAP分析引擎,Doris作为核心的OLAP引擎支持复杂地分析操作、提供多维的数据视图,在叮咚买菜数十个业务场景中广泛应用。作者|叮咚买菜资深数据工程师韩青叮咚买菜创立于2017年5月,是一家专注美好食物的创业公司。叮咚买菜专注吃的事业,为满足更多人“想吃什么”而努力,通过美好食材的供应、美好滋味的开发以及美食品牌的孵
文章目录一、概述简介原理模块二、配置Mysql使用版本环境要求1.操作系统2.mysql要求三、配置canal-server离线下载在线下载上传解压修改配置单机配置集群配置分库分表配置1.修改全局配置2.实例配置垂直分库水平分库3.修改group-instance.xml4.启动监听四、配置canal-adapter1修改启动配置2配置映射文件3启动ES数据同步查询所有订阅同步数据同步开关启动4.验证五、配置canal-admin一、概述简介canal是Alibaba旗下的一款开源项目,Java开发。基于数据库增量日志解析,提供增量数据订阅&消费。Git地址:https://github.co
C#实现简易绘图工具一.引言实验目的:通过制作窗体应用程序(C#画图软件),熟悉基本的窗体设计过程以及控件设计,事件处理等,熟悉使用C#的winform窗体进行绘图的基本步骤,对于面向对象编程有更加深刻的体会.Tutorial任务设计一个具有基本功能的画图软件**·包括简单的新建文件,保存,重新绘图等功能**·实现一些基本图形的绘制,包括铅笔和基本形状等,学习橡皮工具的创建**·设计一个合理舒适的UI界面**注明:你可能需要先了解一些关于winform窗体应用程序绘图的基本知识,以及关于GDI+类和结构的知识二.实验环境Windows系统下的visualstudio2017C#窗体应用程序三.
前言一般来说,前端根据后台返回code码展示对应内容只需要在前台判断code值展示对应的内容即可,但要是匹配的code码比较多或者多个页面用到时,为了便于后期维护,后台就会使用字典表让前端匹配,下面我将在微信小程序中通过wxs的方法实现这个操作。为什么要使用wxs?{{method(a,b)}}可以看到,上述代码是一个调用方法传值的操作,在vue中很常见,多用于数据之间的转换,但由于微信小程序诸多限制的原因,你并不能优雅的这样操作,可能有人会说,为什么不用if判断实现呢?但是if判断的局限性在于如果存在数据量过大时,大量重复性操作和if判断会让你的代码显得异常冗余。wxswxs相当于是一个独立
项目介绍随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱小学生兴趣延时班预约小程序的设计与开发被用户普遍使用,为方便用户能够可以随时进行小学生兴趣延时班预约小程序的设计与开发的数据信息管理,特开发了小程序的设计与开发的管理系统。小学生兴趣延时班预约小程序的设计与开发的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与小学生兴趣延时班预约小程序的设计与开发的实际需求相结合,讨论了小学生兴趣延时班预约小程序的设计与开发的使用。开发环境开发说明:前端使用微信微信小程序开发工具:后端使用ssm:VU
@作者:SYFStrive @博客首页:HomePage📜:微信小程序📌:个人社区(欢迎大佬们加入)👉:社区链接🔗📌:觉得文章不错可以点点关注👉:专栏连接🔗💃:感谢支持,学累了可以先看小段由小胖给大家带来的街舞👉微信小程序(🔥)目录自定义组件-behaviors 1、什么是behaviors 2、behaviors的工作方式 3、创建behavior 4、导入并使用behavior 5、behavior中所有可用的节点 6、同名字段的覆盖和组合规则总结最后自定义组件-behaviors 1、什么是behaviorsbehaviors是小程序中,用于实现
需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc
是否可以在所有delayed_job任务之前运行一个方法?基本上,我们试图确保每个运行delayed_job的服务器都有我们代码的最新实例,所以我们想运行一个方法来在每个作业运行之前检查它。(我们已经有了“check”方法并在别处使用它。问题只是关于如何从delayed_job中调用它。) 最佳答案 现在有一种官方方法可以通过插件来做到这一点。这篇博文通过示例清楚地描述了如何执行此操作http://www.salsify.com/blog/delayed-jobs-callbacks-and-hooks-in-rails(本文中描述
我看到其他人也遇到过类似的问题,但没有一个解决方案对我有用。0.3.14gem与其他gem文件一起存在。我已经完全按照此处指示完成了所有操作:https://github.com/brianmario/mysql2.我仍然得到以下信息。我不知道为什么安装程序指示它找不到include目录,因为我已经检查过它存在。thread.h文件存在,但不在ruby目录中。相反,它在这里:C:\RailsInstaller\DevKit\lib\perl5\5.8\msys\CORE\我正在运行Windows7并尝试在Aptana3中构建我的Rails项目。我的Ruby是1.9.3。$gemin
我已经开始使用mysql2gem。我试图弄清楚一些基本的事情——其中之一是如何明确地执行事务(对于批处理操作,比如多个INSERT/UPDATE查询)。在旧的ruby-mysql中,这是我的方法:client=Mysql.real_connect(...)inserts=["INSERTINTO...","UPDATE..WHEREid=..",#etc]client.autocommit(false)inserts.eachdo|ins|beginclient.query(ins)rescue#handleerrorsorabortentirelyendendclient.commi