自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Node.js设置允许跨域的方法有哪些

Nodejs如何设置允许跨域?下面本篇文章就来给大家介绍一下设置方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。设置允许所有域名跨域:  app.all("*",function(req,res,next){//设置允许跨域的域名,*代表允许任意域名跨域res.header(“Access-Control-Allow-Origin”,"*");//允许的header类型res.header(“Access-Control-Allow-Headers”,“content-ty

2020-12-27 19:29:42 1090

原创 dwf是什么格式文件

DWF(Web 图形格式)是由 Autodesk 开发的一种开放、安全的文件格式,它可以将丰富的设计数据高效率地分发给需要查看、评审或打印这些数据的任何人。DWF 文件高度压缩,因此比设计文件更小,传递起来更加快速,无需一般 CAD 图形相关的额外开销(或管理外部链接和依赖性)。使用 DWF,设计数据的发布者可以按照他们希望接收方所看到的那样选择特定的设计数据和打印样式,并可以将多个 DWG 源文件中的多页图形集发布到单个 DWF 文件中。DWF 文件不能替代原有的 CAD 格式(如 DWG)- 设计者

2020-12-27 19:26:08 1649

原创 dbf是什么文件格式

dbf是一种特殊的文件格式,表示数据库文件,Foxbase,Dbase,Visual FoxPro等数据库处理系统所产生的数据库文件。dbf,Digital Beam Forming的缩写,译为数字波束形成或数字波束合成,又表示一种数据库文件。数字波束形成技术是天线波束形成原理与数字信号处理技术相结合的产物,其广泛应用于阵列信号处理领域。扩展资料:  数字波束形成( Digital Beam Forming,DBF)技术,是针对阵列天线,利用阵列天线的孔径,通过数字信号处理在期望的方向形成接收波束。

2020-12-27 19:24:55 4174

原创 分享Atom必备插件

本篇文章给大家推荐一些Atom入坑必备插件。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。相关推荐:《atom使用教程》Atom作为Javascript/CSS/HTML等前端编辑器利器,其强大功能依靠各种插件,以下是笔者在入坑阶段,精挑细选总结出的必不可少的插件,熟悉运用这些插件,一定成吨提高生产效率。安装这些插件只需要在Atom的File ->setting ->install中输入插件名称查到后即可安装:1.Sync Settings搭配github,同步你的at

2020-12-13 18:49:17 678

原创 20个dreamweaver中制作网页的小技巧

本篇文章给大家介绍20个dreamweaver中制作网页的小技巧。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。相关推荐:《dreamweaver教程》使用Dreamweaver制作网页的20个技巧。希望对您有所帮助。1)怎样将 Dreamweaver 集成到 IE 浏览器?Dreamweaver 安装程序会在上下文选单增加一个“ Edit with Dreamweaver ”命令,我们还可以修改 Windows 的注册表使它与 IE 集成。就象 MS Word 、 Frontpa

2020-12-13 18:46:43 1126

原创 JavaScript中数组如何求和?

本篇文章给大家分享一些JavaScript数组求和的常用方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。JS数组求和的常用方法一、for循环var arr = [1,2,3];function sum(arr) {var s = 0;for (var i = 0;is += arr[i];}return s;}console.log(sum(arr));//6二、forEach遍历var arr = [1,2,3];function sum(arr) {v

2020-12-13 18:45:13 336

原创 vue.js有什么优点

vue.js的优点:1、组件化开发,使代码编写量大大减少;2、可以对数据进行双向绑定;3、使用vue.js编写的界面效果本身就是响应式的;4、vue.js是一套响应式的javascript开发库。vue.js的优势:Vue.js 可以进行组件化开发,使代码编写量大大减少,读者更加易于理解。Vue.js 最突出的优势在于可以对数据进行双向绑定(在之后的编写中我们会明显地感觉到这个特点的便捷)。使用 Vue.js 编写出来的界面效果本身就是响应式的,这使网页在各种设备上都能显示出非常好看的效果。相比传

2020-11-12 19:31:10 2482

原创 jquery是不是脚本语言?

jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CS

2020-11-12 19:29:50 445

原创 css怎么自定义字体样式

css自定义字体样式的方法:可以利用font属性来自定义字体样式,如【font-weight:normal;】。font-weight属性用于设置文本的粗细,如果要设置文本字体大小,可以使用font-size属性。font 简写属性在一个声明中设置所有字体属性。属性:font-family:设置文本的字体名称。font-style:设置文本样式。font-variant:设置文本是否大小写。font-weight:设置文本的粗细。font-stretch:设置文本是否横向的拉伸变形。font

2020-11-12 19:26:49 2813

原创 css怎么让首行文字缩进

css让首行文字缩进的方法:可以利用text-indent属性来实现,如【text-indent:50px;】。text-indent属性规定文本块中首行文本的缩进,常用于建立一个标签页效果。属性介绍:text-indent 属性规定文本块中首行文本的缩进。(学习视频推荐:css视频教程)注释:允许使用负值。如果使用负值,那么首行会被缩进到左边。注意:在 CSS 2.1 之前,text-indent 总是继承计算值,而不是声明值。属性说明:用于定义块级元素中第一个内容行的缩进。这最常用于建立一

2020-11-12 19:25:14 1067

原创 8个编写优秀JS代码的技巧和窍门

下面js教程栏目给大家介绍8个编写javascript代码的技巧和窍门。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。1. 生成指定区间内的数字有时候需要创建在某个数字范围内的数组。比如在选择生日时。以下是最简单的实现方法。let start = 1900,end = 2000;[…new Array(end + 1).keys()].slice(start);// [ 1900, 1901, …, 2000]// 也可以这样,但是大范围结果不稳定Array.from({

2020-11-12 19:23:26 478 1

原创 css中更改透明度的属性是什么

css中更改透明度的属性是Opacity。Opacity属性设置了一个元素的透明度级别,语法为【opacity: value|inherit;】,value指定不透明度,inherit表示属性值应该从父元素继承。Opacity属性设置一个元素的透明度级别。语法:opacity: value|inherit;属性值:value 指定不透明度。从0.0(完全透明)到1.0(完全不透明)inherit Opacity属性的值应该从父元素继承举例:div{opacity:0.5;}(小编:小乌

2020-11-11 21:13:44 1405

原创 JQuery中$是什么?

在JQuery中,“”就是jQuery的别称,是jQuery库提供的一个回传函数,定义为“选取”,是“selector”的缩写;语法“”就是jQuery的别称,是jQuery库提供的一个回传函数,定义为“选取”,是“selector”的缩写;语法“”就是jQuery的别称,是jQuery库提供的一个回传函数,定义为“选取”,是“selector”的缩写;语法“(selector)”,作用是根据“()”里的参数进行查找和选择html文档中的元素。jquery的“$”是什么意思?$是JQuery常用的一个回

2020-11-11 21:12:03 8398

原创 CSS怎么控制行高?

在CSS中,可以通过line-height属性来控制行高,该属性可以通过百分比、数字、像素值等方法来设置行间的距离(行高);语法“line-height:属性值;”,属性值可以设置为百分比值、数字、像素值和normal关键字。css line-height 属性line-height 属性设置行间的距离(行高)。注释:不允许使用负值。该属性会影响行框的布局。在应用到一个块级元素时,它定义了该元素中基线之间的最小距离而不是最大距离。line-height 与 font-size 的计算值之差(在 C

2020-11-11 21:08:49 1572

原创 css中的四种基本选择器类型分别是什么

CSS的选择器分为两大类:基本选择器和扩展选择器,其中有4种基本选择器。基本选择器:1、标签选择器:针对一类标签2、ID选择器:针对某一个特定的标签使用3、类选择器:针对你想要的所有标签使用4、通用选择器(通配符):针对所有的标签都适用(不建议使用)标签选择器:一个完整的HTML页面是有很多不同的标签组成,而标签选择器,则是决定哪些标签采用相应的CSS样式。id选择器:根据元素ID来选择元素,具有唯一性。前面以”#”号来标志。类别选择器:类选择器根据类名来选择。和id非常相似,任何的标签都可

2020-11-11 21:07:01 4249

原创 CSS元素选择器的运作原理介绍

在前端工程师的日常工作中,使用 CSS 元素选择器是稀松平常的事;无论你是编写一般的 CSS 还是需要经过编译的 SASS,SCSS,LESS等,最终都被编译成一行一行的 CSS 样式属性,最终交给浏览器解析并套用。但是你想过没有这是如何实现的呢?浏览器渲染我们先看一下浏览器的渲染步骤:CSS 在被浏览器加载后,会被解析成 CSSOM 树,并尝试与 Dom 叠加成渲染树,随后进行计算位置、渲染等步骤。这样看来,CSS 属性套用的关键就在于如何从 CSS 转化成 CSSOM 树,以及怎么把 CSSOM

2020-11-11 21:05:16 497

原创 javascript介绍前端安全知多少

今天javascript栏目介绍前端安全。前言Hello,AV8D~今天我们要分享的主题是前端Web安全。web安全的重要性不言而喻,是所有互联网企业都绕不开的话题。在web前端领域,尽管浏览器已经在系统层面帮我们做了诸多的隔离和保护措施,但是网页代码开放式的特点和html、JS的语言特性使得黑客们依然有非常多的可乘之机,Google、facebook等等都有各自的漏洞悬赏机制,力求在黑客之前发现和修复漏洞,将企业损失降到最低。web安全是老生常谈的话题,但是常说常新,今天就再次梳©理(v)一遍前端

2020-11-10 20:18:52 363

原创 响应式css前端框架有哪些

常用的响应式css前端框架(部分):1、Semantic UI FrameworkSemantic通过创造一个用来方便分享UI的语言使得开发人员和设计师的可控范围更为广泛。不再使用象形文字:Semantic使用自然语言使用惯例来组织使得开发过程更加的具有创新。方便和组件的沟通:给你一系列的UI组件,拥有实时的debug输出,让你的代码告诉你它起什么作用。2、Twitter Bootstrap Framework流畅,富有创意并且强大的移动为先的前端框架,帮助你快速开发web应用3、Foundati

2020-11-10 20:15:35 686

原创 深入了解JavaScript中的null

JavaScript有2种类型:基本类型(string, booleans number, symbol)和对象。对象是复杂的数据结构,JS 中最简单的对象是普通对象:一组键和关联值:let myObject = {name: ‘前端小智’}但是在某些情况下无法创建对象。 在这种情况下,JS 提供一个特殊值null —表示缺少对象。1let myObject = null在本文中,我们将了解到有关JavaScript中null的所有知识:它的含义,如何检测它,null与undefined之间

2020-11-10 20:12:04 1100

原创 HTML网页自动跳转的5种方法

在我们进行网站创建时经常会遇到需要进行网页跳转的情况,本文就来为大家介绍五种网页自动跳转的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。网页自动跳转5种方法:第一种网页自动跳转方法:meta refresh自动跳转法在网页的head区域的meta refresh标签中,加入自动跳转代码,可实现网页的立即或延时自动跳转。示例如下:上述html代码中的“10”是延时跳转的时间,单位是秒。如果设为0,就表示立即跳转。“ http://xfbbs.com ”是跳转的目标地址,可以

2020-11-10 20:07:34 30368

原创 css盒模型有哪些属性

CSS盒模型是定义元素周围的间隔、尺寸、外边距、边框以及文本内容和边框之间内边距的一组属性的集合。示例代码:效果图:由此可见:外边距margin是不可见的,如果设置了父元素的背景,就可以看到;背景色在边框区域设置一个不同的背景,就可以看到内边距(padding)区域。并且盒模型是由margin(外边界)+border(边框)+padding(内边距)+content(内容)构成的。二、属性介绍1、margin属性概念:margin属性应用于盒子外面的空间,或者是位于盒子与文档中其他元素之间的区域

2020-11-10 20:04:46 7697

转载 分享十个PHP安全的必备技巧

你好,PHP 开发人员。 在这篇文章中,我将尝试为你提供一些可以提高 PHP 应用程序安全性的具体步骤。我关注的是 PHP 配置本身,所以我们不会讨论 SQL 注入、HTTPS 或其他与 PHP 无关的问题。我将使用我的docker-entrypoint.sh脚本中的 bash 行来说明示例,但当然你可以将其应用于非 docker 环境。Sessions使用较长的 Session ID 长度增加会话 id 长度会使攻击者更难猜到(通过暴力或更有可能的侧通道攻击)。长度可以介于22 到 256 个字符

2020-11-07 20:15:41 242

转载 PHP基础案例一:展示学生资料卡

一、需求分析:请利用PHP的变量保存学生的姓名、出生日期、所属学科以及学号,最后将该学生的信息输出到网页中显示。其中,在定义学生的出生日期和学号时候,必须满足以下两个条件。1、出生日期为公历,填写格式为YYYY-MM-DD,例如2003-09-08,表示2003年公历9月8日出生。2、学号是由0加上两位数字的年份和两位数字的月份与日期,再接上三位数字的学生序号,例如2012年5月19日某班的第1个学生的序号为0120519001。3、利用PHP代码可以嵌入到HTML页面中特性,编写一个4行2列的表格

2020-11-07 20:13:35 1759

原创 PHP基础案例二:计算学生年龄

一、需求分析为了方便、准确、快捷的展示学的年龄,系统通常根据学生的出生日期进行自动计算。下面请利用PHP变量分别保存学生的年月日,并通过PHP中的data函数获取当前年月日,最后计算出学生的年龄。例如:出生年月日为:2000年8月2日若现在是2020年5月,则年龄是20周岁若现在是2020年10月,则年龄是19周岁二、设计思路如何定义变量保存学生资料,这些变量分别是什么?如何定义变量保存学生出生的年、月、日?如何获取当前时间的年份、月份和日期?如何计算学生从出生到当前年的周岁?如何判断

2020-11-07 20:11:33 686

转载 PHP+JavaScript实现刷新继续保持倒计时的按钮

场景:发送一个验证码到手机,当验证码发出时,会提示隔 1 分钟之后可以再次发送。通常有这几种方式防止恶意请求,一是再次发送之前需要输入验证码,二是在指定的时间间隔之内不能再次发送。有些网站在 1 分钟的间隔之间之内发送按钮的确是禁用了,但是只要刷新浏览器,或者通过 F12 工具修改 Button 的 disabled 属性,在时间间隔之内仍然可以点击按钮。需要在刷新的情况下仍然保持倒计时,可以在服务器端用过 SESSION 记录点击的时间,并且每次加载页面的时候都去检测当前时间和点击时间的时间差。视图

2020-11-07 20:10:18 202

转载 分析PHP URL中特殊字符引起的问题(+,\,=)

PHP中URL中特殊字符引起的问题(+,=)前言,在做某个渠道的过程中,发现一个验签错误的问题。但是,当时验签在两个地方表现不一致,同一套处理方法,想到了这是因为两个地方请求方式是不同的一个get方法另外一个自然是post方法。当然,出问题肯定就是get。GET和POSTGET请求方式,由于是将参数放在URL中,所以在进行传递的时候可能会受到浏览器端的一些策略问题,对参数进行urlencode处理。所以,当你在服务端拿到参数的时候可能并不是原始的数据。因此,在通过GET方式请求拿到数据,如果不做任何处

2020-11-07 20:08:59 622

转载 php怎么设置mysql编码?

在php中,可以使用mysql_query()函数来设置mysql编码,语法“mysql_query(‘SET NAMES 编码方式’);”;mysql_query()函数需要放置在mysql_connect()语句之后。在php中,可以使用mysql_query()函数来设置mysql编码。在PHP连接数据库的时候,也就是mysql_connect()之后加入//设置数据的字符集utf-8mysql_query(“set names ‘utf8’”);mysql_query(“set chara

2020-11-06 20:14:25 547

转载 修改php.ini文件后怎样才能生效

修改php.ini文件后需要重启php-fpm才能生效,重启命令为【service php-fpm restart】。重启之后,我们可以通过访问phpinfo来查看对应的更改是否已经完成。修改php.ini配置文件后需要重启php-fpm才会生效。重启命令:service php-fpm restart接着可以通过访问phpinfo();?>来查看对应的更改是否已经完成。...

2020-11-06 20:11:35 679

转载 详解JS中的执行上下文和执行栈

如果你是一名 JavaScript 开发者,或者想要成为一名 JavaScript 开发者,那么你必须知道 JavaScript 程序内部的执行机制。执行上下文和执行栈是 JavaScript 中关键概念之一,是 JavaScript 难点之一。 理解执行上下文和执行栈同样有助于理解其他的 JavaScript 概念如提升机制、作用域和闭包等。本文尽可能用通俗易懂的方式来介绍这些概念。一、执行上下文(Execution Context)1. 什么是执行上下文简而言之,执行上下文就是当前 JavaScr

2020-11-06 20:09:51 197

转载 深入了解JavaScript 缓存

随着我们的应用程序的不断增长并开始进行复杂的计算时,对速度的需求越来越高,所以流程的优化变得必不可少。 当我们忽略这个问题时,我们最终的程序需要花费大量时间并在执行期间消耗大量的系统资源。缓存是一种优化技术,通过存储开销大的函数执行的结果,并在相同的输入再次出现时返回已缓存的结果,从而加快应用程序的速度。如果这对你没有多大意义,那没关系。 本文深入解释了为什么需要进行缓存,缓存是什么,如何实现以及何时应该使用缓存。什么是缓存缓存是一种优化技术,通过存储开销大的函数执行的结果,并在相同的输入再次出现时

2020-11-06 20:08:04 345

转载 php实现跳转传值有什么方法

php实现跳转传值的方法有:1、POST传值;2、GET传值;3、SESSION传值。SESSION是全局变量的一种,经常用于用户登录后保存用户ID之类的常用数据,需要注意SESSION的使用需要提前开启。方法有如下几种:一、POST传值post传值是用于html的表单跳转的方法,很方便使用。例如:form中的action填入的是跳转页面的url路径,method填入post方法。form表单中的提交按钮按下后,就会把form中有name的内容都传到填入的url中,可以通过$_POST[‘name

2020-11-06 14:54:48 307

转载 php下载文件出现乱码怎么解决

php下载文件出现乱码的解决方法:首先在下载文件之前使用ob_clean函数清空输出缓冲区;然后利用flush函数刷新输出缓冲;最后下载文件即可。解决方法:下载之前先使用如下两个函数进行处理即可。flush — 刷新输出缓冲ob_clean — 清空(擦掉)输出缓冲区此函数用来丢弃输出缓冲区中的内容。此函数不会销毁输出缓冲区,而像 ob_end_clean() 函数会销毁输出缓冲区。...

2020-11-06 14:53:07 125

转载 python绝对值怎么计算

Python abs() 函数描述abs() 函数返回数字的绝对值。语法以下是 abs() 方法的语法:abs( x )参数x – 数值表达式。返回值函数返回x(数字)的绝对值。

2020-11-06 14:50:13 1378

转载 linux下如何关闭php服务

Linux:PHP 5.3.3 以上版本的php-fpm的重启INT, TERM:立刻终止QUIT:平滑终止USR1:重新打开日志文件USR2:平滑重载所有worker进程并重新载入配置和二进制模块1、php-fpm 关闭:kill -INT cat /usr/local/php/var/run/php-fpm .pid2、php-fpm 重启:kill -USR2 cat /usr/local/php/var/run/php-fpm .pid3、查看php-fpm进程数:ps aux

2020-11-06 14:48:08 1852

转载 linux下php扩展怎么正确安装

linux下php扩展的正确安装方法:1、下载并解压扩展文件;2、进入解压文件目录,检查系统配置;3、执行【make && make install】命令安装扩展即可。方法一:编译安装(学习视频推荐:linux视频教程)具体步骤://下载文件#wget http://pecl.php.net/get/zip-1.12.4.tgz//解压文件#tar zxfv zip-1.12.4.tgz//进入到解压文件目录#cd zip-1.12.4//检查系统配置开始配置,指定安装

2020-11-06 14:43:56 297

转载 传统API代理的接入格式

总所周知爬虫代理分为两类产品,一类是传统的API提取的产品,另一类是隧道转发的爬虫代理产品。两种产品使用方式完全是不同的,调用代理的接口也不一样。那两者之间有什么区别呢?传统API产品和隧道转发爬虫代理产品的区别:传统API提取式代理,通过URL定时获取代理IP信息,需验证IP的可用性、更换代理设置,同时需要设计多线程异步IO,实现代理IP并发处理,不仅繁琐,而且影响效率。“亿牛云爬虫代理IP”通过固定云代理服务地址,建立专线网络链接,代理平台自动实现毫秒级代理IP切换,保证了网络稳定性和速度,避免爬

2020-11-05 21:39:09 146

转载 天翼云CDN服务有哪些优势?

天翼云cdn是中国电信依托分布于全国的网络节点搭建的一层虚拟网络。通过就近缓存、智能路由选择等方式,保障网站数据快速、稳定、安全的传输。天翼云CDN服务对网站的作用是什么1、提高访问速度,使网站的用户享受到高品质的服务2、减少网站服务器与带宽的压力3、提高网站的服务安全性4、从容应付各种突发访问量的冲击5、保持网站服务的连续性天翼云CDN优势:1.覆盖国内平台300多个节点覆盖,4.5T的业务承载能力,覆盖多运营商,主要省份和城市。电信网内节点可根据需求随时增加,电信网外节点通过合作伙伴

2020-11-05 18:10:12 2222 1

转载 计算机病毒不能够什么

计算机病毒不能够破坏CD-ROM中的数据和文件。因为CD-ROM中的数据和文件是只读的。相关介绍:计算机病毒具有传播性、隐蔽性、感染性、潜伏性、可激发性、表现性或破坏性。计算机病毒的生命周期:开发期→传染期→潜伏期→发作期→发现期→消化期→消亡期。计算机病毒是一个程序,一段可执行码。就像生物病毒一样,具有自我繁殖、互相传染以及激活再生等生物病毒特征。计算机病毒有独特的复制能力,它们能够快速蔓延,又常常难以根除。它们能把自身附着在各种类型的文件上,当文件被复制或从一个用户传送到另一个用户时,它们就随

2020-11-05 18:03:43 1017

转载 什么是redis慢查询

什么是慢查询?慢查询,顾名思义就是比较慢的查询,但是究竟是哪里慢呢?首先,我们了解一下Redis命令执行的整个过程:发送命令命令排队命令执行返回结果在慢查询的定义中,统计比较慢的时间段指的是命令执行这个步骤。没有慢查询,并不表示客户端没有超时问题,有可能网络传输有延迟,也有可能排队的命令比较多。因为Redis中命令执行的排队机制,慢查询会导致其他命令的级联阻塞,所以当客户端出现请求超时的时候,需要检查该时间点是否有慢查询,从而分析出由于慢查询导致的命令级联阻塞。什么是慢查询日志?慢查询日

2020-11-05 16:20:58 227

原创 php并发解决方案有哪些

解决方案:1、使用文件锁$fp = fopen(“order.lock”, “r”);if(flock($fp,LOCK_EX)){//…处理订单的代码flock($fp,LOCK_UN);}fclose($fp);2、使用消息队列我们常用到Memcacheq、Radis。比如:有100张票可供用户抢,那么就可以把这100张票放到缓存中,读写时不要加锁。 当并发量大的时候,可能有500人左右抢票成功,这样对于500后面的请求可以直接转到活动结束的静态页面。进去的500个人中有400个人是

2020-11-05 15:58:15 164

空空如也

空空如也

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

TA关注的人

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