摘要
本论文设计与实现了一个基于微信小程序的中医交流论坛,旨在为中医爱好者提供一个在线交流和分享的平台。该论坛系统通过微信小程序的便捷性和普及性,将中医知识的传播与交流推向更广泛的群体。
首先,本论文对中医交流的需求进行了深入分析,并结合市场调研和用户反馈,确定了论坛系统的功能需求和特点。然后,利用微信小程序的开发框架和工具,快速搭建了整个论坛系统的骨架,提供了统一的界面和交互体验。
论坛系统主要包括以下几个模块:用户模块、中医知识管理、医生科普管理、私聊信息管理、举报信息管理、举报提醒管理、用户提问管理、系统管理(轮播图管理)、公告消息管理、资源管理等模块。
在系统的设计与实现过程中,采用了前后端分离的架构,前端使用微信小程序框架开发,提供良好的用户界面和交互效果;后端使用Spring Boot框架搭建RESTful API,处理用户请求并与数据库进行交互。同时,使用MySQL作为数据存储的主要方式,结合MyBatis框架实现对数据的持久化操作。
通过系统的实际测试和用户反馈,验证了基于微信小程序的中医交流论坛系统的设计与实现的有效性和可行性。用户对系统的易用性、功能丰富性和学术交流氛围等方面给予了积极的评价。该论坛系统填补了中医交流领域的空白,为广大中医爱好者提供了一个便捷而专业的交流平台。
总之,基于微信小程序的中医交流论坛系统的设计与实现充分利用了微信小程序的便捷性和普及性,为中医爱好者提供了在线交流和分享的平台。该系统不仅具有良好的用户体验和可扩展性,而且满足了中医爱好者的交流需求,对于促进中医知识的传播和学术交流具有重要意义。
关键词:SpringBoot;中医交流论坛系统;微信小程序;设计与实现
Abstract
This paper designs and implements a traditional Chinese medicine communication forum based on WeChat mini programs, aiming to provide an online communication and sharing platform for traditional Chinese medicine enthusiasts. The forum system promotes the dissemination and exchange of traditional Chinese medicine knowledge to a wider audience through the convenience and popularity of WeChat mini programs.
Firstly, this paper conducts an in-depth analysis of the needs for traditional Chinese medicine communication, and combines market research and user feedback to determine the functional requirements and characteristics of the forum system. Then, using the development framework and tools of WeChat mini programs, the framework of the entire forum system was quickly built, providing a unified interface and interactive experience.
The forum system mainly includes the following modules: user module, traditional Chinese medicine knowledge management, doctor science popularization management, private chat information management, report information management, report reminder management, user question management, system management (carousel management), announcement message management, resource management, and other modules.
In the design and implementation process of the system, a front-end and back-end separation architecture was adopted, and the front-end was developed using the WeChat mini program framework, providing a good user interface and interaction effect; The backend uses the Spring Boot framework to build a RESTful API, process user requests, and interact with the database. At the same time, using MySQL as the main method of data storage, combined with the MyBatis framework to achieve persistent operations on data.
The effectiveness and feasibility of the design and implementation of a traditional Chinese medicine communication forum system based on WeChat mini programs have been verified through actual testing of the system and user feedback. Users have given positive feedback on the system's usability, rich functionality, and academic exchange atmosphere. This forum system fills the gap in the field of traditional Chinese medicine communication and provides a convenient and professional communication platform for Chinese medicine enthusiasts.
In summary, the design and implementation of a traditional Chinese medicine communication forum system based on WeChat mini programs fully utilize the convenience and popularity of WeChat mini programs, providing an online communication and sharing platform for traditional Chinese medicine enthusiasts. This system not only has a good user experience and scalability, but also meets the communication needs of traditional Chinese medicine enthusiasts, which is of great significance for promoting the dissemination of traditional Chinese medicine knowledge and academic exchange.
Keywords: SpringBoot; Traditional Chinese Medicine Exchange Forum System; WeChat Mini Program; Design and Implementation
目录
1 绪论
中医作为中国传统医学的重要组成部分,具有悠久的历史和丰富的理论体系。然而,随着现代生活方式的改变和西方医学的影响,中医逐渐面临知识传承和交流的困境。同时,许多中医爱好者和学习者对于中医知识的获取和学术交流也存在一定的难度。
中医拥有庞大的理论知识和实践经验,但如何将这些知识有效地传播给更广泛的群体是一个挑战。基于微信小程序的中医交流论坛系统可以提供一个便捷、快速分享和获取中医知识的平台,促进中医知识的传播和学习。
同时,中医领域存在众多的中医爱好者、学习者和从业者,他们希望能够互相交流、分享经验和探讨学术问题。通过设计一个中医交流论坛系统,可以促进中医爱好者之间的学术交流和知识共享,提高整个中医领域的学术水平。
而传统的中医交流主要依赖于线下的学术会议和讲座,限制了人们参与的时间和地点。基于微信小程序的中医交流论坛系统可以打破时空限制,构建一个线上的中医学术社区,方便中医爱好者随时随地参与学术交流和互动。
随着科技的不断进步,将中医与现代信息技术相结合,有助于推动中医的发展和传承。通过设计与实现基于微信小程序的中医交流论坛系统,可以利用微信平台的普及性和便捷性,为更多人提供中医知识和学术交流的机会。
综上所述,基于微信小程序的中医交流论坛系统的设计与实现在当前中医知识传播和学术交流的背景下具有重要的研究背景。该系统能够促进中医知识的传播和学习、推动中医学术交流和知识共享、构建线上的中医学术社区,并为中医发展与传承提供科技支持。
1.2 课题现状
微信小程序作为一种轻量级的应用形式,已经被广泛应用于各个领域。在中医领域,也有一些基于微信小程序的应用,主要包括中医诊断辅助、中药查询和提问挂号等方面。
在线学术社区为学者和研究者提供了一个平台来分享研究成果、讨论问题和建立合作关系。在国内外,有一些学术社区类网站和应用,如ResearchGate、Academia.edu等,为不同学科的研究人员提供了学术交流和合作的平台。
中医知识共享平台旨在整合中医领域的知识资源,包括中医书籍、论文、课程等,以便于用户获取和学习中医知识。这些平台通常提供搜索功能和在线阅读,但缺乏用户之间的互动和交流。
综上所述,尽管目前关于基于微信小程序的中医交流论坛系统的研究尚不多见,但在相关领域中已经存在一些相关的应用和平台。然而,这些现有的应用和平台大多集中在特定功能上,如诊断辅助、知识查询等,并未全面满足中医爱好者之间交流和学术互动的需求。
因此,本论文的设计与实现基于微信小程序的中医交流论坛系统填补了这一领域的空白。通过结合微信小程序的便捷性和普及性,为中医爱好者提供一个在线交流和分享的平台,促进中医知识的传播和学术交流。
1.3系统开发技术的特色
(1)系统采用前后端分离的开发模式,使得前端和后端可以独立开发和维护,提高了开发效率和系统的可维护性。
(2)系统采用微服务架构,将系统拆分成多个独立的服务,每个服务可以独立部署和扩展,提高了系统的灵活性和可扩展性。
(3)系统采用 Docker 容器化部署技术,使得系统可以快速部署和迁移,提高了系统的可靠性和可移植性。
(4)系统采用自动化测试技术,包括单元测试、接口测试和性能测试等,提高了系统的稳定性和可靠性。
(5)系统采用安全保障技术,包括用户认证、授权、数据加密等,保障了系统的安全性和用户的隐私。
这些技术特色使得基于 Spring Boot 的中医交流论坛具有高效、稳定、可靠、安全等优点,能够满足用户的需求和提高用户的体验。
2 基于微信小程序的中医交流论坛分析
基于微信小程序的中医交流论坛可在微信端实现查看公告消息、中医知识、医生科普、用户提问、中医资讯等操作,相对于中医交流方式,基于微信小程序的中医交流论坛提高了效率和便利性。在后台可对中医知识、医生科普、私聊信息、举报信息、举报提醒、用户提问、系统轮播图、公告消息、中医资讯进行管理,充分了解用户的需求,更有针对性的服务用户。
2.1可行性分析
2.1.1技术可行性分析
基于微信小程序的中医交流论坛存储所使用的mysql数据库以及开发中所使用的IDEA、Tomcat这些开发工具的使用,能够给我们的编写工作带来许多的便利。系统使用SSM框架进行开发,使系统的可扩展性和维护性更佳,减少java配置代码,简化编程代码,目前springboot框架也是很多企业选择的框架之一。
2.1.2经济可行性分析
在开发基于微信小程序的中医交流论坛中所使用的开发软件像IDEA开发工具、Tomcat8.0服务器、MySQL5.7数据库、Photoshop图片处理软件等,这些都是开源免费的,并且基于微信小程序的中医交流论坛是自己设计并编码实现的,数据库是使用流行mysql进行数据的存储,开源的mysql等技术的使用,减少系统开发费用。
2.1.3操作可行性分析
在日常生活中,随着小程序的快速推广和使用,越来越多人掌握小程序的使用方法,基于微信小程序的中医交流论坛在这种条件背景下是很容易被人们所接受和熟悉的,所以在操作上没任何问题。
2.2功能需求分析
基于微信小程序的中医交流论坛中的web后台管理端采用了IntelliJ IDEA 2019.3.4 开发工具,配合了java开发语言中SSM开发框架以及tomcat8.0服务器、jdk1.8,微信端采用了微信开发者工具稳定版1.05.2111300,页面使用wxss和wxml进行布局,微信端和web后台管理端采用json接口通信。
1.医生用户功能分析:
登录注册:医生用户可以通过注册账号并登录来使用论坛的功能。
首页:展示论坛的最新内容,包括公告消息、中医知识、医生科普等。
公告消息:管理员可以发布公告消息,医生用户可以查看和阅读公告。
中医知识:提供中医相关的知识内容,医生用户可以浏览和学习。
医生科普:医生用户可以发布科普文章,分享医疗经验和知识。
用户提问:医生用户可以回答普通用户提出的问题,提供咨询和建议。
中医资讯:提供最新的中医资讯和行业动态。
我的:
基本信息:医生用户可以查看和编辑个人基本信息。
收藏:医生用户可以收藏自己喜欢的内容。
医生科普:医生用户可以发布科普文章。
私聊信息:医生用户可以与其他用户进行私聊。
举报提醒:接收关于举报的提醒消息。
2.普通用户功能分析:
登录注册:普通用户可以通过注册账号并登录来使用论坛的功能。
首页:展示论坛的最新内容,包括公告消息、中医知识、医生科普等。
公告消息:管理员可以发布公告消息,普通用户可以查看和阅读公告。
中医知识:提供中医相关的知识内容,普通用户可以浏览和学习。
医生科普:普通用户可以浏览医生发布的科普文章。
用户提问:普通用户可以向医生用户提出问题,获取咨询和建议。
中医资讯:提供最新的中医资讯和行业动态。
我的:
基本信息:普通用户可以查看和编辑个人基本信息。
收藏:普通用户可以收藏自己喜欢的内容。
私聊信息:普通用户可以查看和医生的私聊记录。
举报信息:普通用户可以举报不良信息。
用户提问:普通用户可以管理自己提出的问题。
3.管理员功能分析:
后台首页:管理员可以查看论坛的整体运行情况和数据统计。
系统用户:管理员可以管理医生用户和普通用户的账号和权限。
中医知识管理:管理员可以发布、编辑和删除中医知识内容。
医生科普管理:管理员可以审核、编辑和删除医生发布的科普文章。
私聊信息管理:管理员可以查看和管理用户之间的私聊信息。
举报信息管理:管理员可以处理用户举报的不良信息。
举报提醒管理:管理员可以查看和处理与举报相关的提醒消息。
用户提问管理:管理员可以查看和管理用户提出的问题。
系统管理:
轮播图管理:管理员可以管理论坛首页的轮播图展示。
公告消息管理:管理员可以发布、编辑和删除公告消息。
资源管理:管理员可以发布、编辑和删除中医资讯及其分类。
以上是基于微信小程序的中医交流论坛的功能需求分析,每个用户类型都有特定的功能和权限,管理员拥有最高的权限来管理论坛的运行和内容。
基于微信小程序的中医交流论坛的完整UML用例图分别是图2-1,图2-2,图2-3。在参与者上包括普通用户、医生用户、管理员。
医生用户角色的用例包括登陆注册、首页、公告消息、中医知识、医生科普、用户提问、中医资讯、我的(基本信息、收藏、医生科普、私聊信息、举报提醒)。

图2-1 基于微信小程序的中医交流论坛医生用户角色用例图
普通用户角色的用例包括登陆注册、首页、公告消息、中医知识、医生科普、用户提问、中医资讯、我的(基本信息、收藏、私聊信息、举报信息、用户提问)。

图2-2 基于微信小程序的中医交流论坛普通用户角色用例图
管理员角色的用例包括后台首页、系统用户、中医知识管理、医生科普管理、私聊信息管理、举报信息管理、举报提醒管理、用户提问管理、系统管理、公告消息管理、资源管理。
图2-3 基于微信小程序的中医交流论坛管理员角色用例图
3基于微信小程序的中医交流论坛总体设计
在上一章节中分析了基于微信小程序的中医交流论坛的功能性需求,并且根据需求分析了基于微信小程序的中医交流论坛中的用例。那么接下来就要开始对基于微信小程序的中医交流论坛架构、主要功能和数据库开始进行设计。
3.1系统功能模块设计
通过对基于微信小程序的中医交流论坛的功能需求分析以及用例分析,得出了基于微信小程序的中医交流论坛的功能模块图如图3-1所示。

3.3数据库设计
3.3.1 数据库E-R模型
下面是整个基于微信小程序的中医交流论坛的数据库表的E-R实体关系图,如图3-2所示:
3.3.2 数据库表设计
通过上一小节中基于django的凤冈县公安局证据管理系统中总E-R关系图上得出一共需要创建很多个数据表。在此我主要罗列几个主要的数据库表结构设计。
表access_token (登陆访问时长)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | token_id | int | 10 | 0 | N | Y | 临时访问牌ID | |
2 | token | varchar | 64 | 0 | Y | N | 临时访问牌 | |
3 | info | text | 65535 | 0 | Y | N | ||
4 | maxage | int | 10 | 0 | N | N | 2 | 最大寿命:默认2小时 |
5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
7 | user_id | int | 10 | 0 | N | N | 0 | 用户编号: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | article_id | mediumint | 8 | 0 | N | Y | 文章id:[0,8388607] | |
2 | title | varchar | 125 | 0 | N | Y | 标题:[0,125]用于文章和html的title标签中 | |
3 | type | varchar | 64 | 0 | N | N | 0 | 文章分类:[0,1000]用来搜索指定类型的文章 |
4 | hits | int | 10 | 0 | N | N | 0 | 点击数:[0,1000000000]访问这篇文章的人次 |
5 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
6 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
8 | source | varchar | 255 | 0 | Y | N | 来源:[0,255]文章的出处 | |
9 | url | varchar | 255 | 0 | Y | N | 来源地址:[0,255]用于跳转到发布该文章的网站 | |
10 | tag | varchar | 255 | 0 | Y | N | 标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开 | |
11 | content | longtext | 2147483647 | 0 | Y | N | 正文:文章的主体内容 | |
12 | img | varchar | 255 | 0 | Y | N | 封面图 | |
13 | description | text | 65535 | 0 | Y | N | 文章描述 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | type_id | smallint | 5 | 0 | N | Y | 分类ID:[0,10000] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000]决定分类显示的先后顺序 |
3 | name | varchar | 16 | 0 | N | N | 分类名称:[2,16] | |
4 | father_id | smallint | 5 | 0 | N | N | 0 | 上级分类ID:[0,32767] |
5 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该分类的作用 | |
6 | icon | text | 65535 | 0 | Y | N | 分类图标: | |
7 | url | varchar | 255 | 0 | Y | N | 外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置 | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | auth_id | int | 10 | 0 | N | Y | 授权ID: | |
2 | user_group | varchar | 64 | 0 | Y | N | 用户组: | |
3 | mod_name | varchar | 64 | 0 | Y | N | 模块名: | |
4 | table_name | varchar | 64 | 0 | Y | N | 表名: | |
5 | page_title | varchar | 255 | 0 | Y | N | 页面标题: | |
6 | path | varchar | 255 | 0 | Y | N | 路由路径: | |
7 | position | varchar | 32 | 0 | Y | N | 位置: | |
8 | mode | varchar | 32 | 0 | N | N | _blank | 跳转方式: |
9 | add | tinyint | 3 | 0 | N | N | 1 | 是否可增加: |
10 | del | tinyint | 3 | 0 | N | N | 1 | 是否可删除: |
11 | set | tinyint | 3 | 0 | N | N | 1 | 是否可修改: |
12 | get | tinyint | 3 | 0 | N | N | 1 | 是否可查看: |
13 | field_add | text | 65535 | 0 | Y | N | 添加字段: | |
14 | field_set | text | 65535 | 0 | Y | N | 修改字段: | |
15 | field_get | text | 65535 | 0 | Y | N | 查询字段: | |
16 | table_nav_name | varchar | 500 | 0 | Y | N | 跨表导航名称: | |
17 | table_nav | varchar | 500 | 0 | Y | N | 跨表导航: | |
18 | option | text | 65535 | 0 | Y | N | 配置: | |
19 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | collect_id | int | 10 | 0 | N | Y | 收藏ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 收藏人ID: |
3 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
4 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
5 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
6 | title | varchar | 255 | 0 | Y | N | 标题: | |
7 | img | varchar | 255 | 0 | Y | N | 封面: | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | comment_id | int | 10 | 0 | N | Y | 评论ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 评论人ID: |
3 | reply_to_id | int | 10 | 0 | N | N | 0 | 回复评论ID:空为0 |
4 | content | longtext | 2147483647 | 0 | Y | N | 内容: | |
5 | nickname | varchar | 255 | 0 | Y | N | 昵称: | |
6 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
9 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
10 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
11 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
表doctors_science_popularization (医生科普)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | doctors_science_popularization_id | int | 10 | 0 | N | Y | 医生科普ID | |
2 | doctor_users | int | 10 | 0 | Y | N | 0 | 医生用户 |
3 | science_popularization_title | varchar | 64 | 0 | Y | N | 科普标题 | |
4 | science_popularization_type | varchar | 64 | 0 | Y | N | 科普类型 | |
5 | science_popularization_label | varchar | 64 | 0 | Y | N | 科普标签 | |
6 | science_popularization_description | varchar | 64 | 0 | Y | N | 科普描述 | |
7 | cover_photo | varchar | 255 | 0 | Y | N | 封面图片 | |
8 | science_popularization_content | text | 65535 | 0 | Y | N | 科普内容 | |
9 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | doctor_users_id | int | 10 | 0 | N | Y | 医生用户ID | |
2 | doctors_name | varchar | 64 | 0 | Y | N | 医生姓名 | |
3 | doctors_gender | varchar | 64 | 0 | Y | N | 医生性别 | |
4 | doctors_age | varchar | 64 | 0 | Y | N | 医生年龄 | |
5 | doctors_certificate | varchar | 255 | 0 | Y | N | 医生证明 | |
6 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
7 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | hits_id | int | 10 | 0 | N | Y | 点赞ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | notice_id | mediumint | 8 | 0 | N | Y | 公告id: | |
2 | title | varchar | 125 | 0 | N | N | 标题: | |
3 | content | longtext | 2147483647 | 0 | Y | N | 正文: | |
4 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
5 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | praise_id | int | 10 | 0 | N | Y | 点赞ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
8 | status | bit | 1 | 0 | N | N | 1 | 点赞状态:1为点赞,0已取消 |
表private_chat_information (私聊信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | private_chat_information_id | int | 10 | 0 | N | Y | 私聊信息ID | |
2 | doctor_users | int | 10 | 0 | Y | N | 0 | 医生用户 |
3 | science_popularization_title | varchar | 64 | 0 | Y | N | 科普标题 | |
4 | science_popularization_type | varchar | 64 | 0 | Y | N | 科普类型 | |
5 | private_chat_users | int | 10 | 0 | Y | N | 0 | 私聊用户 |
6 | user_information | text | 65535 | 0 | Y | N | 用户信息 | |
7 | doctor_information | text | 65535 | 0 | Y | N | 医生信息 | |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | regular_users_id | int | 10 | 0 | N | Y | 普通用户ID | |
2 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
3 | user_gender | varchar | 64 | 0 | Y | N | 用户性别 | |
4 | user_age | varchar | 64 | 0 | Y | N | 用户年龄 | |
5 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
6 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | reporting_information_id | int | 10 | 0 | N | Y | 举报信息ID | |
2 | doctor_users | int | 10 | 0 | Y | N | 0 | 医生用户 |
3 | science_popularization_title | varchar | 64 | 0 | Y | N | 科普标题 | |
4 | science_popularization_type | varchar | 64 | 0 | Y | N | 科普类型 | |
5 | private_chat_users | int | 10 | 0 | Y | N | 0 | 私聊用户 |
6 | user_information | text | 65535 | 0 | Y | N | 用户信息 | |
7 | doctor_information | text | 65535 | 0 | Y | N | 医生信息 | |
8 | reporting_time | datetime | 19 | 0 | Y | N | 举报时间 | |
9 | report_content | text | 65535 | 0 | Y | N | 举报内容 | |
10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | reporting_reminder_id | int | 10 | 0 | N | Y | 举报提醒ID | |
2 | doctor_users | int | 10 | 0 | Y | N | 0 | 医生用户 |
3 | science_popularization_title | varchar | 64 | 0 | Y | N | 科普标题 | |
4 | science_popularization_type | varchar | 64 | 0 | Y | N | 科普类型 | |
5 | reporting_time | datetime | 19 | 0 | Y | N | 举报时间 | |
6 | report_content | text | 65535 | 0 | Y | N | 举报内容 | |
7 | reminder_time | datetime | 19 | 0 | Y | N | 提醒时间 | |
8 | reminder_content | text | 65535 | 0 | Y | N | 提醒内容 | |
9 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | sensitive_vocabulary_id | int | 10 | 0 | N | Y | 敏感词汇ID | |
2 | sensitive_vocabulary | varchar | 64 | 0 | Y | N | 敏感词汇 | |
3 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | slides_id | int | 10 | 0 | N | Y | 轮播图ID: | |
2 | title | varchar | 64 | 0 | Y | N | 标题: | |
3 | content | varchar | 255 | 0 | Y | N | 内容: | |
4 | url | varchar | 255 | 0 | Y | N | 链接: | |
5 | img | varchar | 255 | 0 | Y | N | 轮播图: | |
6 | hits | int | 10 | 0 | N | N | 0 | 点击量: |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表traditional_chinese_medicine_knowledge (中医知识)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | traditional_chinese_medicine_knowledge_id | int | 10 | 0 | N | Y | 中医知识ID | |
2 | knowledge_title | varchar | 64 | 0 | Y | N | 知识标题 | |
3 | knowledge_type | varchar | 64 | 0 | Y | N | 知识类型 | |
4 | knowledge_tags | varchar | 64 | 0 | Y | N | 知识标签 | |
5 | knowledge_description | varchar | 64 | 0 | Y | N | 知识描述 | |
6 | cover_photo | varchar | 255 | 0 | Y | N | 封面图片 | |
7 | knowledge_content | longtext | 2147483647 | 0 | Y | N | 知识内容 | |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | upload_id | int | 10 | 0 | N | Y | 上传ID | |
2 | name | varchar | 64 | 0 | Y | N | 文件名 | |
3 | path | varchar | 255 | 0 | Y | N | 访问路径 | |
4 | file | varchar | 255 | 0 | Y | N | 文件路径 | |
5 | display | varchar | 255 | 0 | Y | N | 显示顺序 | |
6 | father_id | int | 10 | 0 | Y | N | 0 | 父级ID |
7 | dir | varchar | 255 | 0 | Y | N | 文件夹 | |
8 | type | varchar | 32 | 0 | Y | N | 文件类型 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | user_id | mediumint | 8 | 0 | N | Y | 用户ID:[0,8388607]用户获取其他与用户相关的数据 | |
2 | state | smallint | 5 | 0 | N | N | 1 | 账户状态:[0,10](1可用|2异常|3已冻结|4已注销) |
3 | user_group | varchar | 32 | 0 | Y | N | 所在用户组:[0,32767]决定用户身份和权限 | |
4 | login_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 上次登录时间: |
5 | phone | varchar | 11 | 0 | Y | N | 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时 | |
6 | phone_state | smallint | 5 | 0 | N | N | 0 | 手机认证:[0,1](0未认证|1审核中|2已认证) |
7 | username | varchar | 16 | 0 | N | N | 用户名:[0,16]用户登录时所用的账户名称 | |
8 | nickname | varchar | 16 | 0 | Y | N | 昵称:[0,16] | |
9 | password | varchar | 64 | 0 | N | N | 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成 | |
10 | | varchar | 64 | 0 | Y | N | 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时 | |
11 | email_state | smallint | 5 | 0 | N | N | 0 | 邮箱认证:[0,1](0未认证|1审核中|2已认证) |
12 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
13 | open_id | varchar | 255 | 0 | Y | N | 针对获取用户信息字段 | |
14 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
15 | vip_level | varchar | 255 | 0 | Y | N | 会员等级 | |
16 | vip_discount | double | 11 | 2 | Y | N | 0.00 | 会员折扣 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | group_id | mediumint | 8 | 0 | N | Y | 用户组ID:[0,8388607] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000] |
3 | name | varchar | 16 | 0 | N | N | 名称:[0,16] | |
4 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该用户组的特点或权限范围 | |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
8 | register | smallint | 5 | 0 | Y | N | 0 | 注册位置: |
9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | user_questions_id | int | 10 | 0 | N | Y | 用户提问ID | |
2 | publish_users | int | 10 | 0 | Y | N | 0 | 发布用户 |
3 | question_title | varchar | 64 | 0 | Y | N | 提问标题 | |
4 | question_type | varchar | 64 | 0 | Y | N | 提问类型 | |
5 | question_tags | varchar | 64 | 0 | Y | N | 提问标签 | |
6 | cover_photo | varchar | 255 | 0 | Y | N | 封面图片 | |
7 | question_content | text | 65535 | 0 | Y | N | 提问内容 | |
8 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
9 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
4 基于微信小程序的中医交流论坛关键模块实现
基于微信小程序的中医交流论坛划分了微信小程序用户端和web后台管理员端,微信端登陆注册、首页、公告消息、中医知识、医生科普、用户提问、中医资讯、我的等功能,web端是为后台管理员提供系统用户、中医知识管理、医生科普管理、私聊信息管理、举报信息管理、举报提醒管理、用户提问管理、系统管理(轮播图管理)、公告消息管理、资源管理的平台。
4.1 前台微信端
4.1.1 用户注册界面
不是基于微信小程序的中医交流论坛的用户可以通过微信小程序在线进行注册,填写上自己的账号、密码、重复密码、昵称、邮箱登信息后点击“提交”按钮后将会验证是否有非空数据,再验证密码和重复密码是否一样,最后验证是否账号重复,都验证没问题后即可注册成功。其用户注册界面展示如下图4-1所示。
图4-1用户注册界面图
注册页UserController.java,传入user对象,并将"user_id"、 "state"、 "user_group"、"login_time"、"phone"、"phone_state"、 "username"、"nickname"、"password"、"email"、"email_state"、"avatar"、"create_time"输入,重点是 "username"、"nickname"、"password"必须输入,通过获取username,数据库查询是否有该用户,如果存在,则提示“用户已存在”,否则执行将UserId置为空(数据库表中该字段已设置自动递增),代码如下:
/**
* 注册
* @param user
* @return
*/
@PostMapping("register")
public Map<String, Object> signUp(@RequestBody User user) {
// 查询用户
Map<String, String> query = new HashMap<>();
Map<String,Object> map = JSON.parseObject(JSON.toJSONString(user));
query.put("username",user.getUsername());
List list = service.selectBaseList(service.select(query, new HashMap<>()));
if (list.size()>0){
return error(30000, "用户已存在");
}
map.put("password",service.encryption(String.valueOf(map.get("password"))));
service.insert(map);
return success(1);
}
4.1.2 用户登录界面
微信小程序上注册后的用户可以通过自己的用户名和密码进行登录,在用户填写好自己的用户名和密码信息并点击“登录”按钮后,将会先验证是否有非空数据,再验证填写的用户信息和数据库中保存的是否一致,一致后将会登录成功,登录成功后将会在左上角上显示用户信息;否则将会提示相应错误信息,用户登录界面如下图4-2所示。
图4-2用户登录界面图
登录页,首先传入"username"、"email"、"phone"、"password",用户可通过用户名、邮箱、手机号进行登陆,通过判断resultList来确定查询结果,然后执行查询用户组UserGroup,用户组里面不存在,依然报“用户不存在”,执行完以上代码,最后涉及到用户带有“审核”的,会查询examine_state(用户的审核状态),数据库表user_group中含有source_table和source_field进行查询,以上步骤完成,对输入的密码进行存储Token到数据库,匹对账号和密码,数据库中的AccessToken为令牌,用于身份认证,其代码如下:
/**
* 登录
* @param data
* @param httpServletRequest
* @return
*/
@PostMapping("login")
public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {
log.info("[执行登录接口]");
String username = data.get("username");
String email = data.get("email");
String phone = data.get("phone");
String password = data.get("password");
List resultList = null;
Map<String, String> map = new HashMap<>();
if(username != null && "".equals(username) == false){
map.put("username", username);
resultList = service.selectBaseList(service.select(map, new HashMap<>()));
}
else if(email != null && "".equals(email) == false){
map.put("email", email);
resultList = service.selectBaseList(service.select(map, new HashMap<>()));
}
else if(phone != null && "".equals(phone) == false){
map.put("phone", phone);
resultList = service.selectBaseList(service.select(map, new HashMap<>()));
}else{
return error(30000, "账号或密码不能为空");
}
if (resultList == null || password == null) {
return error(30000, "账号或密码不能为空");
}
//判断是否有这个用户
if (resultList.size()<=0){
return error(30000,"用户不存在");
}
User byUsername = (User) resultList.get(0);
Map<String, String> groupMap = new HashMap<>();
groupMap.put("name",byUsername.getUserGroup());
List groupList = userGroupService.selectBaseList(userGroupService.select(groupMap, new HashMap<>()));
if (groupList.size()<1){
return error(30000,"用户组不存在");
}
UserGroup userGroup = (UserGroup) groupList.get(0);
//查询用户审核状态
if (!StringUtils.isEmpty(userGroup.getSourceTable())){
String res = service.selectExamineState(userGroup.getSourceTable(),byUsername.getUserId());
if (res==null){
return error(30000,"用户不存在");
}
if (!res.equals("已通过")){
return error(30000,"该用户审核未通过");
}
}
//查询用户状态
if (byUsername.getState()!=1){
return error(30000,"用户非可用状态,不能登录");
}
String md5password = service.encryption(password);
if (byUsername.getPassword().equals(md5password)) {
// 存储Token到数据库
AccessToken accessToken = new AccessToken();
accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));
accessToken.setUser_id(byUsername.getUserId());
Duration duration = Duration.ofSeconds(7200L);
redisTemplate.opsForValue().set(accessToken.getToken(), accessToken,duration);
// 返回用户信息
JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));
user.put("token", accessToken.getToken());
JSONObject ret = new JSONObject();
ret.put("obj",user);
return success(ret);
} else {
return error(30000, "账号或密码不正确");
}
}
输入有效的用户名和密码信息,点击“登录”按钮,自动跳转到“首页”页面,首页界面如下图4-3所示。
图4-3首页界面图
4.1.3 中医知识界面
用户点击中医知识按钮,可以进入中医知识列表,点击感兴趣的中医知识,进入中医知识详情页面,用户可以进行查看、点赞、收藏、评论等操作,界面如下图4-4所示。
图4-4中医知识详情界面图
4.1.4 医生科普界面
用户点击医生科普可以进入医生科普列表,点击任意一个医生科普信息后将可以进入到该医生科普的详情界面中,医生用户和普通用户都可以查看、点赞、收藏、评论医生科普的详细介绍,医生用户还可以在“我的”页面“医生科普”中发布自己的科普文章,医生科普详情界面如下图4-5所示。
图4-5医生科普详情界面图
4.1.5 用户提问界面
用户点击“用户提问”,可以查看、点赞、收藏、评论其他用户的提问和医生回复,普通用户还可在我的页面用户提问中提交自己的提问信息,用户提问界面如下图4-6所示。
图4-6用户提问界面图
4.1.7我的界面
点击基于微信小程序的中医交流论坛端底部的“我的”菜单进入“我的”页面,普通用户可以管理自己的基本信息、收藏、私聊信息、举报信息、用户提问,医生用户可以管理自己的基本信息、收藏、医生科普、私聊信息、举报提醒,界面如下图4-7所示。
图4-7我的界面图
4.2后台管理员端
4.2.1 系统用户界面
管理员点击“系统用户”这一菜单会显示管理员、普通用户、医生用户这三个子菜单,管理员可以对这三个角色的信息进行增删改查操作。界面如下图4-8所示。
图4-8医生用户管理界面图
4.2.2中医知识管理界面
管理员点击后台左边的“中医知识管理”菜单后将可以对中医知识进行管理,包括添加、编辑和删除中医知识等,中医知识管理界面如下图4-9所示。
图4-9中医知识列表界面图
新增一条数据,通过post传入一个json对象,然后经过request.getReader(),最后经过readBody()转成一个Map,含有String和Object,key用的是字段名,Object存放数据,最终得到Map,insert用拼装sql,读取body,组装成一个insert对象,runCountSql()语句,代码如下:
@PostMapping("/add")
@Transactional
public Map<String, Object> add(HttpServletRequest request) throws IOException {
service.insert(service.readBody(request.getReader()));
return success(1);
}
public Map<String, Object> addMap(Map<String,Object> map){
service.insert(map);
return success(1);
}
修改一个数据,原理与add基本一致,不同点在于通过readConfig()读取关键字,以及通过readQuery()获取URL后面?指定位置的标识,转成Map对象后,执行update操作,同样通过拼接的sql语句执行,执行过程读取query,toWhereSql()语句完成数据库操作,body为修改对象的值,代码如下:
@PostMapping("/set")
@Transactional
public Map<String, Object> set(HttpServletRequest request) throws IOException {
service.update(service.readQuery(request), service.readConfig(request), service.readBody(request.getReader()));
return success(1);
}
删除一条数据,通过readQuery(),获取URL后面的对象地址,删除FROM具体的table,query删除查询FindConfig语句,代码如下:
@RequestMapping(value = "/del")
@Transactional
public Map<String, Object> del(HttpServletRequest request) {
service.delete(service.readQuery(request), service.readConfig(request));
return success(1);
}
public void delete(Map<String,String> query,Map<String,String> config){
QueryWrapper wrapper = new QueryWrapper<E>();
toWhereWrapper(query, "0".equals(config.get(FindConfig.GROUP_BY)),wrapper);
baseMapper.delete(wrapper);
log.info("[{}] - 删除操作:{}",wrapper.getSqlSelect());
}
4.2.3系统管理界面
管理员点击“系统管理”这一菜单会显示轮播图这一个子菜单,管理员可以对前台展示的轮播图进行设置,界面如下图所示。
4.2.4公告消息管理界面
点击“公告消息管理”这个菜单,可以查看到系统中所有添加的通知公告,支持通过标题对通知公告进行查询,添加、删除等操作。公告消息管理界面如下图所示。
图4-11公告消息界面图
4.2.5资源管理界面
管理员点击“资源管理”这一菜单会显示中医资讯、资讯分类这两个子菜单,管理员可以对这两部分涉及到的功能进行更新维护,更好的服务于前台用户。界面如下图所示。
5 基于微信小程序的中医交流论坛测试
基于微信小程序的中医交流论坛测试是为了检验软件是否达到设计要求,是否存在错误,通过测试的方法来检查基于微信小程序的中医交流论坛,以便发现基于微信小程序的中医交流论坛中的错误。测试工作是保证基于微信小程序的中医交流论坛质量的关键。
微信端上用户提问功能测试:
表5-1微信端上用户提问功能测试用例表
测试名称 | 测试功能 | 操作 | 操作过程 | 预期结果 | 测试结果 |
用户提问功能模块测试 | 用户提问功能成功 | 浏览用户提问信息 | 点击“我的-”“用户提问”填写提问信息,点击“提交”按钮。 | 生成自己的提问信息。 | 正确 |
微信端上评论功能测试:
表5-2微信端上评论功能测试用例表
测试名称 | 测试功能 | 操作 | 操作过程 | 预期结果 | 测试结果 |
评论功能模块测试 | 评论信息正常的显示 | 浏览中医知识详情信息 | 点击“评论”-“输入评论内容,点击“提交”按钮。 | 成功完成评论 | 正确 |
web后台端上管理员发布中医知识功能测试:
表5-3web后台端上管理员发布中医知识功能测试用例表
测试名称 | 测试功能 | 操作 | 操作过程 | 预期结果 | 测试结果 |
管理员发布中医知识功能测试 | 添加中医知识的情况 | 输入新中医知识的基本信息 | 后台选择“中医知识管理”菜单后,填写新中医知识信息后点击“提交”按钮 | 新中医知识发布成功 | 正确 |
5.2测试结果
通过编写了基于微信小程序的中医交流论坛的测试用例,已经检测完毕了5.1章节中的3大模块,它为基于微信小程序的中医交流论坛系统的后期推广运营提供了强力的技术支撑。
总结与展望
本次基于微信小程序的中医交流论坛的设计与实现,功能方面,通过功能模块图区分该程序的用户端与管理端各自的功能权限;数据库方面,数据库使用口碑较好的mysql进行数据的存储,开源的mysql等技术的使用,相对来说体积较小,服务稳定,减少系统开发成本费用,通过数据库表的E-R实体关系图建立了表单与表单之间的连接,区分不同的表单之间的关系,更好的完善数据库的内容;测试方面,通过测试用例检查基于微信小程序的中医交流论坛的设计缺陷和程序存在的错误,在系统测试阶段的过程中,出现了一些问题,例如,注册信息,没有规范用户在注册页面填写信息时输入两次密码,而导致后期登录错误,最后通过多次修改程序和测试解决了问题。最终经过不断的检测、修改,实现项目的稳定,达到了预期的设计效果。
系统整体的功能到达预期的效果,但页面的美化方面还是存在一些不足,例如:小程序中的图标过于简洁;wxss页面的渲染布局方面不够完善,人们在使用软件过程中,对某些功能不易找寻,针对此次项目产生的问题,日后将不断改进,使该项目更加完善。
参考文献
[1]韩小龙,司珍,吕晓峰等.基于面向对象编程的Java语言程序设计方法分析[J].集成电路应用,2024,41(01):228-229.DOI:10.19339/j.issn.1674-2583.2024.01.103.
[2]马庆.计算机软件开发中JAVA编程语言的应用[J].山西电子技术,2023,(06):84-86+98.
[3]姜一波.基于SpringBoot+Vue的在线考试系统设计与实现[J].无线互联科技,2023,20(23):68-71.
[4]李浩天,韩成国,葛瑞凡等.基于微信小程序的创意果品营销设计与开发[J].现代信息科技,2023,7(22):133-136+141.DOI:10.19850/j.cnki.2096-4706.2023.22.029.
[5]王庆月,王灿,仝镇熙.基于微信小程序的校园导览系统开发[J].电脑编程技巧与维护,2023,(11):79-81+109.DOI:10.16184/j.cnki.comprg.2023.11.020.
[6]戴建成,王华,范玉婷.基于SpringBoot+VUE的高校廉政档案管理系统设计与实现[J].产业与科技论坛,2023,22(21):58-60.
[7]聂亚.计算机编程语言的选用技巧分析[J].电子技术,2023,52(10):206-207.
[8]刘小丹.C++与Java程序设计语言的特征研究[J].电脑编程技巧与维护,2023,(10):52-54.DOI:10.16184/j.cnki.comprg.2023.10.001.
[9]谢欣,赵家琪,杨卫明.基于SpringBoot的中国传统节日推广平台设计与实现[J].信息与电脑(理论版),2023,35(19):91-94.
[10]尹应荆.JAVA编程语言在计算机软件开发中的应用[J].石河子科技,2023,(05):45-47.
[11]Liang C .School Vehicle Management System Based on JAVA Language[J].Academic Journal of Computing Information Science,2023,6(9):
[12]杨志俊,侯江华.基于SpringBoot的智慧养老系统设计[J].无线互联科技,2023,20(17):87-89.
[13]王若男,程怡琳,马彦雄.基于微信小程序的海南旅游安全地图运用平台开发研究[J].互联网周刊,2023,(17):86-88.
[14]袁琳琳.浅析Java语言在计算机软件开发中的应用[J].信息记录材料,2023,24(09):81-83.DOI:10.16009/j.cnki.cn13-1295/tq.2023.09.006.
[15]谈伙荣,陈海宇.基于微信小程序的勤工助学管理系统研究与开发[J].现代计算机,2023,29(16):109-112+117.
[16]陈蓓蕾,洪年松.基于SpringBoot的数据库接口设计[J].信息与电脑(理论版),2023,35(16):181-183.
[17]代毛莉,习聪玲,梦以媛等.基于微信小程序的校园书籍系统开发与制作[J].电脑编程技巧与维护,2023,(07):68-70+120.DOI:10.16184/j.cnki.comprg.2023.07.019.
[18]Allen C ,Mazanko A ,Abdehagh N , et al.A New ODE-Based Julia Implementation of the Anaerobic Digestion Model No. 1 Greatly Outperforms Existing DAE-Based Java and Python Implementations[J].Processes,2023,11(7):
[19]丁晓进,朱晓荣.基于微信小程序的云计算学习平台开发[J].软件导刊,2023,22(09):108-112.
[20]Jessica E L ,Sanoussi M A Y ,Mehdi E C , et al.A comprehensive review of State-of-The-Art methods for Java code generation from Natural Language Text[J].Natural Language Processing Journal,2023,3
致谢
至此论文结束,感谢您的阅读。首先,我要感谢我的父母对我的支持与理解,在两年的本科学习生活中,倾其所能的爱护我,使我能够心无旁骛,全心全意的投入到学习中;不断鼓励我,让我能够拥有不断前进的动力。其次还要感谢我的导师,感谢在这段时间给予我有效的建议,以至于我的毕设有了整体的设计思路,尽管我在实习期间很忙,论文撰写总是停停改改,但是导师依然十分负责,时不时的询问我的任务进展情况,跟进我的论文进度。在老师的帮助下,我逐步完成了自己的论文和程序,从导师身上也学习到很多知识,和经验,这些知识和经验令我受益匪浅。
此外,还要感谢我的同学,热心的解答了我在程序上遇到的问题,是他们在我编写程序过程中给了我很多的启发和感想,也帮助了我对于程序的调试和检测,让我受益良多。在这两年的时间里,我学会了许多专业的知识,还有老师们的谆谆教诲和同学们的帮助使我不断进步,能够做得更好;我也会不断给自己充电,不断突破,成为更好的自己。
最后向所有关心我、帮助我的老师及同学们表示衷心的感谢!
请关注点赞+私信博主,免费领取项目源码