自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

浅弋、璃鱼的博客

个人主页: https://chengfeizhou.github.io/

  • 博客(168)
  • 资源 (13)
  • 收藏
  • 关注

原创 前端学习之React02: JSX的基本使用

文章目录一、JSX的基本使用:二、JSX中使用javascript表达式:三、JSX的条件渲染:四、JSX的列表表达式:五、JSX的样式处理一、JSX的基本使用:二、JSX中使用javascript表达式:三、JSX的条件渲染:四、JSX的列表表达式:五、JSX的样式处理...

2021-09-04 23:21:05 49

原创 前端学习之React01:概述, 基本使用,脚手架

文章目录一、React概述1. 什么是React:2. React的特点:2.1 声明式:2.2 基于组件:2.3 学习一次, 随处使用;二、React的基本使用1. React的安装2. React的使用:2.1 引入reat和react-dom两个js文件2.2 创建元素并渲染到页面中;三、React脚手架的使用1. React脚手架意义:2. 使用React脚手架初始化项目:2.1 初始化项目:2.2 运行项目3. 在脚手架中使用React3.1 导入react和react-dom两个包:3.2 调用

2021-09-02 23:36:45 40

原创 ssh 配置免密登录

文章目录一、目的:二、步骤:1. 客户端:2. 配置服务器:3. 测试:4. 小技巧:一、目的:每次登陆ssh都需要手动输一遍用户名密码, 太麻烦了!!二、步骤:1. 客户端:生成ssh秘钥:ssh-keygen -t rsaps: 回车即可, 使用默认配置创建config文件cd ~/.sshtouch configls此时该目录下至少存在:config: 文件, 用来配置sshid_rsa: 私钥id_rsa.pub: 公钥known_hosts: 登陆过的主

2021-06-01 23:39:07 67 1

原创 K8S之001: 概述、集群搭建

文章目录一、kubernetes 概述:1. kubernetes 基本介绍1.1 前置知识:2. K28特性:3. k8s的集群架构:4. k8s核心概念:4.1 pod:4.2 controller:4.3 service:一、kubernetes 概述:1. kubernetes 基本介绍kubernetes,简称 K8s; 是一个开源的, 用于管理云平台中多个主机上的容器化的应用;目标是让部署容器化的应用简单并且高效(powerful);提供了应用部署, 规划, 更新, 维护的一种机制;1.

2021-06-01 00:01:59 108 4

转载 Elasticsearch搜学习笔记

Elasticsearch学习笔记B站【尚硅谷】ElasticSearch入门到精通2021最新教程学习文档下载链接

2021-05-27 14:47:04 37

原创 golang学习五·五:指针&切片&字典&结构体

文章目录一、指针:1. Go语言中的指针:2. 栈帧:2.1 计算机内存区域划分:2.2 栈帧:3. 函数new4. 指针作为函数参数:4.1 函数传值:4.2 例:4. 指针使用注意:二、slice -- 切片:1. 切片简述:2. 创建slice:2.1 声明slice与array的区别:2.2 经常使用的创建slice的方法:3. slice操作:3.1 切片截取:3.2 切片和底层数组关系:3.3 切片做函数参数:4. 常用操作函数:4.1 append函数:4.2 copy函数:三、map --

2021-05-23 21:51:30 153 1

原创 golang学习十一: 网络编程之HTTP

文章目录一、概述1. Web工作方式:2. HTTP协议3. 地址(URL)二、HTTP报文解析:1. 请求报文格式:2.响应报文格式:三、Go语言HTTP编程:1. 简单的服务端:2. 简单的客户端:一、概述1. Web工作方式:对于普通的上网过程, 系统其实是这样做的:浏览器本身是一个客户端, 当输入URL的时候, 首先浏览器会去请求DNS服务器, 通过DNS获取相应的域名对应的IP, 然后通过IP地址找到IP对应的服务器后, 要求建立TCP连接, 等浏览器发送完HTTP Request(请求)

2021-05-23 21:49:27 106 1

原创 golang学习十:网络编程

文章目录一、网络协议:1. 典型协议:2.分层模型:2.1 网络分层架构:2.2 层与协议:2.3 通信过程2.4 总结通信过程:二、Socket编程:1.什么是Socket:2. 网络应用程序设计模式:2.1 模式:2.2 TCP的C/S架构:2.3 简单的C/S模型通信:a.Server端:b.Client 端:2.4 并发的C/S模型通信:a.并发server:b.并发Client3. TCP通信3.1 三次握手:3.2 四次挥手:4. UDP:4.1 UDP服务器4.2 UDP客户端:4.3 UDP

2021-05-23 21:44:32 925 2

原创 golang学习九:Go并发编程

一、概述:所谓并发编程是指在一台处理器上“同时”处理多个任务;宏观的并发是指在一段时间内, 有多个程序在同时运行;并发在微观上, 是指在同一时刻只能有一条指令执行, 但多个程序指令被快速的轮换执行, 使得在宏观上具有多个进程同时执行的效果, 但在微观上并不是同时执行的, 只是把时间分成若干段, 使多个程序快速交替的执行;1. 并行与并发:并行(parallel): 指在同一时刻, 有多条指令在多个处理器上同时执行;并发(concurrency)L指在同一时刻只能有一条指令执行, 但多个进程指

2021-05-23 21:40:40 103 1

原创 Spring之004: jdbcTemplate基本使用、Spring实物控制

文章目录一、Spring JdbcTemplate基本使用:1. JdbcTemplate概述:2. JdbcTemplate开发步骤:3. Spring产生JdbcTemplate对象:4. 抽取数据库配置参数:5. JdbcTemplate的常用操作:二、Spring的事务控制:1.编程式事务控制相关对象:1.1 PlatformTransactionManager: 平台事务管理器1.2 TransactionDefinition:1.2.1 事务的隔离级别:1.2.2 事务的传播行为:1.3 Tra

2021-05-23 21:09:13 48 2

原创 Spring之003: AOP开发

文章目录一、Spring的AOP简介:1. 什么是AOP:2. AOP的作用及其优势:3.AOP的底层实现:4. AOP的动态代理技术:5. 基于JDK的动态代理:6. cglib的动态代理:7. AOP相关概念:8.AOP开发明确事项:8.1 需要编写的内容:8.2 AOP技术实现的内容:8.3 AOP底层使用哪种代理方式:二、基于XML的AOP开发:1. 快速入门:2.通知类型:3.切点表达式:1.3 切点表达式抽取:三、基于注解的AOP开发:1. 快速入门:2. 注解通知的类型:3. 切点表达式抽取:

2021-05-23 21:08:08 45 3

原创 Spring之002:相关配置, 数据源及注解开发

文章目录一、Spring相关API:1. ApplicationContext的继承体系:2. ApplicationContext的实现类:2.1 ClassPathXMLApplicationContext:2.2 FileSystemXMLApplicationContext:2.3 AnnotationConfigApplicationContext:3. getBean()方法使用:二、Spring配置数据源:1. 数据源(连接池)的作用:2.数据源手动创建:3. spring配置数据源:4. 抽

2021-05-23 21:07:31 29 2

原创 Spring之001:快速入门, 了解配置文件

title: 一、Spring快速入门, 了解配置文件date: 2021-01-13 15:54:23tags:- Java- springcategories:- Java- spring一、spring介绍:1. spring是什么:Spring是分层的Java SE/EE应用full-stack轻量级开源框架, 以IoC(反转控制)和AOP(面向切面编程)为内核;提供展现层SpringMVC和持久层Spring JDBC Template以及业务层事务管理等众多的企业级应用技.

2021-05-23 21:06:15 59 3

原创 Java学习002之运算符

文章目录一、算数运算符:1. 算数运算符:2. 自增/自减运算符:2.1 基本含义2.2 使用二、赋值运算符:三、比较运算符:四、逻辑运算符:五、三元运算符:一、算数运算符:1. 算数运算符:运算符是用来计算数据的符号; 数据可以是常量, 也可以是变量; 被运算符操作的数我们称为操作数运算符运算规则范例结果+正号+33+加2+35+连接字符串“中”+“国”“中国”-负号int a=3;-a-3-减3-12*乘2*

2021-05-23 21:04:24 45

原创 Java学习001之绪论

文章目录一、开发前言:1. java语言概述:1.1 什么是java语言:1.2 java发展史:1.3 java语言能做什么:2. 计算机基础知识:2.1 二进制:2.2 存储单元:3.windows的命令提示符:二、java开发环境搭建:1. java虚拟机 -- JVM:2. jre 和 jdk:3.jdk的下载安装:4. 配置环境变量;三、HelloWorld入门:1. 程序开发步骤说明:2. java的注释:四、变量:1. 关键字:2. 标识符:3. 常量:4. 数据类型:4.1 分类:4.2 基

2021-05-23 21:03:27 38 4

原创 清华软件工程(三):

文章目录一、单元测试概述:1. 现实开发问题:2. 单元测试:一、单元测试概述:1. 现实开发问题:2. 单元测试:单元是构造软件系统的基础, 只有使每个单元得到足够的测试, 系统的质量才能有可靠的保证, 即单元测试是构筑产品质量的基石;单元测试是对软件中的最小可测试单元进行检查和验证;验证代码、设计更好、 文档化行为、 具有回归性...

2021-03-14 19:11:53 51

原创 python学习之数据分析(五):Pandas高级

文章目录一、缺失值处理1. 如何处理nan1.1 如何判断数据中是否包含缺失值1.2 存在缺失值nan,并且是np.nan2. 不是缺失值nan,有默认标记的二、数据离散化1. 什么是数据的离散化2. 为什么要离散化¶3. 如何实现数据的离散化:3.1 读取股票的数据3.2用的工具:3.3 股票涨跌幅分组数据变成one-hot编码3.4 自定义区间进行分组:三、数据合并:¶1. pd.concat实现数据合并:2.pd.merge四、交叉表与透视表:1. 交叉表与透视表什么作用2 使用crosstab(交叉

2021-01-18 15:50:53 532

原创 golang学习之gorm(一):Gorm介绍

文章目录一、gorm介绍:1. 什么是orm?2. gorm3.安装4.官方文档:一、gorm介绍:1. 什么是orm?Object-Relationl Mapping,即对象关系映射,这里的Relationl指的是关系型数据库它的作用是在关系型数据库和对象之间作一个映射,这样,我们在具体的操作数据库的时候,就不需要再去和复杂的SQL语句打交道,只要像平时操作对象一样操作它就可以了 。2. gorm1.Golang写的,GitHub上活跃度很高的orm库2.特点:全功能ORM;关联(包含

2020-11-15 23:18:11 5025 3

原创 Prometheus从入门到使用[一]

文章目录一、Prometheus介绍:1. 什么是Prometheus2. Prometheus的特点:3. 架构图:4. 基本原理:5. 服务过程:6. 时序数据库:6.1 什么是时序数据库:6.3 概念:7.三大套件二、安装:1. 安装Prometheus Server:三、使用:1.数据模型:1.1 Counter: 计数器1.2 Gauge: 测量器1.3 Histogram: 直方图1.4 Summary: 概要2. HTTP查询:2.1 及时查询:2.2 范围查询:2.3 其他:2. 其他:三、

2020-11-15 22:08:47 158

原创 golang学习之gin(七):中间件:

文章目录一、介绍:1. 什么是中间件:2. 中间件的作用3. 使用场景二、中间件的使用:1. 使用中间件:2. 中间价的使用位置说明3. 中间件执行顺序示例:三、gin内置中间件:四、自定义中间件:1. 自定义中间件的两种方式:五、中间件中的Next和Abort:1. Next:2.Abort:3. 中间件执行顺序示例六、在全局、路由组、局部的使用:1. 全局:2. 路由组:3.局部:一、介绍:使用 BasicAuth 中间件: https://gin-gonic.com/zh-cn/docs/exam

2020-11-15 22:01:15 580

原创 golang学习之gin(六):路由组:

文章目录一、介绍:1. 使用:二、抽取规则:一、介绍:官方文档: https://gin-gonic.com/zh-cn/docs/examples/grouping-routes/1. 使用:v1 := engine.Group("/v1")v2 := engine.Group("/v2"){ v1.GET("/tobind", ToBind) v1.GET("/hello3", Hello3)}{ v2.GET("/my_valid", valid.MyVa

2020-11-09 23:37:33 294

原创 golang学习之gin(五):数据绑定及验证:

文章目录一、数据绑定:1. 数据绑定介绍:2. 数据绑定--Should bind:2.1 ShouldBind:一、数据绑定:1. 数据绑定介绍:Gin提供了两类绑定方法:Must bind:Methods:Bind, BindJSON, BindXML, BindQuery, BindYAMLBehavior:这些方法属于MustBindWith的具体调用. 如果发生绑定错误, 则请求终止, 并触发 c.AbortWithError(400, err).SetType(Err

2020-11-08 23:23:25 2956

原创 golang学习之gin(四):参数绑定、文件上传、其他数据格式输出、自定义HTTP配置

文章目录一、参数绑定:1. 什么是参数绑定:2. ShouldBind:3. ShouldBindWith4. ShouldBindQuery二、文件上传:1. form表单上传单文件&&多文件:一、参数绑定:1. 什么是参数绑定:能够基于请求自动提取JSON、form表单和QueryString类型的数据,并把值绑定到指定的结构体对象2. ShouldBind:./├── chapter04│ └── post.go├── main.go│ ├── css│

2020-11-03 00:05:53 1128

原创 golang学习之gin(三):get请求参数, post请求,ajax交互

文章目录

2020-10-29 21:55:24 1718

原创 golang学习之gin(二):模板渲染、数据渲染

文章目录一、模板渲染:1. 一级模板:2. 多级模板:2.1 多级目录模板指定:二、静态文件的使用:三、数据渲染:1. 字符串渲染:2.结构体渲染:3. 数组渲染:4. 结构体数组渲染:5. map渲染:6. map+struct渲染:7. 切片渲染:一、模板渲染:1. 一级模板:./main.gopackage mainimport ( "github.com/gin-gonic/gin")func index(ctx *gin.Context) { // HTML(code

2020-10-18 22:34:03 1709

原创 golang学习之gin(一):go环境搭建、第一个gin项目

文章目录一.准备:1. go环境搭建:1.1 go安装:1.2 环境配置:1.3 检查配置是否完成:1.2 git安装:2. 工程管理:3. 安装gin4. 安装编辑工具:二、第一个gin项目:创建项目:三、运行原理分析:一.准备:1. go环境搭建:1.1 go安装:1.2 环境配置:export GOPATH=/Users/username/Documents/GoProjectsexport PATH=$PATH:$GOPATH/binps: mac使用zsh终端环境变量配置:打开

2020-10-18 16:32:05 1622 2

原创 golang学习八: 文件操作:字符串的处理, 字符串的类型转换, 文件操作

文章目录一、字符串的处理:1. strings包:2. Contains是否包含:3. Join: 字符串连接4. Index查找索引5. Repeat: 重复6. Replace:替换:7. Split: 分割8. Trim: 去除指定的字符串9. Fields: 去除空格二、字符串的类型转换:1. strconv包:2. 字符串转字符切片:3. Format: 把其他类型的转换为字符串3. Parse: 把字符串转换为其他类型:4. Append:三、文件操作:1. 新建文件:2. 写入文件:3. 打

2020-09-19 22:39:38 364

原创 golang学习七:异常处理:error接口, panic函数, 延时调用defer, recover

文章目录一、error接口:1. 使用error接口二、panic函数:1. panic函数的使用:三、延时调用defer:1. defer的使用:2. 在异常中的使用:3. 与匿名函数配合:四、recover:1. recover的使用:一、error接口:1. 使用error接口package mainimport ( "fmt")func test(a, b int) (res int, err error) { err = nil if b == 0 { fmt.Print

2020-09-19 16:31:32 130

原创 golang学习六:面向对象:继承,对象方法,接口

文章目录一、概述:1. 什么是面向对象:2. Go语言中的面向对象:3. 继承:3.1 匿名字段:一、概述:1. 什么是面向对象:属性就是特征;方法就是行为;2. Go语言中的面向对象:严格意义上讲, Go语言中没有类(class)的概念, 但是可以将结构体比作类, 因为在结构体中可以添加属性(成员)和方法(函数);继承: 通过匿名字段实现;多态: 通过接口实现;封装: 通过方法实现;3. 继承:3.1 匿名字段:...

2020-09-19 15:21:09 238

原创 golang学习五:指针

文章目录一、指针的定义与使用1. 指针的定义:2. 指针的使用3. new函数:4. 自动推导:二、指针作为函数参数:三、数组指针:1. 定义数组指针2. 通过指针操作数组:一、指针的定义与使用1. 指针的定义:指针就是存储变量内存地址的变量;func main() { i := 100 fmt.Printf("%p\n", &i) // 0xc000012090 fmt.Printf("%v\n", &i) // 0xc000012090}// 定义一个指针变量

2020-09-16 13:13:03 162

原创 golang学习四:[复合类型]数组, 切片, map, 结构体

文章目录一、复合类型:1. 分类:2. 数组的定义和使用:2.1 数组的定义:2.2 数组赋值:2.3 匿名变量打印:2.4 数组初始化:全部初始化:部分初始化:指定索引初始化:自动推导长度:2.5 数据类型:2.6 数组的逆置:2.7 冒泡排序:3. 随机数:4. 数组作为函数参数:5. 二维数组:6. 切片定义和使用:6.1 定义6.2 使用:6.3 切片地址和扩容:6.4 切片的截取:一、复合类型:1. 分类:类型名称长度默认值说明pointer指针nil

2020-09-15 14:14:35 199

原创 golang学习三:函数, 内存, 工程管理:

文章目录

2020-09-13 14:48:56 31

原创 golang学习二:流程控制, 顺序,选择, 循环

文章目录一、顺序结构:二、选择结构:1. if语句:2. switch语句:示例三、循环结构:1. for循环:2. range 迭代打印:3. 跳转语句:3.1 break:3.2 continue:3.3 goto:一、顺序结构:二、选择结构:1. if语句:if 条件表达式 { 执行语句1} else { 执行语句2}if支持一个初始化语句, 初始化语句和判断表达式用 分号; 隔开if a := 95; a >= 90 { fmt.Println("优秀...")}

2020-09-09 12:15:12 146

原创 golang学习一:Go语言开发环境,基础类型, fmt包的格式化输出输入,运算符

文章目录一、Go语言是什么:1. 优点:2. GO适合用来做什么:二、Go语言开发环境:1. 下载程序安装包:2.安装环境:3. 安装IDE:一、Go语言是什么:快速开发与执行执行效率的平衡;1. 优点:上手难度低;效率高: c的执行效率, python的开发效率;社区;天然并发;2. GO适合用来做什么:服务器编程;分布式系统;网络编程;内存数据库;云平台;区块链:二、Go语言开发环境:1. 下载程序安装包:中文社区2.安装环境:双击安装包;测试: cmd

2020-09-08 15:42:42 104

原创 24前端学习之js高级:ES6介绍, 新增语法,内置对象扩展

文章目录

2020-08-23 21:09:55 108

原创 清华软件工程(二):编程过程与规范、良好的编程实践、代码静态检查、代码性能分析

文章目录一、编程过程与规范:1. 软件编程工作:2. 软件编程规范:3. 编程规范:二、良好的编程实践:1. 看问读:2. 软件开发的工程思维:3. 编程实践--高质量的设计:3.1 模块化设计:3.2 面向抽象编程:3.3 错误与异常处理:三、python集成开发环境:四、代码静态检查:1. 代码评审技术:2. 缺陷检查表:3. python的静态代码检查库 -- pylint:4. 代码审查实践: Code Review五、代码性能分析:1. 代码性能优化:2. 代码性能优化:3. python代码优化

2020-08-20 16:59:05 210

原创 清华软件工程(一):软件无处不在、软件的本质特性、软件工程的产生于发展、软件工程的基本概念、软件质量实现

文章目录一、软件无处不在:1. 软件工程(SE):2. 软件工程需要解决的问题:二、软件的本质特性:1. 软件的定义:2. 软件的本质特性:2.1 复杂性:2.2 一致性:2.3 可变性:2.4 不可见性:三、软件工程的产生与发展:1. 软件开发面临的挑战:2. 探讨软件之道:2.1 软件工程诞生:四、软件工程的基本概念:1. 工程的含义:2. 什么是软件工程:3. 软件工程的基本要素:3.1 过程:3.2 方法:3.3 工具:4. 软件开发的基本策略:4.1 软件复用:4.2 分而治之:4.3 逐步演进:

2020-08-19 16:35:35 213

原创 23前端学习之js高级: 正则表达式

文章目录

2020-08-19 00:06:00 136

原创 22前端学习之js高级:函数进、this、严格模式、高阶函数、闭包、递归

文章目录一、函数的定义和调用:1. 函数的定义方式:一、函数的定义和调用:1. 函数的定义方式:自定义函数(命名函数):function fn() {}函数表达式(匿名函数):var fn = function() {};利用new:所有函数都是 Function 的实例;var fn = new Function('参数1', '参数2', ..., '函数体')// 例var fn = new Function('a', 'b', 'console.log(

2020-08-09 00:36:45 140

原创 21前端学习之js高级:构造函数和原型、继承、ES5中新增

文章目录一、构造函数和原型1. 概念:2. 构造函数:一、构造函数和原型1. 概念:在典型的OOP语言中, 都存在类的概念, 类就是对象的模板, 对象就是类的实例. 在ES6之前, JS中并没有类的概念;ES6, 全称ECMAScript 6.0, 2015.06发版. 但是目前浏览器的JavaScript事ES5, 大多数高版本的浏览器也支持ES6, 只不过实现了ES6的部分特性和功能;在ES6之前, 对象不是基于类创建的, 而是用一种称为构造函数的特殊函数来定义对象和他们的特征;创建对象可用

2020-08-02 21:27:26 84

elasticsearch的配置文件

这是美多商城项目中elasticsearch的配置文件,下载之后,进行相应的修改即可使用

2019-01-25

美多商城的Docker及FastDFS文件

文件中提供了在ubuntu中使用的Docker安装源码, FastDFS的的python客户端以及美多商城项目需要存储到FastDFS中的文件内容

2019-01-17

csrf跨站请求伪造简单示例

一个简单的csrf跨站请求伪造的示例,只有一个简单的表单提交功能.通过伪造表单提交,完成一个简单的钓鱼案例

2018-10-18

python学习-美多商城(省市区数据和商品数据)

python学习-美多商城项目中省市区数据和商品详情数据的数据库文件

2018-12-22

5_2 美多商场.zip

本人博客中美多商城项目所使用的全部数据资源

2019-09-06

miniWeb小项目代码

这是使用python实现的简单的miniWeb服务器,主要分为webServer(服务器)模块和dynamic下的WebFrame(服务器器框架),还包含了一些静态的,动态的资源文件.数据库为Mysql,提供了数据导入文件.

2018-09-22

ES基础操作.postman_collection.json

收集了Elasticsearch的常用API,导入postman即可看到API集合

2021-05-23

Elasticsearch.pdf

Elasticsearch.pdf

2021-05-23

python学习之pandas

python学习之pandas

2021-01-18

01_购物车.zip

案例: 购物车案例模块-全选: 1.里面3个小的复选框按钮(j-checkbox)选中状态(checked)跟着全选按钮(checkall)走; 2.因为checked 是复选框的固有属性,此时需要利用prop()方法获取和设置该属性; 把全选按钮状态赋值给3小复选框就可以了; 3.每次点击小的复选框按钮,就来判断; 4.如果小复选框被选中的个数等于3 就应该把全选按钮选上,否则全选按钮不选; 5.:checked 选择器 :checked 查找被选中的表单元素;

2020-05-06

二十四、python学习:JQuery进阶:表单检验

这是学习前端JQuery过程中的一个案例,表单校验,简单的完成了form中对用户名,密码,确认密码,邮箱,同意协议等几方面的校验,简单的还原了注册网站的逻辑.

2018-10-08

03_numpy练习.zip

python学习之数据分析(三):Numpy科学计算库 文章中涉及的源码、jupyter notebook、markdown笔记文档

2020-01-02

Huffman_compressor.zip

使用python对文件进行huffman压缩与解压,涉及的方式主要是Huffman树的构建, 对Huffman编码方式以及对字符集的掌握.

2019-10-11

空空如也

空空如也

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

TA关注的人 TA的粉丝

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