随着数字艺术创作形式的普及,绘画爱好者对作品创作、展示与交流的数字化需求日益凸显。本文围绕小程序端绘画作品创作与分享社区系统的设计与实现展开研究,旨在为绘画爱好者搭建便捷的创作交流平台。研究首先通过文献调研梳理 Spring Boot 框架技术原理,结合对绘画爱好者群体的访谈调研,明确系统核心需求,涵盖作品发布、在线点评、创作工具集成、作品收藏等核心功能。系统采用前后端分离架构,后端以 Spring Boot 框架为核心搭建服务体系,前端基于 Uni-app 框架开发小程序端交互界面,数据库选用 MySQL 进行数据存储与管理,实现了面向普通用户与管理员双角色的功能体系。普通用户可完成作品创作发布、点评互动、收藏管理等操作,管理员则可对平台内容、用户权限及系统运行状态进行统一管理。该系统的实现有效满足了绘画爱好者的数字化创作分享需求,为绘画艺术的线上传播与交流提供了轻量化、易操作的解决方案。
关键词:绘画作品;创作分享社区;小程序;Spring Boot;Uni-app;前后端分离;MySQL
目 录
[1 绪 论](#1 绪 论)
[1.1 研究背景及意义](#1.1 研究背景及意义)
[1.2 国内外研究现状](#1.2 国内外研究现状)
[1.3 主要研究内容](#1.3 主要研究内容)
[2 开发工具与技术](#2 开发工具与技术)
[2.1 Uni-app开发工具](#2.1 Uni-app开发工具)
[2.2 Java](#2.2 Java)
[2.3 SpringBoot](#2.3 SpringBoot)
[2.4 MySQL](#2.4 MySQL)
[3 系统分析](#3 系统分析)
[3.1 系统可行性分析](#3.1 系统可行性分析)
[3.1.1 技术可行性分析](#3.1.1 技术可行性分析)
[3.1.2 经济可行性分析](#3.1.2 经济可行性分析)
[3.1.3 社会可行性分析](#3.1.3 社会可行性分析)
[3.2 系统功能需求分析](#3.2 系统功能需求分析)
[3.2.1 普通用户/创作者角色功能需求](#3.2.1 普通用户/创作者角色功能需求)
[3.2.2 审核管理员角色功能需求](#3.2.2 审核管理员角色功能需求)
[3.2.3 运营管理员角色功能需求](#3.2.3 运营管理员角色功能需求)
[4 总体设计](#4 总体设计)
[4.3.1 数据库概念设计](#4.3.1 数据库概念设计)
[4.3.2 数据库逻辑设计](#4.3.2 数据库逻辑设计)
[4.3.3 数据库物理设计](#4.3.3 数据库物理设计)
[5 总体设计](#5 总体设计)
[致 谢](#致 谢)
研究背景及意义
随着数字媒体与移动互联网的快速发展,绘画创作逐渐从线下转向线上,绘画爱好者群体持续扩大。传统绘画分享模式多依赖线下展览、社交平台零散发布等形式,普遍存在展示渠道有限、交流互动不足、作品传播范围狭窄、优质内容难以有效聚合等问题,无法为用户提供便捷的创作、展示与高效交流环境,已难以适应当前绘画爱好者多元化、轻量化、即时性的使用需求1。在此背景下,依托小程序轻量化、易传播、跨平台的优势,构建一个集创作、发布、交流、展示于一体的线上社区,具有重要的现实意义与应用价值2。
为实现上述目标,本文采用文献调研与实地访谈相结合的方式开展研究。通过文献调研,系统梳理 Spring Boot、Uni-app 等相关技术框架原理,总结现有艺术分享类平台的设计经验与不足;通过对绘画爱好者进行针对性访谈,全面收集用户在作品发布、在线点评、创作工具使用、作品收藏管理等方面的实际需求,明确系统功能定位与设计重点。在此基础上,设计并实现基于小程序的绘画作品创作与分享社区系统3。
该系统以数字化方式整合绘画创作与分享资源,打通信息传递壁垒,为用户提供便捷的作品展示渠道与沉浸式交流环境,助力创作者快速传播作品、获取专业反馈与交流意见。系统支持多种绘画类型分类、个性化互动设置及内容管理,能够适配不同风格、不同层次创作者的使用习惯4,有效提升绘画分享的效率与体验,为线上绘画创作与交流生态的构建提供有力的技术支撑。
系统功能需求分析
系统功能需求分析是系统设计与实现的核心前提,旨在明确基于小程序的绘画作品创作与分享社区系统的功能边界、用户操作场景及核心业务需求,为后续系统设计、开发及测试提供明确依据。本系统面向三类核心用户,分别为普通用户/创作者、审核管理员、运营管理员,结合各类用户的实际使用需求,明确系统整体功能框架,细化各角色具体功能需求,确保系统功能贴合用户需求、操作便捷、实用性强,具体功能需求分析如下:
3.2.1 普通用户/创作者角色功能需求
普通用户/创作者是本系统的核心使用群体,核心需求是实现绘画作品的创作、发布、分享与互动,其功能需求围绕个人操作、作品管理、互动交流三大维度展开,具体如下:
1.注册与登录:支持本地账号密码注册与登录,登录过程中需输入图形验证码,用于验证用户身份、防范恶意登录,保障账号安全,注册时需完成基础信息填写,确保账号信息的真实性与唯一性。
2.个人信息管理:支持用户维护个人本地信息,包括头像上传与修改、昵称编辑、个人简介撰写、擅长绘画风格设置、常用标签添加及联系方式绑定,方便用户展示个人特色,提升账号辨识度。
3.作品发布:支持用户本地上传单图或多图形式的绘画作品,发布时需填写作品标题、创作描述、相关标签,并选择创作方式(手绘/板绘/AI),提交后等待审核通过即可在平台展示,满足用户作品分享需求。
4.作品浏览:提供多样化浏览模式,用户可按最新发布、热门推荐、关注流三种方式浏览本地作品,便于快速发现优质内容,适配不同用户的浏览习惯。
5.搜索与发现:支持用户按关键词、作者名称、作品标签进行本地搜索,搜索结果精准匹配,同时可进入标签聚合页,查看同一标签下的所有相关作品,帮助用户快速找到感兴趣的内容与创作者。
6.互动功能:支持用户对本地作品进行点赞、评论操作,评论功能支持多级回复,便于用户之间展开深度交流;同时支持收藏感兴趣的作品,方便后续查看与回顾,提升用户互动体验。
7.关注与动态:支持用户关注本地创作者,关注后可实时查看关注作者发布的最新作品,及时获取创作者的创作动态,增强用户与创作者之间的粘性。
8.作品管理:支持用户编辑或删除已发布的本地作品,同时可管理未发布的本地草稿,允许用户随时修改草稿内容、补充作品信息,提升作品发布的灵活性。
9.消息通知:系统自动推送本地消息通知,包括作品被点赞、被评论、被关注等相关提醒,确保用户及时了解自身作品的互动情况与账号动态,提升用户活跃度。
普通用户/创作者角色用例图如图3.1:

3.2.2 审核管理员角色功能需求
审核管理员的核心职责是维护平台内容规范、保障平台环境健康,其功能需求围绕内容审核、违规管理两大维度展开,具体如下:
1.内容审核:负责审核本地所有发布的作品与用户评论,审核后可执行通过、屏蔽、删除操作,对不符合平台规范的内容及时处理,杜绝违规内容传播。
2.举报处理:接收并处理用户提交的本地举报信息,对举报内容进行核实,记录处理结果与处理原因,确保举报事项得到妥善解决,保障用户合法权益。
3.违规管理:对违规用户执行相应的处罚操作,包括警告、限制发布权限、封禁账号,所有处罚操作仅在本地生效,处罚后可查看用户违规记录,便于后续管理。
4.内容分级:设置本地敏感内容标签,对含有敏感内容的作品设置展示限制,制定本地审核规则,确保平台内容符合相关规范,营造健康的创作分享环境。
5.审计记录:可查看本地所有审核日志与历史处理记录,包括作品审核记录、举报处理记录、违规处罚记录,便于追溯管理,确保审核工作透明、可追溯。
审核管理员角色用例图如图3.1:

3.2.3 运营管理员角色功能需求
运营管理员的核心职责是提升平台活跃度、优化平台内容生态,其功能需求围绕平台运营、内容管理、数据统计三大维度展开,具体如下:
1.话题与活动管理:支持创建本地主题活动、话题挑战、征稿活动,设置活动规则、活动时间,吸引用户参与,提升平台活跃度与用户粘性。
2.精选与推荐:负责设置首页本地精选作品、置顶作品,筛选优质内容进行展示,引导用户浏览,提升优质作品的曝光率,打造平台优质内容生态。
3.标签管理:支持新增本地作品标签、合并相似标签、禁用无效标签,同时维护标签热度,根据标签使用频率与互动量更新标签排序,方便用户搜索与内容分类。
4.公告管理:发布本地平台公告、活动通知,同时可编辑、删除已发布的通知,确保用户及时了解平台规则更新、活动安排等重要信息。
5.数据统计:可查看本地平台核心数据指标,包括作品发布量、用户互动量(点赞、评论、收藏)、活跃用户数等,通过数据反馈优化运营策略,提升平台运营效果。
运营管理员角色用例图如图3.1:

系统功能设计
系统功能设计是在系统需求分析与总体架构设计的基础上,对系统核心功能进行模块化划分,明确各功能模块的具体职责与实现目标,确保系统功能贴合三类用户的差异化需求,提升系统的实用性与可操作性。基于小程序的绘画作品创作与分享社区系统根据不同的功能模块及用户角色进行了业务逻辑的划分,主要分为普通用户/创作者模块、审核管理员模块、运营管理员模块,各模块相互独立、协同工作,覆盖系统所有核心业务场景,保障系统功能的完整性与高效性。具体的整体功能架构图如图 4-2 所示

数据库物理设计
数据库的物理设计过程是正确存储数据的关键部分12。在对其关系模式进行标准化之后,开始使用它作为参考来设计数据表。在本设计中,对于其数据表,定义了如下的数据实现过程为:字段属性,字段名,数据类型,长度,主/外键等。其设计如下表 4-12 至表 4-19 所示。
根据用户需求以及具体的功能的设计与实现,表的结构如下。
(1)用户表
用户表主要存储绘画社区小程序的用户基础信息,用于关联系统内所有作品数据、互动数据及管理数据,确保系统数据的统一性和关联性,其结构如表 4-12 所示。
表4-12 用户表
|----------------|--------------|------------|-------------------------|----------------|
| 字段名 | 数据类型 | 长度 | 约束 / 说明 | 主 / 外键 |
| user_id | BIGINT | - | 自增,唯一标识用户 | 主键 |
| username | VARCHAR | 50 | 小程序登录账号,唯一约束 | - |
| nickname | VARCHAR | 50 | 用户展示昵称 | - |
| avatar_url | VARCHAR | 255 | 头像存储 URL(小程序云存储地址) | - |
| intro | VARCHAR | 500 | 个人简介 | - |
| good_style | JSON | - | 擅长绘画风格(如 "油画","板绘") | - |
| user_role | VARCHAR | 20 | 默认值:普通用户;可选:审核管理员 | - |
| account_status | VARCHAR | 20 | 默认值:正常;可选:禁用 / 注销 | - |
| register_time | DATETIME | - | 默认值:CURRENT_TIMESTAMP | - |
(2)作品表
作品表主要存储绘画社区小程序中用户创作的绘画作品核心信息,其结构如表 4-13 所示。
表4-13 作品表
|---------------|--------------|------------|-----------------------|----------------|
| 字段名 | 数据类型 | 长度 | 约束 / 说明 | 主 / 外键 |
| work_id | BIGINT | - | 自增,唯一标识作品 | 主键 |
| author_id | BIGINT | - | 关联用户表 user_id | 外键 |
| work_title | VARCHAR | 100 | 作品标题 | - |
| work_desc | TEXT | - | 作品描述 | - |
| img_urls | JSON | - | 作品图片 URL 列表(多图存储) | - |
| tags | JSON | - | 作品标签(如 "国画","山水") | - |
| create_type | VARCHAR | 20 | 创作类型:手绘 / 板绘 / 数字绘画 | - |
| like_count | INT | - | 默认值:0,作品点赞数 | - |
| collect_count | INT | - | 默认值:0,作品收藏数 | - |
(3)评论表
评论表主要存储绘画社区小程序中用户对作品的评论及回复信息,用于关联系统内的作品数据与用户数据,支撑作品互动交流与评论管理功能,其结构如表 4-14 所示。
表4-14 评论表
|-------------|--------------|------------|------------------------|----------------|
| 字段名 | 数据类型 | 长度 | 约束 / 说明 | 主 / 外键 |
| comment_id | BIGINT | - | 自增,唯一标识评论 | 主键 |
| work_id | BIGINT | - | 关联作品表 work_id | 外键 |
| user_id | BIGINT | - | 关联用户表 user_id | 外键 |
| content | TEXT | - | 评论内容 | - |
| reply_id | BIGINT | - | 关联评论表 comment_id(回复目标) | 外键 |
| status | VARCHAR | 20 | 默认值:正常;可选:删除 / 屏蔽 | - |
| create_time | DATETIME | - | 默认值:CURRENT_TIMESTAMP | - |
(4)互动记录表
互动记录表主要存储绘画社区小程序中用户对作品的点赞、收藏等互动行为信息,其结构如表 4-15 所示。
表4-15 互动记录表
|-------------------------------|--------------|------------|-------------------------|----------------|
| 字段名 | 数据类型 | 长度 | 约束 / 说明 | 主 / 外键 |
| record_id | BIGINT | - | 自增,唯一标识互动记录 | 主键 |
| user_id | BIGINT | - | 关联用户表 user_id | 外键 |
| work_id | BIGINT | - | 关联作品表 work_id | 外键 |
| interact_type | VARCHAR | 20 | 互动类型:点赞 / 收藏 | - |
| interact_time | DATETIME | - | 默认值:CURRENT_TIMESTAMP | - |
| status | TINYINT(1) | - | 0 = 取消 / 1 = 有效(避免重复互动) | - |
| user_id+work_id+interact_type | - | - | 同一用户对同一作品仅一种互动有效(唯一约束) | - |
(5)关注关系表
关注关系表主要存储绘画社区小程序中用户之间的关注与被关注关系信息,用于关联系统内的用户数据,支撑社交关系管理与内容推荐,其结构如表 4-16 所示。
表4-16 关注关系表
|-------------------------|--------------|------------|-----------------------|----------------|
| 字段名 | 数据类型 | 长度 | 约束 / 说明 | 主 / 外键 |
| follow_id | BIGINT | - | 自增,唯一标识关注关系 | 主键 |
| follower_id | BIGINT | - | 关注者 ID,关联用户表 user_id | 外键 |
| followed_id | BIGINT | - | 被关注者 ID,关联用户表 user_id | 外键 |
| follow_time | DATETIME | - | 默认值:CURRENT_TIMESTAMP | - |
| status | TINYINT(1) | - | 0 = 取消关注 / 1 = 正常关注 | - |
| follower_id+followed_id | - | - | 避免重复关注(唯一约束) | - |
(6)审核日志表
审核日志表主要存储绘画社区小程序中管理员对作品、评论及用户的审核操作记录,,其结构如表 4-17 所示。
表4-17 审核日志表
|-------------|--------------|------------|----------------------------|----------------|
| 字段名 | 数据类型 | 长度 | 约束 / 说明 | 主 / 外键 |
| log_id | BIGINT | - | 自增,唯一标识审核日志 | 主键 |
| operator_id | BIGINT | - | 操作人 ID,关联用户表 user_id(管理员) | 外键 |
| target_type | VARCHAR | 20 | 审核目标类型:作品 / 评论 / 用户 | - |
| target_id | BIGINT | - | 审核目标 ID(对应作品 / 评论 / 用户 ID) | - |
| action | VARCHAR | 50 | 操作动作:审核通过 / 审核驳回 / 屏蔽等 | - |
| reason | TEXT | - | 操作原因 | - |
| record_time | DATETIME | - | 默认值:CURRENT_TIMESTAMP | - |
(2)举报信息表
举报信息表主要存储绘画社区小程序中用户对作品、评论及其他用户的举报记录,其结构如表 4-18 所示。
表4-18 举报信息表
|--------------|--------------|------------|----------------------------|----------------|
| 字段名 | 数据类型 | 长度 | 约束 / 说明 | 主 / 外键 |
| report_id | BIGINT | - | 自增,唯一标识举报记录 | 主键 |
| reporter_id | BIGINT | - | 举报者 ID,关联用户表 user_id | 外键 |
| target_type | VARCHAR | 20 | 举报目标类型:作品 / 评论 / 用户 | - |
| target_id | BIGINT | - | 举报目标 ID(对应作品 / 评论 / 用户 ID) | - |
| reason | TEXT | - | 举报原因 | - |
| audit_status | VARCHAR | 20 | 默认值:待处理;可选:已处理 / 已驳回 | - |
| result | TEXT | - | 处理结果 | - |
| report_time | DATETIME | - | 默认值:CURRENT_TIMESTAMP | - |
(8)社区公告表
社区公告表主要存储绘画社区小程序中由管理员发布的各类通知、活动及规则信息,其结构如表 4-19 所示。
表4-19 社区公告表
|---------------|--------------|------------|---------------------------|----------------|
| 字段名 | 数据类型 | 长度 | 约束 / 说明 | 主 / 外键 |
| announce_id | BIGINT | - | 自增,唯一标识公告 | 主键 |
| title | VARCHAR | 100 | 公告标题 | - |
| announce_type | VARCHAR | 20 | 公告类型:通知 / 活动 / 规则 | - |
| content | TEXT | - | 公告内容 | - |
| publisher_id | BIGINT | - | 发布人 ID,关联用户表 user_id(管理员) | 外键 |
| publish_time | DATETIME | - | 默认值:CURRENT_TIMESTAMP | - |
| status | VARCHAR | 20 | 默认值:生效;可选:失效 / 草稿 | - |
总体设计
注册登录模块的实现
功能描述:
图 5-1 展示了绘画作品创作与分享社区小程序的用户登录与注册界面,均采用简洁的表单式设计,适配移动端小程序展示。界面以浅色系为背景,突出核心操作区域,表单内包含用户名、密码等输入项,支持用户快速完成身份验证或账号创建,进入社区系统。整体布局清晰直观,符合移动端用户操作习惯。

主页面模块的实现
功能描述:
图 5-2 展示了绘画作品创作与分享社区小程序的主页面界面,采用卡片式瀑布流布局,适配移动端展示。页面顶部设有搜索栏、创作发布按钮及消息入口,下方通过 "最新""推荐""关注" 等标签分类展示作品卡片,每张卡片包含作品封面、标题、作者及互动数据,便于用户快速浏览、发现与进入作品详情页。整体设计简洁明快,突出作品视觉呈现,符合移动端用户浏览习惯。

作品审核模块的实现

后台管理模块的实现

评论管理模块的实现

总结和展望
本课题针对传统绘画作品交流渠道分散、展示形式单一、互动效率低、内容管理不规范等痛点,结合移动端社交与数字艺术创作的发展趋势,设计并实现了基于微信小程序的绘画作品创作与分享社区系统。系统前端采用小程序原生界面实现,兼顾移动端操作便捷性与视觉体验;后端采用轻量级服务端框架开发,保证了系统的运行稳定与响应效率;数据库采用 MySQL 存储用户信息、绘画作品、评论互动、关注关系、公告内容、审核记录等全量数据,为社区创作、交流、运营管理全流程提供可靠的数据支撑。
系统实现了用户登录注册、个人信息与创作主页管理、绘画作品发布与编辑、作品浏览与多维度搜索、点赞收藏评论、用户关注与粉丝互动、内容审核与合规管理、公告发布与信息推送、后台数据统计与运营分析等核心功能,满足了普通创作者、浏览用户、社区管理员等不同角色的差异化使用需求。通过移动端线上化平台替代传统线下或零散的分享方式,大幅降低了艺术作品的展示门槛与交流成本,提升了信息传播效率与用户互动体验,有效解决了传统绘画分享场景中传播范围小、管理混乱、互动不便、内容质量难以把控等问题,为数字艺术创作与社区交流提供了一体化解决方案。
虽然系统已完成主要功能开发与落地,但仍存在一定不足。受开发周期与个人能力限制,小程序界面的视觉风格与交互细节有待进一步优化,部分操作流程(如作品发布、评论回复)仍可进一步简化,以提升用户使用流畅度。同时,当前作品推荐机制较为基础,以时间排序为主,未实现基于用户兴趣、作品标签、互动行为的智能推荐,内容发现效率有待提升。
未来可从多方面对系统进行迭代与改进:进一步优化小程序界面设计与交互逻辑,提升视觉美观度与操作便捷性,打造更具艺术感与专业性的用户体验;拓展作品导出、在线绘画工具、私信聊天、活动投稿、创作者认证等扩展功能,丰富社区生态;持续优化代码结构与数据库设计,提升系统响应速度、稳定性与扩展性,使系统更贴合艺术创作者与社区用户的实际需求,为移动端绘画创作与分享提供更完善、更专业的平台支持,助力数字艺术创作的普及与发展。