springboot基于Java的交友系统

摘 要

随着我国经济的高速发展与人们生活水平的日益提高,人们对生活质量的追求也多种多样。尤其在人们生活节奏不断加快的当下,人们更趋向于足不出户解决各种问题,交友系统展现了其蓬勃生命力和广阔的前景。与此同时,为解决用户需求,交友系统发展愈发多元化与网络化,与电子信息技术相结合。交友系统应运而生。
该系统利用Java语言、MySQL数据库,springboot框架,结合目前流行的 B/S架构,将交友系统的各个方面都集中到数据库中,以便于用户的需要。该系统在确保系统稳定的前提下,能够实现多功能模块的设计和应用。该系统由管理员功能模块和用户功能模块组成。不同角色的准入制度是有严格区别的。各功能模块的设计也便于以后的系统升级和维护。该系统采用了软件组件化、精化体系结构、分离逻辑和数据等方法。
关键字:交友系统;Java语言;MySQL数据库;B/S结构

1绪 论

1.1开发背景
改革开放以来,中国社会经济体系复苏,人们生活水平稳步提升,中国社会已全面步入小康社会[1]。同时也在逐渐转型,具有生活的现代化和劳动的社会化等特点。这不仅基于人们过快的工作节奏与生活方式,也是源于人们对于生活品质越来越严苛的要求。如何从工作压力与生活压力中得到解放,是现代人追求的永恒话题。
根据综合上述来讲,交友系统在很大程度上可以解决一部分问题,逐渐进入人们的视野。交友系统采用的手工记录信息的方式,给管理者管理工作造成很大的困难。这也充分说明了传统的信息处理方式已经很难适应现代管理系统的需要[2]。
近年来,随着计算机技术的飞速发展以及其在全球范围内的普及,计算机技术的在人们生活中应用的占比越来越大,尤其是信息资源管理方面,广泛应用于各个行业,已经产生了不可估量的社会效益。计算机技术在信息资源管理方面的应用大大提高了工作效率,简化了工作程序,改善了服务质量。而这些特点正好对交友系统的难题对症下药。交友系统一经问世,就展现了其巨大的发展前景与优势。电子信息技术与交友系统的结合,使得用户足不出户就可以在系统上操作,符合人们现代生活方式发展;这种结合也对交友系统模式的变革也起到了决定性的作用,可以实现交友系统信息一次录入,永久使用的便捷,关键词输入即可将用户需求进行匹配,达到客户需求最快最优实现的理想。然后这种模式更加节省成本,无论是纸质文字的录入和保存,还有人工的费用都为交友系统的资本积累以及变革提供了保障。因此可以看出,交友系统网络化,不仅大大提高了本行业的工作效率,简化工作方式,更是一场交友系统的深刻变革[3]。
1.2开发目的与意义
1.2.1开发目的
近年来,交友系统发展迅猛,在拥有广阔发展前景的同时,也面临着许许多多的问题。
我国线上管理起步晚,但发展快速,从业人员激增,多见于传统管理模式,管理体系不规范、不标准。且企业虽然多但规模普遍偏小,很难在市场形成有效的诚信经营的形象与品牌[4]。
我国目前存在的线上管理监管制度缺失、市场监管不规范等问题。由于缺乏专业人士的素质和服务品质的明确测量,导致线上管理内部鱼龙混杂,难以获得顾客的信赖。
交友系统是电子、信息技术相结合,是一种必然的发展趋势。以互联网为基础,以服务于广大用户为目的,发展整体优势,扩大规模,提升服务质量,提高信息化的管理效率。交友系统实现了向现代化和网络化的转型,为管理决策和控制提供保障,这是交友系统发展中里程碑式的转型[5]。
1.2.2开发意义
对于软件平台来说,系统的建设大大节省了管理成本和人工成本,增强用户信息安全建设,是软件平台实现管理现代化的有效途径,同时促进软件平台管理更加专业化和网络化。
对于用户来说,建立交友系统体系不仅丰富了网络化模式,还能刺激各行业进行自我改革,促使其专业性和规范性的提高。这是交友系统良性循环发展的里程碑[6]。
1.3本文研究内容
首先,要掌握有关系统的基本理论,如 Java语言、 MySQL数据库等,并对其进行全面的分析。为了给系统打下坚实的技术基础,本系统采用了 MySQL数据库的架构,在开始这项工作前,首先要设计好要用到的数据库表。该系统的使用者有二类:管理员和用户,主要功能包括个人信息修改,用户、交友、兴趣爱好、交友信息、消息、交友论坛等功能[7]。

2开发技术

2.1 Java介绍
Java语言正式诞生于1995年,是由SUN公司开发研制的OAK语言发展而来的。Java语言继承了OAK语言可跨平台运行的特点,融合了面向对象编程的风格,JAVA以其独有的开放性、跨平台性和面向网络的交互性席卷全球,以其安全性、易用性和开发周期短的特点,迅速从最初的编程语言发展成为全球第一大软件开发平台.广受时下程序开发人员的好评。后来又为了丰富Java语言的用途,提高生产力,将它进行设计和改造,以满足更多地开发和应用场景。经过改造后,它可以满足移动端开发,桌面应用开发和企业级应用开发。Java语言还为用户提供了丰富的类库,在掌握它的特性后,学习特定的工具包,就可以满足很多场景的开发。现在来看,Java语言在这三种平台的应用开发中,都占据了举足轻重的地位。
与其他语言相比,Java语言具有很多的优点,Java语言简单比较容易理解,有c语言的基础很容易就可以学会,中文和英文的学习资源也比较多,而且Java语言经过许多年的沉淀发展,逐渐演变出很多成熟的框架技术。企业还还可以封装自己的框架,让开发变得简单。它还具有跨平台性较其他语言这一个最大的优势,这意味着它只需要一次编译就可以运行在其他平台上。
2.2 MySql简介
MySQL是一种关系型的数据库管理系统,属于Oracle旗下的产品。MySQL的语言是非结构化的,使用的用户可以在数据上进行工作。这个数据库管理系统一经问世就受到了社会的广泛关注。在各个方面,与同等的数据库相比,MySQL的优点极为突出,它的运行速度快,适用的范围广泛,而且数据库的安全性这一方面独树一帜。在语言结构方面,MySQL的语言简单,其他数据库需要一大段代码来实现的操作,MySQL仅需要一小部分代码甚至几行。综上所述,MySQL这种关系型数据库管理系统,已经成为了开发者进行项目的数据开发、存储的不二之选。MySQL的功能也多种多样,如数据操纵和数据库的建立维护等。而且该数据库的数据共享性高、冗余度低而且容易扩充。MySQL在安全性这一方面也具有自身的特点,它应用了用户的标识和鉴别技术,对试图和数据进行加密,确保资料信息的可靠性。介于数据库系统的功能与强大等性质之间,本数据库系统的设计中主要使用了MySQL实现对数据的处理。基于SpringBoot的交友系统运用MySQL数据库,在Web应用这一块,MySQL是最好的选择。对于该系统整个的开发、搭建、运行和维护具有极其重要的作用。

2.3 Spring boot框架
Spring Boot的开发团队来自美国的Pivotal公司,是2013年研发的免费、轻量级、开源的系统框架。它集合、默认了许多框架的使用方法,是基于原有的框架的功能的又一次进化,所以从这个角度看,它就又是一个旧的框架。
Spring boot有以下几个特点:低嵌入式设计,代码污染性低;不是只局限于Spring,开发者可以随意的选择Spring框架的任意几个部分;使程序的测试变得更加简单与方便;没有独立的Web服务器需要,所以不再需要启动Tomcat,Glass Fish。

2.4 B/S架构
B/S(Browser/Server,浏览器/服务器)模式,是一种架构模式,属于WEB发展后的所出现的一种网络构造,而WEB又是主要的浏览器应用商品软件。B/S架构模式不仅将系统的重新开发、维修及利用等简单化,更将其重点放到了服务器上。它使客户端得到了统一,服务器上集中了系统功能的最关键部分。
B/S架构的工作模式是浏览器发出请求后服务器进行相应的响应。Internet上文本、图片、动画等信息主要由Web服务器产生,而用户主要是通过浏览器访问这些信息。在Web服务器上下载程序时,如果在下载过程中遇到某些与数据库相关的指令,可以将这些指令交给数据库服务器来解释、进行执行。B/S架构工作流程图如2-1所示:
图2-1 B/S架构工作流程图
2.5 Tomcat简介
Tomcat是Java Servlet,JavaServerPages,Java Expression Language和JavaWebSocket(Java EE)技术的开源实现。因为可以通过HTTP提供HTML页面等静态内容的请求访问,所以是一个WEB服务器。
Tomcat 目录结构作用如表2-2所示
表2-2 tomcat目录结构表
序号 目录名称 作用
1 bin 存放启动和关闭tomcat脚本
2 conf 存放不同的配置文件(server.xml和web.xml)
3 doc 存放Tomcat文档
4 lib 存放Tomcat运行需要的库文件(JARS)
5 logs 存放Tomcat执行时的LOG文件
6 src 存放Tomcat的源代码
7 webapps Tomcat的主要Web发布目录(包括应用程序示例)
8 work 存放jsp编译后产生的class文件[22]

3系统分析

需求分析是研发人员经过调研和分析后准确理解用户需求,确定系统需要具备的功能。然后对系统进行可行性和功能分析,确保符合交友系统的实现价值,对后续的系统创建有显著的帮助[8]。
3.1可行性分析
3.1.1技术可行性分析
基于B/S架构开发的交友系统,技术方面应用了目前市面上比较主流的web三大框架,分别是 springboot、Hibernate、struts2,数据库采用mysql,tomcat作为服务器,这些技术非常的成熟,在市面上有非常多成熟使用的案例,从技术角度是没有问题的,并且在学校的学习中对于这些技术就会有了一定的掌握,开发过类似的项目[9]。
3.1.2经济可行性分析
交友系统大都是区域性的管理,系统中维护的范围不会非常大,因此数据并发量不会非常高,在数据并发量不是很高的情况下,系统的资源配置相对较低,用户所需要的客户端普通的电脑即可胜任。并且交友系统的管理系统还会提高效率减少纸质物品的使用,节约纸质资源。避免很多的人力消耗和资源浪费。从系统的开发角度分析,此次项目的开发软件全部都是开源且免费的。不需要在开发中投入经济成本,只需要专注于开发的内容即可,不会产生相应的开发费用。系统稳定使用后系统不会有过多的运维成本,投入使用后会在实际工作中发挥出重要的作用。
3.1.3法律可行性分析
交友系统是自己独立设计的,该系统是本人开发出来做毕业设计之用,并不会侵犯他人、集体和国家的利益。该系统使用正版软件开发,所有参考资料都是正规网站查询分析得出,开发的技术完全是开源免费的工具,百分百遵守国家法律法规。不会出现任何违反国家的政策和法律的[10]。
3.2系统性能分析
(1)系统安全性
交友系统中,系统的安全性要有一定的保障,不仅要保证系统数据存储足够安全,还要保障数据传输过程安全,还要保证对用户权限管理是合理的。保证一些意外情况发生,导致系统数据缺损时,会有历史数据备份对数据进行还原。
(2)可维护性和适应性
世界是在不断进步的,互联网也在不断发展,随着行业发展,对交友系统可能会产生新的需求,好的系统应该具有可扩展性,无论在现在还是未来,都能够满足用户需求,可以长期使用本交友系统。
(3)可靠性
交友系统在发展进步,平台会越做越大,用户人数越来越多,到时候系统的访问量就会比现在多很多,交友系统要足够可靠,能够在并发量高的情况下,依旧保持优越的运行速度、容错能力[11]。
3.3功能需求分析
系统的目标是为管理员和用户搭建一个网上沟通平台,保证双方的安全,并使双方的利益最大化。
3.3.1管理员需求分析
管理员端的功能主要是开放给系统的管理人员使用,能够对用户的信息进行管理,包括对用户管理、交友管理、兴趣爱好管理、交友信息管理、消息管理、交友论坛、系统管理进行查看,修改和删除、新增等,对系统整体运行情况进行了解。
管理员用例分析图,如图3-1所示。
在这里插入图片描述

图3-1管理员用例分析图

3.3.2用户需求分析
用户的功能主要是对个人账号和密码进行更新管理,对首页、交友、交友信息、消息、交友论坛、交友资讯、个人中心进行查询详情操作。
用户用例分析图,如图3-2所示。
在这里插入图片描述

图3-2用户用例分析图
3.4系统流程分析
在本系统,非本系统的用户要想进行交友系统就要注册本系统,登录时需要填写相应的资料,如有使用者,则会显示使用者名称已经存在,请再次键入使用者名称的提示框,若使用者不存在,则填写密码、确认密码等资料,并由系统判定密码与确认密码相符,确认无误后,填写使用者所填写的资料,即可进行登记。而且,为了保证系统的安全,只有在登录了本系统以后,才能进入系统后台操作。该系统的工作流程见图3-3。
在这里插入图片描述

图3-3 程序流程图

4系统设计

4.1功能模块设计
对本系统进行全面的系统功能的分析,可以得出基于Spring boot的交友系统的功能模块图,如图4-1所示。
在这里插入图片描述

图4-1 系统功能模块图
4.2数据库设计
4.2.1数据库设计原则
要学习程序设计,如果你想了解数据库管理系统或根据要求开发的系统接口,你必须创建一个数据库管理系统模型来存储数据。这样,当您在应用程序编程过程中,就不需要将信息加载到操作系统页面,从而提高整个系统的工作效率。信息库管理系统中存储着许多数据,应该说是管理信息系统建设的中心和基础。信息库管理系统还为管理信息系统的建设提供了添加、删除、更改和搜索的操作功能,使管理信息系统建设能够快速查询所需的数据,而不是直接从程序代码中查找。信息库管理系统通过按照特定的方法将信息表的各个组成部分组合起来,准确地组合、分类并构成信息库管理体系。

5系统实现

在交友系统的生命周期中,经过了系统分析、系统设计等阶段之后,便开始了系统实施阶段。系统的实现主要对管理员,用户功能的实现,通过实现的过程对代码和逻辑进行相应的修改和完善。该模块也是直接面对使用者的,不仅功能要齐全,而且要做到页面美观。
5.1 前台用户功能模块
当游客打开系统的网址后,首先看到的就是首页界面。在这里,游客能够看到交友系统的导航条显示首页、交友、交友信息、消息、交友论坛、交友资讯等。系统首页界面如图5-1所示:
在这里插入图片描述

图5-1系统首页界面

点击用户注册,用户通过注册页面填写账号、密码、确认密码、姓名、性别、手机、邮箱、身份证、头像等信息,并点击注册操作,如图5-2所示。
在这里插入图片描述

图5-2用户注册界面图

点击用户登录,用户通过登录页面输入账号、密码,并点击登录操作,如图5-3所示。
在这里插入图片描述

图5-3用户登录界面图

用户点击交友;在交友页面的搜索栏输入账号等信息,进行查询,然后查看账号、姓名、性别、头像、职业、兴趣爱好、个人介绍、交友方向、点击次数等信息,还可以点击发信息、关注等操作;如图5-4所示。
图5-4交友界面图
在这里插入图片描述

用户点击交友信息;在交友信息页面的搜索栏输入发信人账号等信息,进行查询,然后查看发信人账号、发信人姓名、头像、性别、收信人账号、收信人姓名等信息,还可以点击回复信息等操作;如图5-5所示。
图5-5交友信息界面图
在这里插入图片描述

点击交友论坛,用户进入到交友论坛页面,可以编辑填写标题、选择类型、填写内容,以及选择公开或者私人,进行发布,也可以查看他人帖子进行评论,用户与用户之间互相交流,如图5-6所示。
图5-6交友论坛界面图
在这里插入图片描述

用户点击个人中心,在个人中心页面填写账号、密码、姓名、性别、手机、邮箱、身份证、头像等信息,进行更新信息操作,还可以点击我的发布或者我的关注,如图5-7所示。
图5-7个人中心界面图
在这里插入图片描述

5.2 后台管理员功能模块
管理员登录,通过登录页面填写用户名和密码等信息,进行登录操作,如图5-8在这里插入图片描述
所示。

图5-8管理员登录界面图

管理员登录进入交友系统可以查看系统首页、个人中心、用户管理、交友管理、兴趣爱好管理、交友信息管理、消息管理、交友论坛、系统管理等功能进行详细操作,如图5-9所示。
在这里插入图片描述

图5-9管理员功能界面图

管理员点击用户管理;在用户管理页面通过输入账号、姓名、性别、手机、邮箱、身份证、头像等信息,进行查询,新增或删除用户信息等操作;如图5-10所示。
在这里插入图片描述

图5-10用户管理界面图

管理员点击交友管理;在交友管理页面通过对账号、姓名、性别、头像、职业、兴趣爱好、个人介绍、交友方向、点击次数等信息,进行查询或删除交友等操作;如图5-11所示。
在这里插入图片描述

图5-11交友管理界面图

管理员点击兴趣爱好管理;在兴趣爱好管理页面通过对兴趣爱好等信息,进行查询,新增或删除兴趣爱好等操作;如图5-12所示。
在这里插入图片描述

图5-12兴趣爱好管理界面图

管理员点击交友信息管理;在交友信息管理页面通过对发信人账号、发信人姓名、头像、性别、收信人账号、收信人姓名等信息,进行查询或删除交友信息等操作;如图5-13所示。
在这里插入图片描述

图5-13交友信息管理界面图

管理员点击消息;在消息页面通过对收信人账号、收信人姓名、账号、姓名、头像、发送时间等信息,进行查询或删除消息等操作;如图5-14所示。
在这里插入图片描述

图5-14消息界面图

管理员点击交友论坛;在交友论坛页面通过对帖子标题、用户名、状态等信息,进行查询或删除交友论坛等操作;如图5-15所示。
在这里插入图片描述

图5-15交友论坛界面图

6系统测试

每个系统在经过开发者的设计与研究之后,在真正投入使用之前都需要对该系统进行专业的测试。对系统进行简单的测试可以判断它是否满足说明书中所描述的功能,并且可以找出系统设计中存在的问题以此来优化系统。系统测试的方法很多,对本系统主要采取黑盒测试对系统的功能以及性能进行测试[12]。
6.1系统测试内容
6.1.1登录测试
登录页面测试,测试用户admin用户名的账号系统,测试结果如表6-1所示。
表6-1 登录测试
用例编号 1.0
所属模块 登录
操作步骤 在登录输入框中输入本人的密码和用户名,并点击登录按钮执行登录操作。本系统将验证用户输入的登录信息。如果信息无误,它将成功登录并跳转到个人主页,反之则弹出提示框,提示信息无效。
预测结果 如果错误输入,则会提示登录失败,请检查您的账号重试。
实际结果 在输入框里输入错误的账号或密码,弹出登录失败,请检查您的账号重试的提示框。

6.1.2 角色测试
系统的管理层可在此模块进行以下操作:新增角色;删除角色;修改角色基础信息;给角色设置数据权限。以权限名称:xx,权限字符:admin,菜单权限:系统管理为例对该模块进行测试[13]。对该功能的测试操作如表6-2所示:

表6-2 角色管理测试过程及结果
测试项 测试用例 测试特性 用例描述 系统反应 测试结果
角色管理 权限名称:xx,权限字符:admin
菜单权限:系统管理 功能测试
添加一个新角色,基础信息与已有角色完全一致 添加失败,提示“该角色已存在” 通过
角色管理 权限名称:xx权限字符:admin
菜单权限:系统管理 功能测试
按关键词搜索角色信息 查找成功 通过
角色管理 权限名称:xx,权限字符:admin
菜单权限:系统管理 功能测试 删除系统中角色 删除成功 通过
角色管理 权限名称:aa,权限字符:boss
菜单权限:系统管理 功能测试 添加一个新角色,基础信息与已有角色均有所不同 添加成功 通过
6.1.3 性能测试
性能测试主要是为了模拟系统在多人使用的运行环境中测试系统的性能最大的承受压力。对关键的技术指标表示支持系统的运行速度,网络顺畅和并发的数量。当多个人使用时,系统不会崩溃。
(1)运行的速度:测试在不同计算机上运行时没有出现死机的情况。
(2)响应的时间:对最快,平均和最大的响应时间。经过测试,局域网应答时限参数能满足用户的需求,属于正常承受范围。
(3)支持并发节点数:系统在并发节点上达到45个时,网络运营的速度波动较大,时间延迟十秒之间,符合客户需求。
6.2测试用例执行结果
根据上述测试用例对系统进行测试。测试结果如表6-3所示。

表6-3 测试用例执行结果
测试项目 用例状态 测试结果
登录界面 已执行 测试通过
角色测试 已执行 测试通过
性能测试 已执行 测试通过

结 论

基于springboot的交友系统在经过系统的开发后,已经成功完成搭建。在搭建过程中,最开始的工作是从查阅相关资料开始的,通过在互联网的交友系统资料查询和阅读,对整个交友系统有了整体的概念了解,然后对本交友系统进行分析设计,本次交友系统的诉求是实现用户的基本需求,所以在设计时,整个系统功能模块十分简洁,系统为管理员和用户二大结构模块。在系统具体实现过程中,先把系统数据库搭建,然后进行功能模块的代码编译,最后将所有模块进行整合,形成完整的交友系统。最后对系统进行了测试,测试结果符合预期。
系统仍然存在很多不足,各环节的流程没有做到非常精密的联系,逻辑上还有漏洞。从这些问题中吸取经验教训积累宝贵。

创建一个基于Spring BootJava交友系统是一个大型项目,涉及到数据库设计、API开发、用户管理等多个模块。这里我将给出一个简单的概述和关键部分的代码示例,但完整实现会非常复杂。 首先,你需要安装并设置好Spring Boot开发环境,然后可以开始创建一个新的Spring Boot项目: 1. **Maven或Gradle配置**: 使用`pom.xml`或`.gradle`文件来添加Spring Web、Spring Data JPA、Spring Security等依赖。 ```xml <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <!-- 如果需要用户认证 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> </dependencies> ``` 2. **实体类(User.java)**: 用户模型,包含基本信息如用户名、密码等。 ```java import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; @Entity public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String username; private String password; // getters and setters } ``` 3. **Repository接口(UserRepository.java)**: Spring Data JPA接口,用于操作数据库。 ```java import org.springframework.data.jpa.repository.JpaRepository; public interface UserRepository extends JpaRepository<User, Long> { User findByUsername(String username); } ``` 4. **Service层(UserService.java)**: 实现业务逻辑,例如注册、登录功能。 ```java import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; @Service public class UserService { private final UserRepository userRepository; private final BCryptPasswordEncoder passwordEncoder; @Autowired public UserService(UserRepository userRepository, BCryptPasswordEncoder passwordEncoder) { this.userRepository = userRepository; this.passwordEncoder = passwordEncoder; } // 注册方法 public User register(User user) { user.setPassword(passwordEncoder.encode(user.getPassword())); return userRepository.save(user); } // 登录方法 public Optional<User> authenticate(String username, String password) { return userRepository.findByUsername(username) .map(user -> { if (passwordEncoder.matches(password, user.getPassword())) { return user; } else { throw new IncorrectPasswordException(); } }); } } ``` 5. **Controller层(UserController.java)**: 接受前端请求并处理,例如注册和登录接口。 ```java @RestController @RequestMapping("/api/users") public class UserController { @Autowired private UserService userService; // 注册接口 @PostMapping("/register") public ResponseEntity<?> register(@RequestBody User user) { User savedUser = userService.register(user); return ResponseEntity.ok(savedUser); } // 登录接口 @PostMapping("/login") public ResponseEntity<?> login(@RequestBody UserLoginRequest request) { Optional<User> user = userService.authenticate(request.getUsername(), request.getPassword()); if (user.isPresent()) { return ResponseEntity.ok().build(); } else { return ResponseEntity.status(HttpStatus.UNAUTHORIZED).build(); } } } // 请求体模型 public class UserLoginRequest { private String username; private String password; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毕业程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值