自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 收藏
  • 关注

原创 【Dify-Chatflow】简历优化助手实现+前后端分离式系统集成+Docker容器化部署)

本文介绍了一个基于Dify平台开发的简历优化智能助手系统。系统采用前后端分离架构,前端使用Vue.js,后端采用SpringBoot,通过API与私有化部署的Dify平台集成。主要实现功能包括:简历文件上传、用户身份验证、流式响应处理等。后端通过Redis缓存文件ID,前端采用SSE技术实现实时优化建议展示。系统最终通过Docker容器化部署,支持Windows访问CentOS环境下的服务。该方案展示了如何将AI能力集成到企业应用中,提供了完整的API调用、文件处理和流式响应实现方案。

2025-12-09 22:56:40 527

原创 【Dify】Apifox接口测试:文件上传并分析调用的问题+解决方式

摘要: 本文详细解析了在Dify平台通过API接口实现文件上传与解析的步骤。首先需通过POST请求上传文件获取唯一ID(upload_file_id),随后在请求体中携带该ID及用户指令(如“优化简历”)提交任务。关键参数包括:inputs(文件元信息)、query(用户指令)、response_mode(响应模式)和user(唯一标识)。流程分为文件上传、任务提交和结果返回三个阶段,最终以同步阻塞模式(blocking)获取AI处理后的文件内容。适用于简历优化等短任务场景。

2025-12-03 15:56:02 696

原创 【Dify-Chatflow】简历优化助手实现+前后端分离式系统集成+Docker容器化部署)

本文介绍了基于Dify平台创建简历优化智能助手的完整流程。首先通过私有化部署Dify,创建Chatflow应用并设计包含开始节点、条件分支、文档提取器和大模型节点的工作流,支持PDF、Word和图片格式的简历分析。重点展示了系统提示词的编写方法,包含角色设定、评估标准和输出格式等要素。测试环节验证了三种文件类型的处理效果,并展示了运行历史分析功能。文章预告了后续将实现的前后端项目集成(SpringBoot+Vue)和Linux容器化部署方案。整个项目采用Docker技术实现跨平台部署

2025-11-25 02:17:02 654

原创 【CentOS】虚拟机网卡IP地址修改步骤

本文介绍了两种在Linux系统中配置静态IP的方法。方法一使用nmcli命令:通过查看当前连接、修改IP/网关/DNS等参数并重启连接完成配置。方法二通过编辑网卡配置文件(如ifcfg-ens33),修改BOOTPROTO为static并设置IP、子网掩码、网关等参数后重启网络服务。两种方法最后都需验证配置是否生效,包括检查IP地址和测试网络连通性。第一种方法即时生效,第二种更适合习惯手动编辑配置文件的用户。两种方式均需确保网卡名与实际一致,并正确设置网关以保证网络连通。

2025-11-23 23:04:26 530

原创 【Dify】AI Agent图片生成应用的实现

本文介绍了基于Dify平台搭建智能图片生成应用的实现方法。首先阐述了智能体(Agent)的核心特性,包括多模型适配、知识库支持、工具集成等能力,以及标准开发流程。重点演示了通过Stability、CogView和阶跃星辰三种工具的图片生成实现步骤,包括API密钥获取、插件授权配置、提示词编写和接口测试。针对不同工具提供了详细的授权和调用方法,其中Stability为收费工具,CogView和阶跃星辰为免费替代方案。最终可实现用户输入文本描述,系统自动生成对应图片的功能。

2025-11-18 12:17:35 628

原创 【VMware Workstation】虚拟机网络配置流程+MobaXterm连接步骤

本文介绍了在VMware虚拟机中配置静态IP地址的方法。首先通过虚拟网络编辑器修改VMnet8网卡的IP地址(如192.168.150.1),配置完成后需重启虚拟网卡生效。接着在CentOS7系统中使用ifconfig命令确认网卡信息,最后通过MobaXterm工具输入账号密码连接虚拟机进行操作验证。整个过程实现了虚拟机静态IP的配置和远程连接。

2025-11-10 22:08:55 248

原创 【Dify】智能应用的API查询方式

本文介绍了Dify平台的API使用方法,包括基础URL获取、鉴权机制和调用示例。主要内容:1)如何通过Dify创建智能对话应用并获取API基础URL;2)使用API-Key进行鉴权,强调应将密钥存储在后端以避免泄露风险;3)API请求需在Authorization头中包含Bearer token格式的API密钥;4)提供各类API的调用参考和示例请求格式。帮助开发者安全有效地调用Dify平台服务构建对话应用。

2025-11-08 18:14:49 265

原创 【Dify】基础使用教程+简单聊天助手的实现 (详细)

本文介绍了基于Dify平台实现AI画图工具与知识库关联的私有化部署方案。主要内容包括:1)通过虚拟机启动Dify容器并登录控制台;2)详细配置大模型(包括阿里云百炼API和Ollama本地模型部署);3)在Dify中创建应用、编写提示词并进行功能测试;4)应用发布与API调用方法。特别说明本地Ollama模型需设置环境变量监听网络接口,并提供了API密钥管理和ApiFox调用示例。文章还指出部分免费大模型的使用方式及token消耗注意事项。

2025-11-07 16:59:21 1785

原创 【Java】异常详解+实例演示+知识总结

本文系统介绍了Java异常处理机制,包括异常体系结构(Throwable-Error/Exception)、核心语法(try-catch-finally/throw/throws/try-with-resources)和常见异常示例(NullPointerException、IOException等)。重点解析了Checked与Unchecked异常的区别,throw与throws的用法差异,以及finally块的执行顺序。

2025-11-06 23:45:50 853

原创 【 SLF4J + Logback】日志使用方法+技巧介绍+项目示例(SpringBoot)

本文介绍了SpringBoot项目中SLF4J+Logback日志框架的使用技巧。重点讲解了Logback的配置细节,包括日志级别设置、按天滚动压缩日志文件、过滤不同级别日志到不同文件、以及异步日志提升性能等。通过实际代码演示了接口日志记录、循环日志优化、敏感信息处理等场景,并展示了AOP切面统一记录方法调用日志的实现。配置支持热更新且保留30天历史日志,为快速定位系统问题提供了有效帮助。

2025-11-05 23:20:08 1075

原创 【Dify】详细介绍+功能说明

Dify是一款开源的大语言模型应用开发平台,提供低代码/无代码开发环境,支持多模型接入、知识库管理、智能助手构建等功能。其特色在于可视化开发界面、RAG技术、灵活部署选项(云端或私有化),适用于企业应用、教育培训、内容创作等场景。与LangChain等工具相比,Dify提供更完整的一站式解决方案,涵盖开发到运维全流程,降低技术门槛,帮助企业快速构建和部署AI应用。

2025-11-03 22:48:41 851

原创 【Dify】通过Docker-Compose的私有化部署(Linux系统)

本文详细介绍了在CentOS7系统上通过Docker和Docker Compose部署Dify平台的完整流程。首先进行环境准备,包括安装必要的依赖工具、Docker CE和Docker Compose。然后通过Git克隆Dify源码,配置环境变量并检查docker-compose文件。针对可能出现的镜像拉取问题,提供了Windows系统下载镜像并导入Linux的替代方案。最后启动docker-compose服务,完成Dify平台的部署。整个过程从系统环境配置到最终部署运行,提供了清晰的步骤说明和问题解决方案

2025-11-02 23:58:29 1931 3

原创 【Docker Desktop+wsl+Hyper-V】下载与安装(Windows系统Docker环境)

本文详细介绍了Windows系统下Docker Desktop的安装流程。首先从官网下载安装包,以管理员身份运行并完成基础安装。安装后需检查虚拟化是否开启,启动相关服务并启用Hyper-V功能。然后通过PowerShell验证hypervisorlaunchtype状态是否为Auto,必要时使用命令修改。最后安装Windows子系统WSL以支持Linux环境。整个安装过程需要多次重启电脑,确保各项功能正常开启后即可使用Docker Desktop。

2025-10-31 23:46:49 244

原创 【RabbitMQ】消息队列·详解+实操演示+功能实现(微服务架构)

本文详细介绍了使用SpringBoot集成RabbitMQ实现消息队列的完整流程。首先在Docker中搭建RabbitMQ环境并创建虚拟主机,然后构建包含6个模块的SpringBoot微服务项目:1个公共DTO模块、4种类型生产者(Direct/Fanout/Topic/Headers)和1个消费者模块。重点阐述了各种交换机的配置与使用方式,包括Direct的精确路由、Fanout的广播模式、Topic的主题匹配和Headers的消息头过滤。文章还解决了JSON序列化问题,并展示了完整的测试验证过程。

2025-10-30 23:26:15 1416 2

原创 【RabbitMQ】docker-compose编排部署RabbitMQ容器——CentOS

摘要 本文详细介绍了在CentOS7系统上使用Docker-compose部署RabbitMQ容器的方法。主要内容包括:1)创建配置文件和数据目录;2)编写docker-compose.yml文件,配置容器名称、端口映射、数据卷挂载、环境变量等;3)启动容器并验证状态;4)访问RabbitMQ管理控制台。文章还简要介绍了RabbitMQ的基本原理、核心概念以及其异步处理、系统解耦等应用场景。通过Docker-compose方式部署,实现了RabbitMQ的快速安装和配置,同时保证了数据的持久化存储。

2025-09-30 22:18:37 1364

原创 【DockerFile+Nginx+DockerCompose】前后端分离式项目部署(docker容器化方式)

本文详细介绍了使用Dockerfile+DockerCompose部署Vue+SpringBoot+MySQL项目到Linux服务器的完整流程。主要内容包括:1) 环境配置与安装;2) 前后端项目打包;3) Dockerfile和docker-compose.yml文件编写;4) Nginx配置;5) 数据库初始化;6) 服务器目录结构搭建和文件上传;7) 容器启动和访问测试。通过容器化部署,实现了前后端分离项目的生产环境配置,包括时区设置、MySQL优化、静态资源处理等关键环节,最终成功在Windows系

2025-09-30 15:50:58 1343 1

原创 【Docker + DockerCompose】安装步骤+演示

本文详细介绍了在VMware虚拟机CentOS7系统中安装Docker和Docker Compose的完整过程。首先通过MobaXterm连接虚拟机,然后分步骤完成:1)卸载旧版本Docker;2)使用腾讯云yum源安装依赖;3)配置阿里云Docker CE仓库;4)安装Docker CE并设置镜像加速;5)通过创建伪命令脚本方式安装Docker Compose。文中提供了完整的命令序列和配置方法,包括yum源配置、docker-compose脚本创建等关键步骤

2025-09-29 23:21:25 1061

原创 【LangChain4j+Redis】会话记忆功能实现

本文介绍了在Langchain4j中实现会话记忆功能的方法。首先通过MessageWindowChatMemory配置20条历史消息的缓存,但发现不同用户会话未隔离。接着通过ChatMemoryProvider和MemoryId注解实现多用户会话隔离,并采用前端生成唯一ID标识不同会话。最后引入Redis持久化存储方案,通过RedisChatMemoryStore类将会话历史以JSON格式存入Redis,实现会话记忆的持久化和跨重启保留。

2025-09-26 23:25:13 1534 1

原创 SPA 路由 fallback 机制 + 304状态码 + 示例

摘要:SPA路由fallback机制通过将未匹配静态资源的请求重定向至index.html,解决前端路由与服务器路径不匹配的问题。当用户直接访问前端路由时,服务器因找不到对应文件返回404,fallback机制确保前端框架接管路由解析,正常渲染页面。304状态码则通过缓存协商机制,在资源未修改时跳过重复传输,提升性能。前端请求若使用相对路径(如/api/chat)会默认发送至前端服务端口,可能触发SPA fallback返回HTML而非预期数据,需通过禁用缓存或完整URL解决。整个过程与后端无关,属前端服务

2025-09-25 18:44:13 1188

原创 【Vue】LangChain4j大模型对话-前端页面实现(vite+vue3+router)

本文介绍了前端可视化聊天界面的步骤。主要内容包括:1)使用Vite创建Vue3项目并配置路由;2)构建聊天页面组件ChatView.vue,包含消息显示区域和输入框;3)实现与后端API的交互,处理流式响应数据;4)通过Vue的响应式API管理聊天状态和消息滚动。关键点在于使用fetch API处理流式响应,逐步更新AI回复内容,并通过nextTick确保消息自动滚动到底部。该实现为用户提供了流畅的对话体验,支持实时展示AI生成的回复内容。

2025-09-25 01:25:08 480

原创 【同源策略】跨域问题解决方法(多种)

跨域问题是浏览器同源策略导致的安全限制,表现为协议、域名或端口不一致时请求被拦截。解决方案包括前端开发环境代理(VueCLI/Vite配置)和后端配置(Spring的@CrossOrigin注解或全局CORS)。生产环境推荐使用Nginx反向代理为主,配合后端CORS配置兜底,通过将跨域请求转为同域请求来解决问题。Nginx配置需处理静态资源托管和接口转发,确保前端请求与Nginx同域,后端通信不受浏览器限制。

2025-09-23 23:10:06 1356

原创 【LangChain4j】大模型实战-SpringBoot(阿里云百炼控制台)

【摘要】LangChain4j是专为Java/Kotlin设计的AI开发框架,简化了大语言模型(LLM)应用开发。文章详细介绍了三种实现方式:1)基础对话调用,通过OpenAiChatModel实现简单问答;2)SpringBoot整合,配置REST接口完成会话功能;3)高级功能实现,包括AiServices工具类封装、流式响应(@SystemMessage/@UserMessage注解)和配置文件管理。特别展示了如何通过注解实现角色预设和流式输出,为开发者提供从基础到进阶的完整开发指南。

2025-09-22 22:50:57 2172

原创 【文件上传管理系统】实战详解 SpringBoot + Vue.js

这是一个基于 Spring Boot + Vue.js 的完整文件上传管理系统,提供了文件的上传、管理、查看、删除等功能。Spring 容器负责创建和管理对象的生命周期,开发者只需要定义组件,不需要关心对象的创建过程。d. 文件预览(GET /api/files/view/{filename})b. 文件上传(POST /api/files/upload)c. 文件删除(DELETE /api/files/{id})@CrossOrigin // 允许所有来源的跨域请求。

2025-09-21 22:04:58 1089

原创 SpringDoc-OpenApi 现代化 API 文档生成工具介绍+使用

SpringDoc-OpenAPI是SpringBoot应用的现代化API文档生成工具,支持OpenAPI 3.0+规范,具有零配置启动、自动扫描注解和动态更新文档等特点。它提供Swagger UI集成,支持多种扩展模块(如Security、WebFlux等),并兼容SpringBoot 1.x到3.x版本。通过简单的依赖添加和配置即可生成交互式API文档,支持控制器、方法和模型级别的注解描述,还可进行分组、安全认证等高级配置。相比已停止维护的SpringFox,SpringDoc-OpenAPI性能更优且

2025-09-20 22:30:24 1493

原创 【Spring AI】Ollama大模型-智能对话实现+项目实战(Spring Boot + Vue)

摘要:本文介绍了基于Vue+SpringBoot框架,结合SpringAI和Ollama实现对话机器人的完整开发流程。主要包括:1)创建SpringBoot项目并配置Ollama依赖;2)编写配置类注册ChatClient;3)创建RESTful控制器处理用户请求;4)解决跨域问题;5)前端Vue实现交互界面,支持流式响应显示。实现了特定领域的对话功能,并详细展示了前后端代码实现及调试过程。

2025-09-18 21:22:27 1266 4

原创 MySQL 锁机制详解+示例

MySQL锁机制是实现并发控制的关键,主要包括表级锁和行级锁两大类型。表级锁(如共享读锁和独占写锁)锁定整张表,开销小但并发度低;行级锁(如共享锁和排他锁)粒度更细,并发度高但实现复杂。InnoDB引擎特有的意向锁、间隙锁、临键锁等机制有效解决了幻读问题。此外还有自增锁、元数据锁等特殊锁类型。优化建议包括:合理使用行级锁、设计索引、控制事务大小、避免死锁等。正确选择锁机制能平衡数据一致性与并发性能,其中InnoDB的行级锁是高并发场景的首选方案。

2025-09-15 23:05:41 1191 1

原创 【Docker+Nginx+Ollama】前后端分离式项目部署(传统打包方式)

本文介绍使用Ollama+Vue+SpringBoot构建的前后端分离项目在Nginx上的部署方案。详细步骤包括:1)创建服务器目录结构;2)前端Vue项目打包部署;3)后端SpringBoot项目打包;4)Nginx配置代理前后端服务;5)Docker部署Nginx容器;6)启动后端服务;7)解决Linux服务器Ollama服务部署问题;8)项目更新方法。部署过程中重点解决了跨域访问、Ollama模型服务对接等技术难点,最终实现了通过Windows系统访问Linux服务器上的完整项目系统。

2025-09-14 23:09:50 2465 1

原创 虚拟机CentOS里JDK的安装与环境配置

本文详细介绍了在Linux系统上安装JDK 17的完整步骤。首先下载OpenJDK 17安装包到/tmp目录,解压至/usr/local/java并重命名目录为jdk17。然后配置环境变量,在/etc/profile文件中添加JAVA_HOME等路径设置。最后通过java -version命令验证安装成功,并可选择清理临时文件。整个过程包括下载、解压、配置和验证等关键环节,确保Java 17正确安装并配置好开发环境。

2025-09-14 02:25:58 620

原创 【Docker-Nginx】通过Docker部署Nginx容器

摘要:本文介绍在Linux系统上使用Docker部署Nginx的详细步骤。首先确保已安装Docker并配置好网络环境,然后通过命令创建并运行Nginx容器。重点讲解了如何部署带有自定义配置的Nginx容器,包括创建本地目录、复制配置文件、挂载目录等操作。同时提供了容器管理常用命令,如查看状态、启停容器、查看日志等。最后说明修改配置后只需重启容器即可生效,并指导如何通过浏览器访问部署好的Nginx服务。

2025-09-12 22:54:09 674

原创 【Git】版本控制-Gitee

与集中式版本控制系统(如 SVN)不同,Git 无需依赖中央服务器,每个开发者的本地仓库都包含完整的代码历史,可离线工作。Gitee(码云)是国内知名的代码托管平台,类似于 GitHub,但服务器位于国内,访问速度更快,更符合国内开发者习惯。在 VS Code 中可以使用 "接受当前更改"、"接受传入更改"、"接受两者更改" 等快捷按钮。当多人修改同一文件的同一部分时,Git 无法自动合并,就会产生冲突。登录 Gitee,点击右上角 "+" 号,选择 "新建仓库"填写仓库名称,选择是否公开,点击 "创建"

2025-09-11 13:21:42 897

原创 Vue项目创建方式(多种)

本文介绍了三种创建Vue项目的方法:1)使用Vue CLI(支持Vue2/Vue3),需先安装Node.js和Vue CLI,通过可视化界面或命令行创建项目;2)使用Vite创建Vue3项目,可通过不同包管理器执行命令并选择模板;3)官方推荐的create-vue方式,按交互提示配置项目。文章还提供了查看Node、npm和Vue CLI版本的方法,以及项目创建后的基本操作步骤。

2025-09-10 21:47:09 940

原创 Spring Boot常用注解-详细解析+示例

本文系统解析了Spring Boot核心注解及其应用场景,涵盖Web开发、依赖注入、配置管理、事务控制等关键领域。主要内容包括:1)@SpringBootApplication组合注解原理及组件扫描机制;2)MVC控制器注解(@Controller、@RestController)的区别与适用场景;3)HTTP方法映射注解(@GetMapping等)的语义化使用;4)参数绑定注解(@PathVariable、@RequestBody等)的数据处理方式等

2025-09-07 23:11:36 1833

原创 【Java】抽象类和接口对比+详解

Java抽象类和接口对比:抽象类使用abstract声明,可包含抽象/具体方法,支持成员变量和构造方法,子类通过extends单继承,必须实现抽象方法;接口使用interface声明,可包含抽象/默认/静态方法(Java8+),成员变量默认为常量,类通过implements多实现。核心区别在于抽象类表示is-a"关系用于代码复用,接口表示has-a"能力定义行为规范。实际开发应优先使用接口,当需要共享代码时再考虑抽象类。

2025-09-06 22:26:01 465

原创 AI应用开发-技术架构 PAFR介绍

PAFR是一个综合性AI开发架构,包含Prompt、Agent+FunctionCalling、Fine-tuning和RAG四大核心技术。Prompt通过精心设计的提示词引导模型生成回答,适合简单任务但专业性问题处理有限;Agent通过任务拆解和函数调用处理复杂业务逻辑;Fine-tuning使基础模型适应特定领域需求;RAG结合知识检索和生成能力提供更权威的答案。四者优势互补,共同提升AI应用的智能性和精准度,但也面临数据质量、系统维护等挑战。

2025-09-05 22:53:45 699

原创 【Java 机器学习】HanLP+Weka+Java 实现 Random Forest 算法模型

原理是用WekaFilteredClassifier读取ARFF格式的数据去训练自己的模型并提供接口调用,用SpringBoot来管理依赖以及通过Instances类实现对数据的清洗操作,既借助了Weka的强大算法能力又实现了SpringBoot的优点。使用HanLP分词。的平台,可应用于数据挖掘、预测等方面,其拥有众多常用算法的实现,除了有一个十分方便的图形界面外,也有完全使用编程方式的操作。集成投票:经过决策树独立的预测后,将用多数投票(分类),或均值(回归)的方法来集成最后的结果。

2025-09-04 23:00:37 1310 1

原创 Ollama大模型 本地部署+使用教程

本文介绍了Ollama大模型的本地部署与调用方法。主要内容包括:1)详细安装步骤,从下载到模型选择与启动;2)通过HTTP接口调用本地模型的具体操作;3)8个核心调用参数详解及响应数据格式;4)常用命令汇总,涵盖模型运行、管理等功能;5)六大核心特点:本地化运行、极简部署、支持主流开源模型、跨平台兼容、轻量化设计及可扩展性。全文提供了完整的操作指南和参数说明,方便用户快速上手使用Ollama进行本地大模型部署和应用开发。

2025-09-03 23:16:57 1427

原创 数据库索引失效的原因+示例

数据库索引失效常见场景包括:索引列参与运算或使用函数破坏有序性;使用不等于或否定判断降低选择性;字符串条件不加引号触发隐式转换;模糊查询以%开头无法利用前缀索引;联合索引不满足最左前缀原则。核心规避方法是保持索引列原始值匹配、确保类型一致、遵循最左匹配原则,避免全表扫描。

2025-09-01 22:57:08 598

原创 【AI智能体】LLM记账智能体+MCP服务-实现步骤与效果展示

本文介绍了如何利用阿里云百炼平台开发智能记账应用的全流程。通过选择大模型、配置提示词、设置记忆ID等步骤创建智能体,并集成到SpringBoot+Vue架构中。该应用支持自然语言交互,能解析用户收支描述并处理账单,具有账单查询、消费分析等功能。文章详细展示了从智能体开发、API接入到前端实现的完整过程,最终实现了与微信小程序的联动记账功能,有效提升了记账效率。新用户可享受免费额度体验远程部署方案。

2025-08-31 23:17:55 2759

原创 B树与B+树的原理&区别&应用

摘要: B树与B+树是多路平衡数据结构,用于优化磁盘与内存数据管理。B树所有节点均可存储数据,查询路径不稳定但适合随机访问;B+树仅叶子节点存数据,非叶节点为索引,且叶子节点通过链表连接,显著提升范围查询和磁盘IO效率(如MySQL索引)。核心差异包括数据存储位置、查询路径、空间利用率和适用场景:B树适合内存操作(如Java红黑树),B+树专为磁盘设计(如数据库索引)。MySQL的InnoDB采用聚簇索引(主键与数据绑定)和辅助索引(需回表),依托B+树的特性实现高效查询与范围扫描。

2025-08-30 14:18:05 1606

原创 Java IO 流-详解

Java IO流是处理数据传输的核心机制,主要分为字节流(InputStream/OutputStream)和字符流(Reader/Writer)。字节流处理二进制数据,字符流专用于文本文件。核心类包括:文件流(FileInputStream/FileReader)、缓冲流(BufferedInputStream/BufferedReader)、数据流(DataInputStream/DataOutputStream)和对象流(ObjectInputStream/ObjectOutputStream)。

2025-08-29 23:00:37 974

空空如也

空空如也

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

TA关注的人

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