自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

mez_Blog的博客

一个有态度的喷子

  • 博客(314)
  • 资源 (11)
  • 收藏
  • 关注

原创 jQuery学习笔记(3.0)

params:想要更改的样式属性,以对象形式传递,必须写。//里面可以加参数,就是速度毫秒数,如1000,一秒。$(".nav>li").mouseover(function(){ //鼠标经过下拉。$(".nav>li").mouseover(function(){ //鼠标离开上拉。当多次触发动画时,就造成多个动画或者效果排队执行。opacity:透明度必须写,取值0-1之间。slideDown() //下拉。//stop方法必须写在动画的前面。slideUp() //上拉。

2024-04-10 09:58:36 357

原创 jQuery学习笔记(2.0)

2.选择某个节点的兄弟节点:$("ol .item").siblings("li").css("color","red") //将ol下的类名为item的节点的所有li兄弟节点的样式进行设置(不包括item节点自己)。4.第二种方式根据索引选择节点:$("ul li").eq(2).css("color","red") //以前的方式$("ul li:eq(2)").css...$(".one").addClass("current") //在原先类名的基础上,追加类名,不影响以前的类名。

2024-04-10 09:31:16 535

原创 jQuery学习笔记(1.0)

8.Dom对象与jQuery对象可以相互转换,因为原生js比jQuery更大,原生的一些属性和方法jQuery没有给我们封装,要向使用这些属性和方法需要把jQuery对象转换为Dom对象才能使用。10.jQuery-->Dom $('div')[index] 或$('div').get(index)12.jQuery修改样式:$("div").css('属性','值')5.用jQuery获取元素就是jQuery对象:$('div')11.1 jQuery选择器:$("选择器")或者$换成jQuery。

2024-03-30 20:12:07 363

原创 vue面试题整理(1.0)

computed:是计算属性,依赖其他属性值,并且computed的值有缓存,当依赖的属性值发生改变时,才会重新计算computed的值,默认是只读的(相当于getter函数),它也可以设置getter和setter函数来完成读和写。(1)、造成数据混乱:如:一个父级组件的数据传递给多个子组件,某个子组件如果通过Props修改父组件的数据,父级组件再修改其他子组件,其他子组件就会莫名其妙的被修改,造成数据混乱。watch:属性变化的检测(相当于事件),当属性的值发生变化时,可以调用函数。

2023-12-02 21:27:49 664

原创 我的创作纪念日

不能说成就吧,对于程序员的一天,不是在改bug的路上,还是在改bug的路上,改掉一个个的bug就是我最大的成就。提示:你过去写得最好的一段代码是什么?提示:希望未来能够不忘初心,一步步走向更好的子集。提示:当前创作和你的工作、学习是什么样的关系。提示:可以和大家分享最初成为创作者的初心。提示:在创作的过程中都有哪些收获。

2023-11-18 18:50:19 188

原创 前端面试题整理(2.0)

在导航被确认的时候执行回调,并且把组件实例作为回调方法的参数,可以在这个守卫中请求服务端获取数据,当成功获取并能进入路由时,调用next并在回调中通过vm访问组件实例进行赋值等操作,(next中函数的调用在mounted之后:为了确保能对组件实例的完整访问)简单理解:导航守卫就是路由跳转过程中的一些钩子函数,再直白点路由跳转是一个大的过程,这个大的过程分为跳转前中后等细小的过程,在每一个过程中都有一个函数,这个函数能让你操作一些其他的事的时机,比如跳转前是否验证登录,这就是导航守卫。常用于发送网络请求。

2023-10-24 11:33:47 225

原创 前端面试题整理(1.0)

Plugin就是插件,基于事件流框架Tapable,插件可以扩展Webpack的功能,在Webpack运行的声明周期中会广播出许多事件,Plugin可以监听这些事件,在合适的时机通过Webpack提供的API改变输出结果。在以上过程中,Webpack会特定的时间点广播出特定的事件,插件在监听到感兴趣的事件后会执行特定的逻辑,并且插件可以调用Webpack提供的API改变Webpack的运行结果。③如果节点类型不同,直接干掉前面的节点,再创建并插入新的节点,不会再比较这个节点后面的子节点;

2023-10-21 11:27:53 381

原创 第三周晨考自测(3.0)

返回值:父节点,这里必是一个元素节点,因为文本节点或其他节点不可能当父节点,就和父元素节点有一点不同,当多次调用父节点的时候,顶级父节点是document,而父元素节点的顶级节点是document,而父元素节点的顶级节点的顶级元素节点是HTML。作用:获取某一节点下所有的子一级节点(也就是说子集节点里面嵌套的节点获取不到其标签,但是可以获取到内容,与父节点一起展示)返回值:也是一个节点(下一个兄弟节点),注意节点和元素节点的区别,这里还是节点,包括空白字符形成的文本节点。

2023-09-02 21:29:36 909

原创 第二周晨考自测(2.0)

i++){ var item=arr[i] // item 就是数组内的每一个数据 //把item当做key添加到对象内 obj[item]='随便数据'} //准备一个新的数组 var newArr=[] //循环遍历对象 for( var k in obj){// 把每一个 k添加到 newArr里面 newArr.push(k-0)}(21)arr.findIndex(function(item,index,arr){return})过滤数组,将满足条件的第一个数据的索引返回。

2023-08-19 21:30:32 327

原创 第一周晨考自测(1.0)

与解析的重名情况:(1)变量名与变量名重名(以第一个定义的变量名为准,后面定义的无意义)(2)函数名与函数名重名(后面定义的函数名会覆盖前面的函数名,也就是以后面的函数名为准)(3)变量名与函数名重名(以函数名为准)js的数据类型可以分为两种:一种是基本数据类型(数字,字符串,undefined,null,布尔),另一种是复杂数据类型(函数,对象,数组,日期对象,Set,Map等)在书写递归函数时,一般由以下内容构成:初始化,自增,执行代码,条件判断,不然就是一个没有尽头的递归函数,我们叫做死递归。

2023-08-19 20:49:23 321

原创 MongoDB(学习笔记1.0)

然后我们使用db.createCollection("users")创建一个名为users的集合,这里就比较恶心了,这里的集合就是我们以前学的关系型数据库中的表,对应关系就是table对应collection。这里就体现了非关系型数据库的自由了,一开始我们使用的name,age字段并不是唯一的,再向里面插入数据的时候就可以随意改变字段名,以及字段的个数。选择好点击download下载即可。还是刚才社区版安装的界面,下面有一个tools,点击即可,出现右边的安装界面,同样选择配置信息进行下载安装。

2023-06-05 16:52:30 1486 1

原创 ES6-ES13学习笔记(6.0)

箭头函数并不是万能的,一旦遇到function传统写法就直接使用箭头函数替换,在传统的时间绑定中,还是需要使用function的写法,而不要使用箭头函数,否则,一旦出现了箭头函数的嵌套,就会出现问题,特别是this指向,外层的this指向为window,里层的this指向外层的this,还是window,就会出现问题。箭头函数无法访问arguments,无法new。2.rest参数,剩余参数。箭头函数没有this。this指向父作用域。

2023-06-01 16:22:22 798

原创 ES6-ES13学习笔记(5.0)

注意与Array()的区别,如果直接使用Array(5),只是声明只有5个内容的空数组,而Array.of (5)则是声明数组元素为5的数组,即[5]。对于ECMA的支持还和浏览器有关以及浏览器版本有关,然后我使用Google浏览器就可以正常使用,//findLast findLastIndex() ES2022 逆序查找。发现在电脑自带的联想浏览器不支持此函数,还报错了。...复制为浅复制,如果数组中拥有嵌套就不行了。扁平化处理,将高维数组转换成一维数组。flatMap()适合复杂对象的展开。

2023-06-01 10:44:03 1255

原创 ES6-ES13学习笔记(4.0)

它与传统的全局方法isFinite()和isNaN()的区别在于,传统方法先调用Number()将非数值的值转为数值,再进行判断,而这两个新方法支队数值有效,Number.isFinite()对于非数值一律返回false,Number.isNaN()只对NaN返回true,非NaN一律返回false。如果传入的参数为0,那么就会输出空字符串)对于非数值,会首先转换为数值。startsWith函数 判断自发货窜是否以指定的字符串开头。endsWith函数 判断字符串是否以指定的字符串结尾。

2023-06-01 09:41:33 1064

原创 ES6-ES13学习笔记(3.0)

比如我们想要在ul中,加上自己想要的li结构,就需要用到模板字符串写法,传统的写法换行比较麻烦,需要在每一行的最后加上反斜杠“\”,并且,如果我们使用自定义变量name时,还需要进行字符串拼接,而${...},的写法很好的完成了替换,再加上模板字符串写法,我们就可以很容易的实现自己的li节点内容。当然了,我们在模板字符串中还可以使用函数,我们定义了test函数,在模板字符串中继续使用${...},的写法进行调用即可:即${test()}在实际应用中,比较常用的就是ES6的模板字符串写法。

2023-05-31 16:48:59 674

原创 ES6-ES13学习笔记(2.0)

其中,code:code2是将code重命名为code2:,防止外面的全局变量冲突。z是列表最后一个值的输出。这里是在不设置第三个变量的情况下,将两个变量的值进行交换。[y,x]=[x,y]let [a,b,c]=arr 的运行结果,在控制台输入a,b,c对应的输出。有嵌套的情况下,输出嵌套数值[m,n,y]console.log(name)的输出。date:"111"的输出。

2023-05-31 16:15:38 669

原创 ES6-ES13学习笔记(1.0)

答:const声明的对象不能被修改,如const obj={name:"test1"} 修改成const obj="test2"会报错。答:可以使用freeze()方法,使用Object.freeze({...})定义的对象不能够修改。但是对象里面的属性可以修改,如obj.name="kunkun".还有需要注意的点:所有的const声明都不能被修改吗?那么,如果让对象里面的内容也不能修改呢?4.暂存性死区,声明不提升。4.不与顶层对象挂钩。5.不与顶层对象挂钩。

2023-05-31 15:24:24 671

原创 Git 命令

git常用命令。

2023-05-27 16:16:16 1440

原创 H-buildX项目(学习笔记1.0)

调整pages.json即可,默认的层级关系是index为最上的,比如说我们想展示的是home页面,我们需要将home页面的配置代码放到index代码信息上面。如果我们发布的界面没有显示,只显示了默认的uni-app的默认界面,说明我们的页面层级关系需要调增一下。在一开始安装小程序开发工具时是关闭的,我们在这里单击即可,就可以打开服务端口。我想将我的Vue代码发布到小程序中,看一下我的代码在小程序运行的状况。右上角的预览,也就是运行你的Vue项目的界面效果,下面就是展示界面。首先,打开小程序开发工具。

2023-05-23 16:39:07 1199

原创 Vue学习笔记(0504)

此原因也有解释:eslint根据eslint配置文件的parserOption,知道了要使用babel对代码进行解析,但是解析babel需要使用babel配置文件,由于找不到配置文件(babel配置文件默认需要放在根目录下),所以会报错。因此,添加requireConfigFile: false,本质上是告诉eslint,不用查找这个配置文件了,虽然表面上可以解决这个报错,但是在babel配置文件里写的东西也就失效了。就是找到.eslintrc.js这个文件,保存后,就不会再次报错了。

2023-05-04 21:02:32 1215

原创 微信小程序开发(学习记录1.0)

随便找了一系列图片下载,然后导入到我们的微信小程序文件夹,发现又报错了,这就不贴出来了,就是指它只支持png,jgp,jpeg格式的图片,我们下载的图标文件是svg的,尴尬,需要转换一下格式,所以我们用到了PS。这里我们得到了答案,所以我们就填上,这里分辨率也和图像大小有关,就选默认的27即可,如果需要,我们调低,就会产生更小大小的图片,往上调高,就会得到大一些的图片。这里就是我们转换后的图像大小,我们在我们的小程序中使用即可,由于我们只是测试,为了省事,就直接设置的都是一样的图片了。

2023-04-10 15:51:14 1960

原创 第一个微信小程序

依次是:项目名称,项目路径,appid就是我们刚才赋值的那个ID号,如果不填就只能在本地进行使用,并不能进行远程发布,这里模板选择默认选择第一个,当然,我们也可以选择不使用模板。这就是里面的界面,左边为小程序展示界面,右边为该界面对应的代码。来到登录后的界面,我们主要使用开发设置中的APPID,这里我们在创建小程序时需要使用,方便我们的后续发布。因为在注册时需要实名验证,并绑定了微信,注册完毕我们进行微信扫码登录即可。首先,来到微信公众平台,进行登录,没有的话先进行注册。创建完毕后,界面如下。

2023-04-10 10:51:07 1096

原创 Bootstrap学习笔记(1.0)

除此之外,点击过的链接,会呈现一个颜色码为 #333 的细的虚线轮廓。Bootstrap 3 CSS 有一个申请响应的媒体查询,在不同的媒体查询阈值范围内都为 container 设置了max-width,用以匹配网格系统。如果需要让使用了.img-responsive类的图片水平居中,需要使用.center-block类,不要使用.text-center。CSS:Bootstrap自带以下特性:全局的CSS设置、定义基本的HTML元素样式、可扩展的class,以及一个先进的网格系统。

2023-04-08 16:17:52 1169

原创 Git仓库集成到VScode

这时由于以前创建的有远程库,所以显示的就是以前的远程库,新的远程库不显示,我们可以在终端处手动执行命令:git init,这时就会在左侧出现了我们的本地仓库Git2,我们下面就是将本地文件上传至远程库。这里就是以前用的Git文件夹里面的文件,test.txt是不想上传的本地文件,这里我们创建了.gitignore文件,我们知道,以.开头的文件默认是隐藏文件,这里没有显示,我们来到资源管理器里进行查看。我去,应该是复制错地址了,整到Github里面了,不过问题不大,都是远程库。

2023-04-08 10:43:30 1811

原创 Vue3学习笔记(9.6)

混入(mixins)定义了一部分可复用的方法或者计算属性。混入对象可以包含任意组件选项。当组件使用混入对象时,所有混入对象的选项将被混入该组件本身的选项。同名钩子函数将合并为一个数组,因此都将被调用。另外,mixin对象的钩子将在组件自身钩子之前调用。比如,数据对象在内部会进行浅合并(一层属性深度),在和组件的数据发生冲突时以组件数据优先。以下实例中,Vue实例与混入对象包含了相同的方法。从输出结果可以看出两个选项合并了。当组件和混入对象含有同名选项时,这些选项将以恰当的方式混合。

2023-04-07 10:39:31 1026

原创 封装Ajax

【代码】封装Ajax。

2023-04-06 15:38:35 1036

原创 Vue3学习笔记(9.5)

例如,我们从/a导航到一个相对路径b,如果没有配置append,则路径为/b,如果配置了,则为/a/b。设置replace属性的话,当点击时,会调用router.replace()而不是router.push(),导航后不会留下history记录。当被点击后,内部会立刻把to的值传到router.push(),所以这个值可以是一个字符串或者是描述目标位置的对象。to属性为目标地址,即要显示的内容。以下实例中我们将Vue-router加进来,然后配置组件和路由映射,再告诉vue-router在哪里渲染他们。

2023-04-05 16:48:21 1053

原创 Typescript学习笔记(1.0)

typescript是JavaScript的一个超集,就是说JavaScript的语法typescript全部支持,并且在JavaScript进行了扩充,并在JavaScript的基础上进行了变量、函数、返回值等类型限制。在ts文件里,我们将a加入了类型注解:string表示为变量a的类型为字符串类型,如果我们改成其他类型,在ts文件里面就会报错。这里需要注意,虽然在ts文件中出现了报错信息,但是我们如果要强制进行编译执行,还是会生成js文件的。在vscode的控制台进行编译,生成了js文件。

2023-04-05 15:31:05 1044

原创 Vue3学习笔记(9.4)

例如在v-my-directive.foo.bar中,修饰对象为{foo:true,bar:true}。例如在v-my-directive:foo中,arg为“foo”。除了默认设置的核心指令(v-model和v-show),Vue也允许注册自定义指令。value:传递给指令的值。beforeUNmount:当指令与在绑定元素父组件卸载之前时,只调用一次。updated:在包含组件的VNode及其子组件的VNode更新后调用。unmounted:当指令与元素解除绑定且父组件已卸载时,只调用一次。

2023-04-04 20:13:23 1189

原创 Vue3学习笔记(9.3)

但是有时我们可能向把值绑定到当前活动实例的一个动态属性上,这时可以用v-bind实现,此外,使用v-bind可以将输入值绑定到非字符串。v-model会忽略所有表单的value、checked、selected属性的初始值,使用的是data选项中声明的初始值。我们可以用v-model指令在表单、及等元素上创建双向数据绑定。这通常很有用,因为在type=“number”时HTML中输入的值也总是返回字符串类型。记得在多选时按住Ctrl键,要不然还是单选。

2023-04-04 16:54:50 1223

原创 Vue3学习笔记(9.2)

Vue.js为v-on提供了事件修饰符来处理DOM事件细节,如:event.preventDefault()或event.stopPropagation()。我们可以使用v-on指令来监听DOM事件,从而执行JavaScript代码。v-on可以接收一个定义的方法来调用。.self--只监听触发该元素的事件。.prevent--阻止默认事件。.middle--中间滚轮事件。.capture--阻止捕获。.once--只触发一次。.right--右键事件。.stop--阻止冒泡。.left--左键事件。

2023-04-04 09:55:24 414

原创 Vue3学习笔记(9.1)

这样写只会渲染数组中最后一个被浏览器支持的值。如果浏览器支持不带浏览器前缀的flexbox,那么就只会渲染display:flex。注意:当v-bind:style使用需要特定前缀的CSS属性时,如transform,Vue.js会自动侦测并添加相应的前缀。当我们在带有单个根元素的自定义组件上使用class属性,这些class将被添加到该元素中。如果你的组件有多个根元素,你需要定义哪部分将接收这个类。我们可以在v-bind:style直接设置样式,可以简写:style。也可以直接绑定到一个样式对象。

2023-04-04 08:57:58 541

原创 Vue3学习笔记(9.0)

同时使用多个类,并存在多个相同属性时,不管是class,还是:class,都会显示最后那个重复属性的定义。class与style是HTML元素的属性,用于设置元素的样式,我们可以用v-bind来设置样式属性。v-bind在处理class和style时,表达式除了可以使用字符串外,还可以是对象或数组。这和前面写css的顺序有关,如果同时设置为TRUE,后写的css会遮盖先写的css属性。此外,:class指令也可以与普通的class属性共存。当同时设置为TRUE的时候,后面的红色也会遮盖前面的颜色。

2023-04-03 15:36:17 392

原创 Vue3学习笔记(8.0)

异步数据的加载Vue通过watch选项提供了一个更通用的方法,来响应数据的变化。我们可以通过watch来响应数据的变化。以下实例我们使用axios库。异步加载中使用watch。

2023-04-03 09:41:48 218

原创 Vue3学习笔记(7.0)

我们可以用methods来替代computed,效果上两个都是一样的,但是computed是基于它的依赖缓存,只有相关依赖发生改变时才会重新取值。而使用methods,在重新渲染的时候,函数总会重新调用执行。vm.reversedMessage依赖于vm.message,在vm.message发生改变时,vm.reversedMessage也会更新。可以说使用computed性能会更好,但是如果不希望缓存,我们可以使用methods属性。计算属性在处理一些复杂逻辑时是很有用的。这样就能正常显示了。

2023-03-30 09:25:09 334

原创 Vue3学习笔记(6.0)

比如,如果你使用一个像webpack这样的构建系统,全局注册所有的组件意味着即使你已经不再使用一个组件了,它仍然会被包含在你最终的构建结果中。全局注册的组件可以在随后创建的app示例模板中使用,也包括实例组件树中的所有子组件的模板中。为了定值prop的验证方式,我们可以为props中的值提供一个带有验证需求的对象,而不是一个字符串数组。组件系统让我们可以用独立可复用的小组件来构建大型应用,几乎任意类型的应用的界面都可以抽象为一个组件树。上面的示例中我们的组件都是通过component全局祖册的。

2023-03-29 16:46:55 507

原创 Vue3学习笔记(5.0)

不自动将item注入到组件里的原因是,这会使得组件与v-for的运作紧密结合。v-for指令需要以site in sites形式的特殊语法,sites是源数据数组并且site是数组元素迭代的别名。我们可以对数组的元素进行处理后再显示出来,一般可以通过创建一个计算属性,来返回过滤或排序后的数组。下面的script里面的内容相当于声明,在上面的HTML中可以不用,并不影响代码执行。这里的命名并不是固定的,但是比较规范的写法是左边为键key,右边为值value。v-for/v-if联合使用。

2023-03-29 14:29:30 522

原创 Vue3学习笔记(4.0)

例子都不再换的,中间又添加了v-else-if项而已,这里只是seen不满足的情况,也就是不会有seen2,seen3.那我们来把对应的seen2或seen3设置为TRUE,那么其他的都是false喽。注意:当我们使用v-else时,都是放在最后一项用的,不要弄错v-else和v-else-if的顺序。编程这玩意就是要试着举一反三,同样的例子,我们再来看v-else-if,感觉和js或大部分的编程语言类似,只是前面多了v-而已。条件判断使用v-if指令,指令的表达式返回true时才会显示.

2023-03-27 15:01:09 151

原创 Yarn使用

与npm相比,yarn的速度贼快,自行体验就能够感觉到。因为yarn缓存了每个下载过的包,再次使用时无需重复下载。如果需要制定版本号,需要在md5后面加上@,比如md5@1【版本为一开头的版本如:1.0.1】或md5@2【版本为2开头的版本如:2.2.5】其中,在dependencies下就是我们安装的md5包,后面就是它的版本号。还有就是安全性:在执行代码之前,yarn会通过算法校验每个安装包的完整性。使用npm install -g yarn命令安装,速度贼快。lock文件的作用是锁定安装包的版本。

2023-03-27 10:51:55 500

原创 nrm的使用

意思就是对于那个open方法需要遵循ES6规范,要不然不让你用,暂时的解决方案是安装低版本的open,那样就可以使用了。(使用命令:npm i -g nrm [email protected] --save)nrm 是一个 npm 源管理器,可以快速地在 npm源间切换。尤其是在下载那些外国官网的包的时候,速度贼拉慢,就会使用国内镜像,nrm就是干这个的。使用命令:nrm use taobao 就使用了淘宝这个镜像源。使用命令:nrm ls 查看可用镜像源。使用下面命令:npm i -g nrm。

2023-03-27 10:20:25 419 1

硕士研究生复试笔试试卷B.docx

考研复试

2021-05-21

常用镜像下载路径.txt

cenos、win7、win xp、win server2008、win server 2012这些常用的虚拟机iso镜像的迅雷下载路径,需要的可以下载。

2020-04-15

cygwin.rar

windwos+cygwin+ns2环境必须的包已经下载,下载后直接本地安装即可 不需要从官网下载,那速度慢的要死,我试了下,平均速度不高于30KB 注:(ns2需要xp环境哦!)我这个是32位的

2020-04-15

ftp配置虚拟主机(linux)

在CentOS 7下,对ftp服务器进行虚拟主机的配置,然后能够成功测试。

2018-11-03

Centos 7下的操作命令

在学习CentOS 7中整理的课堂笔记,主要是对shell下的命令进行的操作。

2018-11-03

Apache和配额和http的yum仓库

个人上课整理的课堂笔记,在CentOS 7版本下进行的shell操作,希望可以帮助到大家!!!

2018-11-03

PXE预启动执行环境

PXE(preboot execute environment,预启动执行环境) 当计算机引导时,BIOS把 PXE Client 调入内存中执行,然后由 PXE Client 将放置在远端的文件通过网络下载到本地运行。 在RHEL7位运行环境下安装PXE,同样的centos 7也可参照!

2018-09-28

rsync+inotify实时同步用到的资源

有个人做的技术文档,还有rsync和inotify-tools的安装包,希望可以帮助到大家!

2018-09-23

CentOS下用rsync+inotify实现实时同步

linux :CentOS 7下用rsync+inotify实现实时同步,可以实现文件之间的同步备份。

2018-09-15

网络故障习题及答案

个人总结的计算机网络故障诊断与排除练习题和答案,希望可以帮助到大家。

2018-07-12

snort规则包

安装 snort规则所需要的snortrules-snapshot-2900.tar.gz

2018-05-10

空空如也

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

TA关注的人

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