- 博客(61)
- 收藏
- 关注
原创 【Java集成PgVectorStore】向量数据库进行相似度搜索
本文系统介绍了如何通过Spring AI在Java应用中集成PgVectorStore实现向量搜索功能。pgvector作为PostgreSQL的向量扩展,提供高效的向量存储和检索能力,支持欧氏距离、余弦相似度等常见度量方式。通过OpenAI接口和向量检索结合,实现了基于知识的智能问答系统。PgVectorStore的PostgreSQL生态复用降低了AI应用门槛,为开发者提供了一种高效、低成本的向量数据库解决方案。
2025-11-27 15:12:44
1414
1
原创 【Kafka深度解析】高频面试题大全(持续收录中...)
Kafka核心知识点摘要 Kafka是一个高吞吐量、分布式的发布/订阅消息系统,核心概念包括broker、topic、partition和offset。其设计特点包括:数据文件分段存储(segment)实现顺序读写和高效查找;partition均衡分布实现负载均衡;支持批量发送和压缩(GZIP/Snappy)提升吞吐量;采用pull模式消费消息。与ActiveMQ、RabbitMQ等相比,Kafka在吞吐量方面表现突出,但功能相对单一。
2025-11-27 15:11:37
1050
原创 【RabbitMQ深度解析】高频面试题大全(持续收录中...)
RabbitMQ是一种基于AMQP协议的开源消息队列系统,主要用于分布式系统中的异步通信、服务解耦和流量削峰。它通过生产者、消费者、交换机、队列等核心组件实现消息路由,支持多种广播类型(Fanout、Topic、Direct、Headers)。为确保可靠性,RabbitMQ提供消息持久化、确认机制、死信队列和集群部署(镜像集群模式)等功能。
2025-11-26 15:12:55
888
原创 【MyBatis深度解析】高频面试题大全(持续收录中...)
MyBatis是一个半自动ORM框架,通过简化JDBC操作提升开发效率。它支持自定义SQL、动态SQL和结果映射,提供一级/二级缓存机制。相比Hibernate更灵活但移植性较差。核心特性包括:参数处理(#{}防注入/${}字符串拼接)、延迟加载、执行器类型(Simple/Reuse/Batch)、枚举映射和分页实现。通过XML或注解配置SQL,支持一对一/一对多关联查询。内置连接池(Pooled/Unpooled)和类型别名机制简化配置。分页通过拦截器修改SQL实现,插件机制可扩展功能。
2025-11-26 15:12:27
961
原创 【Java项目集成JGit】告别命令行,用代码操控Git仓库
本文介绍了JGit在Java项目中的应用,JGit是Eclipse团队开发的纯Java实现的Git版本控制库,提供了完整的Git功能。文章详细讲解了JGit的依赖配置、核心API使用,包括仓库初始化、克隆、提交、分支管理等操作,并提供了完整的代码示例。特别展示了如何结合AI技术实现代码差异分析,通过获取代码变更并调用大模型进行专业评审。文章还探讨了性能优化策略和JGit的未来发展方向,为开发者在Java项目中集成Git功能提供了全面的实践指南。
2025-11-25 10:47:07
1009
原创 【Java动态线程池】Redis监控+动态调参
本文介绍了一个基于Spring Boot的动态线程池组件实现方案。该组件通过包装原生ThreadPoolExecutor,实现了线程池参数的动态调整和实时监控功能。系统采用三部分架构:SDK客户端负责采集数据并与Redis注册中心通信,管理端提供Web界面进行配置修改,Redis作为消息中间件实现配置变更的发布订阅机制。
2025-11-25 10:46:17
920
原创 【SDK开发实践】从Java编码到阿里云制品仓库部署
本文详细介绍了如何开发Spring Boot Starter SDK并将其发布到阿里云仓库。主要内容包括:SDK开发准备:明确目标功能、准备开发环境,创建Spring Boot项目框架并调整结构、核心实现步骤、发布流程:规范版本管理,配置阿里云仓库,完成本地打包测试和制品仓库发布、使用说明:演示如何在其他项目中引入并使用该SDK。文章提供了完整的代码示例和配置说明,帮助开发者掌握SDK从开发到发布的完整流程,提升代码复用性和团队协作效率。
2025-11-24 09:57:51
1204
原创 【Java开发SDK】从概念到实现,本地打包使用详解
本文详细介绍了SpringBoot Starter SDK的开发流程,从概念到实践完整呈现。主要内容包括:SDK开发准备、核心实现步骤、本地打包安装、项目测试验证。通过遵循语义化版本控制,开发者可以创建简洁易用、自动配置完善的SDK组件,提升代码复用性和团队协作效率。文章提供了从零开始构建SDK的完整指南,涵盖技术实现和用户体验考量,适合希望封装团队工具或开放服务的开发者参考。
2025-11-24 09:57:14
1400
原创 【任务调度组件】TaskScheduler实现动态任务调度
本文介绍了一个基于Spring的动态任务调度框架,通过解耦任务定义与执行逻辑,实现了任务的动态加载、执行监控和生命周期管理。框架采用分层架构设计,包含配置层、服务层、数据层和执行层,支持多种任务类型和运行时任务管理。核心组件包括任务配置属性类、任务调度描述类、任务数据提供接口和任务调度服务实现类。通过SPI机制实现自动配置,用户可灵活调整线程池大小、任务刷新间隔等参数。测试结果表明,该框架能有效支持多数据源任务配置,实现任务的动态增删改查和异常处理,解决了传统定时任务硬编码、无法动态调整等问题。
2025-11-23 12:47:28
981
原创 【设计模式】Java责任链构建灵活可扩展的处理流程
责任链模式是一种行为型设计模式,通过将请求处理职责分散到多个对象中,实现发送者与接收者的解耦。该模式包含抽象处理者、具体处理者和客户端三个核心角色,支持纯/不纯责任链、线性/树形/环形等多种实现方式。文章详细介绍了单实例链和多实例链的实现方案,通过双向链表实现动态配置的业务处理链。测试结果表明,责任链模式能有效提高系统灵活性和可扩展性,适用于需要多对象处理请求的场景。
2025-11-23 12:46:51
805
原创 【设计模式】Java规则树重构复杂业务逻辑
本文介绍了规则树模式(RuleTreePattern)在解决复杂业务规则处理中的应用。该模式通过将业务规则抽象为树形结构,实现了业务规则与核心流程的解耦。文章详细阐述了规则树的核心概念、设计原理和代码实现,包括策略处理接口、策略映射器、策略路由抽象类等核心组件。通过电商平台优惠券计算等案例,展示了规则树模式如何解决传统if-else嵌套带来的代码臃肿、维护困难等问题。测试结果表明,该模式能有效执行复杂业务逻辑,并通过多线程异步加载提高性能。规则树模式具有解耦与复用、灵活配置、可视化调试等优势.
2025-10-19 20:40:34
1211
原创 【动态限流组件】Java AOP+注解实现动态限流
本文介绍了基于Spring AOP的动态限流技术实现方案。文章首先阐述了限流技术的必要性及常见算法对比,重点分析了AOP在限流中的优势。随后详细讲解了系统架构设计,包括核心组件和动态配置中心。代码实现部分展示了完整的Maven项目配置、Spring自动装配机制以及基于Guava的限流切面类实现。测试部分验证了动态限流效果,最后提供了生产环境的最佳实践建议。该方案通过注解方式实现非侵入式限流,支持分布式环境,具有灵活配置和可维护性强的特点,适用于高并发系统的流量保护场景。
2025-10-18 16:48:17
1179
原创 【动态配置中心】Java+Redis构建动态配置中心
本文介绍了一种基于Redis和Java实现的轻量级动态配置中心方案,适用于微服务架构下的配置热更新需求。文章首先分析了动态配置中心的核心价值,包括无需重启服务即可调整参数、支持灰度发布和流量切换等场景。然后详细阐述了基于Redis的方案设计,包括整体架构、核心实现机制(如注解管理和反射注入)以及完整代码实现。该方案通过复用Redis基础设施,实现了配置存储、变更通知和动态更新功能。
2025-10-18 16:47:47
987
原创 【Java开发MCP】SSE模式开发并集成MCP
摘要:本文介绍了如何将MCP服务从StdIO模式转换为SSE模式的过程。MCP协议支持AI模型与外部工具的交互,提供StdIO(进程通信)和SSE(HTTP长轮询)两种传输方式。文章详细说明了微信模板和CSDN发帖两个MCP服务的配置修改要点,包括调整pom.xml依赖、修改application.yml配置等。通过自定义MCP工具回调提供者解决了服务重复注入问题,最终成功实现SSE模式集成,使服务能在分布式环境和多客户端场景下运行。测试验证了SSE模式的有效性,为后续服务器部署奠定了基础。
2025-10-17 20:19:11
1356
原创 【Java开发MCP】CSDN发帖MCP开发与使用
本文介绍了基于MCP协议实现CSDN自动发帖的Java开发方案。通过MCP标准化接口,AI模型可直接操作CSDN平台API。文章详细讲解了环境配置、API接口分析、核心代码实现(包括请求/响应类、Markdown转换工具、Retrofit客户端等)以及集成测试方法。该方案实现了AI内容自动发布功能,包含文章创建、Markdown转HTML、API调用等完整流程,为自动化内容创作提供了高效解决方案。
2025-10-17 20:18:02
1080
原创 【Java开发MCP】微信公众号模板消息MCP开发与使用
本文介绍了基于SpringAI MCP协议实现微信公众号模板消息推送的开发方案。文章首先讲解了模板消息的基础概念、核心要素和接口限制,然后详细阐述了开发环境搭建和配置过程,包括内网穿透、公众号平台配置等关键环节。核心内容围绕如何通过Java实现模板消息功能。文章还提供了完整的测试用例,并展示了如何将功能集成到SpringAI中作为标准化工具使用。该方案通过MCP协议将微信模板消息功能封装为可复用的AI工具,有效提升了消息推送的智能化和开发效率,适用于需要与微信公众号深度集成的企业服务场景。
2025-10-16 22:10:52
973
原创 【Java与MCP深度集成】集成使用MCP与开发查询操作系统信息MCP示例
本文介绍了在AI大模型时代,如何通过ModelContextProtocol(MCP)协议实现Java与AI模型的高效集成。MCP协议解决了模型与外部系统交互的三大痛点:碎片化集成、安全风险和上下文限制。文章详细讲解了MCP的核心架构、Java生态集成方案,并提供了文件操作MCP和自实现查询操作系统信息MCP的具体实现方法。通过标准化协议和开源工具,开发者能够快速构建安全、可扩展的AI应用,提升开发效率。MCP协议为Java开发者提供了类似USB-C的通用接口,大幅降低了AI应用开发门槛。
2025-10-16 22:10:09
1711
原创 【DockerFile】SpringBoot应用容器化部署实战指南
本文系统介绍了SpringBoot应用容器化部署的全流程。主要内容包括:Dockerfile编写详解,涵盖基础镜像选择、时区配置、应用部署等生产级实践;Docker Compose多容器编排方案,实现SpringBoot+MySQL+Nginx的协同部署;镜像仓库管理方法;常见问题解决方案,如容器时间同步、数据库连接等。文章通过具体示例演示了容器化部署的完整工作流,从Dockerfile编写、镜像构建到Compose编排部署,帮助开发者快速掌握现代化应用部署方法,解决传统部署中的环境不一致等问题。
2025-09-20 09:53:12
1172
1
原创 【GitHub Actions】终极指南:从入门到自动化大神
本文是GitHub Actions的完整指南,涵盖从基础概念到企业级实战应用。主要内容包括:1) GitHub Actions核心架构解析,包括Runner、Action和工作流执行流程;关键概念详解,如工作流配置、事件触发机制、任务策略和步骤编排;实战案例演示,包括多环境CI/CD流水线构建和邮件通知日志上传的实现方案。帮助开发者掌握GitHub Actions的YAML语法、矩阵构建、自定义Action开发等高级功能,实现高效可靠的自动化工作流。
2025-09-20 09:52:38
2186
原创 【miniomc】Docker安装miniomc突破7天限制
《突破MinIO预签名URL 7天有效期限制的安全方案》摘要:本文针对MinIO对象存储中预签名URL默认7天有效期限制的问题,深入解析了两种有效期机制(预签名URL有效期和客户端会话有效期),并提供了安全可靠的解决方案。通过修改服务端配置可延长预签名URL至1年有效期,同时建议创建专用用户解决客户端会话过期问题。文中还介绍了匿名访问方案的安全隐患,强调使用UUID命名文件的重要性。所有方案均给出详细命令示例,兼顾功能实现与安全性。
2025-09-18 12:30:23
1510
2
原创 【Maven依赖】依赖无法导入或找到的一些解决方案
Maven作为Java项目的主流构建工具,其依赖管理机制极大简化了项目开发流程,但依赖无法导入或找不到的问题却频繁困扰开发者。本文将系统剖析Maven依赖问题的根源,从依赖解析机制入手,详细阐述本地仓库与远程仓库的交互流程,深入解读依赖坐标各要素的作用。针对常见问题如依赖下载失败,分析网络连接异常、镜像配置错误等具体原因,提供代理设置、仓库切换等解决方案。最后通过典型疑难案例的解析,帮助开发者建立系统的问题排查思路,提升依赖管理能力。
2025-09-18 12:29:46
1771
原创 【定时任务】从原生Timer到Spring Scheduled
从Java原生的Timer类到现代的Spring Scheduled框架,定时任务技术经历了显著的演进。Timer类的主要问题在于单线程设计,一个任务的延迟或异常会影响其他任务的执行。ScheduledExecutorService通过线程池机制解决了Timer的单线程瓶颈。Spring框架提供的@Scheduled注解极大简化了定时任务的开发。在微服务架构下,Spring Cloud结合Quartz或XXL-JOB等分布式调度框架可以解决跨节点协调、任务分片、故障转移问题。满足高可用和高并发的业务需求。
2025-09-17 12:28:59
693
原创 《微信开放平台与Java:微信公众号扫码登录、发送模板消息》
本文介绍了基于Java和Spring Boot实现微信公众号扫码登录及模板消息发送功能的完整方案。文章首先对比了不同类型公众号的权限差异,建议使用微信测试号进行开发学习。详细讲解了服务器配置、内网穿透、接口验证等前期准备工作,并提供了项目依赖配置和工具类实现。核心功能包括:1)通过微信API生成带场景值的临时二维码;2)使用Guava Cache缓存access_token和用户openid;3)扫码事件触发后发送模板消息通知。技术实现上采用Retrofit调用微信API,XStream处理XML消息。
2025-09-17 12:27:35
1186
原创 《Java接入支付宝沙箱支付全流程详解》
本文详细介绍了Java集成支付宝沙箱支付的完整流程。首先讲解了环境准备步骤,包括注册开放平台账号、创建沙箱应用、生成密钥和内网穿透配置。然后重点阐述了Java集成过程,包括支付宝SDK依赖配置、核心实体类设计、支付配置类实现以及服务接口开发。文章提供了完整的支付业务流程代码,涵盖创建订单、支付处理、回调验证等关键环节,并强调了安全签名验证的重要性。最后展示了支付测试效果,总结了沙箱环境测试的优势和注意事项。该方案为开发者提供了完整的支付宝沙箱支付集成参考,便于进行安全测试和功能验证。
2025-09-16 21:47:23
1046
原创 【GitHub小娱乐】GitHub个人主页ProFile美化
如何快速美化GitHub个人主页?只需创建一个与用户名同名的公开仓库,在README.md中添加Markdown代码即可。本文介绍了多种开源工具实现炫酷效果:顶部/底部动态波浪区(capsule-render)、GitHub统计卡片(github-readme-stats)、3D贡献图(github-profile-3d-contrib)、打字特效(readme-typing-svg)等。通过组合这些工具,可以轻松展示技术栈、项目、编程语言分布和开发活跃度。助你快速打造个性化主页。
2025-08-09 13:01:31
9839
原创 《微信开放平台与Java:微信公众号实现验证码登录》
本文详细介绍了基于Java技术栈实现微信公众号验证码登录的全流程解决方案。首先阐述了企业公众号需要微信认证,并推荐使用微信公众号测试平台进行开发学习。接着讲解了Natapp内网穿透的配置方法,以及SpringBoot服务端与微信平台对接的验证流程,包括SHA1签名算法实现和消息XML解析。通过工厂模式设计实现了关注事件和文本消息处理,当用户发送"验证码"关键词时自动生成6位随机验证码回复。文章提供了完整的代码实现,包括控制器、消息处理器、工厂类等核心组件,并演示了实际运行效果。
2025-08-09 13:00:34
1292
原创 【DDD架构详解】5大核心原则解决复杂业务系统设计难题
领域驱动设计(DDD)是一种应对复杂业务系统的架构方法。其核心价值在于通过统一语言、充血模型和限界上下文,将业务逻辑显性化并实现系统解耦。DDD包含战略设计(领域划分)和战术设计(模型实现)两个层面,通过实体、值对象、聚合等概念构建领域模型,利用仓储、适配器等技术解耦基础设施。相比传统MVC架构,DDD能有效解决业务逻辑分散、技术耦合等问题,特别适用于需要长期演进的复杂业务系统。分层架构设计(接口层、应用层、领域层、基础设施层)和标准化的代码结构是实施DDD的关键。
2025-08-08 12:43:16
858
原创 【MVC架构深度解析】模型-视图-控制器实现业务与展示的解耦
MVC架构解析与现代实践 MVC架构作为软件工程发展的重要产物,通过模型(Model)、视图(View)、控制器(Controller)的职责分离,实现了业务逻辑与界面展示的解耦。本文系统性地探讨了MVC的核心组件:模型负责数据与业务规则,视图专注界面呈现,控制器处理请求调度。文章详细分析了MVC的分层实现、现代实践中的前后端分离和微服务化改造,并提供了最佳实践与常见问题解决方案。同时对比了MVC与DDD的架构差异和应用场景,指出MVC在CRUD系统和快速开发中的优势。随着技术演进,MVC架构持续焕发活力,
2025-08-08 12:42:56
927
原创 【MCP详解】AI界的“万能插头”如何打通工具与数据壁垒
MCP协议:AI模型与工具链的标准化桥梁 MCP(Model Context Protocol)协议是连接AI模型与外部工具链的标准化通信框架,旨在解决数据孤岛、开发成本高和生态碎片化问题。其核心架构分为三层:客户端/服务器层实现协议转换,会话层管理通信状态,传输层提供多种数据通道选择。协议支持动态工具调用、资源管理和对话状态同步,显著提升开发效率。
2025-08-07 09:55:55
753
原创 【LangChain4j 实战】AI志愿填报顾问(RAG、Function Calling)
本文详细介绍了一个基于Java生态大语言模型框架LangChain4j开发的AI志愿填报顾问系统。系统采用SpringBoot3.x+JDK17技术栈,实现了多轮对话、流式响应、RAG检索增强等核心功能。后端通过Redis管理对话记忆,支持PDF知识库的向量化检索;前端采用Vue实现交互界面,具备打字机效果、暗黑模式等优化。文章详细解析了系统架构设计、关键代码实现和前后端交互逻辑,为开发者提供了从零构建智能对话系统的完整参考方案。
2025-08-07 09:53:59
1416
2
原创 【Spring AI快速上手 (六)】MCP工具调用新范式
MCP(Model Context Protocol)是由Anthropic推动的开放标准,为大型语言模型提供标准化接口,实现与外部数据源的安全高效交互。文章详细介绍了MCP的核心价值、架构组件(包括客户端-服务器模型和五大角色)、三种通信模式(Stdio/SSE/StreamableHTTP)及其适用场景,并重点讲解了SpringAI与MCP的深度集成方案。通过实战案例展示了Stdio模式下的本地工具调用和SSE模式的远程服务通信实现。
2025-08-06 10:52:18
1380
原创 【Spring AI快速上手 (五)】Agent复杂任务智能体初探
本文介绍了基于SpringAI框架的四种智能体工作模式:评估优化器模式通过生成-评估-改进循环优化代码质量;编排工作者模式将复杂任务分解为专业子任务并行处理;链式工作流模式按标准流程顺序执行项目开发;并行化模式利用线程池实现多任务并行处理与结果聚合。每种模式都提供了详细的Java实现代码,包括依赖配置、提示词模板和核心处理逻辑,展示了如何利用SpringAI在Java生态中构建智能应用。这些模式可帮助开发者根据不同场景需求选择合适的人工智能解决方案。
2025-08-06 10:51:35
995
原创 【Spring AI快速上手 (四)】RAG解析文档构建知识库
摘要:本文介绍了基于SpringAI的RAG(检索增强生成)技术实现,展示了从文档处理到智能问答的完整解决方案。系统集成阿里云DashScope大模型和本地Ollama模型,支持Markdown/PDF文档解析和语义搜索。重点演示了中文优化分割器、元数据增强、向量存储等核心功能,以及基础/高级RAG流程和效果评估方法。该方案针对中文场景优化,支持本地和云端AI服务的灵活组合,为企业级知识库应用提供了参考实现。
2025-08-05 11:01:43
1571
1
原创 【Spring AI快速上手 (三)】Tool实现业务系统对接
本文介绍了基于SpringAI框架在Java生态中开发智能应用的实践方法,通过@Tool注解和ToolDefinition可以灵活定义AI可调用的工具方法,同时利用@PreAuthorize实现方法级权限控制。该方案为Java开发者提供了完整的AI功能集成参考。
2025-08-05 11:01:04
1563
原创 【Spring AI快速上手 (二)】Advisor实现对话上下文管理
本文介绍了SpringAI框架在Java生态中的智能应用开发能力,重点讲解了对话上下文管理功能的实现方案。通过SpringAI的ChatMemory接口和MessageWindowChatMemory实现,开发者可以轻松管理多轮对话历史。文章提供了两种持久化方案:基于JDBC的MySQL存储适合长期保存对话记录,而Redis方案则提供高性能内存存储。示例代码演示了如何配置数据源、集成大模型(如阿里云百炼、DeepSeek)以及实现自定义Advisor(如重读顾问和安全防护顾问)。特别强调了Java 17+的
2025-08-04 23:23:15
1085
原创 【Spring AI快速上手 (一)】ChatModel与ChatCilent构建对话
本文介绍了SpringAI框架接入大语言模型的技术实现方案,展示了基础对话功能的实现代码,涵盖同步调用、流式响应等多种交互方式;最后重点讲解了提示词工程实践,包括系统角色预设、参数化模板和外部文件加载等高级用法。文章通过完整代码示例,演示了从基础对话到多模态处理的全流程开发,为Java开发者提供了快速集成AI能力的标准化方案。
2025-08-04 23:22:54
1368
原创 【LangChain4j 实战】LangChain4j在Java生态实现聊天对话、RAG、Agent
这篇文章详细介绍了如何利用LangChain4j框架实现多种AI应用场景。主要内容包括:原生Java集成LangChain4j,支持OpenAI、通义千问和本地Ollama模型;实现基础对话、多轮对话和文生图功能;RAG知识库系统构建,涵盖文档加载、分割、向量化存储和检索增强生成;多模型协同处理任务,通过DeepSeek模型识别意图并路由到不同业务处理器;Spring Boot集成方案,提供普通/流式聊天接口,支持对话记忆和多用户隔离。文章通过完整代码示例展示了从基础对话到复杂业务场景的全流程实现。
2025-07-30 16:38:17
1628
原创 【LangChain4j 详解】Java生态大语言模型框架设计哲学与架构原理
LangChain4j是专为Java开发者设计的大语言模型集成框架,旨在解决Java生态中AI工具链缺失问题。相比SpringAI,LangChain4j更注重功能丰富性和跨框架兼容性,特别适合构建复杂AI交互流程。框架提供完整的RAG实现,支持20+文档格式处理和10+嵌入模型集成,并通过注解驱动开发简化工具调用功能。未来将向多模态交互和标准化协议方向发展,持续强化其在Java生态中的AI集成能力。
2025-07-30 16:37:27
1512
原创 【Spring AI实战】实现仿DeepSeek页面对话机器人(支持多模态上传)
本文详细介绍了基于SpringAI框架的智能对话系统(支持多模态上传)实现方案。通过自定义AlibabaOpenAiChatModel适配阿里云通义千问模型,特别解决了当前版本对音频/视频模态的兼容性问题。
2025-07-25 21:03:55
1489
原创 【Spring AI详解】开启Java生态的智能应用开发新时代(附不同功能的Spring AI实战项目)
本文系统介绍了SpringAI框架及其在企业级AI应用开发中的价值。作为Spring生态的AI集成方案,SpringAI通过标准化接口、智能提示管理和工具调用体系三大核心功能,支持多模型协同和本地化部署。文章详细解析了AiClient、PromptTemplate等核心组件,并展示了智能客服、内容生成等7大典型场景应用。最后通过对话机器人、ChatPDF等实战示例,是企业智能化转型的理想选择框架。
2025-07-25 16:33:19
3084
空空如也
代码误按shelve silently
2024-07-14
我的pom文件的依赖导不进去了,求帮
2024-04-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅