自定义博客皮肤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)
  • 收藏
  • 关注

原创 C#virtual关键

通过上面的代码即可完成对 Person类中 Print方法的重写,在重写后的 Print 方法中能直接调用在Person类中定义的成员。但读者会发现在Person类的Print中已经对Person中的相关属性编写了输出操作的代码,而每一个子类中又重复地编写了代码,造成代码的冗余,也没有体现出代码重用的特点。C# virtual是虚拟的含义,在C#语言中,默认情况下类中的成员都是非虚拟的,通常将类中的成员定义成虚拟的,表示这些成员将会在继承后重写其中的内容。...

2022-08-18 09:03:41 3441 2

原创 C#多态浅析

在创建父类的对象指向每一个子类的时候,根据调用的不同子类中重写的方法产生了不同的执行效果。根据题目要求,创建专业信息的抽象类(Major),并在其中定义学号(Id)、姓名(Name),以及打印专业要求的抽象方法(Requirenwnt)。从上面的执行效果可以看出,创建父类的实例指向了不同的子类,在程序运行时会自动调用子类中重写后的方法内容,显示出本科生和研究生的要求信息。Console.WriteLine(“学号:” + major1.Id + “姓名:” + major1.Name);...

2022-08-08 20:27:25 462

原创 C#数组介绍

在初始化数组时指定了数组中的长度,也就是数组中能存放的元素个数。在指定数组的长度后,数组中的元素会被系统自动赋予初始值,与类中段的初始化类似,数值类型的值为0、引用类型的值为null。另一细节是,数组的大小不是其类型的一部分,这使得可以声明一个数组并向它分配int对象的任意数组,而不管数组长度如何。在一个数组中存放的值都是同一数据类型的,并且可以通过循环以及数据操作的方法对数组的值进行运算或操作。一维数组在数组中最常用,即将一组值存放到一个数组中,并为其定义一个名称,通过数组中元素的位置来存取值。...

2022-07-31 20:00:26 459

原创 SQL集合运算符并集

INNERJOIN]或[LEFTJOIN]等连接组合了两个表中的列,而UNION组合了两个查询中的行。换句话说,join会水平附加结果集,而union会垂直附加结果集。SQLServerUNION是一组集合操作,用于将两个SELECT语句的结果组合到一个结果集中,该结果集包括属于union中SELECT语句的所有行。因为union的结果集只返回1454行,这意味着删除了一个重复行。换句话说,UNION运算符删除重复行,而UNIONALL运算符在最终结果集中包含重复行。...

2022-07-21 10:54:08 424

原创 ASP.NET MVC Areas 区域

使用 ASP.NET MVC 的区域(Areas)实现分部开发和集中部署什么是 AreasAreas 是 ASP.NET MVC 用来将相关功能组织成一组单独命名空间(路由)和文件夹结 构(视图)的功能Areas 的使用MVC 本身提倡的就是关注点分离。但是当项目本身的业务逻辑足够复杂,如果所有的业务逻辑都写个 Controller文件夹下面的时候,你会看到非常庞大的各种命名的Controller, 这个时候区域的作用就非常明显了,将不同的模块通过区域加以区分,简单明了。Areas是 ASP.NET

2022-07-13 09:35:53 317

原创 Ling语句

LINQ to SQL 全称基于关系数据的.NET 语言集成查询,用于以对象形式管理关系数据,并提供了丰富的查询功能。 Linq 中 where 查询与 SQL 命令中的 Where 作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子句。LINQ 的基本语法包含如下的 8 个上下文关键字,这些关键字和具体的说明如下LINQ 中 where 查询where 子句,它是LINQ 表达式的元素筛选机制,除了开始和结束的位置,它几乎可以出现在 LINQ 表达式的任意位置上。 在一个 LI

2022-07-11 09:41:20 349

原创 SQLServer分组数据

Group By 从字面意义上理解就是根据“By”指定的规则对数据进行分组,所谓的分组就是将一个“数据集”划分成若干个“小区域”,然后针对若干个“小区域”进行数据处理。以下是GROUP BY子句的语法:SELECTselect_listFROM table_nameGROUP BYcolumn_name1, column_name2 ,…;在此查询语法中, GROUP BY子句为列中的每个值组合生成一个组。 请考虑以下示例:SELECTcustomer_id,YEAR (order_dat

2022-06-19 14:36:29 257

原创 Datatable删除

在C#中,如果要删除DataTable中的某一行,大约有以下几种办法:使用DataTable.Rows.Remove(DataRow),或者DataTable.Rows.RemoveAt(index);可以直接删除行datatable.Rows[i].Delete()。Delete()之后需要datatable.AccepteChanges()方法确认完全删除,因为Delete()只是将相应列的状态标志为删除,还可以通过datatable.RejectChanges()回滚,使该行取消删除。 只是dele

2022-06-08 11:02:22 476

原创 Window窗口

XAML三个顶级元素:Window、UserControl(用户控件,布局的时候像window窗体那样布局就可以了)、Page把窗体以网页形式展现。而一个XAML页面里只能有一个顶级元素。而顶级元素里面只能有一个子元素。所以有了布局控件1.Window窗体属性窗口的外观WPF中默认窗口框架的外观,主要取决于Icon、Title、WindowStyle、ResizeMode等属性。Icon 指定窗口的图标;Title 指定窗口的标题;WindowStyle指定窗口样式,有4个取值None,无边框

2022-05-29 19:20:37 181

原创 Mvvm命令基础

1.MVVMLight命令介绍在MVVMLight框架中,事件是WPF应用程序中UI与后台代码进行交互的最主要方式,与传统方式不同,mvvm中主要通过绑定到命令来进行事件的处理,因此要了解mvvm中处理事件的方式,就必须先熟悉命令的工作原理。2.RelayCommand命令,WPF命令是通过实现ICommand接口创建的。ICommand公开了两个方法Execute及CanExecute和一个事件CanExecuteChanged。RelayCommand通过构造函数初始化Execute和CanExec

2022-05-18 19:54:30 321

原创 LiveCharts

在开发中难免会用到图表统计,这里引用的是LiveCharts.Wpf。简单易上手,先去工具中的NuGet程序管理包里下载这个,然后在使用的界面当中引用LiveChart.Wpf的类库xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.WpfSeries:绑定数据,折线图集合Labels:是否显示 X 或 Y 轴的系数,Labels 就是坐标系数MinValue:设置图表显示的数据范围,可以不设置,可以靠 Step 和坐标系数...

2022-05-08 19:21:09 2501

原创 C#事件Event

无论是企业中使用的大型应用程序还是手机中安装的一个 App 都与事件密不可分。例如在登录QQ软件时需要输入用户名和密码,然后单击“登录”按钮来登录 QQ,此时单击按钮的动作会触发一个按钮的单击事件来完成执行相应的代码实现登录的功能。在C#语言中,Windows应用程序、ASP.NET网站程序等类型的程序都离不开事件的应用。事件是一种引用类型,实际上也是一种特殊的委托。通常,每一个事件的发生都会产生发送方和接收方,发送方是指引发事件的对象,接收方则是指获取、处理事件。事件要与委托一起使用。 事件定义的语法形

2022-04-28 10:55:56 109

原创 C#字段与属性

字段的使用,关于字段字段又称为“成员变量”,一般在类的内部做数据交互使用。字段命名规范:camel命名法(Camel 命名法是指第一个单词小写,从第二个单词开始每个单词的首字母大写)。通俗的理解:私有化,字段就好比我们的个人财产,仅供个人使用,所以一般是private修饰。添加标准:根据程序的功能需求,具体来添加需要的不同类型的字段。属性的使用,作用在面向对象设计中主要使用属性描述对象的静态特征。保护字段(域),对字段取值与赋值进行限定。要求:一般采用Pascal命名法(首字母大写),数据类型要和对应的字

2022-04-20 11:40:47 909

原创 Mvvm架构介绍

MVVM是Model-View-ViewModel的简写。类似于目前比较流行的MVC、MVP设计模式,主要目的是 为了分离视图(View)和模型(Model)的耦合。 它是一种极度优秀的设计模式,但并非框架级别的东西,由MVP(Model-View-Presenter)模式与 WPF结合的应用方式时发展演变过来的一种新型架构。 立足于原有MVP框架并且把WPF的新特性糅合进去,以应对PC端开发日益复杂的需求变化。相对于之前把逻辑结构写在Code Behind 里面的方式,MVVM几乎完全解耦了视图和逻辑业

2022-04-07 12:01:36 1547

原创 帝友借贷系统总结

经过这么久的实现项目也要总结一下,在这里要合理规划一下整个项目的过程。一开始是项目的需求分析,像这样系统功能有哪些模块、整理好系统的业务流程图,哪里到哪里,哪里再到哪里、然后在写个像样的项目计划书,这里规划好整个项目的详细模块,这里也有具体的时间与安排,这样就不会做着做着迷失了反向。然后就是需求收集和分析,就能得到数据字典。这里使用的是PowerDesigner设计数据库的物理模型。从这里的用户角度出发,有用户的借款和信息,到了后面会随着用户的业务增加而增加。建立数据库后进行编制与调试,然后组织数据导

2022-03-28 17:17:56 627

原创 SQLserver语句小结

这一周里都在学SQLServer数据库的语句,什么添加表,创建表,修改表,删除表,查询表。这些问题都不大,添加表就是在表中添加一行数据,数据不可随便添加,添加的数据要和相对应的字段表示相同的数据类型。创建表需要用到关键词create 然后再table,然后呢在 table1表的名称,然后一个括号把需要创建的字段和字段的数据类型放里面,一个字段和一个数据类型为一个整体,他们之间用英文状态下的逗号进行隔开。然后就是修改表,修改表就是你要修改哪条字段修改那条数据,不可多不可少,数据类型要对的上。然后就是删除

2022-03-17 15:04:21 651

原创 数据库小结

本周在做一个未完成的项目,名叫“帝友借贷系统”。在这里我粗略的做了一些物理模型表,我用的工具是PowerDesigner。这里的数据类型还没给,因为后面还需要进行调整。经过仔细的推磨后会发现项目的需求跟我做数据库还是有很大的差距的,像这样的不能急功心切,如果到了后面要改就会很麻烦。这里介绍SQL Server里的一些语句,这也是基础的语句这个语句是创建数据库的表,表的名称就叫做test,name是test表的字段,varchar(10)是这个字段的数据类型。实例: create table test.

2022-03-08 14:40:22 167

原创 帝友借款项目总结

首先我们要设计出物理模型数据库,然后去分析项目说明书的要求,再去对数据库进行调整。整个部分耗时又耗力,接下来就是看下前端的部分,这整个部分进去后就是浏览所有的功能,需要进行操作的话是要先进行登录的,如果没有登录的账号会进行一个注册账号到的操作,注册成功后就可以进行登录了。然后就是这个项目前台的一些部分,我要借款、我要投资、我的账户。我要借款的借款类型有信用标,净值标,天标,担保标,抵押标,秒标,流转标。借款的额度不能大于这些标给的最大的额度。然后就是我要投资这部分,对购买的投资项目的投资,这里就是要

2022-03-01 11:48:39 1818

原创 WPF框架基础知识

事件的处理方式冒泡:是WPF路由事件中最为常见,它表示事件从源元素扩散(传播)到可视树,直到它被处理或到 达根元素。这样您就可以针对源元素的上方层级对象处理事件。例如,您可向嵌入的 Grid 元素附加一个 Button.Click 处理程序,而不是直接将其附加到按钮本身。气泡事件有指示其操作的名称例如, MouseDown。隧道:采用另一种方式,从根元素开始,向下遍历元素树,直到被处理或到达事件的源元素。这样上 游元素就可以在事件到达源元素之前先行截取并进行处理。根据命名惯例,隧道事件带有前缀 Prev

2021-10-12 19:29:10 216

原创 C#中文件的使用

1.创建文件夹 //using System.IO; Directory.CreateDirectory(%%1);2.创建文件 //using System.IO; File.Create(%%1);3.删除文件 //using System.IO; File.Delete(%%1);4.删除文件夹 //using System.IO; Directory.Delete(%%1);5.删除一个目录下所有的文件夹//using System.IO;foreach (string dirStr i

2021-10-01 07:42:06 108

原创 常用的正则表达式

校验数字的表达式:数字:1$n位的数字:^\d{n}$至少n位的数字:^\d{n,}$m-n位的数字:^\d{m,n}$零和非零开头的数字:^(0|[1-9][0-9])$非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$带1-2位小数的正数或负数:^(-)?\d+(.\d{1,2})$正数、负数、和小数:^(-|+)?\d+(.\d+)?$有两位小数的正实数:2+(.[0-9]{2})?$有1~3位小数的正实数:3+(.[0-9]{1,3})?

2021-10-01 07:40:42 47

原创 WPF框架基础动画

控制播放故事板 PauseStoryboard:暂停动画, ResumeStoryboard:继续播放动画,StopStoryboard:停止动画,并恢复开始位置;RemoveStoryboard:移出动画; 故事板事件:Completed:动画已经到达终点该执行的事件;CurrentStateInvalidated 动画已经开始或结束触发的事件。RemoveRequested 动画正在被移除该执行的事件。CurrentGlobalSpeedInvalidated:速度发生了变化,或者动画.

2021-09-08 21:03:35 375

原创 WPF动画

RenderTransform类(特效) WPF中的RenderTransform类是为了达到直接去改变某个Silverlight对象的形状,比如缩放、旋转一个元素,RenderTransform包含的变形属性成员就是专门用来改变Silverlight对象形状的,它可以实现对元素拉伸,旋转,扭曲等效果,同时变形特效也常用于辅助产生各种动画效果。 TranslateTransform:能够让某对象的位置发生平移变化。RotateTransform:能够让某对象产生旋转变化,根据中心点进行顺时针旋..

2021-08-29 22:27:55 205

原创 WPF样式及其触发器

Style中的Setter,设置器,我们给属性赋值的时候一般都采用“属 性名=属性值”的形式。Setter类的Property属性用来指明你想为目标的那个属性赋值; Setter类的Value属性则是你提供的属性值。Style中的Trigger,触发器,即当某些条件满足时会触发一个行为。Property是Trigger关注的属性名称,Value是触发条件。 MultiConditionTrigger多条件触发器,因为必须多个条件同时成立时才会被触发。MultiTrigger比Trigger多了一个

2021-08-29 22:26:28 170

原创 WPF框架基础2

WPF中mode的5种绑定模式:WPF的绑定模式中mode是枚举,枚举值共有5个1:OneWay(源变就更新目标属性)2:TwoWay(源变就更新目标并且目标变就更新源)3:OneTime(只根据源来设置目标,以后都不会变)4:OneWayToSource(与OneWay相反)5:Default(可以单向或双向,是靠被值定的源或目标是否有get或set来指定的)例如: <Canvas> <ScrollBar Height="24" Name="scrollBar1

2021-08-06 11:18:36 127

原创 WPF框架基础使用

WPF(Windows Presentation Foundation)是微软推出的基于Windows 的用户界面框 架,属于.NET Framework 3.0的一部分。它提供了统一的编程模型、语言和框架,真正 做到了分离界面设计人员与开发人员的工作;WPF的基本概念,逻辑树和视觉树。控件为逻辑树,HTML为视觉树官网中文版控件示例网址: https://docs.microsoft.com/zh-cn/previous-versions/dotnet/netframework-3.5/ms77164

2021-07-28 09:05:45 563 2

原创 Java基础语法

什么是JVM为什么称Java是跨平台的编程语言,Java虚拟机是可以执行 Java 字节码的虚拟机,每个Java 源文件将被编译成字节码文件,然后在JVM中执行。Java 之所以被设计成可以在任意的平台运行,而不需要重写或者在不同的平台下重新编译,这些都要归功于Java 虚拟机(JVM),因为JVM非常了解特定的指令的长度以及底层硬件平台的特殊性。JDK 和 JRE 之间的差异是什么,Java 运行环境是运行 Java 程序的基本的 Java 虚拟机,包 括执行 applet 的浏览器插件。JDK是为了

2021-07-17 11:41:59 47

转载 Java面向对象

修饰符一般常见的有哪些,有private修饰符,friendly表示默认的修饰符,一般这个不用写,protected修饰符,pubic修饰符。修饰符用于什么地方,类会出现修饰符,成员变量也会出现修饰符,方法也会出现修饰符,甚至初始化块也有修饰符。修饰符有很多,都有自己该放的位置。private修饰符只能在同一个类中进行访问,friendly修饰符能在同一个包或者同一个类中访问,protected修饰符能访问同一个类,能访问同一个包,能反问同一个类,能在子类中访问。pubic修饰符能在同一个包或者同一个类或

2021-06-16 21:25:58 50

翻译 Java输入输出流

输入输出流是比较抽象的,在这个过程是不可见的,所以理解起来也是有些难度的。在这个过程中也就分两个部分,一个是输入流,一个是输出流。我们先要知道什么是输出,什么是输入,输入和输出可以说是所有程序都必需要有的一部分。 使用输入这样机制,就是允许程序去读取外部的数据,比如来自磁盘、光盘等存储设备的数据、或者是来自网络的数据、用户输入数据,使用输出机制,允许程序记录运行状态,将程序的数据输出到磁盘、光盘的一些能存储数据的设备中。File类是能对文件进行操作的类,它能对文件和目录进行操作,比如新建文件、修改文件、重

2021-06-07 20:12:00 61

原创 JDBC Mysql基础

首先要说的是我们在设计MySQL的表时需要设计表数据类型,我们要根据表里面的字段的需求而选择数据类型,常用的有以下几种。类型:TINYINT 大小:1字节 范围 -128 to 127 无符号范围 0 to 255类型:SMALLINT 大小:2字节 范围 -32768 to 32767 无符号范围 0 to 65535类型:MEDIUMINT 大小:3字节 范围 -8388608 to 8388607 无符号范围 0

2021-05-30 15:03:02 52

原创 2021-01-15

前端总结前端的基础大致由三个部分组成,HTML+CSS+JavaScript。HTML写的是标签,CSS写的是样式,JavaScript写的是动画效果。通过这些可以做网页,在不用插件的情况下写原生的代码会很多也很麻烦。通过一些插件或框架去做会提高我们的代码质量,比如使用bootstrap来写HTML的网页布局跟样式,jQuery来写JavaScript,jQuery是JavaScript的一个函数库能简化JavaScript的编程也很容易学会。jQuery是JavaScript的函数库,在JavaScr

2021-01-15 11:57:12 58

原创 Axure基础知识点总结(二)

Axure基础知识点总结(二)今天介绍的是Default中的两个基本元件,分别是图片元件和热区元件。这两个元件作用各不相同,图片元件当然是用于放置图片的,怎样放就有很多种方法,最为直接的就是鼠标双击图片元件时就可以放图片。那么他有那些属性呢,有鼠标单击时,鼠标移入时,鼠标移出时都可以改变图片元件中的图片。在配置动作中也能设置图片有鼠标悬停时、鼠标按下时,选中后,禁用后和Default。这些都是在什么交互发生时对图片进行改变。图片可以转换为动态面板,在动态面板中也可以切换图片。热区元件是一块区域,在这个区

2021-01-09 11:27:34 657

原创 盘点Axure中的知识点(—)

盘点Axure中的知识点(—)先说一下动态面板吧,动态面板是个元件我们能经常用的到它同样也是最基础的元件。同过这个元件我们可以做一些多种多样的效果,比如说常见的轮播。动态面板这个元件就在元件库中的Default中,拉出这个元件我们可以看见动态面板是一个淡蓝色的长方形,鼠标双击后就可以进操作了。介绍动态面板中的一些属性(也可以说是交互),常用的有鼠标点击时,状态改变时,拖动时(各种不同的拖动)当然动态面板最主要的也就是拖动这个功能,其他的属性就不一一介绍了。动态面板是不可以设置样式的,比如说设置它的填充颜

2020-12-13 13:07:48 576

原创 Axure技术专题轮播案例总结(—)

Axure技术专题轮播案例总结(—)Axure作为原型设计主要的是把想要的效果做出来,然后呈现出来给需要了解的人看。Axure中的轮播制作过程中对于我来说需要注意的是细节,轮播多种多样,多出来的也就是细节处而已,比如说轮播中的方向的按钮不仅可以切换轮播,下面的一排小圆点也可以切换轮播,切换后还要改变圆点的颜色表示这个轮播的当前位置,圆点的颜色随轮播的切换而切换,并且些圆点中只能有一个颜色不跟其它的颜色相同,其他的颜色都是相同的。然后就是轮播的方向按钮,鼠标移进轮播就显示,移出就隐藏起来,点击就切换。所以说

2020-12-06 20:36:42 247

原创 2020-08-18

不知各位有没有在做案例时遇到这样的一个困境,怎样让我登入一个系统后让菜单栏显示我登入的这个账号相关联的模块。如果遇到这种情况该如何去做,那么像这种情况就是权限的问题。首先呢就是你登入的这个账号要在数据库中有它相对应的要管理模块,然后对这些模块进行查询,把没有查询出来模块进行移出移出这个模块的标签。像这样的方法也是会有缺点的就是欺骗了浏览器,当跳转的路径链接被发现后在浏览器中输入这个链接还是会访问这个模块(见底部图3)。图(1)模块没被隐藏之前图(2)模块隐藏之后像这样的情况是无法满足我们的...

2020-08-18 14:35:53 82

原创 layui框架及多条件查询

首先layui框架中有许多的模块比如渲染表格(table)、提示框(layer)、还有日期选择控件(laydate)等等,经常用到的也就几个方法也是很方便,那么先把layui框架将它放入项目中然后引入文件就可以使了,实列:![在这里插入图片描述](https://img-blog.csdnimg.cn/20200818115326306.png#pic_center然后声明layui相关的模块,需要什么模块就创建什么模块如下图所示。1.模块layerlayer是用来提示用户的窗体,可以设置提示的内

2020-08-18 11:56:36 3731

原创 制作玄字logo

当我们在设计logo时要有丰富的现象力把思维扩展起来,比如设计的抽象化、简约一些、还有唯美、古风、小清新等各种各样不同的风格,当然这个丰富的想象力要符合所做的主题不能跑偏了。一个logo的细节需要进行巧妙的设计这样更能突出你的技术水平或者是说你的才能才华。我觉得我设计的这个logo偏于扁平化,因为我当时看到作业时是要我们把玄这个字做成logo就这么一句话。我得到了一语惊醒梦中人的这样的效果,既然...

2019-07-11 18:37:05 524

原创 制作肖像

这张肖像画的是我们的老师,是用ps画的。我觉得这张画的还不错的,特别是鼻子跟嘴巴。再画肖像时最重要的就是在于细节部分,因为我做的第一张肖像就是没有在于细节部分导致做出来的肖像看着很坚硬很不舒服,这是我从中得到的体会,比如上面这张图的五根手指的弯曲部分加了残影会生动一些,再看看这个部分不加残影会怎么样!答案是看着会很不舒服,就是这样一回事。这个肖像的制作先从上往下开始做,先把头发描绘出来,再把脸...

2019-07-11 18:28:55 424

原创 食品网页欣赏

这是一张食物网站,设计的很好非常的衬托出主题。设计的也很美观、简洁。这个食品网页的最上面的部分跟最下面的部分是相互呼应的这个设计的很好,主题清楚、明白、要表达出来的意思明确,色调基本上都在一个层次上面。这张食品网页的最上面与最下面它们之间的亲密性很近这也就使得了整个页面具有统一性,它们的关联性也越高。这张网页的排版是居中排的,这样去设计很好,因为人的视觉也是从上往下看的一个视觉效果,这样有利于...

2019-06-28 12:09:24 385

原创 实拍照片自作海报

这张照片是摆拍出来的,那天我先用比较薄的被子放在床上然后再把书一本一本地叠放上去,书本摆放出来也要有艺术气氛不能太低俗,我是这样摆的把书都错开来摆放的。之前在网上也看见过关于摆拍的照片觉得很好看于是我也准备去试一下能不能拍出好看的照片来,因为床上的书看上去有点多。把照片做成海报也是有规范的,1.比如照片拍得好看一点这样就更快的做成自己想要的模样了;2.拍的照片是什么,然后为这张拍的照片确定一个...

2019-06-28 12:04:26 211

空空如也

空空如也

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

TA关注的人

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