摘要
本文详述了一个基于微信小程序和Node.js技术的期刊投稿信息查询系统的设计与实现过程。该系统旨在为用户提供便捷、高效的投稿信息查询服务,同时为管理员提供强大的后台管理功能。通过微信小程序,用户可以轻松登录、注册,并访问首页查看期刊信息、投稿状态以及网站公告。用户还可以在我的模块中管理自己的基本信息、投稿记录以及接收系统通知提醒。
对于管理员而言,后台首页提供了系统概览和各项管理功能的入口。管理员可以管理用户账户、期刊信息、投稿信息,以及配置系统通知和权限。系统管理功能包括轮播图管理、系统通知配置以及权限设置,以确保系统的安全稳定运行。
系统采用微信小程序作为前端应用,通过Node.js搭建后端服务,实现前后端解耦,增强了系统的可扩展性和可维护性。本文详细描述了系统的架构设计、功能实现等,并通过实际应用验证了系统的有效性和实用性。
通过这一系统的设计与实现,不仅提升了期刊投稿信息查询的效率和准确性,也为期刊编辑和管理人员提供了便捷的管理工具,推动了期刊出版流程的数字化和智能化发展。
关键词: 微信小程序;Node.js;期刊投稿信息查询;前后端解耦;系统设计与实现;用户管理;管理员管理
Abstract
This article elaborates on the design and implementation process of a journal submission information query system based on WeChat mini program and Node.js technology. The system aims to provide users with convenient and efficient submission information query services, while also providing powerful backend management functions for administrators. Through the WeChat mini program, users can easily log in, register, and access the homepage to view journal information, submission status, and website announcements. Users can also manage their basic information, submission records, and receive system notifications and reminders in my module.
For administrators, the backend homepage provides an overview of the system and an entry point for various management functions. Administrators can manage user accounts, journal information, submission information, as well as configure system notifications and permissions. The system management functions include carousel management, system notification configuration, and permission settings to ensure the safe and stable operation of the system.
The system uses WeChat mini programs as front-end applications and builds backend services through Node.js to achieve front-end and back-end decoupling, enhancing the system's scalability and maintainability. This article provides a detailed description of the system's architecture design, functional implementation, etc., and verifies the effectiveness and practicality of the system through practical applications.
Through the design and implementation of this system, not only has the efficiency and accuracy of journal submission information inquiry been improved, but also convenient management tools have been provided for journal editors and managers, promoting the digital and intelligent development of the journal publishing process.
Keywords: WeChat mini program; Node.js; Journal submission information inquiry; Front and rear decoupling; System design and implementation; User management; Administrator Management
目录
1 绪论
随着信息技术的快速发展和互联网的普及,数字化、网络化已成为期刊出版行业的重要发展趋势。传统的期刊投稿信息查询方式往往依赖于纸质文档或简单的在线表单,这不仅效率低下,而且难以提供及时、准确的信息反馈。因此,开发一款基于移动应用的期刊投稿信息查询系统显得尤为迫切。
微信小程序作为一种新兴的轻量级应用平台,具有用户基数大、使用便捷、易于推广等优势,为期刊投稿信息查询提供了新的解决方案。同时,Node.js作为一种高效、易用的后端开发框架,以其异步I/O、事件驱动的特性,非常适合构建高并发、响应迅速的后端服务。
在此背景下,本文旨在研究并实现一个基于微信小程序的期刊投稿信息查询系统。该系统将充分利用微信小程序的便捷性和Node.js的高性能,为用户提供更加高效、准确的投稿信息查询服务,同时简化期刊编辑和管理人员的工作流程,提升期刊出版的整体效率和质量。
通过这一系统的设计与实现,不仅可以满足用户对期刊投稿信息查询的迫切需求,还可以推动期刊出版行业的数字化转型和创新发展,为行业的可持续发展注入新的活力。
1.2 国内外研究现状
近年来,随着移动互联网的迅猛发展,国内对于基于微信小程序的应用开发日益增多。在期刊投稿信息查询领域,国内已有一些研究和实践。例如,部分学术期刊和出版社开始尝试通过微信公众号或小程序提供投稿信息查询服务,使用户能够随时随地查询稿件状态、了解投稿指南等。这些系统通常利用微信小程序的前端展示能力,结合后端数据库管理系统,为用户提供便捷的查询功能。
同时,Node.js作为一种流行的后端开发技术,在国内也得到了广泛的应用。许多开发者利用Node.js的高并发、异步处理能力,构建高效、稳定的后端服务。在期刊投稿信息查询系统的后端开发中,Node.js同样发挥着重要作用,为系统提供快速响应、数据处理和信息安全等方面的支持。
国外研究现状:
在国际上,期刊出版行业对于数字化转型和创新发展的重视程度不亚于国内。许多国际知名的学术期刊和出版机构已经推出了基于移动应用的投稿信息查询服务。这些系统往往采用先进的技术架构和开发框架,为用户提供更加丰富、个性化的查询体验。
在技术实现上,国外的研究者和开发者同样关注前后端分离的开发模式。他们利用微信小程序等前端平台,结合Node.js等后端技术,构建出高效、稳定的期刊投稿信息查询系统。这些系统不仅提供基本的投稿信息查询功能,还融入了人工智能、大数据分析等先进技术,为用户提供更加智能化、个性化的服务。
综上所述,无论是国内还是国外,基于微信小程序和Node.js的期刊投稿信息查询系统都已经成为研究和应用的热点。通过不断的技术创新和实践探索,这些系统将为期刊出版行业的数字化转型和创新发展提供有力支持。
1.3系统开发技术的特色
(1)系统采用前后端分离的开发模式,使得前端和后端可以独立开发和维护,提高了开发效率和系统的可维护性。
(2)系统采用微服务架构,将系统拆分成多个独立的服务,每个服务可以独立部署和扩展,提高了系统的灵活性和可扩展性。
(3)系统采用 Docker 容器化部署技术,使得系统可以快速部署和迁移,提高了系统的可靠性和可移植性。
(4)系统采用自动化测试技术,包括单元测试、接口测试和性能测试等,提高了系统的稳定性和可靠性。
(5)系统采用安全保障技术,包括用户认证、授权、数据加密等,保障了系统的安全性和用户的隐私。
这些技术特色使得基于微信小程序的期刊投稿信息查询系统具有高效、稳定、可靠、安全等优点,能够满足用户的需求和提高用户的体验。
2 基于微信小程序的期刊投稿信息查询系统分析
系统分析是开发一个项目的先决条件,通过系统分析可以很好的了解系统的主体用户的基本需求情况,同时这也是项目的开发的原因。进而对系统开发进行可行性分析,通常包括技术可行性、经济可行性等,可行性分析同时也是从项目整体角度进行的分析。然后就是对项目的具体需求进行分析,分析的手段一般都是通过用户的用例图来实现。接下来会进行详细的介绍。
2.1可行性分析
2.1.1技术可行性分析
微信小程序作为一种成熟、稳定的前端应用平台,提供了丰富的API和组件,能够满足复杂的用户界面和交互需求。Node.js作为后端开发框架,以其高性能、异步I/O处理能力,能够处理高并发请求,确保系统的稳定性和响应速度。此外,现代的前后端分离开发模式使得前后端可以独立开发、测试和维护,提高了开发效率和系统的可扩展性。因此,从技术角度来看,基于微信小程序的期刊投稿信息查询系统是完全可行的。
2.1.2经济可行性分析
基于微信小程序的期刊投稿信息查询系统在经济上具有显著优势。首先,微信小程序作为免费平台,无需额外支付开发或维护费用,大大降低了开发成本。其次,Node.js作为开源技术,拥有大量免费可用的库和框架,减少了购买商业软件的费用。此外,系统的维护和升级成本相对较低,因为基于现代技术的系统通常具有良好的可扩展性和可维护性。综合来看,该系统的经济可行性较高,能够为用户带来长期的经济效益。
2.1.3操作可行性分析
基于微信小程序的期刊投稿信息查询系统具有简洁明了的用户界面和易于操作的功能模块,用户无需复杂的操作即可完成评价、查看评价等操作。同时,微信小程序的用户基础庞大,用户习惯良好,使得系统的操作更加便捷。此外,系统还提供了详细的操作指南和客服支持,帮助用户更好地使用系统。因此,从操作角度来看,该系统的设计与实现也是可行的。
综上所述,基于微信小程序的期刊投稿信息查询系统在技术、经济、操作三个方面均具有良好的可行性。该系统的实施将为用户带来显著的效益和便利,推动期刊出版行业的数字化转型和创新发展。
2.2功能需求分析
基于微信小程序的期刊投稿信息查询系统有注册用户和管理员两个用户角色,下面针对两个用户角色的功能需求进行分析:
1.注册用户:
登录注册:用户可以注册新账号或使用已有账号登录。
首页:展示系统的主要信息和功能入口。
期刊信息:提供期刊的相关信息,包括期刊名称、投稿要求等。
投稿信息:用户可以查看投稿相关的信息和要求。
网站公告:显示系统发布的重要通知信息。
我的:
基本信息:用户可以查看和管理自己的基本信息。
投稿信息:用户可以查看自己的投稿记录和状态。
通知提醒:用户可以接收系统通知和提醒。
2.管理员:
后台首页:展示系统数据统计和管理入口。
系统用户:管理系统中的各类用户。
期刊信息管理:管理系统中期刊的相关信息。
投稿信息管理:管理用户的投稿信息和处理投稿状态。
通知提醒管理:发布、编辑和删除系统通知和提醒。
轮播图管理:管理系统首页的轮播图内容。
系统通知管理:管理系统发布的通知信息。
权限管理:管理系统用户的权限和角色设置。
这个系统旨在为投稿者和管理员提供一个便捷的投稿信息查询平台,同时管理员可以管理系统中的期刊信息、投稿信息和系统通知等内容,确保系统运行顺畅。
基于微信小程序的期刊投稿信息查询系统的完整UML用例图分别是图2-1,图2-2。在参与者上包括注册用户、管理员。
注册用户角色的用例包括登录注册、首页、期刊信息、投稿信息、网站公告、我的(基本信息、投稿信息、通知提醒)。
图2-1 基于微信小程序的期刊投稿信息查询系统注册用户角色用例图
管理员角色的用例包括后台首页、系统用户、期刊信息管理、投稿信息管理、通知提醒管理、系统管理(轮播图管理)、系统通知管理、权限管理。
图2-2 基于微信小程序的期刊投稿信息查询系统管理员角色用例图
3基于微信小程序的期刊投稿信息查询系统总体设计
在上一章节中分析了基于微信小程序的期刊投稿信息查询系统的功能性需求,并且根据需求分析了基于微信小程序的期刊投稿信息查询系统中的用例。那么接下来就要开始对基于微信小程序的期刊投稿信息查询系统架构、主要功能和数据库开始进行设计。
3.1系统功能模块设计
通过对基于微信小程序的期刊投稿信息查询系统的功能需求分析以及用例分析,得出了基于微信小程序的期刊投稿信息查询系统的功能模块图如图3-1所示。
3.3数据库设计
3.3.1 数据库E-R模型
下面是整个基于微信小程序的期刊投稿信息查询系统的数据库表的E-R实体关系图,如图3-2所示:
图3-2 基于微信小程序的期刊投稿信息查询系统E-R实体关系图
3.3.2 数据库表设计
通过上一小节中基于微信小程序的期刊投稿信息查询系统中总E-R关系图上得出一共需要创建很多个数据表。在此我主要罗列几个主要的数据库表结构设计。
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 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 | 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: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | journal_information_id | int | 10 | 0 | N | Y | 期刊信息ID | |
2 | journal_name | varchar | 64 | 0 | Y | N | 期刊名称 | |
3 | cover_photo | varchar | 255 | 0 | Y | N | 封面图片 | |
4 | ranking_information | varchar | 64 | 0 | Y | N | 排名信息 | |
5 | theme_scope | longtext | 2147483647 | 0 | Y | N | 主题范围 | |
6 | submission_requirements | longtext | 2147483647 | 0 | Y | N | 投稿要求 | |
7 | journal_introduction | 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 | 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 | notification_reminder_id | int | 10 | 0 | N | Y | 通知提醒ID | |
2 | submission_account | int | 10 | 0 | Y | N | 0 | 投稿账号 |
3 | notification_topic | varchar | 64 | 0 | Y | N | 通知主题 | |
4 | notification_time | datetime | 19 | 0 | Y | N | 通知时间 | |
5 | notification_content | longtext | 2147483647 | 0 | Y | N | 通知内容 | |
6 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
7 | 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已取消 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | registered_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_phone_number | varchar | 16 | 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 | 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 | 更新时间: |
表submission_information (投稿信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | submission_information_id | int | 10 | 0 | N | Y | 投稿信息ID | |
2 | submission_account | int | 10 | 0 | Y | N | 0 | 投稿账号 |
3 | title_name | varchar | 64 | 0 | Y | N | 标题名称 | |
4 | journal_name | varchar | 64 | 0 | Y | N | 期刊名称 | |
5 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
6 | cover_photo | varchar | 255 | 0 | Y | N | 封面图片 | |
7 | key_fields | varchar | 64 | 0 | Y | N | 关键字段 | |
8 | submission_content | longtext | 2147483647 | 0 | Y | N | 投稿内容 | |
9 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
10 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
12 | 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 | 更新时间: |
4 基于微信小程序的期刊投稿信息查询系统实现
基于微信小程序的期刊投稿信息查询系统的详细设计与实现主要是根据前面的需求分析和总体设计来设计页面并实现业务逻辑。主要从界面实现、业务逻辑实现这两部分进行介绍。
4.1.1 用户注册界面
不是基于微信小程序的期刊投稿信息查询系统的用户可以通过微信小程序在线进行注册,填写上自己的账号、密码、重复密码、昵称、邮箱登信息后点击“提交”按钮后将会验证是否有非空数据,再验证密码和重复密码是否一样,最后验证是否账号重复,都验证没问题后即可注册成功。注册实现了注册用户注册,其注册界面展示如下图4-1所示。
图4-1用户注册界面图
4.1.2 用户登录界面
微信小程序上注册后的用户可以通过自己的用户名和密码进行登录,在用户填写好自己的用户名和密码信息并点击“登录”按钮后,将会先验证是否有非空数据,再验证填写的用户信息和数据库中保存的是否一致,一致后将会登录成功,登录成功后将会在左上角上显示用户信息;否则将会提示相应错误信息,用户登录界面如下图4-2所示。
图4-2用户登录界面图
输入有效的用户名和密码信息,点击“登录”按钮,自动跳转到“首页”页面,首页界面如下图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.2后台管理员端
4.2.1 系统用户界面
管理员点击“系统用户”这一菜单会显示管理员、注册用户这两个子菜单,管理员可以对这两个角色的信息进行增删改查操作。界面如下图4-7所示。
图4-7用户管理界面图
4.2.2期刊信息管理界面
管理员点击后台左边的“期刊信息管理”菜单后将可以对期刊信息进行管理,包括添加、编辑和删除期刊信息等,还可以查看和回复用户评论。期刊信息管理界面如下图4-8所示。
图4-8期刊信息列表界面图
4.2.3系统管理界面
管理员点击“系统管理”这一菜单会显示轮播图这一个子菜单,管理员可以对前台展示的轮播图进行设置,界面如下图所示。
4.2.4系统通知管理界面
点击“系统通知管理”这个菜单,可以查看到系统中所有添加的系统通知,支持通过标题对系统通知进行查询,添加、删除等操作。系统通知管理界面如下图所示。
图4-10系统通知管理界面图
4.2.5权限管理界面
管理员点击“权限管理”这一菜单,可以管理系统用户的权限和角色设置。界面如下图所示。
5 基于微信小程序的期刊投稿信息查询系统测试
基于微信小程序的期刊投稿信息查询系统测试是为了检验软件是否达到设计要求,是否存在错误,通过测试的方法来检查基于微信小程序的期刊投稿信息查询系统,以便发现基于微信小程序的期刊投稿信息查询系统中的错误。测试工作是保证基于微信小程序的期刊投稿信息查询系统质量的关键。
系统开发到了最后一个阶段那就是系统测试,系统测试对软件的开发其实是非常有必要的。因为没什么系统一经开发出来就可能会尽善尽美,再厉害的系统开发工程师也会在系统开发的时候出现纰漏,系统测试能够较好的改正一些bug,为后期系统的维护性提供很好的支持。通过系统测试,开发人员也可以建立自己对系统的信心,为后期的系统版本的跟新提供支持。
微信端上用户查看期刊信息功能测试:
表5-1微信端上用户查看期刊信息功能测试用例表
测试名称 | 测试功能 | 操作 | 操作过程 | 预期结果 | 测试结果 |
查看期刊信息功能模块测试 | 期刊信息信息正常的显示 | 浏览期刊信息详情信息 | 在小程序端上选择一个期刊信息信息将会进入该期刊信息的详情界面,同时可以评论、收藏。 | 进入该期刊信息的详情信息界面 | 正确 |
查看期刊信息功能模块测试 | 期刊信息详情信息正常的显示 | 浏览期刊信息详情信息 | 点击“评论”填写评论信息,点击“提交”按钮。 | 生成自己的评论信息。 | 正确 |
微信端上投稿功能测试:
表5-2微信端上投稿功能测试用例表
测试名称 | 测试功能 | 操作 | 操作过程 | 预期结果 | 测试结果 |
投稿功能模块测试 | 投稿信息正常的显示 | 浏览期刊信息 | 点击期刊信息底部“投稿”按钮后填写投稿内容点击提交即可。 | 投稿成功 | 正确 |
web后台端上管理员发布期刊信息功能测试:
表5-3web后台端上管理员发布期刊信息功能测试用例表
测试名称 | 测试功能 | 操作 | 操作过程 | 预期结果 | 测试结果 |
管理员发布期刊信息功能测试 | 添加期刊信息的情况 | 输入新期刊信息信息的基本信息 | 后台选择“期刊信息管理”菜单后,点击“期刊信息添加”,填写新期刊信息信息后点击“提交”按钮 | 新期刊信息发布成功 | 正确 |
5.3测试结果
通过编写了基于微信小程序的期刊投稿信息查询系统的测试用例,已经检测完毕了5.2章节中的3大模块,它为基于微信小程序的期刊投稿信息查询系统的后期推广运营提供了强力的技术支撑。
结论
在开发本系统之前我胸有成竹,觉得很简单,但在实际的开发中我发现了自身的很多问题,许多编程思想和方法都还没有掌握牢靠,比如Node.js 开发语言、微信开发者工具等,通过开发这个期刊投稿信息查询系统我成长了很多,懂得了做什么事情都要脚踏实地,不能眼高手低,在本次期刊投稿信息查询系统的开发中我逐渐掌握逐渐熟悉的技术。
本次期刊投稿信息查询系统的开发中我还学会了例如良好的编程思想和完善的规划思想。在着手编程之前需要罗列出程序框架的大概,脑海中构建出程序的主题框架。做好这一步我们才能胸有成竹的经行开发项目。当设计框架了熟于心之后,需要思考本次编程所需的主要知识点和技术点,并充分学习。
在本次项目中我也暴露了诸多问题。对于Node.js的编程知识有所欠缺,环境配置和算法上出现诸多问题,时常导致项目运行出错,或者目标的实现有问题。或者实现想法时算法未优化,使得代码冗长,程序运行不顺畅。
参考文献
[1]Kabamba M H ,Khouzam M ,Dagenais R M .Vnode: Low-Overhead Transparent Tracing of Node.js-Based Microservice Architectures[J].Future Internet,2023,16(1):
[2]李淑玲,朱彤.基于Node.js技术的在线测试系统设计方案[J].科技资讯,2023,21(19):35-38.DOI:10.16661/j.cnki.1672-3791.2303-5042-5997.
[3]邓杰海,刘薇,汤小燕.基于Node.js的开源架构Electron赋能前端开发[J].现代计算机,2023,29(16):87-92.
[4]赵率宏.基于Node.js的ORM框架研究与实现[D].西南科技大学,2023.DOI:10.27415/d.cnki.gxngc.2023.000804.
[5]D. K K ,D. N T .Complementing JavaScript in High-Performance Node.js and Web Applications with Rust and WebAssembly[J].Electronics,2022,11(19):3217-3217.
[6]唐榜.基于Node.js的Web服务端框架研究与实现[D].西南科技大学,2021.DOI:10.27415/d.cnki.gxngc.2021.000946.
[7]Kim Y H ,Kim H J ,Oh K H , et al.DAPP: automatic detection and analysis of prototype pollution vulnerability in Node.js modules[J].International Journal of Information Security,2021,(prepublish):1-23.
[8]雷少玲.基于Node.js为后端的微信小程序授权登录的探究与实现[J].电子制作,2020,(22):42-44.DOI:10.16589/j.cnki.cn11-3571/tn.2020.22.015.
[9]张钊源,刘晓瑜,鞠玉霞.Node.js后端技术初探[J].中小企业管理与科技(上旬刊),2020,(08):193-194.
[10]吴晓一.基于Node.js的Python脚本调用方法[J].电脑编程技巧与维护,2020,(06):24-26.DOI:10.16184/j.cnki.comprg.2020.06.008.
[11]王驰猋.一种基于Node.js的web前端页面风格替换系统设计与实现[D].南京大学,2020.DOI:10.27235/d.cnki.gnjiu.2020.001524.
[12]李正仁,周凯虎,王全贵,等.基于Node.js与微信小程序的活动管理平台[J].计算机系统应用,2019,28(12):86-92.DOI:10.15888/j.cnki.csa.007186.
[13]陆岫昶.企业新闻网稿件业务流程管理系统设计[J].数字技术与应用,2021,39(03):117-119.DOI:10.19695/j.cnki.cn12-1369.2021.03.39.
[14]文辉.科技期刊已录稿件管理系统的设计与实现[J].传播与版权,2021,(01):9-12.DOI:10.16852/j.cnki.45-1390/g2.2021.01.004.
[15]张刚,募格期刊管理系统[简称:期刊管理系统]V1.0.陕西省,西安募格网络科技有限公司,2020-12-01.
[16]张刚,学术期刊系统[简称:期刊系统]V1.0.陕西省,西安募格网络科技有限公司,2020-12-01.
[17]文娟,崔玉洁,包颖,等.基于期刊集约化的管理系统实践探索——以西南大学期刊社为例[J].编辑学报,2020,32(03):318-322.DOI:10.16811/j.cnki.1001-4314.2020.03.019.
[18]贾蕊.期刊编审管理系统的设计与应用[J].电大理工,2019,(04):23-26.DOI:10.19469/j.cnki.1003-3297.2019.04.0023.
[19]高正明,北大核心期刊2017版信息管理系统v1.0.湖北省,荆楚理工学院,2019-06-05.
[20]罗甜甜.高校图书馆期刊服务创新研究[J].科技资讯,2019,17(15):179-180.DOI:10.16661/j.cnki.1672-3791.2019.15.179.
致谢
至此论文结束,感谢您的阅读。首先,我要感谢我的父母对我的支持与理解,在两年的本科学习生活中,倾其所能的爱护我,使我能够心无旁骛,全心全意的投入到学习中;不断鼓励我,让我能够拥有不断前进的动力。其次还要感谢我的导师,感谢在这段时间给予我有效的建议,以至于我的毕设有了整体的设计思路,尽管我在实习期间很忙,论文撰写总是停停改改,但是导师依然十分负责,时不时的询问我的任务进展情况,跟进我的论文进度。在老师的帮助下,我逐步完成了自己的论文和程序,从导师身上也学习到很多知识,和经验,这些知识和经验令我受益匪浅。
此外,还要感谢我的同学,热心的解答了我在程序上遇到的问题,是他们在我编写程序过程中给了我很多的启发和感想,也帮助了我对于程序的调试和检测,让我受益良多。在这两年的时间里,我学会了许多专业的知识,还有老师们的谆谆教诲和同学们的帮助使我不断进步,能够做得更好;我也会不断给自己充电,不断突破,成为更好的自己。
最后向所有关心我、帮助我的老师及同学们表示衷心的感谢!
标签:投稿,varchar,NodeJS,微信,系统,信息,源码,期刊,毕业设计 From: https://blog.csdn.net/weixin_BYSJ1987/article/details/143198979点赞+收藏+关注 →私信领取本源代码、数据库