💗博主介绍:✌全网粉丝20W+,CSDN全栈领域优质创作者,博客之星、掘金/华为云/阿里云等平台优质作者,计算机毕设实战导师。目前专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌
💗主要服务内容:免费功能设计、选题定题、开题报告、任务书、程序开发、论文编写和辅导、论文降重、程序讲解、答辩辅导等,欢迎咨询~
👇🏻 精彩专栏 推荐订阅👇🏻
计算机毕业设计精品项目案例(持续更新,值得收藏!)✅
2025-2026年计算机毕业设计选题推荐:计算机专业毕业设计题目大全✅
全网最全计算机毕业设计选题推荐:计算机毕设选题指导及避坑指南✅
🌟文末获取源码+数据库+文档🌟
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以和学长沟通,希望帮助更多的人
一.前言

在数字化浪潮推动下,艺术创作与交易模式正经历深刻变革。传统绘画交易受限于地域与渠道,难以满足多元化需求。微信小程序凭借其便捷性与庞大用户基础,为艺术交易提供了新契机。当前,虽存在部分线上绘画交易平台,但功能单一、互动性差,缺乏集交易、交流、资讯获取于一体的综合性社区。因此,设计并实现一个基于微信小程序的电子绘画交易社区,整合画师、企划方与管理员资源,构建高效、互动、便捷的交易与交流平台,具有重要的现实意义。
本文聚焦于基于微信小程序的电子绘画交易社区的设计与实现。系统划分管理员、画师和企划方三种角色,并针对不同角色设计详细功能模块。企划方可在微信小程序端进行个人信息管理、画师管理、接稿、企划管理、心愿单管理、订单管理,还能参与论坛交流与查看绘画资讯;画师可管理个人信息、橱窗作品,进行企划查看与应征、接稿进度管理、心愿单与订单管理,同样可参与论坛交流;管理员则利用 Echart 对系统核心业务数据进行统计分析与图表展示,同时负责各类用户、作品、交流信息及系统公告、资讯等的管理。通过该系统,实现绘画交易的高效化、互动化与便捷化,满足用户多样化需求。
二.技术环境
jdk版本:1.8 及以上
ide工具:Eclipse或者 IDEA,微信小程序开发工具
数据库: mysql5.7 (必须5.7)
编程语言: Java
java框架:SpringBoot
maven: 3.6.1
详细技术:HTML+CSS+JAVA+SpringBoot+MYSQL+VUE+MAVEN+微信开发工具
三.功能设计
系统将分为管理员、画师和企划方三种角色,具体功能需求如下所示:
(一)企划方模块功能(微信小程序端)
1.个人信息管理模块:可修改个人密码,修改企划方个人名、头像、个人介绍、
2.画师管理模块:可查看画师橱窗、画师个人信息面板、可将画师添加进自己的心愿单,可以与画师进行聊天咨询,
3.接稿模块:可以查看完成进度,在支付成功对应稿件费用后(也就是画师完成后上传到橱窗作品的那件稿件),可下载画师的稿件。
4.企划管理模块:可发布需要的稿件标题、详细要求、稿件类型、稿件预算、稿件相关类型图,查看应征的画师并通过
5.心愿单(类似购物车)管理模块:可删除心愿单、可查看画师橱窗、画师个人信息面板
6.订单管理模块:管理个人订单。
7.论坛交流模块:可以在此交流画师作品、画画心得
8.绘画资讯:可以查看绘画资讯、支持点赞、收藏、评论。
(二)画师模块功能
1.个人信息管理模块:可修改个人密码,修改画师个人名、头像、个人介绍、作品展示、上架橱窗
2.橱窗模块管理:作品示例、作品名称、作品类别、价格、库存、作品详情(包括稿件参数)
3.画师管理模块:可查看画师橱窗、画师个人信息面板(画师个人名、头像、个人介绍、作品展示、上架橱窗)、橱窗里的作品标明价格,除此之外,可回复聊天咨询。
4.企划管理模块:可查看企划信息、应征接稿
5.接稿管理模块:画师接搞后,可以更改完成进度,若已完成则可上传稿件到橱窗作品中。
6.心愿单(类似购物车)管理模块:可删除心愿单、可查看画师橱窗、画师个人信息面板
7.订单管理模块:可以管理自己的订单。
8.论坛交流模块:可以在此交流画师作品、画画心得
(三)管理员模块功能
0.利用Echart对系统核心业务数据进行统计分析,图表展示。
1.个人信息管理模块:可修改个人名称、密码
2.画师管理模块:可查看、增加、删除画师
3.企划方管理模块:可查看、删除画师
4.画师认证管理模块:画师注册时需要提交画师认证,由管理员审理通过
5.画师橱窗管理模块:可删除某些画师橱窗
6.接稿管理模块:可查询和删除接稿信息
7.画师作品类型管理模块:可增加、删除、修改作品类型
8.论坛交流管理模块:可以查看、删除某些交流信息
9.其他模块:首页轮播图管理、推荐画师作品、系统公告管理、绘画资讯管理
程序上交给用户进行使用时,需要提供程序的操作流程图,这样便于用户容易理解程序的具体工作步骤,现如今程序的操作流程都有一个大致的标准,即先通过登录页面提交登录数据,通过程序验证正确之后,用户才能在程序功能操作区页面操作对应的功能。

四.数据设计
我们创建了一个数据库,包含多个表。下面将用文字描述实体、属性和关系。主要关系描述:
画师(huashi) 和 橱窗作品(chuchuangzuopin) 是一对多关系,一个画师可以发布多个作品。在chuchuangzuopin表中,huashizhanghao和huashixingming与huashi表关联
企划方(qihuafang) 和 企划信息(qihuaxinxi) 是一对多关系,一个企划方可以发布多个企划信息。在qihuaxinxi表中,qihuazhanghao和qihuaxingming与qihuafang表关联。
应征接稿(yingzhengjiegao) 表连接了企划信息和画师,是多对多关系的一个中间表(但实际设计是应征记录)。它关联了企划信息(通过crossuserid和crossrefid)和画师(通过huashizhanghao和huashixingming)。
画作提交(huazuotijiao) 表与应征接稿表关联(通过gaojianbiaoti等字段,但未明确外键),同时也关联了用户(yonghuzhanghao, yonghuxingming)和画师(huashizhanghao, huashixingming)。
进度记录(jindujilu) 表与画作提交表关联(通过gaojianbiaoti等字段),同时关联企划方和画师。
购物车(cart) 和 订单(orders) 表都与商品表(chuchuangzuopin)关联,通过tablename和goodid。在cart表中,有一个外键约束指向chuchuangzuopin表的price字段。
论坛(forum) 与 论坛类型(forumtype) 是多对一关系,通过typename关联,并设置了外键。
资讯(news) 与 资讯分类(newstype) 是多对一关系,通过typename关联,并设置了外键。
收藏表(storeup) 用于用户收藏,可以收藏不同的内容(通过tablename和refid指向不同表)。
聊天 相关表:客服聊天(chat)、聊天助手(chathelper)、用户间聊天(chatmessage)和好友表(friend)。
系统日志(syslog) 记录用户操作。
敏感词(sensitivewords) 表存储敏感词。
配置(config) 表存储系统配置。
充值记录(chargerecord) 记录用户充值。
地址(address) 表存储用户地址,userid关联用户。
评论表(discusschuchuangzuopin) 用于评论橱窗作品。
论坛举报(forumreport) 用于举报论坛帖子。
token表 用于用户登录令牌。
五.部分效果展示
5.1用户微信端功能实现效果








5.2管理员后台管理服务端功能实现效果





5.3画师后台管理服务端功能实现效果





部分功能代码
/**
* 上传文件
*/
@RequestMapping("/upload")
@IgnoreAuth
public R upload(@RequestParam("file") MultipartFile file,String type) throws Exception {
if (file.isEmpty()) {
throw new EIException("上传文件不能为空");
}
String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1);
File path = new File(ResourceUtils.getURL("classpath:static").getPath());
if(!path.exists()) {
path = new File("");
}
File upload = new File(path.getAbsolutePath(),"/upload/");
if(!upload.exists()) {
upload.mkdirs();
}
String fileName = new Date().getTime()+"."+fileExt;
if(StringUtils.isNotBlank(type) && type.contains("_template")) {
fileName = type + "."+fileExt;
new File(upload.getAbsolutePath()+"/"+fileName).deleteOnExit();
}
File dest = new File(upload.getAbsolutePath()+"/"+fileName);
file.transferTo(dest);
if(StringUtils.isNotBlank(type) && type.equals("1")) {
ConfigEntity configEntity = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile"));
if(configEntity==null) {
configEntity = new ConfigEntity();
configEntity.setName("faceFile");
configEntity.setValue(fileName);
} else {
configEntity.setValue(fileName);
}
configService.insertOrUpdate(configEntity);
}
return R.ok().put("file", fileName);
}
/**
* 登录
*/
@IgnoreAuth
@RequestMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
YonghuEntity u = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuzhanghao", username));
if(u==null || !u.getMima().equals(password)) {
return R.error("账号或密码不正确");
}
String token = tokenService.generateToken(u.getId(), username,"yonghu", "用户" );
return R.ok().put("token", token);
}
/**
* 注册
*/
@IgnoreAuth
@RequestMapping("/register")
public R register(@RequestBody YonghuEntity yonghu){
//ValidatorUtils.validateEntity(yonghu);
YonghuEntity u = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuzhanghao", yonghu.getYonghuzhanghao()));
if(u!=null) {
return R.error("注册用户已存在");
}
Long uId = new Date().getTime();
yonghu.setId(uId);
yonghuService.insert(yonghu);
return R.ok();
}
源码及文档获取
文章下方名片联系我即可~
大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻
精彩专栏推荐订阅:在下方专栏👇🏻
最新计算机毕业设计选题篇-选题推荐
小程序毕业设计精品项目案例-200套
Java毕业设计精品项目案例-200套
Python毕业设计精品项目案例-200套
大数据毕业设计精品项目案例-200套
💟💟如果大家有任何疑虑,欢迎在下方位置详细交流。

1207

被折叠的 条评论
为什么被折叠?



