- 博客(519)
- 收藏
- 关注
原创 简单讲讲 Java Serializable 接口:序列化机制解析(含高频面试题)
Java对象序列化机制允许将对象转换为字节流以实现持久化、网络传输和缓存。实现Serializable接口是使用该机制的前提,这个标记接口虽无方法,但涉及复杂的设计哲学和安全性问题。序列化保存对象状态而非代码逻辑,需显式声明以防止意外行为。关键点包括:必须显式声明serialVersionUID以实现版本兼容;static和transient字段不参与序列化;可通过自定义方法控制序列化行为;继承时需注意父类构造问题。此外,反序列化存在安全风险,建议校验输入并使用替代方案如JSON。
2025-11-24 09:00:00
316
原创 精细化异常处理:使用 @RestControllerAdvice(assignableTypes = {...}) 实现模块化错误响应
Spring Boot 中基于 @RestControllerAdvice 的精细化异常处理机制 本文深入探讨了 Spring Boot 框架下如何使用 @RestControllerAdvice 实现模块化异常处理。通过 assignableTypes 属性,开发者可以精确控制异常处理器的作用范围,解决全局异常处理中的"粒度困境"。文章从注解原理、匹配规则讲起,对比了多种作用域控制方式,并以认证服务为例演示了生产级实现方案,包括安全异常设计、结构化响应和日志隔离等关键实践。
2025-11-24 08:30:00
19
原创 简单讲讲前端中的 BFC
BFC(块级格式化上下文)是CSS布局的核心机制,用于解决浮动塌陷、外边距合并等问题。通过设置display: flow-root、overflow: hidden等属性可触发BFC。其特性包括: 包裹浮动元素,防止高度塌陷; 阻止外边距合并,确保布局独立性; 自适应避让浮动,实现两栏布局; 隔离内外布局,避免组件干扰。 BFC是传统布局问题的关键解决方案,适用于清除浮动、自适应设计等场景,是现代CSS开发的基础知识。
2025-11-23 13:40:21
16
原创 MyBatis 分页详解
MyBatis分页功能实现方案总结 MyBatis作为主流Java持久层框架,本身不内置分页功能。本文对比分析了物理分页和逻辑分页的优劣,指出生产环境应优先采用物理分页。针对MyBatis原生分页的局限性,重点推荐使用PageHelper插件方案,详细介绍了其核心特性、集成步骤和工作原理。PageHelper通过拦截器机制自动改写SQL,支持多种数据库方言,并封装分页元数据,大幅简化开发流程。文章还提供了Spring Boot集成示例和高级配置建议,帮助开发者高效实现安全可靠的数据库分页功能。
2025-11-23 13:30:27
24
原创 MySQL 如何高效、安全地清空多张表的数据
本文详细探讨了MySQL中清空多张表数据的四种方法及适用场景。对比了TRUNCATE和DELETE的核心差异,TRUNCATE速度快但不触发触发器,DELETE支持事务但较慢。针对不同需求提供了四种解决方案:直接TRUNCATE、DELETE配合事务、动态生成批量脚本以及重建数据库。特别强调外键处理、自增ID重置等注意事项,并提醒务必在操作前备份数据。最佳实践建议根据具体场景选择合适方法,生产环境需谨慎操作并确保相关审批流程。
2025-11-13 09:00:00
864
原创 记一次解决Maven 部署报错 “Cannot deploy artifacts when Maven is in offline mode”
Maven离线模式导致部署失败的原因与解决方案 当Maven处于离线模式时,执行deploy命令会失败,因为该操作需要联网将构件上传至远程仓库。常见原因是IntelliJ IDEA中勾选了“Work offline”选项,或命令行误加-o参数。解决方案包括:取消IDEA的离线选项、确保命令行不带-o参数,以及验证CI/CD脚本配置。可通过Maven日志或help:evaluate命令确认当前是否处于离线模式。日常开发中应保持离线模式关闭,仅在必要时启用。
2025-11-13 09:00:00
718
原创 记一次遇到Chrome 提示 “无法加载响应数据:No resource with given identifier found” 问题探索
Web开发中的Chrome SameSite Cookie问题及解决方案 问题现象:Chrome浏览器访问Web应用时出现白屏或接口无响应,DevTools显示"Failed to load response data",控制台警告JSESSIONID缺少SameSite属性。 问题本质:自Chrome 80起,未设置SameSite的Cookie默认被视为Lax,禁止跨站POST/AJAX请求携带Cookie,导致认证失败。 解决方案: 服务端设置SameSite=None;
2025-11-12 09:15:00
701
原创 Navicat 中如何查看与导出 ER 图?
Navicat查看与导出ER图操作指南 在Navicat中查看ER图无需创建模型:连接数据库后,通过查看→ER图标即可快速浏览表关系(需已定义外键)。但该视图仅支持查看,无法导出或编辑。 若要导出ER图,需先逆向数据库到模型(右键数据库选择逆向),然后在模型编辑器中通过文件→导出生成PDF/PNG等格式。 关键区别:查看功能轻量快捷,导出则依赖模型且支持编辑,适用于文档存档。注意ER图连线依赖外键定义,模型需同步数据库最新结构。
2025-11-12 09:15:00
1537
原创 浅谈分页偏移量公式:为什么是 `(pageNum - 1) * pageSize`?
分页逻辑中的offset = (pageNum - 1) * pageSize公式源于用户视角(从1开始)与系统视角(从0开始)的差异。该公式通过减1将人类页码转换为计算机索引,确保数据正确分页显示。若省略减1会导致数据错位,如第1页显示第11-20条数据。分页实现需注意参数校验和性能问题,大偏移量查询建议采用游标分页等优化方案。理解这一基础公式是正确实现分页功能的关键。
2025-11-11 20:44:56
1287
原创 解决 Chrome 下载 `.crx` 文件被自动删除及“无法安装扩展程序,因为它使用了不受支持的清单版本”问题
本文总结了安装离线Chrome扩展时常见问题的解决方案。针对.crx文件被自动删除问题,可通过改后缀为zip并解压后加载;对于"不受支持的清单版本"错误,按Chrome版本提供不同方案:112-137版本可启用实验性flag或企业策略,138+版本必须升级至Manifest V3或改用Firefox浏览器。文中详细说明了每种方案的操作步骤,并强调Manifest V2将永久淘汰,建议用户尽快迁移至V3。最后提供了查看Chrome版本的方法作为参考。
2025-11-11 20:36:34
2225
原创 浏览器开发者工具调试技巧:如何在页面重定向后仍查看登录等关键网络请求
在 Web 开发与调试过程中,我们经常遇到这样的场景:提交登录表单后页面立即跳转到首页,导致浏览器开发者工具中的 Network(网络)面板自动清空,无法查看登录接口的请求详情。本文将系统性地讲解这一问题的成因,并提供多种可靠、实用的解决方案,帮助开发者高效定位和分析关键网络请求。
2025-11-10 19:39:30
1195
原创 Java 后端处理双向文本:强字符、弱字符与中性字符的拼接顺序控制方法
Java后端处理多语言文本拼接方向问题的解决方案 本文针对多语言应用中混合书写方向文本拼接时可能出现的显示混乱问题,提供了三种解决方案: 使用Unicode双向控制字符:介绍了LRM、RLM等控制字符的作用和实际应用示例,简单直接但需谨慎使用。 使用ICU4J专业库处理:推荐使用ICU4J库实现完整的Unicode双向算法,自动分析文本并生成正确显示顺序。 结构化数据分离:建议将文本方向属性与内容分离,由前端负责最终渲染。 文章详细解释了Unicode字符方向性分类(强字符、弱字符和中性字符),并通过代码示
2025-11-10 00:13:30
587
原创 视图、存储过程与函数
数据库操作封装三要素:视图、存储过程和函数 视图(View)是虚拟表,不存储数据但提供动态查询窗口,用于简化复杂查询、实现数据安全和保持逻辑独立性。存储过程(Stored Procedure)是数据库中的自动化脚本,封装业务逻辑和事务操作,支持参数传递和过程化控制。函数(Function)是可嵌入表达式的计算单元,必须返回确定值。这三者共同实现了数据操作的封装与抽象,使系统更安全高效。视图适合简化查询,存储过程适合多步事务,函数适合计算场景。使用时需注意:视图更新有限制,存储过程事务行为因数据库而异
2025-11-09 23:38:26
949
原创 Navicat 连接 SQL Server 报错 [08001] 超时错误(258)的排查与解决方案
Navicat连接SQL Server 2012时出现TCP超时错误(258),主要原因是ODBC Driver 17与SQL Server 2012兼容性问题。解决方法包括:1)确认SQL Server监听1434端口;2)防火墙放行1434端口;3)关闭SQL Server强制加密;4)降级至ODBC Driver 13;5)正确填写连接地址格式"IP,Port";6)备选方案是使用JDBC连接。IDEA能连而Navicat不能连的原因是两者使用不同驱动协议(JDBC驱动兼容性
2025-11-05 21:02:22
973
原创 Windows 系统下 Node.js 安装与配置完整指南(基于最新 nvm-windows)
本文详细介绍了如何在Windows系统上通过nvm-windows安装和管理多个Node.js版本。主要内容包括:必须彻底卸载旧版Node.js,下载nvm-setup.exe进行安装,支持自定义D盘路径,设置符号链接目录和通知选项。安装完成后需手动安装指定Node版本并验证环境变量配置。文章提供了完整的图文操作指南,帮助开发者避免版本冲突问题,实现灵活的多版本管理。
2025-11-05 09:00:00
2460
1
原创 Visual Studio Code (VSCode) 常用快捷键指南
本文全面介绍了Visual Studio Code(VSCode)的高效快捷键操作体系,旨在帮助开发者提升编码效率。内容涵盖基础编辑、查找导航、代码重构及终端调试四大场景,详细说明了Windows/Linux与macOS的键位差异,并强调快捷键的可定制性。核心快捷键包括:文件操作(Ctrl+N/O/S)、编辑器导航(Ctrl+Tab/P/G)、代码操作(Ctrl+Space/I)、格式化(Shift+Alt+F)等。指南还提醒用户注意快捷键的上下文相关性和版本更新可能带来的变化,建议通过官方文档获取最新信息
2025-11-04 09:45:00
1671
原创 IDEA / DataGrip 连接 SQL Server 提示“驱动程序无法通过 SSL 加密建立安全连接”的解决方法
本文针对 IntelliJ IDEA/DataGrip 连接 SQL Server 时出现的 TLS 协议不兼容问题,提供了五种解决方案:1️⃣ 使用 jTDS 驱动(简单快捷,兼容 TLS 1.0);2️⃣ 禁用 SSL 加密(仅限测试环境);3️⃣ 修改 JVM 参数支持旧协议(临时应急);4️⃣ 升级 SQL Server 支持 TLS 1.2+(最佳方案);5️⃣ 更新 JDBC 驱动版本。其中方案1和方案4为推荐方案,前者适合快速解决老系统连接,后者是生产环境的最佳实践。
2025-11-03 21:41:36
957
原创 解决 CentOS 8 报错:Failed to download metadata for repo ‘BaseOS‘
解决CentOS 8安装Docker时出现404错误的问题。该错误是由于CentOS 8已停止维护(EOL),导致默认软件源失效。解决方案是手动配置阿里云的CentOS Vault归档镜像源:1)确认系统版本;2)备份原有源配置;3)下载对应版本的阿里云repo文件;4)修正baseurl路径;5)清理重建yum缓存。修复后即可正常执行Docker安装脚本。需注意这只是临时方案,建议尽快迁移至AlmaLinux等长期支持的系统。
2025-11-02 18:33:12
968
原创 IntelliJ IDEA 如何全局配置 Maven?避免每次打开新项目重新配置 (适用于 2024~2025 版本)
在IntelliJ IDEA中,每次新建Maven项目时自动恢复默认配置的问题,是由于仅修改了项目级设置而未调整模板级配置。解决方案是:通过File > New Projects Setup > Settings for New Projects进入模板配置,在Maven设置中覆盖User settings file和Local repository路径(需勾选Override选项)。同时可配置附加选项如自动下载源码、委托构建给Maven等。
2025-10-31 22:52:15
1625
原创 IntelliJ IDEA 远程调试(Remote Debugging)教程
远程调试(Remote Debugging)是一种在本地开发环境中连接并调试运行在远程机器上的Java应用程序的技术。它基于Java平台调试架构(JPDA),通过JDWP协议实现调试器与JVM的通信。调试模式分为"Attach"(主动连接远程)和"Listen"(等待远程连接)两种,通常推荐使用前者。传输方式支持Socket(网络通信)和共享内存(仅限本地)。实际操作流程包括:在IDEA中配置远程调试参数,将参数添加到远程应用的启动命令中,并确保防火墙开放端口。
2025-10-31 22:29:43
1115
原创 模型上下文协议(MCP)
MCP(模型上下文协议)是由Anthropic推出的开源标准,旨在为AI应用与外部系统提供标准化连接方式,解决工具集成碎片化问题。该协议采用客户端-服务器架构,包含主机、客户端和服务器三大组件,支持工具调用、上下文管理、提示模板等功能。MCP通过权限控制、沙箱执行、审计日志等多层安全机制确保可信交互,其JSON-RPC基础支持多语言和跨平台兼容。典型应用场景包括AI编程助手、智能客服和数据分析代理等,使LLM能安全高效地访问外部工具和数据源。
2025-10-31 09:00:00
604
原创 Notepad++ 全面快捷键指南(2025 最新版)
Notepad++ 是一款轻量高效的 Windows 文本编辑器,提供丰富的快捷键功能提升工作效率。本文分类整理了 90+ 快捷键,涵盖文件操作(Ctrl+S保存)、编辑操作(Ctrl+Z撤销)、查找替换(Ctrl+F查找)、代码编辑(Ctrl+/注释)、书签导航(F2跳转书签)等核心功能。特别推荐程序员掌握代码编辑相关快捷键,如行注释、块注释、缩进调整等。通过合理的快捷键组合使用,可以显著提高文本处理和代码编写效率。
2025-10-30 21:49:08
1642
原创 如何将 TRAE IDE 的插件市场源切换至 VS Code 官方市场
TRAE IDE支持切换插件市场源,通过修改application.extensionMarketUrl配置项,将默认的Open VSX地址更改为VS Code官方市场(https://marketplace.visualstudio.com/)。操作步骤包括:打开设置界面搜索配置项、修改URL、重启IDE验证。该方案解决了商业插件缺失问题,使得TRAE可以访问VS Code官方市场的完整插件资源。需注意国内用户可能需网络优化,修改后必须重启生效,且极少数插件可能存在兼容性问题。
2025-10-29 19:35:40
1470
原创 解决 IntelliJ IDEA 新版 GitLab 插件强制使用 Token 认证的问题
IntelliJ IDEA新版(2023.2+)默认启用的GitLab集成插件可能导致"Login failed"错误。该插件强制使用API Token认证,不兼容旧版GitLab,且与核心Git操作无关。解决方案是禁用该插件:进入Settings→Plugins,搜索并禁用GitLab/GitLab Integration插件,重启IDEA即可消除登录弹窗,恢复顺畅开发体验。
2025-10-29 09:15:00
703
原创 解决 Maven 项目启动报错 —— error in opening zip file
Java开发中常见的error in opening zip file错误通常由JAR文件损坏引起。即使代码未显式使用该依赖,Maven也会在类路径加载阶段因文件损坏而终止构建。解决方案包括:1)删除损坏JAR文件让Maven重新下载;2)清理整个本地仓库;3)检查磁盘错误;4)手动下载替换。关键要理解Maven依赖调解机制:当损坏版本被删除后,系统可能自动选择其他兼容版本。预防措施包括使用稳定镜像源、避免共享本地仓库等。该问题本质是依赖加载而非使用问题
2025-10-29 09:15:00
901
原创 前端开发中的常用HTML标签
本文全面介绍了HTML核心标签及其应用场景,分为五个部分:1)文本与结构标签(标题、段落、列表等),强调语义化使用;2)超链接的多种应用方式及相关安全注意事项;3)图像标签的最佳实践,包括响应式设计和无障碍访问;4)音频视频标签的现代用法;5)表单交互设计要点。内容涵盖HTML基础到高级特性,注重语义化、可访问性及性能优化,提供大量实用代码示例和最佳实践建议。
2025-10-28 09:00:00
901
原创 前端开发中的表格标签
本文全面介绍了HTML表格的创建与优化方法。从基本的<table>、<tr>、<td>标签开始,详细讲解了表格的结构元素,包括表头单元格<th>和逻辑分组标签<thead>、<tbody>、<tfoot>。同时介绍了单元格合并技巧(rowspan/colspan)、表格标题<caption>以及提升可访问性的scope和headers属性。最后提供了CSS美化技巧和构建专业表格的checklist,强调语义化标签
2025-10-27 23:02:58
659
原创 HTML 表单控件
本文系统介绍了HTML表单的核心元素和属性,从基础表单容器<form>到各类输入控件,包括文本、数值、日期时间及选择类控件。重点讲解了常用表单属性如action、method、enctype等的作用,详细说明了文本输入框、密码框、搜索框等常见控件的使用方法和关键属性。同时涵盖了数值范围选择、日期时间选择器以及下拉选择框和单选按钮的实现方式,并提供了实用的代码示例和注意事项,为开发者构建完整表单交互提供了全面的参考指南。
2025-10-27 22:52:29
1026
1
原创 前端开发中的特殊字符
本文详细介绍了前端开发中各类特殊字符及其处理方法。主要内容包括:1)HTML中必须转义的五大核心字符(<、>、&、"、')及常用符号实体;2)JavaScript字符串转义序列和正则表达式元字符;3)CSS选择器与属性值中的特殊字符;4)URL编码规则;5)JSON字符串转义要求;6)安全敏感字符与XSS防护策略。文章提供了各场景下的字符转义对照表、最佳实践和安全建议,帮助开发者正确处理特殊字符,避免语法错误和安全漏洞。
2025-10-27 22:33:52
529
原创 IntelliJ IDEA 使用 Lombok 报错:“Lombok requires enabled annotation processing” 解决方案
使用 IntelliJ IDEA 开发时,Lombok 库依赖注解处理功能,若未启用会导致注解失效。解决方案分三步:1)在设置中启用 Annotation Processing;2)安装 Lombok 插件;3)重启 IDE 并重建项目。验证可通过代码提示或查看生成的代码。需注意插件与依赖版本兼容性,且仅开发环境需此配置,CI/CD 中无需额外设置。其他基于注解处理的库(如 MapStruct)同样需要此配置。
2025-10-26 18:11:33
1012
原创 Git 推送代码遭遇 403 Forbidden 错误?
当执行git push时遇到403 Forbidden错误,通常是由于Git服务器拒绝推送权限。常见原因包括:账户未被授予写入权限、分支保护规则限制、凭据失效或项目为只读状态。解决方法包括: 检查远程地址:确认git remote -v的URL正确; 验证认证方式:HTTPS需使用个人访问令牌(PAT),SSH需配置公钥; 申请权限:联系项目管理员提升角色至Developer; 替代方案:通过Fork仓库并提交Merge Request参与协作。
2025-10-26 18:01:39
1168
原创 记一次 Spring Boot 项目中 Redis 工具类的重构实践
在开发Spring Boot单体OA系统时,作者遇到Redis Streams功能因Spring Boot版本过低(2.1.17)无法使用的问题。分析发现升级框架会引发依赖冲突等兼容性问题。经过技术权衡,作者选择不升级框架,而是重构Redis工具类,设计了一个轻量、稳定、可维护的RedisUtils工具类。该工具类基于Spring Data Redis原生API,支持String/List/Set/Hash等核心数据结构操作,具备TTL控制、批量操作等功能,通过泛型保证类型安全,且无外部依赖。最终方案
2025-10-26 17:49:50
626
3
原创 Windows Server 2012 无需第三方软件解压 ZIP 压缩包
Windows Server 2012 原生支持 ZIP 文件解压,无需第三方工具。用户可通过右键菜单"全部提取"、双击拖拽或PowerShell命令(Expand-Archive或.NET类库)实现解压。其中图形化操作适合日常使用,命令行适用于自动化管理。注意:内置功能不支持加密ZIP、ZIP64大文件或GBK编码乱码,此类需求需借助专业工具。优势在于系统集成、操作简便且安全可靠,推荐优先使用原生方案。
2025-10-15 20:30:16
971
原创 Windows 10/11 安装 MySQL 8.0 超详细图文教程(零基础小白适用)
本文详细介绍了在Windows系统上安装和配置MySQL数据库的完整流程。首先说明了准备工作,包括确认操作系统版本、下载工具准备和安装方式选择(推荐使用在线安装包)。随后分步骤指导如何从官网下载MySQL Installer,并提供了两种安装方式的操作说明:在线安装(推荐新手)和离线安装(自定义选择组件)。最后重点讲解了MySQL服务器的关键配置步骤,包括设置root密码、创建普通用户等重要安全设置。全文针对初学者常见问题提供了清晰解决方案,帮助用户顺利完成MySQL的安装与配置。
2025-10-15 20:17:48
1454
原创 Git 用户名与邮箱配置指南
本文介绍了Git用户名和邮箱的配置方法及其重要性。主要内容包括: 配置必要性:正确设置用户名和邮箱确保提交记录可追溯,避免团队协作问题。 配置方法: 全局配置(推荐):适用于所有仓库,使用--global参数 本地配置:针对特定项目设置 查看与验证:通过git config --list或单独查看用户名/邮箱确认配置。 配置文件位置:分别存储在系统级、用户级和项目级配置文件中。 最佳实践:建议首次安装后立即配置,保持邮箱一致性,定期检查设置。 文中还提供了常见问题解决方案,如修改错误配置
2025-10-15 18:41:29
2786
原创 IntelliJ IDEA 配置 Gitee 私人令牌完整指南(2025 年最新版)
Gitee已强制要求使用私人令牌(PAT)替代明文密码进行Git操作。本文详细介绍了在IntelliJ IDEA中配置Gitee账号的两种方法:推荐使用Gitee插件+私人令牌登录,或直接修改Git远程URL嵌入令牌。文章包含创建令牌的步骤(设置有效期和权限)、插件安装指南,以及常见问题解决方案。特别提醒避免使用OAuth授权方式,并强调令牌仅显示一次需妥善保存。备选方案还包括SSH密钥认证和Git凭据存储配置,同时针对授权失败、404错误等问题提供排查建议。
2025-10-15 18:35:34
2469
2
原创 解决 Wi-Fi 驱动报错“代码 56”:VMware 安装后注册表冲突的修复方案(附 CCleaner 使用教程)
安装VMware后Wi-Fi失效并提示“代码56”错误,通常由VMware虚拟网卡注册表残留导致。推荐使用CCleaner安全清理注册表: 下载官方CCleaner免费版 扫描注册表问题 备份后修复所有问题 重启电脑即可恢复Wi-Fi 替代方案包括VMware官方清理工具或手动删除注册表项(需谨慎)。预防建议:卸载VMware前使用专用工具清理,定期维护注册表。
2025-10-13 20:46:13
1205
原创 Windows 11 笔记本 WiFi 图标突然不见了?别慌!手把手教你彻底解决
Windows 11 WiFi图标消失的完整解决方案 本文提供8步系统排查方法,解决Win11笔记本WiFi图标消失、无法连接无线网络的问题。从基础检查(飞行模式/快捷键)到核心服务修复(WLAN AutoConfig)、驱动管理(禁用/更新网卡),再到系统级修复(疑难解答/系统更新),逐步深入。重点推荐优先检查网络适配器启用状态(第二步)和重启WLAN服务(第三步),多数情况可通过前四步解决。包含驱动下载官网指引等实用信息,适合不同技术水平的用户按需操作。
2025-10-13 20:07:18
5790
原创 Spring Boot 项目瘦身实战
📌 Spring Boot项目瘦身指南:精准排除无用组件 核心问题:企业级Java项目中引入的common共享模块常导致启动慢、内存高和依赖冲突等问题。 解决方案: 物理层面:通过pom.xml的<exclusions>彻底移除无用依赖 逻辑层面:使用@ComponentScan(excludeFilters=...)实现精准排除,保留必要JAR但阻止扫描 五种排除策略: ANNOTATION:按注解排除 ASSIGNABLE_TYPE:按类型/接口排除 REGEX:按类名正则匹配排除 CUS
2025-09-14 22:20:28
1301
1
原创 初步认识 Spring Boot 自动装配
Spring Boot 的自动装配(Auto-configuration)是其“约定优于配置”哲学的核心实现,它通过条件化配置、智能推断和模块化设计,彻底改变了传统 Spring 应用的开发方式。本文将从源码层级逐行剖析自动装配的完整生命周期,提供可落地的调试与扩展方法,并附赠高清流程图+关键源码定位指南,帮助开发者真正掌握这一核心机制,做到“知其然,更知其所以然”。
2025-09-14 13:22:21
1434
1
搜狗输入法-winxp-支持手写-离线可用
2025-10-13
PDManer导出word模版
2025-03-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅