自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 天呐噜!你的先进智能家居并不安全

大家还记得《窃听风云》那部作品吧,每个平常人的手机都可以被监控的,不过除非你够分量,引起安全部门或大财团注意,否则没人有设备和资源对你进行监听。但是,现在智能家居设备进入千家万户,在网络安全还不完备的家里,有可能被黑客们利用各种漏洞侵入,毕竟你不会用到大公司才会启用的完备防护方案:有哪些东东会被黑客窃取呢?比如说你的智能摄像头:还比如说你家里的灵敏智能的温感器,可以感知到有没有人在家(小偷和黑客们都很关心):你和你另一半的拌嘴被智能音箱语音系统做深度学习,又或者是你的一些激烈

2020-11-14 23:49:40 205

原创 什么是物联网?老外说得很明白

IOT(物联网)慢慢地渗透到商业的方方面面,制造业同样也在其中。麦肯锡预测,在2025前,制造业工厂的物联网市场潜力将会达到$ 1.2万亿-$ 3.7万亿,这是一个惊人的数字!我们耳熟能详的工业4.0,工业互联网,智能制造,物联网,简单点说,就是OT和IT的融合,监控制造过程中的物理过程,并使用数据做出预测性的纠正和适应性决策,从而降低运营成本。1.1.工业4.0的前世今生一张图就能说明白:1.2.举例说明物联网的美妙前景物联网的一个作用就是把物理设备连接到互联网平台:接入工

2020-11-13 13:34:46 616

原创 网络安全防护中的重大缺失!缺少了对人的防护

现在每一个厂商都在说自己的产品或系统有多好,至少不会比别人差。可是早在多年以前,就有统计数据显示,至少有40%的比例是从人这边入手的,这里面就牵扯到一门学说《社会工程学》,有人定义为人肉搜索,有人定义为信息窃取,冠冕堂皇点说,社会工程学是通过对社会人的心里弱点、习惯弱点的分析,通过手段达到目的的过程。很多网络安全事件的爆发就是利用了人性弱点切入的,我们从两个实例中就可以看到社会工程学的可怕:臭名昭著的XCODE Ghost事件2015年9月14日,CNCERT发布了一个安全公告,警告非官方的

2020-11-08 22:12:46 465 1

原创 为什么工业物联网下,工控系统反而不安全了?一文带你解惑

工业物联网(IIOT)倡导万物互联,最大化的把产业智能联动做起来,这里就触及到一个非常严重的问题:安全保障。毕竟这世上想歪点子的人不在少数,况且好人也有疏忽的时候。为什么物联网,工业互联网兴起以前,工控系统的安全有保证,现在缺不行了呢?1.1.以前的系统很封闭以前的工控系统,是自己形成的一个很封闭的网络,没有和外部通讯的需要,只要把内部的人员管好,基本上就不会出什么问题。外面的IT系统弄的风风火火,里面的OT系统依然故我,从下图可以清楚的看见IT(绿色框)和OT(黄色框)是分开运转的:1

2020-11-05 08:48:47 536

原创 揭秘:剖析一场针对工控系统的网络攻击!(完结)

接上文“愿者上钩”之后,攻击者们将会:攻陷得更多的有价值终端攻击者将受感染的工作站用作进入电厂网络内部的终端,他们立即上传了自己开发的一组定制工具,并开始进行更多侦察,他们默默地观看和学习一切…,正所谓不怕贼偷,就怕贼惦记他们可以了解电厂,包括阅读电子邮件和识别电厂员工可以访问的内部应用程序服务器。此外,他们从受感染的系统中搜索并备份所有本地文件,然后将其提取以进行进一步分析。最后,他们安装了键盘记录器,当他们通过系统时,它们会捕获各种登录名和密码当他们通过验证时,他们就拥有

2020-11-03 08:37:38 1288

原创 揭秘:剖析一场针对工控系统的网络攻击!(1)

我们总是觉得黑客离我们很遥远,对专家们说的工控系统要加强网络安全付之一笑,看过这篇文章后,你可能就不觉得是一个玩笑了。如果黑客对你感兴趣,而且他有相对充足的时间(一般来讲,他们的时间比较充裕),以及相应的资源,他们几乎可以攻破所有组织;你能安全多久取决于你能多快地识别攻击和反应攻击。假如你有一个电厂,你觉得流程完善,技术先进,坚不可摧!你向外界展现了你的强大,你很高调,藐视天下的贼。在这里引用某电影一句台词警醒大家:“谁是贼,是贼给我站出来,你看没有人站出来,这里没有贼”!可是你在明处,

2020-11-02 07:23:15 392

原创 为什么两化融合给安全提出的挑战高?因为它们就是两个平行世界

讲到两化融合,就是信息化和工业化互相促进和融合,也就是IT和OT的融合。IT的东西就在我们身边,那么OT应用在哪里呢?其实OT就在我们身边,请看下图:为什么说IT和OT的网络安全防护就像是两个平行的世界,把它们融合在一起不容易呢?1.1.它们的目标和优先级别不同俗话说“屁股决定脑袋”。用文明一点的说法叫做“位置决定想法”。IT和OT业务定位的不同,决定了这两拨人的想法不同:1.2.它们保护的对象不同保护对象的不同,决定了网络安全实施难度的不同:攻击IT系统的黑客以得到数据

2020-10-31 15:42:15 200

原创 为什么工控系统要防备网络攻击?一篇文章说明白

德国的“工业4.0”到“中国制造2025”,以两化融合为基础的数字化转型浪潮开展得如火如荼。在迎来发展新机遇的同时,工业控制系统也面临着新的网络安全问题。工控系统是电力、石油,化工,水利、医药、食品以及航空航天等工业基础设施的“神经中枢”,关系到国家和企业的战略安全,出了状况都是大事情。为什么工控系统会被攻击原来的工控系统自成一体,在封闭的环境中运行,只要管理流程健全,没有家贼,外部的黑客是很难攻破的,因为没有路可以通。后来由于综合监控系统,工业互联网,IT & OT融合,云计算,大数据

2020-10-31 15:32:41 500

原创 14 研发重量级导弹 (和儿子一起编游戏-塔防系列 )

14.1 基本概念有枪无弹是不可以的,不过原理和方法跟我们做的第一个炮弹相同:做导弹,发射点,让导弹飞.14.2 导弹老余的资料库里面有一个导弹素材,拿过来改一下长短,能适合这个棋盘的尺寸就行顺带手,老余有了做炮弹的经验,就把导弹也做了,当然,导弹也是他从某宝淘换来的。14.3 发射点和做马桶炮塔的道理一样,把发射点的位置放在炮管口处记得是炮管那个对象老余很细心,他把Fire Point放在炮口一组。外形搞定后,再绑定Bullet C#脚本,改一改Speed(速度)和

2020-05-13 07:31:47 155

原创 13 新品种:导弹发射器 (和儿子一起编游戏-塔防系列 )

13.1 基本概念武器库里面只有一种炮塔明显是太单调了,下面还需要引入威力更大的武器导弹发射器13.2 设计炮塔老余在这方面还是使用了拿来主义的方式,找了一个长得粗大的炮塔,拿来做导弹发射器用。看这个样子,还是挺唬人的吧,关键是做一个发射点FirePoint在炮管口老余很细心,他把Fire Point放在炮口一组。顺带手,老余有了做炮弹的经验,就把导弹也做了,当然,导弹也是他从某宝淘换来的外形搞定后,再绑定Bullet C#脚本,改一改Speed(速度)和Da

2020-05-11 09:12:25 174

原创 12 建一个商店,商店里面都是炮塔 (和儿子一起编游戏-塔防系列 )

12.1 基本概念标准的塔防游戏都会提供一个面板,玩家在面板上选择要置放什么样子的武器,这一款塔防也不例外。这里面就涉及到了U3D的界面配备和动态装配炮塔预制类。12.2 做商店面板老余首次接触U3D的界面设计,那是相当的不适应,首先要切换到2D不说,U3D还给整了好大的一块画布,可是不适应也得适应,人3D系统就这样,先做一个面板Panel出来:那个竖着杵在那里的就是做...

2020-05-09 18:13:42 237

原创 12 如何跟踪重要字段值的改变(学Odoo,就得Do)

跟踪重要字段值的改变是ERP系统里面重要功能,也是审计的内容,SAP也是因为有这样的功能备受审计们的青睐,而作为业务管理经理们,在追责的过程中,也需要此项功能作为辅助手段。以前开发ERP系统的时候,弟兄们做这个功能吃力不讨好,因为在功能提升上不显著,而且会涉及到每个模块增加调整工作量,没少吃白眼。现在好了,Odoo有这个框架,可以很容易的实现这个审计追踪的功能,只需要在关键字段定义处添加:track_visibility="always"我们把病人姓名和年龄作为需要跟踪修改的字段,只要修改pat

2020-05-09 08:20:56 587

原创 11 放大,缩小相机视角,近距离观看炮战 (和儿子一起编游戏-塔防系列 )

11.1 基本概念 Camera在U3D里面是一个很重要的概念,老余后面还想做一个FPS游戏,那个里面对Camera的控制要求就非常高了,他会极大的提升游戏的体验,老余在这个塔防游戏想小试牛刀一把,毕竟饭要一口一口吃吗!11.2 在相机上面绑脚本U3D通行的做法就是在Camera对象上面绑定脚本,老余也不例外,照做就是了,叫CameraController老余就想实...

2020-05-06 17:28:40 162

原创 11 如何做计算字段Compute Field(学Odoo,就得Do)

什么叫Compute Field?直接翻译过来就是计算字段,也就是说它的结果依赖于其他数据的计算结果或判断结果。我们今天在这里讲解的就是这种类型的字段如何在Odoo实现。病人有年龄之分,我们让系统根据年龄进行分组显示。首先,我们要建立一个年龄分组的计算字段age_group,分别在patient.py实现计算功能,在patient_menu.xml的Form View和Tree View里...

2020-05-06 13:40:44 321

原创 10 第二季开篇 (和儿子一起编游戏-塔防系列 )

好的开始是成功的一半塔防第一季做完后,虽然游戏本身还非常初级,老余心里有底了,而且U3D工具本身上手还挺快。这接下来就要做出来可玩性比较强的功能才可以交代的过去,第二季是做出来7-13,这样游戏基本就可以玩了:塔防底板布局 把坏蛋整一个出来 一波又一波坏蛋来袭 赶紧建炮塔 赶紧做炮弹 炮塔布局 放大,缩小相机视角,近距离观看炮战 建一个商店,商店里面都是炮塔 新品种:导弹...

2020-05-05 08:20:23 169 1

原创 10 如何定义Search View内容(学Odoo,就得Do)

大家在用Odoo内建模块,比如销售,采购等模块的查询的功能的时候,觉得非常方便,但是轮到自己做的时候,发现出不了那么多方便的功能项,这是怎么回事?那是因为这些功能需要在我们定制开发的时候写进去,今天我们就来讲如何自定义Search View。首先,让我们给patient model 增加一个性别字段(gender),方便我们后面的描述,分别加在patient.pyclass Hospit...

2020-05-04 07:31:15 422

原创 09 炮塔布局(和儿子一起编游戏-塔防系列 )

9.1 基本概念这一篇有难度,是塔防非常关键的部分,就是用鼠标在各个方形底座随机摆放 炮塔,这里面需要给我们的大管家GameMaster加点料:BuildManager需要增加点职能,要知道需要生成那个炮塔类型大管家也要知道玩家状态,有几条命,手上还有余钱吗,所以加上PlayerStats脚本9.2 都是代码功夫活玩家状态:目前就集中在手上的余钱public clas...

2020-04-30 08:21:24 392

原创 08 赶紧做炮弹(和儿子一起编游戏-塔防系列 )

8.1 基本概念这个炮弹,老余想刚开始的话,还是简单些比较好,毕竟是一门初级炮,做成圆的比较好,这玩意的难点在于方向(指哪里打哪里)和做一点爆炸效果出来。8.2 炮弹老余做了一个圆球(Sphere)当作炮弹,根据小余的要求,把炮弹从传统的黑色改成了绿色,看得出来,小余还有点美术细胞。老余也没有忘记把炮弹做成Prefab。8.3 发射点发射点是要解决炮弹从炮管发射出来的位置,...

2020-04-29 10:45:05 227

原创 07 赶紧建炮塔(和儿子一起编游戏-塔防系列 )

7.1 基本概念炮塔炮塔,顾名思义首先脑袋要会转,其次是要冲着坏蛋转,这是基本要求。此外炮塔还要有一定的美感,毕竟是在玩游戏。7.2 做一个炮塔的样子其实不容易美工这一块确实是老余的短板,流行的3D软件都不会玩。不过世上无难事,我们有某宝。功夫不负有心人,老余发现某宝上面U3D的素材还是挺多的,当下决定买了一款自己觉得还不错的,没曾想,等老余右键菜单选择Import Package导入...

2020-04-29 10:23:16 231

原创 06 一波又一波坏蛋来袭(和儿子一起编游戏-塔防系列 )

6.1 基本概念俗话讲的好:蛇无头而不行,鸟无翅而不飞。在这个游戏里面,我们从这时候要确定一个管理者Game Master!从他这里发出一个又一个攻击波。老余用Create Empty菜单建立了Game Master,在他下面新建了制造攻击波的类Wave Spawner6.2 资深玩家用的APIWaveSpawner的类就是要动态的产生坏蛋攻击波。老余虽然是精通J2EE,不过I...

2020-04-29 10:22:05 144

原创 09 如何继承已有视图并添加字段(学Odoo,就得Do)

扩展已有视图是我们非常需要的功能,因为现代的软件工业都是一层一层积累而来,而不是从头开始做。所以这一篇我们来讲如何继承和扩展已有模块。我们挑选扩展销售订单的表单,所以我们先要安装销售模块:安装完毕后,创建一张销售订单,创建订单的过程很简单,这里只贴一张图示意一下:然后我们要在Customer下面加入病人的名字,所以我们要先找到销售订单Sales Order的数据对象和表单名称及...

2020-04-28 08:40:29 790

原创 05 把坏蛋整一个出来 (和儿子一起编游戏-塔防系列 )

5.1 基本概念在这个游戏里面,我们的坏蛋就是一个圆球,顾名思义,坏蛋坏蛋,就是蛋的形状吗!5.2 摄像机推过去上一节整出来的底座在游戏界面看的不舒服,所以老余打算调整一下Camera的位置和角度,这样在游戏界面能看到一个舒服的全景:可以用鼠标拖拽,也可以在Transform输入下图的数值定位Camera,然后Game 界面就是像下图那样:Position X=-2, Y=...

2020-04-27 14:08:16 174

原创 08 生成表单序列号(学Odoo,就得Do)

表单序列号这个概念非常重要,是一张表单的表示符号。比如销售订单,它的典型的序列号如SO202004270001就能很清楚的标识出来。这一次我们就来讲如何做出我们自己的表单序列号。我们要在om_hospital下面建立一个叫data的目录,这个属于标准化操作,忘记了的朋友请参考:02 创建新模块(学Odoo,就得Do ),里面对每个目录肩负的使命描述的很清楚。然后我们在data目录中新建xml文...

2020-04-27 09:04:55 440

原创 04 塔防底板布局 (和儿子一起编游戏-塔防系列 )

4.1 基本概念从简单的来讲,塔防的底板由供坏蛋行走的路线,供安放炮塔的底座,起始点和终止点组成,成品的效果是这样的:要做成上面说的底板,就要涉及到Unity3D Prefab,这是一个预制件概念,也就是说我们做供坏蛋行走的路线,供安放炮塔的底座的时候,先做好一条路线,一个底座,然后把他们放到Prefab包里面,凡是从Prefab包里面拉出来的部件,只要Prefab部件属性改了,就一起...

2020-04-26 11:31:34 985

原创 07 给Form视图添加Chatter(学Odoo,就得Do)

标准的Odoo表单界面下面都提供有聊天,登记日志,安排下一期工作和添加附件的功能,这个功能英文叫Chatter,还真不好翻译,直接翻译过来叫“喋喋不休”,讲直接点就是话痨。

2020-04-26 09:05:45 405 1

原创 03 定个计划 (和儿子一起编游戏-塔防系列 )

3.1 Game Story塔防故事很传统,就是坏蛋从老窝一个接着一个的出来,正义的力量根据攻击武器特性,负责把攻击武器部署在合适的位置,不能让坏蛋们跑到自己另一个老窝。3.2 饭要一口一口的吃吃因为是第一次做塔防游戏,一口吃一个胖子把上面的Story都实现了,根据咱老余多年做项目的经验,不是被噎死就是被撑死,做不出来倒好说,反正没客户逼自己,不过被儿子挂在嘴边笑话就太不值当了,所以老...

2020-04-25 21:03:07 181

原创 02 说干就干 (和儿子一起编游戏-塔防系列 )

你还别说,不了解不知道,小余对游戏的钻研挺上道小小年纪,跟班上那些狐朋狗友一起,琢磨了一大堆游戏,比如迷你世界,Minecraft,坦克世界,Call of duty,有些游戏都是大人玩的,这帮小鸡仔也都不在话下。老余有时候都怀疑,坦克世界里面组队的高手们会不会发现他们中间加入了那么几个毛还没长齐的猪队友?2.1 选一个称手的物件3D的引擎和开发工具也是门类繁多,从建模到游戏编程,更别提...

2020-04-25 08:34:37 224

原创 06 显示每条记录的显示名称(学Odoo,就得Do)

截止到目前,我们Hospital模块的Patient数据显示在Form上有点奇怪,就是在标题栏位显示出来的是Odoo保存的这条记录的自动编号(hospital.patient,1),这个就不太友好和直观了。我们通常的做法是显示病人的姓名,或者说显示名称,因为中国公司里面外国人越来越多,有的人证件上的名字又20个字符那么长,但是他们通常用简称,像Odoo这样的系统就很好的提供了这种支持, 首...

2020-04-25 08:31:54 273

原创 01 最近老余有点烦 (和儿子一起编游戏-塔防系列 )

没几天就要过春节了,这是老余有生之年的第40个春节。老余是个IT男,最近真的有点烦,嗯,确切讲应该是从来没顺过,特别是最近这5年。不知道是不是中了降头了,分公司CEO一年换一个,不是被弹劾走的,就是拿够了主动溜的。俗话说一朝天子一朝臣,现在是朝朝天子,朝朝臣,刚跟前浪闹热乎了,后浪又把前浪埋在沙滩上了,新来的这个还不知道能干多久。老余闪转腾挪这么多年,阴差阳错的干起了产品销售的活,...

2020-04-24 17:35:58 158

原创 05 定义模块的访问权限(学Odoo,就得Do)

作为一个企业级系统,权限配置至关重要,每个人在相应的岗位各司其职,互相协作又不互相干扰,是非常重要的事情。本节向大家介绍Odoo自定义的模块如何配置权限。首先,我们要在之前提到的security的目录下建立权限配置文件ir.model.access.csv其次,是CSV文件编辑,工欲善其事必先利其器,PyCharm有第三方plugins帮你把CSV文件分成对应的列,避免你输入弄错行或者...

2020-04-24 09:28:10 187

原创 04 定义Tree和Form View(学Odoo,就得Do)

表单是企业管理的重要组成部分,这一节我们就来介绍在Odoo中如何制作列表页和表单页。

2020-04-23 14:52:54 232

原创 03 定义Menu和Action(学Odoo,就得Do)

做系统的都知道Menu和Action的重要性,没有这个东西,我们只能用眼神操纵系统了,那是10年以后该考虑的技术问题。做这个事情的顺序是:1. 创建菜单文件及准备相应的表单(表单我们后面的文章再谈)2. 修改__manifest__.py3. 添加Menu和Action4. 升级模块5. 进入setting里面查看Menu是否注入1. 创建菜单文件在我们的第02篇文章中...

2020-04-22 14:20:34 534

原创 02 创建新模块(学Odoo,就得Do )

首先要说明的是自定义Odoo模块需要遵守Odoo对模块子目录的约定,这样才上路,才专业,先上一张图,说明Odoo的模块目录结构:其次,对于__manifest__.py文件,我们重点关注一下:可是,对于推动世界进步的懒人来说,Odoo 提供了一种机制来帮助建立一个新的模块, 如果你用Odoo安装包在windows版本下完成了,有一个odoo-bin文件 通过指令 scaffold(...

2020-04-21 10:45:38 247

原创 01 添加自己的Addons Path(学Odoo,就得Do)

在做自定义模块之前,出于我的强迫症又犯了的毛病,我们需要添加自己的Addons Path ,这样可以和系统固有的Addons分开,而且易于版本控制和管理,毕竟我们要的就是自己做的那部分。不看不知道,上一篇搭建的Odoo12调试开发环境就有500MB这么大。首先,在磁盘任意位置建立一个目录,如MyAddon;其次,打开上次做好的Odoo-12.0的Python项目,打开项目设置:然后...

2020-04-20 17:35:59 1830

原创 学Odoo,就得Do (00 Win10下的开发调试环境)

Odoo是目前业界首屈一指的开源ERP产品,Odoo 以前叫 OpenERP,是比利时 OdooS.A.公司开发的一个企业应用软件套件,开源套件包括一个企业应用快速开发平台,以及几千个 Odoo 及第三方开发的企业应用模块。 Odoo 适用于各种规模的企业应用。Odoo功能模块涵盖了各方面的企业应用:CRM、订单处理(销售订单和采购订单)、电子商务、 MRP、财务、库存、门店零售、项目管...

2020-04-19 21:04:16 401

原创 A-001 odoo 的系统及关键模块安装(Windows)

我们选择exe,进行windows安装,就是因为快。天下武功,唯快不破,要尽快掌握Odoo,如果你不是很熟悉Linux的话,在Windows环境里联系是不二之选。我们以免费的社区版为例(企业版同理)。ws odoo exe1.1 Windows odoo exe 安装 - 社区版 安装 - 社区版1.1 Windows odoo exe 安装 - 社区版下载地址 http://nigh...

2019-02-10 22:28:49 732

原创 odoo 12 是什么

Odoo 以前叫 OpenERP,是比利时 OdooS.A.公司开发的一个企业应用软件套件,开源套件包括一个企业应用快速开发平台,以及几千个 Odoo 及第三方开发的企业应用模块。 Odoo 适用于各种规模的企业应用。 Odoo 功能模块涵盖了各方面的企业应用 :CRM、订单处理(销售订单和采购订单)、电子商务、 MRP、财务、库存、门店零售、项目管理等等。Odoo的一个口号是“重新定义可...

2018-12-05 12:27:54 1521

原创 如何写应用软件设计文档

自IT系统诞生至今,如何沟通需求的方法讲了不少,如何设计软件的方法讲了不少,如何开发讲了不少,现在也开始逐步的讲测试了,但是唯独没有人系统的讲如何写设计文档,尤其是指派不擅长写文档的开发人员完成文档时,这项工作就成了一项让他们“头疼”的活。    谁都知道文档重要,说起别人的

2011-08-25 09:14:16 1023 1

原创 Balsamiq Mockups快速入门概览

    制作软件使用原型法已经成为业界通行的做法,笔者使用过Visio,AxureRP或者Html编辑器绘制过软件系统的原型。对于大型项目一般使用AxureRP或者Html编辑器制作高逼真度的原型;对于小型项目一般使用Visio制作。    但是不论是大项目还是小项目,软件是什么样子?从脑海中落到逼真的样子中间会经过一个什么样的步骤?我想大家都会记起一个工具“白板”!大家在会议室讨论,然后

2011-06-24 10:53:00 2300

原创 监控Hibernate执行SQL

 几乎 80% - 85% 的数据库性能问题是由于应用数据库的设计或者应用程序本身的代码所引起的。因此良好的事务处理能力需要在设计应用程序的时候,在设计数据库的时候就考虑到性能和伸缩性。          在我们使用Java EE开发企业级应用程序的过程中,总会涉及到系统的性能问题,并且都会与数据库进行打交道。当我们碰到数据库性能优化时,最有效的就是直接跟踪SQL 语句的执行情况,

2011-06-14 10:10:00 2831 1

Odoo 定制开发(入门篇).pdf

现在实施和定制 Odoo 的组织越来越多, Odoo 的开创了高质量 ERP 的开源风潮,学习Odoo及Odoo定制开发技术正是时候

2020-04-28

空空如也

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

TA关注的人

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