自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 资源 (2)
  • 收藏
  • 关注

原创 Jquery 讲解

阅读目录一 Jquery简介二 Jquery基本使用三 选择器四 筛选器五 标签操作之样式操作六 标签操作之文本内容操作七 标签操作之属性操作八 标签操作之文档处理八 事件介绍九 时间操作回到顶部一 Jquery简介1 什么是Jquery#1. jQuery 是一个高效、精简并且功能丰富的JavaScript工具库#2. jQuery极大的简化了JavaScript编程2 为何要用JqueryjQuery的优势(jQuery的宗旨就是:“Write less, do mor

2020-12-16 18:14:10 435

原创 DOM 操作 与 BOM操作

前戏到目前为止,我们已经学过了JavaScript的一些简单的语法。但是这些简单的语法,并没有和浏览器有任何交互。也就是我们还不能制作一些我们经常看到的网页的一些交互,我们需要继续学习BOM和DOM相关知识。JavaScript分为 ECMAScript,DOM,BOM。BOM(Browser Object Model)是指浏览器对象模型,它使 JavaScript 有能力与浏览器进行“对话”。DOM (Document Object Model)是指文档对象模型,通过它,可以访问HTML文档的所

2020-12-16 18:13:23 274

原创 JavaScript

一 JavaScript简介1 JavaScript起源https://www.cnblogs.com/linhaifeng/articles/9346219.html总结JavaScript用途:JavaScript一般用来编写客户端脚本,来为HTML页面添加交互行为,是前台语言总结JavaScript的特点:1.解释执行(浏览器就是解释器):事先不编译、逐行执行、无需进行严格的变量声明2.简单易用:可以使用任何文本编辑工具编写,只需要浏览器就可以执行程序3.基于对象:内置大量现成对

2020-12-16 18:12:40 310

原创 网页布局的 标准流 浮动流 与 定位流

一 网页布局方式#1、什么是网页布局方式布局可以理解为排版,我们所熟知的文本编辑类工具都有自己的排版方式,比如word,nodpad++等等而网页的布局方式指的就是浏览器这款工具是如何对网页中的元素进行排版的#2、网页布局/排版的三种方式2.1、标准流2.2、浮动流2.3、定位流二 标准流标准流的排版方式,又称为:文档流/普通流,所谓的文档流,指的是元素排版布局过程中,元素会自动从左往右,从上往下的流式排列。# 1 浏览器默认的排版方式就是标准流排版方式# 2 在CSS中将元

2020-12-16 18:12:13 1007

原创 CSS 的属性设置

CSS属性设置字体属性文字粗细:font-weight取值描述normal默认值,标准粗细bord粗体border更粗lighter更细100~900设置具体粗细,400等同于normal,而700等同于boldinherit继承父元素字体的粗细值示例:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8">

2020-12-16 18:11:35 444

原创 Html 盒子模型 讲解

四 盒子模型边框阴影box-shadow: 3px 3px 3px red; /*# 边框和阴影*/1、什么是CSS盒子模型?HTML文档中的每个元素都被比喻成矩形盒子, 盒子模型通过四个边界来描述:margin(外边距),border(边框),padding(内填充),content(内容区域),如果把一个盒子比喻成一个壁挂相片,那么 #外边距margin ===== 一个相框与另外一个相框之间的距离 #边框border ====== 边框指的就是相框

2020-12-16 18:10:57 2365

原创 CSS 八大选择器详解

------------恢复内容开始------------CSS 八大选择器基本选择器:id选择器:id选择器的作用根据指定的id名称,在当前界面中找到对应的唯一一个的标签,然后设置属性id选择器的格式:id名称 { 属性:值;}id选择器注意点:#3、注意点:1、在企业开发中如果仅仅只是为了设置样式,通常不会使用id,在前端开发中id通常是留给js使用的2、每个标签都可以设置唯一一个id,id就相当于人/标签的身份证,因此在同一界面内id绝不能重复3、引用id一定要

2020-12-16 18:10:21 247

原创 CSS 介绍与讲解

CSS1.css介绍与引入方式Egon笔记一 什么是CSSCSS全称Cascading Style Sheet层叠样式表,是专用用来为HTML标签添加样式的。样式指的是HTML标签的显示效果,比如换行、宽高、颜色等等层叠属于CSS的三大特性之一,我们将在后续内容中介绍表指的是我们可以将样式统一收集起来写在一个地方或者一个CSS文件里二 为何要用CSS在没有CSS之前,我们想要修改HTML标签的样式则需要为每个HTML标签单独定义样式属性,如下这么做的缺点是1、记忆困难:需要

2020-12-16 18:09:42 163

原创 Html 中的Body 标签

HTML doby标签修改样式标签:旧版的样式解释(几乎不会使用了):《br》标签#1、<br> 换行 我是帅气逼人的Egon老师 <br>《hr》分割线#2、<hr> 分割线《b》加粗#3、<b> 加粗 <b>论颜值,我秒杀宇宙</b>《font》修改文字大小,颜色#4、<font> 修改文字大小,颜色 <font color=

2020-12-16 18:05:54 1957

原创 Http协议 讲解

HTTP协议作为学习前端开发的开始,我们从HTTP协议入手来了解!我们先了解一下以下几点问题:1.什么是互联网?互联网就是物理连接的介质加上互联网的协议所组成的!2.互联网建立的目的?打破数据传输的地域性限制,那什么是数据传输的地域性限制呢?数据传输的地域性限制,就是我想要远在首都的科学家刚得到的最新数据,那我就需要远途过去拿着一个电脑硬盘去拷贝,这就是地域性的限制,如果距离太远呢,例如你需要美国的一些最新数据,难道你还要开飞机专门过去拿么?3.什么是上网?用户上网的过程即浏览器向服务端发

2020-12-16 18:05:00 159

原创 Mysql 查询优化,索引原理与慢查询优化。

Mysql 查询优化索引原理与慢查询优化一 介绍为什么要有索引?一般的应用程序,读写比例在10:左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,因此对查询,我们必定要去优化它们,那我们怎么去优化呢?那就要提到索引了。什么是索引?索引在MySQL中也叫做“键”,是存储引擎用于快速找到记录的一种数据结构。索引对于良好的性能非常关键,尤其是当表中的数据量越来越大时,索引对于性能的影响愈发重要。索引优化应该是对查询性能

2020-09-10 18:31:25 253

原创 Mysql的视图,触发器,事务,存储过程,Mysql内置函数

Mysql 技巧:视图:什么是视图:视图是一个虚拟的表(并不是真实存在的)。其本质就是(根据SQL语句获取的动态的数据集,并且为其命名)。用户使用的时候直接使用(名字)就可以获得结果集,而且我们可以将这个结果作为表来使用。视图的作用:使用视图我们可以把查询过程中的临时表摘出来,用视图去实现。这样以后再想操作该临时表的数据时就无需重写复杂的sql了,直接去视图中查找即可。但视图有明显地效率问题,并且视图是存放在数据库中的。如果我们程序中使用的sql过分依赖数据库中的视图,即强耦合,那

2020-09-09 19:45:38 123

原创 Mysql中子查询,用法与注意点

Mysql中的子查询子查询什么是子查询:# 1: 子查询就是将查询语句嵌套在另外一个语句中.# 2: 内层查询语句的查询结果,可以为外层查询语句提供查询条件.# 3: 子查询可以包含: IN,NOT IN, ANY ,ALL,EXISTS和 NOT EXISTS等关键字# 4: 还可以包含比较运算符: = , != , > , <等等1 带in关键字的子查询#查询平均年龄在25岁以上的部门名select id,name from dep where id in (sele

2020-09-09 19:44:00 236

原创 Mysql 多表查询,语法,注意事项,关键字多连接方式(内连接,左连接,右连接,全连接)子查询.

一 多表连接查询#重点:外连接语法select 字段列表 from 表1 inner|left|right join 表2 on 表1.字段 = 表2.字段;1 交差连接:不适用任何匹配条件,生成笛卡尔积。mysql> select * from emp,dep;+----+------------+--------+------+--------+------+--------+| id | name | sex | age | dep_id | id

2020-09-08 20:11:13 513

原创 Mysql语句练习,班级查找,学生查找

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ai7vG5gU-1599565362862)(https://images2017.cnblogs.com/blog/1036857/201802/1036857-20180211190041138-168655281.png)]1、查询所有的课程的名称以及对应的任课老师姓名select cname,tname from course inner join teacher on teacher_id=tid;2、查询学生

2020-09-08 19:43:13 6779 1

原创 循环

while循环定义:循环语句,计算机的一种基本循环模式。当满足条件时进入循环,不满足跳出为什么要使用:重复执行某些命令使用方法while 条件: 代码1 代码2 代码3print(3)例:while count < 5: print(count) count+=1 死循环与效率问题count=0while count < 5: # 5 < 5 print(count) # 0,1,2,3,4while

2020-09-06 14:48:04 498

原创 类型转换

类型转换纯数字的字符串转成intres=int('100111')print(res,type(res))float类型转换res=float("3.1")print(res,type(res))字符串类型转换str可以把任意其他类型都转成字符串res=str({'a':1})print(res,type(res))使用:内置方法按索引取值(正向取+反向取) :只能取msg='hello world'正向取print(msg[0])print(msg[5])反向取p

2020-09-06 14:47:19 129

原创 Mysql约束性条件,多表查询数据.

约束条件今日主要讲解的都是表的一些查询:'''selectwhere group byhavingdistinctorder bylimit regexplike'''1. not null 与 defaultnot null (不可为空)/ default(自动传。)1.1 not null:是否可空,null表示空,非字符串not null - 不可空null - 可空1.2 default:默认值,创建列时可以指定默认值,当插入数据时如果未主动设置,则自动添

2020-09-04 12:09:17 164

原创 python 学习MySQL Mysql的一些表操作 与 mysql的字符类型。

修改表:一 创建表:1.我们先创建一个表:create table t1(id int,name char);# 表名 #表内字段和字段相对应的类型: id 对应 int类型,name 对应 char类型。2.修改表名:alter table t1 rename tt1;# 原表名称 #修改后的表名称。二 修改表中字段:1.修改表中指定字段的类型:alter table t1 modify id tinyint; #需要修改成的字段类型

2020-09-02 11:08:32 139

原创 Python 中MySQL的用法以及基础的命令行操作MySQL。

MySQL一.数据库管理软件的由来:1.==数据想要永久的保存,需要保存于文件中,这个是毫无疑问的。==但是像一般的存储方式都是针对机器去存储的。(以前都是一个文件存放在所对应的机器,电脑上。)2.我们如果接触到多个组件分布在多台计算机上运行但是还是需要访问同一个文件的情况下。那我们就需要考虑到是不是需要,专门将文件存储在一个计算机上,这个涉及到了多用户查询,也需要我们由专门的程序去接收和返回数据,这就引出了我们的MySQL数据库管理软件了。1、程序所有的组件就不可能运行在一台机器上因为这台机器一

2020-09-01 10:14:47 576

原创 IO模型与虚拟环境

7 io模型(重点,抽象,难,面试重点)先理解这里:1 内存分为内核缓冲区和用户缓冲区(网络下载的资源,硬盘加载的资源,先放到内核缓冲区----》copy到应用程序的缓冲区,应用程序才能用这个数据)2 io模型: -阻塞io(BIO) -非阻塞io(NIO) -io多路复用() select(windows支持,windows不支持epoll,官方不提供redis的window版本),poll,epoll(linux支持) -异步io: -信号驱动io(理论,不在

2020-08-27 20:56:14 191

原创 Python中,线程池与进程池的shutdown用法,定时器,协程介绍,greenlet与gevent模块安装与讲解,asyncio(Python官方提供的实现协程模块)

为真理而斗争是人生最大的乐趣。——布鲁诺1 GIL锁:全局解释器锁,因为垃圾回收线程不是线程安全的,所有线程必须拿到这把锁,才能执行2 GIL跟互斥锁的区别?GIL锁不能保证我们自己的数据安全,自己使用互斥锁保证自己的数据安全3 不同线程数据交互两种方式: -共享变量:不同线程修改同一份数据要加锁(互斥锁) -通过queue:不需要考虑数据安全问题(线程安全了)4 死锁现象: -1 A线程拿到了A锁,等待B锁,B线程拿到了B锁,等待A锁,相互等待,永远等下去 -2 A线程拿到了A

2020-08-27 20:54:29 2371

原创 Python中 线程的GIL锁,GIL锁与普通互斥锁的对比,io密集型和计算密集型,死锁问题,递归锁,信号量,Event事件,线程queue,线程池与进程池,多线程爬虫网页,多线程读取文件

昨日回顾1 生产者消费者 -在生产者和消费者之间,通过队列,增加缓冲,避免了生产者和消费者之间交互 -Queue,redis,rabbitmq,kafka -解耦合,队列是微服务的基础2 线程理论,开启 -进程是资源分配的最小单位,线程是执行的最小单位(cpu调度的最小单位),每个进程中最少一个线程 -两种方式(跟进程完全类似)3 join方法 -等待子线程执行结束,线程对象.join()4 线程数据共享 -不同线程,变量是可以共用的,查看和修改(数据错乱)5 线程

2020-08-26 20:46:12 705

原创 Python中生产者消费者理念,线程理论,线程开启,线程对象方法,多线程的数据共享,线程对象的其他用法,线程的互斥锁,GIL全局解释器锁理论

一知半解的人,多不谦虚;见多识广有本领的人,一定谦虚。1 开启进程的两种方式2 进程对象其他属性和方法: -pid进程id号,os.getpid() -ppid:父进程id号,os.getppid() -is_alive():当前进程是否存活 -terminate():关闭当前进程3 守护进程 -父进程结束,子进程也跟着结束 -t.daemon=True4 进程间数据隔离 -进程之前的数据是独有的,不同进程间不能相互使用5 队列 -Queue:实现进程间通信

2020-08-25 21:29:43 146

原创 Python中的 进程问题详解。守护进程,互斥锁,队列,IPC等介绍

口说不如身逢,耳闻不如目见。嘴上说不如亲身做,耳听为虚,一定要亲眼看到。1 进程调度# 1 先来先服务# 2 短作业优先# 3 时间片轮转# 4 多级反馈队列# 易语言2 僵尸进程与孤儿进程#1 僵尸进程:进程结束了,资源还没来得及回收#2 孤儿进程:主进程挂了,子进程还没结束,它就会被专门的进程接管3 进程对象及其他方法# 1 windows:tasklist |findstr 进程id号# 2 mac,Linux:ps aux | grep 进程id号# 3 进程对象:t

2020-08-24 21:17:26 191

原创 Python中进程理解以及进程的创建

忍得一时之气,免得百日之忧。在情绪冲动的情况下,做出的决策伤人伤己,总是让人追悔莫及。能忍住自己的脾气,是一种修养,更是一种能力。进程理论1、什么是进程进程是一个程序运行的过程2、什么是程序程序就是一堆代码文件3、串行、并发、并行串行:多个任务依次运行,一个运行完毕再运行下一个并行:多个任务是真的在同时运行,只有多个cpu才有并行的概念并发:多个任务看起来是在同时运行4、进程的创建windows:CreateProcesslinux:fork5、进程的终止正常退出

2020-08-24 21:13:50 152

原创 Python中的猴子补丁,内置函数,垃圾回收机制,并发的概念

大巧若拙,大辩若讷。 ——《道德经》真正灵巧优美的东西应是不作修饰的,真正的巧不在于违背自然的规律去卖弄自己的聪明,而在于处处顺应自然的规律。猴子补丁一.什么是猴子补丁:属性在运行时的动态替换,叫做猴子补丁(Monkey Patch)。二.猴子补丁的核心:核心就是用自己的代码替换所用模块的源代码来源解释:1,这个词原来为Guerrilla Patch,杂牌军、游击队,说明这部分不是原装的,在英文里guerilla发音和gorllia(猩猩)相似,再后来就写了monkey(猴子)。

2020-08-19 20:22:34 497

原创 元类,exec()用法,自定义元类控制子类的创建 —call—用法,属性查找顺序,单例模式

一花一世界,一叶一菩提元类1.什么是元类?:一切源自于一句话:python中一切皆为对象。class StanfordTeacher(object): school='Stanford' def __init__(self,name,age): self.name=name self.age=age def say(self): print('%s says welcome to the Stanford to learn Py

2020-08-18 20:57:31 237

原创 python中UDP基于套接字编程,并发的TCP与UDP编程,TCP与UDP的差异。

菩提本无根,明镜亦非台基于UDP协议的套接字通信:1.UDP是无连接的,先启动那一端都不会报错。UDP服务端:ss = socket() #创建一个服务器的套接字ss.bind() #绑定服务器套接字inf_loop: #服务器无限循环 cs = ss.recvfrom()/ss.sendto() # 对话(接收与发送)ss.close() # 关闭服务器套接字UDP客户端:cs = socket()

2020-08-18 19:06:07 319

原创 python 中粘包问题(tcp通信下)python中上传下载文件实现方法。

一花一世界,一叶一菩提。粘包现象粘包的现象:[root@localhost]# netstat -ano活动连接 协议 本地地址 外部地址 状态 PID TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 468 TCP 0.0.0.0:445 0.0.0.0:0 LISTENING

2020-08-14 19:55:47 232

原创 Python 套接字练习,以及会遇到的问题。

一花一世界,一叶一菩提。套接字(socket)编程历史上图就是我们所抽象出来的套接字层:也就是我们所学习的那些计算机语言给我们已经封装或者打包好的一些我们可以直接使用的套接字功能。什么是套接字(socket)Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。所以,我们无需深入理解tcp/

2020-08-13 18:21:02 295

原创 TCP协议与 UDP协议 网络的上网流程

Python 小白,网络集合。TCP协议与UDP协议1.TCP协议:可靠传输,==TCP数据包没有长度限制,理论上可以无限长,==但是为了保证网络的效率,通常TCP数据包的长度不会超过IP数据包的长度,以确保单个TCP数据包不必再分割。以太网头ip 头tcp头数据理论上可以无限长位于传输层, 提供可靠的字节流服务。所谓的字节流服务(Byte Stream Service) 是指, 为了方便传输, 将大块数据分割成以报文段(segment) 为单位的数据包进行管理。

2020-08-12 19:55:40 456

原创 OSI 五层协议(小白学习,老手思考)

绝对要收藏,不可忽略的精华(OSI五层协议)OSI五层协议1.物理层通过上述的联系方式去与交换机或者是某些其他的网络机器连接。负责发送电信号bit(会把数据链路层发过来的数据转换成电信号)2.数据链路层以太网协议:数据链路层由来:单纯的电信号0和1没有任何意义,必须规定电信号多少位一组,每组什么意思数据链路层的功能:定义了电信号的分组方式 即(以太网协议ethernet)ethernet规定一组电信号构成一个数据包,叫做‘帧’每一数据帧分成:报头head和数据d

2020-08-11 18:53:54 3774

原创 Python中的异常处理和套接字编程Socket

Python学习之从入门到放弃,喜欢的可以关注一下哦。异常处理1 什么是异常?异常是错误发生的信号,一旦程序出错就会产生一个异常。如果该异常没有被处理,该异常就会被抛出来,程序的运行随即终止异常的组成部分:1.具体哪一行代码抛出的异常2.异常的种类NameError:变量名没有定义过IndexError:索引不存在 l=[11,22] l[100]KeyError d={"k1":11} d["k2"]AttributeError:对象属性不存在 对

2020-08-10 19:16:01 407

原创 python中super()的用法,组合,多态,反射,等

Python心得1、 super().属性在子类派生的新方法中重用父类功能的方式二方式:调用super(自己的类名,self)会返回一个特殊的对象,super(自己的类名,self).属性,会参照当前类的mro列表去父类中查找属性特点:严格依赖于继承关系示例:class OldboyPeople: school = "oldboy" # 空对象,"艾利克斯",73,'male' def __init__(self,name,age,gender

2020-08-07 20:22:48 666

原创 类的继承属性,与其多属性继承问题。

今日内容继承什么是继承继承是一种新建类的方式,新建的类称之为子类,被继承的类称之为父类,基类,超类要注意:python是支持多继承的。为什么要继承子类会遗传父类的属性,所以继承是用来解决类与类之间代码冗余问题如何实现继承class Parent1: passclass Parent2: passclass Sub1(Parent1): passclass Sub2(Parent1,Parent2): passprint(Sub1.__bases__)

2020-08-06 16:55:10 686

原创 封装概念与隐藏属性,property(装饰器),绑定方法与非绑定方法

Python,封装概念与隐藏属性,property(装饰器),绑定方法与非绑定方法封装一, 什么是封装?封装指的就是把数据与功能都整合到一起,听起来是不是很熟悉,没错,我们之前所说的”整合“二字其实就是封装的通俗说法。二, 隐藏属性(1)在定义类或者初始化对象时,在属性前加__,就会将该属性隐藏起来​ 但该隐藏起始只是一种变形_类名__属性名,并没有真的隐藏起来例:class Student: __school = "oldboy" # _Student__schoo

2020-08-05 16:58:03 205

原创 面向对象编程,其属性特性,用法等

在PYTHON 海洋畅游面向对象编程1、如何基于面向对象的思想写程序面向对象的基本思路就是把程序中要用到的、相关联的数据与功能整合到对象里,然后再去使用,但程序中要用到的数据以及功能那么多,如何找到相关连的呢?我需要先提取选课系统里的角色:学生、老师、课程等,然后显而易见的是:学生有学生相关的数据于功能,老师有老师相关的数据与功能,我们单以学生为例,例1: 非面向对象编写的程序# 学生的数据stu_name = "egon"stu_age = 18stu_gender = "ma

2020-08-04 17:23:15 411

原创 re正则模块细解,面向对象编程思路的优劣。

Python小白,白嫖基地。一, re模块(正则表达式)正则表达式是什么:由一系列特殊字符拼接而成的表达式/规则,该表达式用于从一个大字符串中匹配出符合规则的子字符串正则表达式:记忆图正则表达式讲解示例:1 \w 模式匹配字母数字,以及下划线:s='a b\t,t-ie ns2_?(k8' #对象。print(re.findall('\w',f'{s}')) 结果:['a', 'b', 't', 'i', 'e', 'n', 's', '2', '_', 'k', '8']

2020-08-03 16:15:07 191

原创 python中常用模块的介绍自取。

python小白集中营一,time模块与datetime模块1.1time 模块时间的三种格式:1,时间戳:秒数=>用于时间计算:# 浮点型start=time.time()print(start,type(start))结果显示:1596092716.0356612 <class 'float'>2,格式化的字符串=>用于显示给人看# str型res=time.strftime("%Y-%m-%d %H:%S:%M %p")res=time.strft

2020-07-30 16:29:54 173

Mysql 作业文本.rar

从init.sql文件中导入数据 #准备表、记录 mysql> create database db1; (新建一个表) mysql> use db1; (进入表) mysql> source /root/init.sql 导入文件(输入source 然后直接将文件拉入cmd端口就可以了) 实在不行请直接复制文本内容在进入表以后粘贴上去; 有问题请留言.

2020-09-08

Python中实现文件与服务端上传下载功能。

代码运行请复制进自己的功能需求中去。 或者直接将py文件放到已经打开的任务下去尝试。 127.0.0.1是计算机内部回环地址, 如果需要和别人玩请把内部回环地址改成自己的ip地址,记住客户端也需要改成你的ip地址,不然查询不到会报错,挡在门口。 文件路径请相互统一一下。如果他的计算机下不存在此地址,就不能存进去。最好丢桌面上,桌面地址请自己去此电脑中查看。 如果出现BUG 请联系我。 谢谢各位使用这么垃圾的功能。 哈哈哈哈哈哈哈哈哈哈哈。

2020-08-14

空空如也

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

TA关注的人

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