自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (115)
  • 收藏
  • 关注

原创 Go 编译移动端程序

Go 程序编译成 Android/iOS 的jar包或者二进制程序

2022-11-16 09:53:56 1169 1

原创 Go 当中 JSON 常用技巧

json忽略 struct 空字段忽略 struct 空字段, 使用 omitemptytype User struct{ Email string `json:"email,omitempty"` Pwd string `json:"pwd,omitempty"`}临时粘合两个structtype BlogPost struct{ URL string `json:"url"`}type Analytics struct{ Visitors

2020-12-15 10:33:55 323

原创 详细介绍Go交叉汇编ARM

Go 交叉编译说明: 以下的交叉编译主机是在 x86_64 Ubuntu 16.04 平台下进行的.Go 交叉编译涉及的编译参数:GOARCH, 目标平台的 CPU 架构. 常用的值 amd64, arm64, i386, armhfGOOS, 目标平台, 常用的值 linux, windows, drawin (macOS)GOARM, 只有 GOARCH 是 arm64 才有效, 表示 arm 的版本, 只能是 5, 6, 7 其中之一CGO_ENABLED, 是否支持

2020-11-29 14:30:27 1244

原创 Bash 编程之正则匹配利器 grep

grepgrep usage:grep [OPTIONS] PATTERN [FILE...]grep [OPTIONS] [-e PATTERN]... [-f FILE]... [FILE...]OPTIONS - (Matcher Selection)-E, --extended-regexp 将PATTERN解释为扩展正则表达式.-F, --fixed-strings 将PATTERN解释为固定字符串列表(而不是正则表达式), 由换行符分隔, 其中任何一个都要匹配.-G, --

2020-11-26 13:40:06 507

原创 Bash编程之变量怎么玩?

变量变量声明与定义使用 declare# 定义一个只读的变量(变量只能使用, 无法更新和删除), 需要定义的时候立即初始化declare -r x=100# 定义一个数组/字典## 声明一个数组/字典declare -A anydeclare -A any=()## 声明并且初始化一个字典/数组declare -A map=(['java']=1 ['css']=2 ['go']=3)declare -A arr=([1]='java' [2]='css' [3]='go')

2020-11-25 14:17:59 100

原创 Bash 编程, 字符串都哪些鲜为人知的用法呢?

shell 下字符串处理使用字符串的过程中, 既可以使用双引号, 也可以使用单引号, 也可以什么也不用.单引号单引号内容是原样输出, 不能包含变量(若包含, 则依旧原样输出), 且不能出现单独单引号.例如:a='hello'echo ${a} # 输出是 hellob='$a world'echo ${b} # 输出是 $a world双引号可以出现转义字符(如果使用 echo 需要使用 -e 参数, 进行转义输出.). 可以包含变量(变量会被转换为其值)例子:a="he

2020-11-20 16:26:03 70

原创 Bash编程中循环结构应该这么使用

shell 当中的循环shell 当中循环命令存在三种, 分别是: for, while 和 until. for和while属于"当型循环", until属于"直到型循环".注意: 在循环结构体作用域内要想修改外部作用域的变量, 需要使用 let 命令. 否则修改无效.for 循环for 循环有三种结构: 列表for循环, 不带列表for循环, 类C风格的for循环.列表for循环# 1到5的循环for v in {1..5}; do echo "$v"done# 1到

2020-11-19 14:58:07 306

原创 Bash 编程当中的条件怎么写, 你知道吗?

shell 当中的条件判断简介: 在 Shell 编程当中, 经常会使用 if 进行条件判断, 那么条件判断当中的条件应该怎样标准的书写, 是我们需要思考的. 虽然说在某种方式的书写能让 Shell 脚本正常运行, 但是对于后来人的理解和维护, 这是一个很大的成本. 本文提供了一种统一的写法, 方便理解和维护.字符串相关A="A"B="AB"C=""## 等于 (=) , 不等于(!=)if [[ ${A} = ${A} ]]; then echo '等于 if [[ ${A}

2020-11-16 21:39:50 124

原创 学习 Go自己的一点看法

首先, 去学习一下官方的入门教程. 这个只是一个大概了解的教程, 简单介绍一些简单的东西, 并没有太多的说明.tour.golang.org(中文)开发环境这里也可以忽略不看,因为每一个教程都会介绍怎么配置环境操作系统我个人十分推荐使用 Linux, 可以使用 Ubuntu 或 Deepin. 桌面都做的挺不错的. 当然了有条件了可以使用 Mac开发环境Go 的开发环境安装十分简洁, 依赖很少. 如果是 Linux 下安装基本上下载一个二进制包, 解压, 放到一个目录下, .

2020-11-15 13:37:50 1413

原创 Shell编程, 这几种数据结构你都会吗?

Shell 编程常用的数据结构源自: Shell编程, 这几种数据结构你都会吗?简介: shell 编程当中, 除了对常用的命令 awk, sed, grep, find 等命令要非常熟悉之外, 对于 map, array 等常用数据结构的操作也需要熟练掌握, 这样你的编程能力才有一个飞跃. 本文就简单的介绍下 shell 当中 map, array 这两种数据结构的操作, 以及如何解决 shell 编程数学计算的小数点问题.map使用 map 的时候, 需要先声明, 否则结果可能与预期不同.

2020-11-12 20:46:51 999

原创 最全面的解决Charles手机抓包的证书难题(步骤非常详细)

Charles 抓包简介: Charles 抓包是日常开发当中经常会用到的技术手段, 但是在 Android 7 之后, 手机只信任系统内置的根证书, 对于用户添加的证书则会被忽略, 此举提升了手机系统的安全性, 但是对于抓包的却很不友好. 本文主要全面讲解 IOS 和 Android 两大系统如何去配置根证书. 彻底解决抓包的难题.charles 抓包前的准备工作下载 charles, 官网的地址: https://www.charlesproxy.com配置要抓包的主机和端口, Pr

2020-11-09 15:07:44 4853

原创 万余字带你认识 go chan 底层是如何设计的

golang channel 源码解析欢迎大家关注微信公众号后端开发杂谈, 这里有更多实用的干货等着你来拿!简介: channel 是 go 当中一个经常使用到的数据结构, 它经常用在并发通信当中. 如果只是知道它的用法, 而不了解其底层的原理是一个很大的损失. 本文带你去深入理解 chan 底层设计的原理.数据结构type hchan struct { qcount uint // chan 里元素的数量 dataqsiz uint // cha

2020-11-04 18:04:30 310

原创 Go sync.Map 并发效率为什么那么高?​

Go sync.Map 设计背后的并发思想简介: 对于熟悉 Go 语言的同学都知道, Go 自身的 map 是不支持并发读写, 并发写的, 为了解决这个问题, Go 官方提供了 sync.Map 专门支持并发读写的问题. 本文依据 sync.Map 的源码, 解读 sync.Map 背后的设计思想.Map类型针对两种常见用例进行了优化:(1)给定键的条目仅写入一次但多次读取(例如仅在增长的高速缓存中),(2)当多个goroutine读取, 写入时, 并覆盖不相交的键集的条目.在这两种情况下,

2020-10-30 13:43:50 371 1

原创 3万字详解Go 是如何设计Map的

golang map 源码解析文章可能有些长, 主要分为以下的几个大块, 如果有同学觉得文章太长, 可以选择自己感兴趣的内容进行阅读.map 数据的数据结构辅助函数, 在map的操作当中涉及的一些函数map 创建map 插入map 查询map 扩容与数据搬移map 删除map 迭代数据结构与实际的数据结构map 中的数据被存放在一个数组中的, 数组的元素是桶(bucket), 每个桶至多包含8个键值对数据. 哈希值低位(low-order bits)用于选择桶, 哈希值高位(hi

2020-10-27 20:48:27 353

原创 Go监控文件的原理及代码实现

监听文件变化的实现Linux下inotify特性:inotify是内核一个特性, 可以用来监控目录, 文件的读写等事件. 当监控目标是目录时, inotify除了会监控目录本身, 还会监控目录中的文件. inotify的监控功能由如下几个系统调组成: inotify_init1, inotify_add_watch, inotify_rm_watch, read 和 close.inotify的主要操作基于inotify_init1返回的 inotify 文件描述符, 该描述符的作用类似于 epol

2020-10-13 22:22:04 963

原创 vue route 路由跳转传递参数

vue route 路由跳转传递参数使用 $router 方式源组件:<template> <button @click="sendParams"> 跳转 </button> </template><script>export default { methods:{ sendParams() { this.$router.push({ path

2020-09-21 09:17:31 967

原创 5张图片带你认识 Linux 底层的 IO 模型

Linux IOLinux 下主要的 5 种IO模型:阻塞I/O (blocking I/O)非阻塞I/O (nonblocking I/O)I/O 复用 (I/O multiplexing)信号驱动I/O (signal driven I/O (SIGIO))异步I/O (asynchronous I/O)阻塞I/O进程一直阻塞, 直到数据拷贝完成. 应用程序一个 IO 函数, 导致应用程序阻塞, 等待数据准备好. 数据准备好以后(从设备拷贝到内核空间), 从内核空间拷贝到用户空间,

2020-09-11 12:25:14 159

原创 手把手教你学会nginx 代理的配置

nginx 代理配置正向代理配置resolverresolver指令用于指定DNS服务器的IP地址. DNS服务器主要工作是进行域名解析, 将域名映射为对应的IP地址. 语法结构如下:resolver ADDRESS ... [valid=TIME];ADDRESS, DNS服务器的IP地址. 如果不指定端口号, 默认使用53端口号.TIME, 设置数据包在网路中的有效时间. 出现该指令定主要原因是, 在访问站点的时, 有很多情况下使得数据包在一定时间内不能被传递到目的地, 但是又不能让该数

2020-09-07 17:27:04 1173

原创 手把手教你学会配置 nginx 的重定向

nginx的重定向功能的实现首先说明两个概念: 地址重写和地址转发.地址重写是为了实现地址的标准化. 举个例子, 在地址栏当中输入 www.baidu.com 和 www.baidu.cn 最后都会被重写到了www.baidu.com地址转发是指在网络数据传输过程中数据分组到达路由器或桥接器后, 该设备通过检查分组地址并将数据转发到最近的局域网的过程.地址重写和地址转发的区别:地址重写会改变浏览器的地址, 使之变成浏览器最新的地址. 而地址转发是不会改变浏览器的地址的.地址重写产生两次请求,

2020-09-04 18:38:23 16553

原创 “代码+图片“的方式带你认识 css 选择器

常用的 css 选择器注: 以下的 element 可以是 tag, class, 或者 idelement element 优先级:1eg: div p, 选择 <div> 元素内部的所有 <p> 元素言外之意, div 和 p 是父子关系<style>div > div { color: red;}div > p { color: blue;}</style><div> &

2020-09-04 15:11:07 149

原创 Golang 修改对象非导出字段的值

reflect 修改对象非导出字段的值在 Go 的 struct 当中, 小写字段是非导出的, 即不可以从包外部访问.但非导出的字段在外部也并不是没有办法访问, 也不是不可以修改的.reflect 取地址访问和修改非导出字段函数 reflect.NewAt:// NewAt返回一个Value, 该指针表示一个指向指定类型, 使用p作为该指针.func NewAt(typ Type, p unsafe.Pointer) Value { fl := flag(Ptr) t := typ.(*rt

2020-09-01 17:44:38 939 2

原创 Ubuntu当中GoLand崩溃问题

GoLand 使用过程中的问题在 Ubuntu 16.04 版本中, 无法输入中文的问题.默认情况下, Ubuntu 16.04 使用的键盘输入法是 IBus. 可以选择安装键盘输入法是 fcitx 的 sogoupinyin. 删除掉系统默认的 IBus (可选, 小心操作).在使用 fcitx 键盘输入法的基础上, 可以修改 GoLand 的启动执行脚本, 从而解决上述的问题. 操作步骤如下:安装 sogoupinyin首先从搜狗拼音官网上下载最新版本的 sogoupinyin, 官网地

2020-08-21 11:29:07 1155

原创 javascript 遍历对象和数组的用法

javascript 遍历对象和数组的用法JavaScript 经常会用到遍历 数组 或 对象 的元素. 虽然很简单, 但是其中涉及到的细节还是很容易出错的, 那么今天就系统的总结一下遍历对象和数组的用法细节.遍历 对象使用 Object.keys() 遍历, 返回一个数组, 包括对象自身的(不含继承的)所有可枚举属性(不含Symbol属性).const obj = { 'key1':'val1', 'key2':'val2'};Object.keys(obj).forE

2020-08-10 21:39:29 289

原创 从原理上认识跨域, 以及如何解决跨域问题

跨域资源共享跨域资源共享(CORS)跨域资源共享(CORS)是一种机制, 它使用额外的 HTTP头 来告诉浏览器让运行在一个origin(domain)上的Web应用被准许访问来自不同源服务器上的指定的资源. 当一个资源从 与该资源本身所在的服务器不同的域,协议或端口 请求另外一个资源时, 该资源会发起一个跨域 HTTP 请求.例如: 前端主机: www.fontend.com, 后端主机: www.backend.com. 当 前端 向 后端 发送API请求的时候, 由于域名不同,导致该请求是

2020-08-04 10:48:23 363

原创 Golang List 源码解析

Listgolang 里的 List (在container/list包当中) 是一个特殊的双向链表.每一个元素会直接指向链表的"哨兵节点".数据结构:// 链表元素 type Element struct { // 链表的元素中的下一个和上一个指针. // 为了简化实现, 内部将列表 l 实现为环, 这样 &l.root 既是最后一个列表元素( l.Back() )的下一个元素, // 也是第一个列表元素( l.Front() ). next, prev *Eleme

2020-07-11 16:38:26 250

原创 cgo 系列文章之内部原理 (三)

内部机制CGO 生成的中间文件在构建一个 cgo 包时增加一个 -work 输出中间生成所在目录并且在构建完成时保留中间文件.对于比较简单的 cgo 代码可以直接手工调用 go tool cgo 命令来查看生成的中间文件.在一个 Go 源文件当中, 如果出现 import "C" 指令则表示将调用 cgo 命令生成对应的中间文件. 下面是生成的中间文件的简单示意图:包含有 4 个 Go 文件, 其中 nocgo 开头的文件中没有 import "C" 指令, 其他的 2 个文件则包含了 cgo

2020-07-11 14:36:55 1569

原创 cgo 系列文章之cgo类型 (二)

常用的cgo类型数值类型CCGOGocharC.charbytesinged charC.scharint8unsigned charC.ucharuint8shortC.shortint16intC.intint32longC.longint32long long intC.longlongint64floatC.floatfloat32doubleC.doublefloat64size_t

2020-07-11 14:30:08 1148

原创 cgo 系列文章之cgo语句 (一)

cgo语句在 import "C"语句前的注释可以通过 #cgo 语句设置 编译阶段 和 链接阶段 的相关参数.编译阶段的参数主要用于 定义相关的宏 和 指定头文件检索路径.链接阶段的参数主要是 指定库文件检索路径 和 要链接的库文件.// #cgo CFLAGS: -D PNG_DEBUG=1 -I ./include// #cgo LDFLAGS: -L /usr/local/lib -l png// #include <png.h>import "C"上面的代码中:CF

2020-07-11 14:25:40 2028

原创 Charles 在 iPhone iso 版本上安装证书方法

Charles 在 iPhone iso 13 版本上安装证书方法Charles 当中点击 Help > SSL Proxying > Install Charles Root Certificate on a Mobile Device or Remote Browser点击 iPhone 手机的 Safari, 输入 chls.pro/ssl, 下载证书进入 iPhone 手机的 Settings > General > Profile(s):

2020-07-01 09:33:41 5971 1

原创 二进制文件查看方法

二进制文件查看欢迎大家关注微信号 后端开发杂谈, 以了解更多的信息.file作用: 帮助确定文件类型这是进行二进制分析的起点.> file /bin/ls/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=d0bc0fb9b

2020-05-12 22:01:26 6809

原创 详细了解 MySQL 数据库的日志

MySQL 日志文档:后台清理掘金文档Segment文档redo log淘宝文档undo log淘宝文档MySQL 中有六种日志文件, 分别是: 重做日志(redo log), 回滚日志(undo log), 二进制日志(binlog),错误日志(errorlog), 慢查询日志(slow log), 一般查询日志(general log), 中继日志(relay log).其中 重做日志 和 回滚日志 与事务操作息息相关, 二进制日志 也与事务操作有一定的关系.重做日志 (redo

2020-05-10 16:19:22 338

原创 golang sql 解析

sql Pool数据结构介绍DBDB 是一个数据库句柄, 包含了零个或多个基础连接的池. 对于多个goroutine并发使用是安全的.sql package 自动 create 和 release 连接;它还维护空闲连接的空闲池.如果数据库具有 连接状态 的概念, 则可以在事务(Tx)或连接(Conn)中可靠地观察到这种状态.调用 DB.Begin() 之后, 返回的 Tx 将绑定...

2020-05-01 00:25:34 1738

原创 Go Client 核心解析

Go Client 核心解析相关 structtype Client struct { Transport RoundTripper CheckRedirect func(req *Request, via []*Request) error Jar CookieJar Timeout time.Duration}Client 字段的解析:Client 是HTTP客户端....

2020-04-25 16:45:46 1353

原创 Golang PDF导出(多语言)

gopdf 介绍gopdf 是一个比较完善的PDF导出库, 它整合了第三方库, 更加方便用户开发和使用. 它有以下特点:支持 Unicode 字符 (包括中文, 日语, 朝鲜语, 等等.)PDF 文档自动分页PDF 文档自动换行PDF 文档自动化全局定位, 不需要用户去手动定位PDF 默认的配置选项简单, 且已经内置了常用的几种方式PDF 文档采用类似 html 页面的属性设置, ...

2019-04-02 15:52:38 8920 7

原创 beego log实现机制

logging 采用的是日志采集和日志引擎解耦的实现方式. 用户可以自定义log的处理的方式. 官方已经实现了日志的采集, 用户可以自定义日志引擎来处理日志.日志处理的过程:日志采集(beego.Notice等方法)-&gt; 日志分发 -&gt; 日志处理(日志引擎进行对日志的处理)日志采集可以分为同步和异步两种方式. 默认启动的是同步方式.// Logger接口: lo...

2018-09-07 10:43:27 1765

原创 关于文件变化监听, 你了解多少?

监听文件变化的实现Linux下inotify特性:inotify是内核一个特性, 可以用来监控目录, 文件的读写等事件. 当监控目标是目录时, inotify除了会监控目录本身, 还会监控目录中的文件. inotify的监控功能由如下几个系统调用组成: inotify_init1, inotify_add_watch, inotify_rm_watch,read 和 close.inotify的主要操作基于inotify_init1返回的 inotify 文件描述符, 该描述符的作用类似于 ep

2022-01-07 18:41:22 3534 1

winhex数据恢复技术深度揭秘

winhex数据恢复技术深度揭秘!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

2018-01-02

Mongobooster.exe

Mongobooster.zip !

2017-10-28

clean&clean;.crx

clean&clean;.crx ,google的清理缓存的神器!!!!!!!!!!!!

2017-10-28

pandoc-1.19.2.1-windows.msi

pandoc-1.19.2.1-windows.msi !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

2017-10-15

PHP项目开发案例全程实录【3】

PHP项目开发案例全程实录!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

2017-10-09

telnet.exe

telnet.zip!!!!!!!!!!!!!

2017-04-08

JDK中的设计模式应用实例

JDK中的设计模式应用实例!!!!!!!!!!

2017-04-08

netty权威指南第二版源码

netty权威指南第二版源码.!!!!!!!!!!!!!!

2017-04-08

深入浅出JDK

深入浅出JDK.zip!!!!!!!!!!!!!!!

2017-04-08

Netty In Action中文版

Netty In Action中文版!!!!!!!!!!!!!!

2017-04-08

精华电脑技巧

精华电脑技巧!

2017-03-21

Courier Patch 10

Courier Patch 10,

2017-03-21

Ubuntu 参考手册 中文版PDF.7z

Ubuntu 参考手册 中文版PDF.

2017-03-21

Linux的基础总结

Linux的基础总结,两年!!

2017-03-21

spark基本算子操作

基本算子

2017-03-21

Linux Mint 17官方壁纸

Linux Mint 17官方壁纸

2017-03-21

Java 之23种设计模式解析

Java 之23种设计模式解析

2017-03-05

linux服务器架设

linux服务器架设

2017-03-05

阿里巴巴Java开发手册

阿里巴巴Java开发手册

2017-03-05

xfce-4.12.tar.bz2

xfce-4.12.tar.bz2,好用的Linux桌面软件!!

2017-03-02

freetype.zip

FreeType是一个用C语言实现的一个字型光栅化函式库。它可以用来将字元栅格化并对映成点阵图以及提供其他字体相关业务的支援。 FreeType并不提供API以执行更高级的功能,如文字布局或图形处理(例如彩色文字彩现、「空洞化」等)。然而,它提供了一个简单、易用并统一的介面来存取字型档案的内容,从而极大地简化了这些任务。它支援各种字体格式,包括TrueType、Type 1、以及OpenType。 FreeType在两个自由软体授权条款的授权下发布:GNU通用公众授权条款或者以及一个类BSD授权条款。因此这个函式库能够使用于任何类型的项目中,无论其是否是专有软体。同时也包括正在使用的主要自由桌面系统软体。

2022-09-28

2018-2019.tar.gz

2018 -- 2019 gopher 大会的干货的文档, 欢迎大家来下载..

2019-05-14

2015-2017.tar.gz

2015-2017 gopher 文档

2019-05-14

SQL反模式设计

sql反模式, 使用其中的设计模式解决很多日常问题.

2019-03-15

Python标准库

Python标准库, 掌握Python知识必读

2018-09-05

Python源码剖析

Python源码剖析, 真正的解读Python的内涵, 进阶人士必读

2018-09-05

深度学习AI指南

深度学习, 入门AI的必须要学习的课本之一

2018-09-05

高性能Mysql

高性能Mysql!

2018-08-30

Redis设计与实现

Redis设计与实现!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

2018-07-02

数据结构(Python语言版本)

数据结构(Python语言版本)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

2018-06-20

Nginx高性能Web服务器详解

Nginx高性能Web服务器详解!!!!!!!!!!!!!!!!!!!!!!!!!!!

2018-05-11

Docker进阶与实战

Docker进阶与实战....................................

2018-05-11

Docker源码分析

Docker源码分析!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

2018-05-11

集体智慧编程-python算法应用.pdf

集体智慧编程-python算法应用!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

2018-04-02

Python参考手册 第4版(修订版)

Python参考手册 第4版(修订版), 最新版本的Python参考手册!!

2018-04-02

adbd-Insecure.apk

adbd-Insecure-v2.00.apk ,最新版本的adbd.......................................

2018-03-02

Pillow-5.0.0-cp34-cp34m

Pillow-5.0.0-cp34-cp34m, Python生成二维码的必要组件之一!

2018-01-10

Git权威指南

Git权威指南!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

2018-01-04

linux免密码获取root权限

linux免密码获取root权限!!!!!!!!!!!!!!!!!!!!!!!!!!!

2018-01-04

主要国家三级js

主要国家区域!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

2018-01-03

空空如也

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

TA关注的人

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