自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(118)
  • 收藏
  • 关注

原创 黑马-Java-day02

基础知识

2022-06-10 23:37:05 524 1

原创 python常识(一)

1、诞生时间:C语言诞生于1972年,是第一个被广泛使用的编程语言;python语言诞生于1990年,是最流行最好用的语言。2、python语言特点:1)通用性。几乎可以应用于任何与程序设计相关应用的开发。2)语法简单。python语法主要用来表达问题的逻辑,只有33个保留字。3)生态高产。python解释器提供了几百个内置类和函数库。4)平台无关。python程序可以在任何安装了python解释器的计算机环境中执行。5)强制可读。python使用强制缩进来体现语句

2022-04-29 21:33:39 1961

原创 软件测试常见问题

1、什么是软件测试?为了发现错误而执行程序的过程。2、软件测试的目的是什么?以最少的人力、物力和时间,找出软件中隐藏的各种缺陷和错误,提高软件质量,避免商业风险。3、什么是需求文档测试?测试需求中是否存在逻辑矛盾,需求在技术上是否可以实现。4、什么是设计文档测试?测试设计是否符合全部需求,设计是否合理。5、什么是α测试?是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha测试不能由程序员或测试员完成。Alpha测试可以从软件产品编码结束之

2022-04-28 21:19:57 1612

原创 JMeter接口测试

1、接口:1)接口其实就是各种数据库操作。2)程序对内接口,一般由开发自测。程序对外接口,由测试来测。2、接口测试:测试项目和项目之间,模块与模块之间,组件与组件之间的数据交互和权限鉴定。接口测试主要用于外部系统与系统之间以及内部各个子系统之间的交互点,定义特定的交互点,然后通过这些交互点,借助一些特殊的规则也就是协议,来进行数据之间的交互。3、接口的组成:1)接口说明。2)调用url。3)请求方法,4)请求参数、参数类型说明。5)返回参数说明。使用接口测试工具进行测试,接口测试

2022-04-28 00:33:50 2665

原创 有关HTML的知识点

1、web前端三大核心技术:1)HTML:负责网页的架构。2)CSS:负责网页的样式、美化。3)JS:负责网页的行为。2、什么是HTML?用来描述页面的一种语言。3、Html标签:1)单标签:<标签名>2)双标签:内容4、标签属性:属性格式:属性名=“属性值”属性:用来描述事物的某个特征。5、HTML的骨架标签: 编写代码区域...

2022-04-24 02:51:38 462

原创 项目缺陷管理工具——禅道

1、禅道:1)地址:https://www.zentao.net/user-login.html2)特点:①国产、开源开放、简单、轻量级。②三管融合(产品管理、项目管理、质量管理)。③三权分立:产品部门是构思者,研发部门是执行者,测试部门是保证者。④四角协同(产品经理、项目经理、研发团队、测试团队)。2、禅道使用流程:1)管理用例–>创建用例–>评审用例–>执行用例。2)管理缺陷–>缺陷创建–>缺陷跟踪–>缺陷验证。🌂HR:说出项目缺陷的管理流程是

2022-04-24 00:10:44 3123

原创 软件缺陷(bug)

1、缺陷的定义:软件在使用过程中存在的任何问题都叫软件的缺陷,简称bug。2、软件缺陷的判定标准:1)少功能:软件未实现需求(规格)说明书中明确要求的功能。2)功能错误:软件出现了需求(规格)说明书中指明不应该出现的错误。3)多功能:软件实现的功能超出了需求(规格)说明书中指明的范围。4)隐性功能错误:软件未实现需求(规格)说明书中未明确指明但应该实现的要求。5)不易使用:软件难以理解不易使用,运行缓慢,用户体验差。3、缺陷产生的原因:1)需求文档阶段:需求描述不易理解,有歧义

2022-04-23 18:07:06 2050

原创 软件测试小结2

1、对穷举场景设置测试点:1)方法:等价类。2)等价类分为:有效等价和无效等价。①有效等价:测试数据范围之内,取一个。②无效等价:范围之外都属于无效,各取一个。3)重点是验证类型。验证长度使用边界值,验证规则和类型使用等价类。2、对限定边界规则设置测试点:1)方法:边界值。2)主要验证的点:①上点:边界上的点。②离点:距离上点最近的点。③内点:范围内的点。3)使用边界对长度限制设计测试点最多有7条用例,优化后有5条用例。4)优化方法:开内闭外。①开区间不包含上点,取内点。

2022-04-23 16:29:26 280

原创 关于哈希算法

1、密码哈希函数是一类数学函数,可以在有限合理的时间内,将任意长度的消息压缩为固定长度的二进制串,其输出值称为哈希值,也称为散列值。以哈希函数为基础构造的哈希算法,在现代密码学中扮演着重要的角色,常用于实现数据完整性和实体认证,同时也构成多种密码体制和协议的安全保障。2、碰撞是与哈希函数相关的重要概念,体现着哈希函数的安全性,所谓碰撞是指两个不同的消息在同一个哈希函数作用下,具有相同的哈希值。3、哈希函数的安全性是指在现有的计算资源(包括时间、空间、资金等)下,找到一个碰撞是不可行的。4、区块链也依

2022-04-21 22:58:04 943

原创 从华尔街走出的区块链女性人物

1、区块链创业公司BlockCypher的CEO ( 首席执行官)凯瑟琳尼科尔森,该公司已经筹集了350万美元的资金。2、数字资产控股公司的CEO布莱斯.马斯特。她是摩根大通前高管,在摩根大通待了近30年,离开摩根大通之后开始了创业之旅,她创立了数字资产控股公司并担任CEO,这是一家寻求将区块链技术应用到华尔街市场的创业公司。这家公司的第一个大客户就是她的前任雇主摩根大通。摩根大通现在正与数字资产控股公司合作测试使用区块链来加快结算速度。她认为:“我们将在未来一两年看到区块链技术以各种形式被部署到商业环境

2022-04-21 22:30:33 201

原创 智能合约创始人

1、根据售货机的灵感,提出了智能合约的概念,他就是尼克萨博,他是-位计算机科学家、 密码学家、法律学者,是智能合约等创新概念的先驱,他还曾被人怀疑是中本聪。目前,他正在募集资金,打算建立一个区块链技术公司。2、在尼克萨博眼中,自动售货机有着不一样的魅力, 购买者向售货机投入一定数量的货币,选择要购买的商品,这就在两者间创建了一种强制执行的合约。购买者投入货币并选择商品,而卖家通过售货机内置的逻辑提供商品和找零。3、如果我们投入硬币但售货机没有吐出商品,我们会认为售货机不遵守合约,有些愤怒的人甚至拳打脚

2022-04-21 22:12:35 263

原创 区块链大事件

2016 年经常被人们称为区块链元年,因为在这一年区块链技术的价值真正被世界所认可。 各国政府开始研究发行自己的数字货币,超过 50 家世界级银行组成联盟研发区块链银行间服务, 上千家区块链行业的创业公司如雨后春笋般兴起。回顾这一年来区块链行业发生的大事件,也许有效的反思可以更好的指引未来的方向。事件一:各国央行认可区块链价值,正在研发法定数字货币2016 年 1 月 20 日,中国人民银行召开数字货币研讨会,来自人民银行、花旗银行和德勤公司的数字货币研究专家分别就数字货币发行的总体框架、货币演进中.

2022-04-21 18:57:08 824

原创 区块链相关的知识

1、哈希列表:在点对点网络中作数据传输的时候,我们会从同时从多个机器上下载数据,而且其中很多机器可以认为是不稳定或者是不可信的。对点网络在传输数据的时候,其实都是把比较大的一个文件,切成小的数据块。这样的好处是,如果有一个小块数据在传输过程中损坏了,那我只要重新下载这一个数据块就行了,不用重新下载整个文件。这就要求每个数据块都拥有自己的哈希值。在下载真正的数据之前,我们会先下载一个哈希列表。每个小块的哈希值拼到一起,然后对整个这个长长的字符串再做一次哈希运算,最终的结果就是哈希列表的根哈希,就可以用它来校

2022-04-21 18:52:18 2503

原创 区块链相关的误区

1、区块链就是数据库?其实,如果我们将整个区块链的底层架构看作是一个数据库,可以说对,也可以说不对。1)“对”的一点在于其实区块链技术本身就是一个建立在互联网技术之上的新兴概念。那么互联网是如何构建的呢?通俗地理解,其实就是来自各种数据的整合,我们可以在互联网上搜索到任何所需的数据信息。而区块链技术则更是将数据整合的优化。着眼点就在于字面意思——“区块链”三个字上。任何数据通过不同节点的梯次的验证之后,以打包的形式永久地保存在区块链系统上,这就是“区块”;再以时间戳的“链式结构”链接起来,这就是“链”

2022-04-21 18:29:16 176

原创 初识区块链

1、什么是区块?1)在区块链技术中,数据以电子记录的形式被永久存储下来。存放这些电子记录的文件,我们就称之为区块。2)区块是按照时间顺序一个一个先后生成的,每一个区块记录下它在被创建期间发生的所有价值交换活动,所有的区块汇总起来形成一个记录合集。区块中会记录下区块生成时间段内的交易数据,区块主体实际上就是交易信息的合集。3)当数据被分成不同的区块,每个区块通过特定的信息链接到上一区块的后面,前后顺连来呈现一套完整的数据。这也是“区块链”这个名称的来源。4)区块就是区块链中存储信息的载体。

2022-04-21 18:01:45 1412

原创 Java中的private、this关键字和封装

1、通过对象名直接访问成员变量的方式,存在数据安全隐患。2、private关键字:1)是一个权限修饰符。2)可以修饰成员(成员变量和成员方法)。3)作用:保护成员不被别的类使用。被private修饰的成员只有在本类中才能访问。3、针对private修饰的成员变量,如果需要被其他类使用,需要提供相应的操作:1)提供get变量名()方法,用于获取成员变量的值,方法用public修饰。2)提供set变量名(参数)方法,用于设置成员变量的值,方法用public修饰。4、private关键字的使

2022-04-20 00:29:16 514

原创 测试用例(四)——判定表方法

订购单检查:规则:Ⅰ、如果金额大于500元,又未过期,则发出批准单和提货单。Ⅱ、如果金额大于500元,但过期了,则不发出批准单与提货单。Ⅲ、如果金额小于等于500元,则不论是否过期都发出批准单和提货单。Ⅳ、在过期情况下,不论金额大小还要发出通知单。1、明确需求:订购单检查的规则。2、画出判定表:通过分析,得出该案例的条件有两个:金额是否大于500、是否过期,所以一共有4种情况。3、提取数据,编写测试用例:...

2022-04-19 19:48:15 3204

原创 用例测试(三)——边界值分析法

1、明确需求:1)需求:验证标题长度的合法性。2)要求:标题长度大于0且小于等于30个字符。2、划分有效等价、无效等价类:本质上就是针对类型而言。1)有效等价:大于0且小于等于30个字符。2)无效等价:大于0且小于等于30个非字符。3、明确边界值:1)上点:0位,30位。2)离点:-1位,1位,29位,31位。(长度不能为负数,舍弃-1)3)内点:15位。4、提取数据编写测试用例:有效等价与边界值有交集,故合并,那么就有7条数据来进行测试。...

2022-04-18 00:25:14 1384

原创 软件测试小结1

1、说出7种测试分类的区别是什么?首先,测试按照阶段划分可以分为以下4种:①单元测试:针对源代码进行测试。②集成测试:针对程序间的端口进行测试。③系统测试:针对功能和非功能进行测试。④验收测试:内测、公测。其次,测试按代码可见度划分可以分为以下3种测试:①黑盒测试:源代码不可见,因此不关注,只针对UI界面测试。相当于系统测试。②灰盒测试:部分源代码不可见,针对接口测试。相当于集成测试。③白盒测试:源代码全部可见,针对源代码进行测试。相当于单元测试。2、说出质量模型的5个重点是什么?①功

2022-04-17 18:51:00 252

原创 测试用例(二)——针对穷举场景设计测试用例

1、需求:验证某城市电话号码的正确性。2、要求:1)区号:空或者是三位数字。2)前缀码:非“0”且非“1”开头的数字。3)后缀码:四位数字。经验:任何用例里面,要求无非就是长度、类型、规则。3、测试用例编写:首先分析需求,其次确定有效等价、无效等价,最后设计测试数据编写用例。...

2022-04-17 00:46:56 1120

原创 编写测试用例注意事项

1、测试用例的标准:1)能对穷举场景设计测试点2)能对限定边界规则设计测试点3)能对多条件依赖关系设置测试点4)能对于项目业务涉及测试点2、解决方法:1)等价类划分法:①说明:在所有测试数据中,对具有某种共同特征的数据集合,进行划分。②分类:Ⅰ、有效等价类:满足需求的数据集合。(使用的时候取其中一个就行)Ⅱ、无效等价类:不满足需求的数据集合。③步骤:Ⅰ、明确需求。Ⅱ、确定有效和无效等价类。Ⅲ、提取数据编写测试用例。④案例练习:需求:验证QQ账号的合法性。要求:6~10位的自

2022-04-16 17:49:54 2059

原创 测试用例(一)

1、需求:QQ登录(4条)1)账号为空。2)账号未注册。3)密码为空。4)密码未注册。2、根据测试点编写测试用例:注意事项:Ⅰ、首先建立一个excel文档。表头比主题内容大两号,并且加粗,居住。表头背景填充为蓝色。Ⅱ、选中所需表格的行数列数,显示所有表格。列宽可以根据具体情况进行调整。Ⅲ、用例编号不能出现中文字体,但可以出现拼音。Ⅳ、在一个单元格中换行输入内容时,利用Alt+Enter。Ⅴ、如果涉及数字,选中一行内容下滑时,会呈现数字依次递增的情况。当选中两行相同的内容再下滑时,下

2022-04-16 16:53:35 889

原创 关于软件测试

1、什么是软件测试?使用技术手段验证软件是否满足使用需求。软件:控制计算机硬件工作的工具。软件基本组成:页面客户端、代码服务器、数据服务器。软件产生的过程:需求产生 — 需求文档 — 设计效果图 — 产品开发 — 产品测试 — 部署上线 。2、软件测试的目的:减少软件缺陷(bug),保障软件质量。3、成为初级测试工程师的条件:具备对所有软件的功能进行测试的能力。设计测试 — 发现缺陷 — 测试报告4、测试主流技能:1)功能测试:主要验证程序的功能是否满足需

2022-04-16 00:36:20 544

原创 键盘录入评分分数并输出最后结果

1.需求分析:记录评分给出的分数,去掉最高分和最低分进行求剩余分数的平均值,并在控制台输出结果。2.代码设计:1)利用Scanner()的方法实现键盘录入评委的打分。2)定义相关方法实现对数组的求和、取最值的操作。3)调用相关函数,利用相关的变量接收。4)按照规则计算最终得分,并输出结果。3.程序实现:import java.util.Scanner;public class Demo20 { public static void main(String[] args){

2022-04-06 18:01:27 798

原创 SqlServer基础知识

1.什么是not null约束?要求用户必须为该属性赋一个值,否则语法出错。如果一个字段不写null,也不写not null ,说明该字段默认允许为空,即默认允许用户可以不为该字段赋值。如果用户没有为该字段赋值的话就默认该字段的值为空。2.not null约束 和default约束异同:1)相同点:都允许用户不赋值。2)不同点:①null修饰的字段,如果用户不赋值就默认为null。②default修饰的字段,如果用户不赋值就默认为default。3.表和约束的区别:1)数据库是通过表

2022-04-04 21:50:44 926

原创 SQL基础知识

1.什么是数据库?1)狭义上来说,数据库就是存储数据的仓库。2)广义上来说,数据库就是可以对数据进行存储和管理的软件还有这个软件存储的数据本身的统称。3)数据库由表、关系、操作组成。4)数据库是按照一定数据结构来组织、存储、管理数据的一个仓库。5)数据库是存储在一起的相关数据的集合。2.为什么需要数据库?1)几乎所有的应用软件的后台都需要数据库。2)数据库存储数据占用的空间小,容易持久保持。3)数据库存储比较安全。4)容易维护。5)版本兼容。6)数据库移植性好。7)简化了对数据的操

2022-04-04 20:40:10 670

原创 评委打分问题

1.需求分析:已知评委打分情况和评委人数,要求去掉评分中的最高分和最低分,求剩余评分的平均分。2.代码设计:1)分数、人数都已知,可以定义一个数组,并静态初始化。2)定义相关变量。3)遍历数组,找出最大值,最小值,把数组中所有数据元素进行求和操作。4)用数组元素的总和减去最大值和最小值,再对剩余值进行求平均数的操作。3.程序实现:public class Demo19 { public static void main(String[] args){ int[] ar

2022-04-04 12:02:04 404

原创 数组元素位置反转

1.需求分析:已知一个数组,让其中的元素反转,并在控制台输出交换后的数组元素。2.代码设计:1)定义一个数组,并静态初始化。2)定义一个方法用来反转数组。而想要进行两个元素交换,需要定义一个中间变量来创建临时空间。分析反转过程:第一个元素与最后一个元素位置互换,第二个元素与倒数第二个元素位置互换,……。3)定义一个方法用来循环遍历数组,此时需要定义两个索引变量,开始索引始终小于结束索引。4)调用方法。3.程序实现:public class Demo18 { public sta

2022-04-04 11:19:37 1326

原创 数组的索引查找

1.需求分析:已知一个数组,如果在键盘录入一个数据,求该数值在数组中对应的索引,并在控制台输出该数值对应的索引值。2.代码设计:1)定义一个数组,并静态初始化。2)利用Scanner()方法,实现在键盘录入一个数据。3)利用for循环,遍历数组,把录入的数据与数组中的元素进行一一对比。4)在控制台输出该索引值。3.程序实现:import java.util.Scanner;public class Demo16 { public static void main(String[]

2022-04-03 23:39:52 1532

原创 判断两个数组的元素是否相同

1.需求分析:已知两个数组,比较两个数组的内容是否相同。2.代码设计:1)定义两个数组,分别进行静态初始化。2)定义一个方法用于比较两个数组的内容是否相同,该方法的返回值类型是boolean类型,返回值是true或false。3)比较这两个数组的时候,先比较它们的长度是否相等,如果不相同,直接返回false。否则需要分别遍历两个数组的元素进行比较。4)调用方法,用变量接收。3.程序运行:public class Demo16 { public static void main(Str

2022-04-03 21:45:37 9791

原创 符合条件的数组元素求和问题

1.需求分析:给定数组,已知条件:数字的个位、十位不能是5,且必须为偶数,求符合条件的数组元素的和。2.代码设计:1)定义一个数组,并对其进行静态初始化。2)利用for循环进行数组的遍历。3)利用if条件语句进行条件判断。4)定义一个整型变量用于存放数组元素和。3.程序运行:public class Demo15{ public static void main(String[] args){ int[] arr={5,50,24,98,75,73};

2022-04-03 21:16:56 469

原创 百钱买百鸡

1.需求分析:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一,百钱买百鸡,问鸡翁、鸡母、鸡雏各几何。2.代码设计:1、定义三个整型变量用于存放公鸡、母鸡、小鸡的数量。2、根据题意判断它们各自的取值范围。5文钱可以买 1只公鸡,3文钱可以买1只母鸡,1文钱可以买3只小鸡。一共有100文钱,所以公鸡的数量不会超过20只,母鸡数量不会超过33只,小鸡数量不会超过100只。3、利用for的嵌套循环处理。3.程序实现:public class Test4 { public static voi

2022-04-03 20:40:50 1272

原创 小了白了兔(斐波那契数列)

1.需求分析:有一对兔子,从出生以后的第三个月开始,每个月生一对小兔子,等小兔子长到第三个月后,每个月又生一对小兔子。假如小兔子从来不死,等到第二十个月的时候,小兔子有几对。2.代码设计:1、先按照数学的思想来找规律。第一个月:1对第二个月:1对第三个月:1+1=2 对第四个月:2+1=3 对第五个月:3+1+1=5 对……数据连起来:1,1,2,3,5,……规律:从第三个数开始,后一个数是前两个数的和。而且,前两个数是已知的。2、可以用数组的形式来模拟,定义一个数组并动态初始化。

2022-04-03 19:57:37 202

原创 输入数据判断是否与7有关

1.需求分析:已知过7游戏是跳过包含7或者是7的倍数的游戏,要求键盘输入一个数,然后判断这个数是否与7有关。2.代码设计:1、键盘输入数据,利用Scanner实现。2、判断数据的时候需要利用if语句进行:要么被7整除,要么个位包含7,要么十位包含7。3、在控制台输出该数据是否与7有关。3.程序实现:import java.util.Scanner;public class Demo12 { public static void main(String[] args){

2022-04-03 17:02:28 3837

原创 关于IDEA中的Debug

1.Debug:供程序员使用的程序调试工具,可以用于查看程序的执行流程,也可以用于追踪程序执行过程来调试程序。2.Debug调试:断点调试,断点其实是一个标记,指明查看的入口。3.Debug操作流程:①如何加断点。选择要设置断点的代码行,在行号的区域后面点击鼠标左键即可。②如何运行加了断点的程序。在代码区域右键Debug执行。③看哪里。看Debug窗口和Console窗口。④点哪里。点Step Into这个箭头,或者直接按F7。执行完成之后,点Stop结束。⑤如何删除

2022-04-03 16:16:00 278

原创 求数组中的最大值

1.需求分析:设计一个方法用于获取数组中元素的最大值,调用该方法并输出最大值。2.代码设计:1、定义一个数组,并对其进行静态初始化。2、定义一个方法,用来获取数组中的最大值。3、调用获取最大值的方法。3.程序实现:public class Demo11 { public static void main(String[] args){ int[] arr={12,15,16,78}; max(arr); } public static v

2022-04-03 15:54:50 2860

原创 数组遍历按格式输出

1.需求分析:设计一个方法用于数组遍历,要求输出在同一行上,格式示例:[1,2,3,4]2.代码设计:1、定义一个数组,并对其进行静态初始化。2、定义一个方法,用数组遍历通用格式对数组进行遍历。3、因为要求结果在一行上输出,所以使用System.out.print("内容");这个输出格式。3.程序实现:public class Demo10 { public static void main(String[] args){ int[] arr={12,15,16,78

2022-04-03 15:44:07 722

原创 Java中的方法定义与调用

1.方法:将具有独立功能的代码块组织成为一个整体,使其成为具有特殊功能的代码集。2.方法必须先创建才可以使用,该过程称为方法定义。方法必须先定义后调用,否则程序会报错。3.方法创建后并不是直接运行的,需要手动使用后才可执行,该过程称为方法调用。4.方法定义1)不带参数的方法定义格式:public static void 方法名(){//方法体,根据实际需求编写的代码块}2)带参数的方法定义格式:public static void 方法名(参数1,参数二,....){//参数一般

2022-04-03 00:38:39 6414 1

原创 路由器、交换机、网关

1.路由协议的了解和介绍?路由协议所使用的算法?1)内部网关协议(IGP):RIP(路由信息协议,距离矢量路由协议,16跳),OSPF(开放式最短路径优先,链路状态路由协议)。2)外部网关协议(EGP):BGP(边界网关协议,ISP间的路由协议,连接不同自治系统)。3)静态路由,手工配置路由信息。4)动态路由,自动配置路由信息,距离向量算法(RIP),链路状态算法(OSPF)。🌂:路由选择协议有哪些?Ⅰ、内部网关协议RIP(Routing Information Protocol):RIP是一

2022-03-29 21:13:56 3709

原创 关于HTTP协议

1、HTTP 的长连接和短连接1.长连接(HTTP persistent connection):持久连接,数据传输完成了,保持 TCP 连接不断开(不发 RST 包、不四次握手),等待在同域名下继续用这个通道传输数据。2.短连接:浏览器的每次请求都需要与服务器建立一个 TCP 连接,服务器完成请求处理后立即断开 TCP 连接,服务器不跟踪每个客户也不记录过去的请求。由于大多数网页的流量都比较小,一次 TCP 连接很少能通过 slow-start 区,不利于提高带宽利用率。2、HTTP/1.

2022-03-29 21:13:00 533

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除