A077-基于SpringBoot+Vue实现的仓库(进销存)管理系统(源码+数据库+文档+LW)

1章 绪论

1.1 项目背景

随着全球经济的不断发展和市场竞争的加剧,企业对于仓储和物流管理的要求日益提高。传统的仓储管理方式往往存在一些问题,如库存管理不精确、货物追踪困难、物流流程繁琐等,严重影响了企业的运营效率和客户满意度。

此外电子商务的兴起和全球贸易的增长,仓储操作的规模和复杂性不断增加。准确管理库存水平、确保准时履行订单、优化存储能力等成为了满足客户期望和保持竞争力的关键。传统的手工仓储管理方法不仅耗时,而且容易出错,导致运营效率低下和客户不满。

我们的项目旨在利用计算机技术的能力,减少人为干预,降低错误率,提高仓储管理的整体效率。通过自动化和数字化,实现实时追踪库存、高效处理订单以及与销售和采购等其他系统的无缝集成。

此外,系统的功能设计广泛考虑了仓储环境中的不同角色需求。超级管理员、仓库管理员和普通用户等角色的定义,保证了适当的访问控制和权限管理,实现仓库人员之间的高效协作、安全数据处理和流程优化。

考虑到数据完整性和安全性的重要性,我们选择采用MySQL数据库进行持久化存储。这样可以确保关键信息如库存记录、客户详细信息和交易历史的安全可靠存储。同时,系统实施了用户身份验证和访问控制等安全措施,保障敏感数据的安全,防止未经授权的访问。

总而言之,该项目旨在开发一个现代化的仓储管理系统,解决传统仓储管理方法中存在的问题。通过利用技术、自动化流程和提升数据安全性,该系统将帮助企业高效管理库存、优化仓储运营,以适应竞争激烈的市场需求。

1.2 任务分解

本课题根据前期的问卷调查以及实地考察,作出了适合实际的需求分析,采用了前后端分离的思想,后端使用了SpringBoot和SpringMVC框架,前端使用了Vue.js和ElementUI进行页面的搭建,并且使用了MySQL数据库进行数据交互。整个系统的使用者有3种角色,分别是系统管理员、仓库管理员和普通用户。

以下是三种不同的角色所分别拥有的功能:

  1. 系统管理员:拥有全面的管理权限,包括管理员和用户信息的管理,仓库、物品和物品分类的管理,以及所有用户的操作日志查询。
  2. 仓库管理员:负责仓库的管理,包括仓库、物品和物品分类的管理,以及所有用户的操作日志查询。
  3. 普通用户:可以查询和管理个人信息,查询物品信息,以及查看自己的操作日志。

1.3 设计报告章节分布

本文主要设计和实现一个基于JavaEE的仓库管理系统。

以下罗列出了本论文的章节安排:

第1章 绪论:简明扼要地介绍了本课题的研究背景和意义,阐明了课题的主要任务,最后陈列出了本论文的章节安排。

第2章 相关技术和开发环境:本章介绍了系统用到的相关技术和开发环境。

第3章 系统分析:从经济、技术、运行三个方面介绍了系统可行性,包括业务流程分析和需求分析。

第4章 概要设计:介绍了本系统的设计,包括架构、功能、数据库以及接口的设计。

第5章 详细设计:对系统的主要功能以及数据库的设计进行了详细介绍。

第6章 系统实现:展示了系统的主要功能代码和主要界面截图。

第7章 系统测试:简要介绍了系统的测试方法和测试环境,编写了主要测试用例,并分析记录了测试结果。

第8章 总结与展望:对本次的课题设计进行了总结,展望该系统仍需完善的功能。

2章 相关技术和开发环境

2.1 相关技术

本课题在Windows系统下使用了JavaEE开发技术、Spring Boot技术、Vue.js技术、Tomcat服务器、MySQL关系型数据库以及ElementUI前端框架技术进行开发。以下是关键技术及开发工具介绍。

2.1.1 Java语言

Java是一种面向对象的编程语言,由Sun Microsystems(现在是Oracle公司)于1995年首次发布。它具有可移植性、安全性和跨平台等特性,因此被广泛应用于各个领域的软件开发中。

Java的平台无关性是其最重要的特性之一。通过Java虚拟机(JVM),Java程序可以在不同的操作系统和硬件上运行,而不需要针对特定平台进行修改。这意味着一次编写的Java代码可以在Windows、Linux、Mac等多个平台上运行。

Java是一种面向对象的语言,它支持封装、继承和多态等面向对象的编程概念。这使得Java程序更易于理解、扩展和维护。它还提供了强大的异常处理机制,使开发者能够更好地应对错误和异常情况。

Java还具有丰富的标准库和第三方库,以及一个庞大的开发者社区。这些库提供了许多常用的功能和工具,使得Java的开发变得更加高效和便捷。

总之,Java是一种功能强大、可靠性高、安全性好的编程语言,非常适合开发各种类型的应用程序,包括桌面应用程序、Web应用程序、移动应用程序等。它的广泛应用和稳定性使得Java成为了当今世界上最流行的编程语言之一。 

2.1.2 HTML、CSS、JavaScript

HTML(超文本标记语言)是一种用于创建和组织网页内容的标记语言。它由一系列标签组成,标签用于标记和描述文档中的不同部分,如标题、段落、链接和图像等。HTML提供了结构化的标记方式,使得浏览器能够正确地解析并显示网页内容。

CSS(层叠样式表)是一种用于描述网页外观和布局的样式语言。通过CSS,可以对HTML文档中的元素进行样式设置,包括字体、颜色、大小、间距、边框和背景等。CSS的设计目标是将样式与内容分离,使得网页的样式可以独立于内容进行修改和调整,从而提高网页的可维护性和灵活性。

JavaScript是一种动态的、基于对象和事件驱动的脚本语言。它广泛用于前端开发,用于为网页增加交互性和动态性。通过JavaScript,可以操作网页的元素、处理用户的输入、响应事件、进行表单验证和数据处理等。它还可以通过AJAX技术与服务器进行数据交互,实现动态加载内容和实时更新。

HTML、CSS和JavaScript三者通常一起使用,被称为前端开发技术。HTML负责网页的内容和结构,CSS负责网页的样式和布局,JavaScript负责网页的交互和动态效果。它们共同作用于网页的不同方面,使网页成为一个功能丰富、外观吸引人且易于使用的用户界面。

总结起来,HTML提供了网页内容的结构和标记,CSS负责网页的样式和布局,JavaScript为网页增加了交互性和动态功能。三者的协同工作使得构建现代化、交互式的网页成为可能。

2.1.3 MySQL 

    MySQL是一种关系型数据库管理系统,是一个多用户,多线程的SQL数据库。MySQL的优点是体积小、速度快、总体拥有成本低,开放源代码等,使得它成为了目前中小企业的最爱。

2.1.4 SSM框架

SSM框架是由Spring,SpringMVC和MyBatis三个开源框架整合而成,是当前较为流行稳定的Web项目框架。

Spring是一个开源框架,它是为了解决企业应用开发的复杂性而创建的。Spring的核心是控制反转和面向切面编程。

SpringMVC是Spring框架的组成部分之一,MVC框架提供了模型-视图-控制的体系结构和可以用来开发灵活、松散耦合的Web应用程序的组件。

MyBatis是一个基于Java的持久层框架,它支持定制化SQL、存储过程以及高级映射[3]。该框架解除了SQL与程序代码的耦合,提高了代码的可维护性。同时,MyBatis较为灵活,简单易学以及支持动态SQL语句等优点,让它深受广大编程人员的喜爱。

2.1.5 Vue.js

    Vue.js是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用。Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。

2.1.6 SpringBoot

SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。使用SpringBoot的最大好处就是简化配置,它实现了自动化配置。

2.2 开发环境

以下展示了系统所需的开发环境。

系统所需开发环境表

操作系统

Windows 10

开发工具

IntelliJ IDEA 2021.03

Java环境

JDK1.8,Maven 3.8.1

数据库

MySQL 8.0.19、Redis 3.0.10

服务器

Tomcat 9.0.30

3章 系统分析

3.1 可行性分析

3.1.1 经济可行性

    本系统为本科毕业设计,未真正投入到实际生活中,所需要的硬件设备目前只需用到一部电脑,软件方面大部分为官方提高免费使用的,所需资料也可在网上或者查询相关书籍即可找到。因此,本系统开发在经济方面是可行的。

3.1.2 技术可行性

    本系统的主要开发语言为Java,基于目前较为流行的SpringBoot以及Vue.js框架进行编写。本系统采用了MySQL数据库作为数据存储基础阵地,保证了一个安全、稳定的数据使用环境。本系统使用的技术,基本上都是目前较为流行的并且是开源的技术,文档和资料在互联网上都非常健全,且有许多开发成功的项目。因此,本系统开发在技术方面是可行的。

3.1.3 运行可行性

    本系统基于SpringBoot框架,需要搭建Java,Maven, MySQL等软件环境。在搭建的过程中,有遇到过种种的问题,但通过查询资料和请教导师,都能一一解决,并能熟练掌握。因此,本系统开发在运行方面是可行的。

3.2 业务流程分析

3.2.1 业务流程分析

本系统的使用者一共有系统管理员、仓库管理员和普通用户这3种角色:

  1. 系统管理员:通过登录系统后,可以进行管理员和用户信息的管理、仓库和物品分类的管理,以及操作日志的查询,具有全面的系统管理权限。
  2. 仓库管理员:登录系统后,可以进行仓库和物品分类的管理,同时也能够查询所有用户的操作日志,以便了解仓库的出入库情况和操作记录。
  3. 普通用户:登录系统后,可以查询和管理个人信息,同时也可以查询物品的详细信息,以及查看自己的操作日志,帮助用户了解自己的出入库操作记录和历史纪录。

本系统的业务需求主要是用户登录与权限管理、个人信息管理、仓库信息管理、物品分类管理、物品信息查询、操作日志查询等。

业务需求表

编号

业务名称

操作者

1

登录功能

所有角色

2

个人中心

超级管理员、仓库管理员、普通用户

3

管理员信息管理

超级管理员

4

用户信息管理

超级管理员

5

仓库信息管理

超级管理员、仓库管理员

6

物品信息管理

超级管理员、仓库管理员

7

物品出入库操作

超级管理员、仓库管理员

8

物品分类管理

超级管理员

9

操作日志查询

超级管理员、仓库管理员、普通用户

3.2.2流程图

3.2.2.1 数据流程图

3.3 需求分析

3.3.1 需求概述

3.3.1.1 系统管理员角色需求概述

系统管理员是仓库管理系统中至关重要的角色。作为系统管理员,他们拥有全面的管理权限,负责管理管理员和用户信息、仓库信息、物品信息及分类,并查看所有用户的出入库操作日志。系统管理员需要具备登录功能、个人中心(查询个人信息)、管理员信息管理、用户信息管理、仓库信息管理、物品信息管理、物品分类管理和操作日志查询等能力。他们的主要任务是确保系统的安全性和正常运行,并对系统进行必要的维护和管理。通过系统管理员的操作,保证了仓库管理系统的高效运作与稳定性。

3.3.1.2 仓库管理员角色需求概述

仓库管理员是仓库管理系统中的关键角色之一。作为仓库管理员,他们负责具体的仓库管理任务,包括对仓库和物品进行管理、执行出入库操作,并查看所有用户的出入库操作日志。与系统管理员相比,仓库管理员无需进行管理员信息管理,但其他功能与系统管理员完全一致。

仓库管理员需要具备登录功能、个人中心(查询个人信息)、用户信息管理、仓库信息管理、物品信息管理、物品分类管理和操作日志查询等能力。他们需要熟悉系统的操作流程,准确执行出入库操作,并对所管理的仓库和物品进行有效的管理和调度。仓库管理员的主要任务是保证仓库的日常运营,确保物品的准确入库和出库,并维护良好的仓库记录和操作日志。通过仓库管理员的工作,提高了仓库管理的效率与精确度,进而推动整个仓库管理系统的顺利运行。

3.3.1.3 普通用户角色需求概述

普通用户在仓库管理系统中扮演重要的角色之一。作为普通用户,他们拥有基本的功能和权限,主要关注个人信息查询、物品信息查询以及操作日志查询。

普通用户需要具备登录功能,通过用户名和密码进行系统登录。一旦登录成功,普通用户可以访问个人中心,查询和管理个人信息。对于物品,普通用户可以进行物品信息的查询,以便了解物品的详细信息和可用性等。此外,普通用户还可以查询与自己相关的出入库操作日志,以便跟踪个人的操作记录和历史。

普通用户的主要任务是利用系统提供的功能,方便地查询和管理个人信息、了解物品信息,并跟踪自己的操作日志。通过这些功能,普通用户可以更好地了解自己的仓库情况,并在需要时进行相应的操作。普通用户的参与和合作,为仓库管理系统的使用和数据记录提供了重要的补充。

3.3.2 用例图

    根据本系统的使用者将用户划分为三种角色,分别是系统管理员、仓库管理员和普通用户。进入系统前需要通过账号以及密码进行登录,登录成功后则根据他们的各自的角色进入相应的页面。

                                                                        用户关系用例图

系统管理员进入网站的页面后,可以进行的功能用例如图所示:

系统管理员用例图

  1. 管理员信息管理:管理员可以通过关键字搜索、分页展示管理员信息,也可以进行添加、删除和修改管理员信息。
  2. 用户信息管理:管理员可以通过关键字搜索、分页展示用户信息,也可以进行添加、删除和修改用户信息。
  3. 仓库信息管理:管理员可以通过关键字搜索、分页展示仓库的信息,也可以进行添加、删除和修改仓库的信息。
  4. 物品信息管理:管理员可以通过关键字搜索、分页展示物品的信息,也可以进行添加、删除和修改物品的信息。
  5. 物品出库操作:管理员可以选择对应的操作用户执行出库操作。
  6. 物品入库操作:管理员可以选择对应的操作用户执行入库操作。
  7. 物品分类管理:管理员可以通过关键字搜索、分页展示物品分类的信息,也可以进行添加、删除和修改物品分类
  8. 操作日志查询:管理员可以根据时间范围、操作类型等关键字进行操作日志的查询,以便审计和追踪操作记录。

仓库管理员进入网站的页面后,可以进行的功能用例如图所示:

仓库管理员用例图

  1. 用户信息管理:管理员可以通过关键字搜索、分页展示用户信息,也可以进行添加、删除和修改用户信息。
  2. 仓库信息管理:管理员可以通过关键字搜索、分页展示仓库的信息,也可以进行添加、删除和修改仓库的信息。
  3. 物品信息管理:管理员可以通过关键字搜索、分页展示物品的信息,也可以进行添加、删除和修改物品的信息。
  4. 物品出库操作:管理员可以选择对应的操作用户执行出库操作。
  5. 物品入库操作:管理员可以选择对应的操作用户执行入库操作。
  6. 物品分类管理:管理员可以通过关键字搜索、分页展示物品分类的信息,也可以进行添加、删除和修改物品分类
  7. 操作日志查询:管理员可以根据时间范围、操作类型等关键字进行操作日志的查询,以便审计和追踪操作记录。

普通用户进入网站的页面后,可以进行的功能用例如图所示:

  1. 查询个人信息:用户可以查看和管理自己的个人信息,包括姓名、联系方式等。
  2. 物品信息查询:用户可以通过关键字搜索、分页展示物品的信息,以便了解物品的名称、价格、库存等。
  3. 操作日志查询:用户可以查询和查看自己的出入库操作日志,了解自己的操作记录和历史。

3.3.3 系统类图

3.3.4 数据需求分析

3.3.4.1 实体集分析

    实体集是具有相同类型及相同属性的实体的集合。本系统主要的实体集主要有:管理员信息,用户信息,仓库信息,物品信息,物品类别信息,操作日志信息等。

3.3.4.2 实体集数据项分析

管理员信息:管理员ID,账号,名字,密码,角色,是否有效;

用户信息:用户ID,账号,名字,密码,年龄,性别,电话,角色,是否有效;

仓库信息:仓库ID,仓库名,备注;

物品信息:物品ID,货名,仓库,分类,数量,备注;

物品类别信息:类别ID,分类名,备注;

操作日志信息:日志ID,物品ID,取货人/补货人,操作人ID,数量,操作时间,备注。

3.3.2.3 数据操作分析

超级管理员角色数据操作分析: 超级管理员可以进行管理员信息管理、用户信息管理、仓库信息管理、物品信息管理、物品分类管理和操作日志查询等操作,包括增删改查各个实体集的数据,以及查询所有用户的出入库操作日志。

仓库管理员角色数据操作分析: 仓库管理员拥有和超级管理员相似的权限,可以进行用户信息管理、仓库信息管理、物品信息管理、物品分类管理和操作日志查询等操作,但不具备管理员信息管理的功能,只能查询和操作与其所管理的仓库相关的数据。

普通用户角色数据操作分析: 普通用户具有较少的功能,可以查询个人信息、物品信息和操作日志,但只能查询自己的出入库操作日志,无法对其他实体集进行数据操作。

根据角色的不同权限和功能需求,每个角色在仓库管理系统中有不同的数据操作能力和限制。

4章 概要设计

4.1 系统设计

4.1.1 系统架构设计

    本系统使用SpringBoot、Vue.js等主流开发框架进行开发,遵守MVC模式,同时使用到了Element-UI进行页面的设计。为方便前后端进行整合和日后系统的维护,本系统分为视图层、控制层、业务层和持久层。各层之间相互独立,通过之间的接口进行通信,高内聚,低耦合[6]。

4.1.2 系统功能模块图

系统功能模块图

4.2 数据库概要设计

4.2.1 ER图

4.2.2 数据库表设计

1、表goods

字段名称

字段类型

中文名称

id

int

主键

name

varchar

货名

storage

int

仓库

goodsType

int

分类

count

int

数量

remark

varchar

备注

2、表goodstype

字段名称

字段类型

中文名称

id

int

主键

name

varchar

分类名

remark

varchar

备注

3、表menu

字段名称

字段类型

中文名称

id

int

主键

menuCode

varchar

菜单编码

menuName

varchar

菜单名字

menuLevel

varchar

菜单级别

menuParentCode

varchar

菜单父节点

menuClick

varchar

触发函数

menuRight

varchar

权限

menuComponent

varchar

菜单组件

menuIcon

varchar

菜单图标

4、表record

字段名称

字段类型

中文名称

id

int

主键

goods

int

货品id

userId

int

用户id

admin_id

int

操作人id

count

int

数量

createtime

datetime

操作时间

remark

varchar

备注

5、表storage

字段名称

字段类型

中文名称

id

int

主键

name

varchar

仓库名

remark

varchar

备注

6、表user

字段名称

字段类型

中文名称

id

int

主键

no

varchar

账号

name

varchar

名字

password

varchar

密码

age

int

年龄

sex

int

性别

phone

varchar

电话

role_id

int

角色

isValid

varchar

状态

5章 详细设计

5.1 详细功能模块

系统功能模块如表所示:

功能名称

输入

处理

输出

用户登录

用户名、密码

验证用户名和密码,校验成功则登录,并记录登录日志

登录成功,跳转到管理员首页

个人中心查询

查询当前用户的个人信息

显示当前用户的个人信息

用户信息管理

输入关键字查询用户信息,提供增加、删除、修改、查询等操作

1. 增加用户信息:将新增的用户信息插入到数据库 2. 删除用户信息:从数据库中删除对应的用户信息 3. 修改用户信息:更新数据库中对应的用户信息

保存操作结果,提示操作成功或失败

仓库信息管理

输入关键字查询仓库信息,提供增加、删除、修改、查询等操作

1. 增加仓库信息:将新增的仓库信息插入到数据库 2. 删除仓库信息:从数据库中删除对应的仓库信息 3. 修改仓库信息:更新数据库中对应的仓库信息

保存操作结果,提示操作成功或失败

物品信息管理

输入关键字查询物品信息,提供增加、删除、修改、查询等操作

1. 增加物品信息:将新增的物品信息插入到数据库 2. 删除物品信息:从数据库中删除对应的物品信息 3. 修改物品信息:更新数据库中对应的物品信息

保存操作结果,提示操作成功或失败

物品分类管理

输入关键字查询物品分类,提供增加、删除、修改、查询等操作

1. 增加物品分类:将新增的物品分类插入到数据库 2. 删除物品分类:从数据库中删除对应的物品分类 3. 修改物品分类:更新数据库中对应的物品分类

保存操作结果,提示操作成功或失败

物品出入库操作

选择物品、选择操作类型、输入数量

1. 根据选择的物品和操作类型进行相应的数据库插入或更新操作 2. 根据输入的数量更新物品的库存数量

保存操作结果,提示操作成功或失败

操作日志查询

选择查询条件,如时间范围、操作类型等

根据选择的查询条件从数据库中查询相应的操作日志

显示查询到的操作日志列表

管理员信息管理

输入关键字查询管理员信息,提供增加、删除、修改、查询等操作

1. 增加管理员信息:将新增的管理员信息插入到数据库 2. 删除管理员信息:从数据库中删除对应的管理员信息 3. 修改管理员信息:更新数据库中对应的管理员信息

保存操作结果,提示操作成功或失败

物品信息查询

输入关键字进行搜索

根据关键字从数据库中查询匹配的物品信息

显示查询到的物品信息

操作日志查询

选择查询条件,如用户、时间范围、操作类型等

根据选择的查询条件从数据库中查询匹配的操作日志

显示查询到的操作日志列表

系统功能模块表

5.1.1 主要模块 - 用户登录

    用户输入帐号和密码后,传至系统后台进行校验。如果帐号密码不匹配,跳回登录页面。账号密码都匹配的话,返回给前端,如图所示。

登录时序图

5.1.2 主要模块 - 商品出入库

    管理员可以针对物品进行出入库操作,具体流程如图所示。

预约挂号时序图

6章 系统实现

7章 系统测试

7.1 软硬件环境

操作系统:Windows 10

数据库:MySQL 8.0.19

应用软件:Idea 2021.03

浏览器:Chrome 90.0.4430.93

软硬件环境:10台电脑

7.2 测试方法

系统测试是指在完成项目编码后,系统正式上线前,根据系统前期的需求分析以及规格说明进行最终审查。系统测试可以验证系统是否达到需求,每个功能模块是否存在着一些缺陷或错误引发系统不正常的运行[8],从而保证了系统的准确性与可靠性。

本系统在完成每一个小功能之后,都会进行单元测试,以此来找到存在的BUG并解决,同时可以检验功能实现是否达到了预期的效果。在系统完成后使用黑盒方法对本系统进行测试。

7.3 测试用例

编号

用例名

预期结果

实际结果

cs0101

系统管理员登录成功

显示系统管理员首页

登录成功,显示系统管理员首页

cs0102

系统管理员登录失败

显示登录失败提示消息

登录失败,提示用户名或密码错误

cs0103

系统管理员个人中心查询

显示系统管理员的个人信息

显示系统管理员的个人信息

cs0104

添加管理员信息

成功添加管理员信息,保存到数据库

添加管理员信息成功,数据保存到数据库中

cs0105

管理员信息管理-删除管理员

成功删除指定管理员信息,数据库中相应记录被删除

删除管理员信息成功,数据库中相应记录已被删除

cs0106

仓库信息管理-添加仓库

成功添加仓库信息,保存到数据库

添加仓库信息成功,数据保存到了数据库中

cs0107

仓库信息管理-修改仓库信息

成功更新仓库信息,数据库中相应记录被更新

修改仓库信息成功,数据库中相应记录已被更新

cs0201

仓库管理员登录成功

显示仓库管理员首页

登录成功,显示仓库管理员首页

cs0202

仓库管理员登录失败

显示登录失败提示消息

登录失败,提示用户名或密码错误

cs0203

仓库管理员个人中心查询

显示仓库管理员的个人信息

显示仓库管理员的个人信息

cs0204

物品信息管理-查询物品信息

显示物品信息列表

显示物品信息列表

cs0205

物品信息管理-修改物品信息

成功更新物品信息,数据库中相应记录被更新

修改物品信息成功,数据库中相应记录已被更新

cs0301

普通用户登录成功

显示普通用户首页

登录成功,显示普通用户首页

cs0302

普通用户登录失败

显示登录失败提示消息

登录失败,提示用户名或密码错误

cs0303

普通用户个人中心查询

显示普通用户的个人信息

显示普通用户的个人信息

cs0304

操作日志查询

显示相应操作日志列表

显示相应操作日志列表

  • 13
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值