自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 基于OpenCV的轻量级C++ UI库cvui详解与实战

cvui是一个轻量级的C++ GUI库,专为OpenCV设计,允许开发者在cv::Mat图像上直接构建交互式用户界面。其核心原理基于“绘图即状态”模型,通过维护内部UI状态机与OpenCV绘图上下文的同步,实现按钮、滑块等控件的渲染与交互检测。不同于传统GUI框架,cvui无须额外窗口系统依赖,利用OpenCV的imshow即可完成界面更新,适合嵌入式视觉应用与快速原型开发。虽然默认样式简洁明了,但有时需要个性化外观。cvui允许通过接口修改全局主题,或在begin。

2025-09-27 16:44:23 174

原创 基于MATLAB的高效GRIB1气象数据阅读器开发实战

产品定义模板(PDT,Section 4)和数据表示模板(DRT,Section 5)使用编号标识结构布局。合法范围由WMO Code Table 4.0规定(0–65534),私有扩展为65535。{-1, 0, NULL} // 终止标记解析时进行查表匹配:= NULL;// 未定义模板对于不支持的模板,采用降级策略:跳过数据解码,仅保留元数据头部信息供用户判断。

2025-09-27 15:40:19 89

原创 Android虚拟按键助手RelaxFinger实战项目——基于辅助功能服务开发

在Java或Kotlin中定义一个新的服务类是整个流程的起点。以Java为例,我们创建名为的类:@Override@Override@Override代码逻辑逐行分析::表明该类继承自系统提供的无障碍服务基类,获得事件分发、手势注入等核心能力。:此方法是Binder机制的一部分,用于建立客户端与服务之间的通信通道。虽然无障碍服务通常由系统直接调用而非外部组件绑定,但该方法仍需保留并调用父类实现。返回值为IBinder接口实例,系统通过它获取服务引用。

2025-09-27 14:19:23 134

原创 Android录音动效自定义视图项目实战:RecordView开发全解析

Android中的自定义View是实现高度定制化UI组件的核心技术,尤其在录音动效这类需要动态视觉反馈的场景中至关重要。本章将深入剖析自定义View的三大核心方法——onMeasureonLayout和onDraw的工作机制,解析View测量流程与绘制层级的关系,揭示Canvas绘图系统的底层逻辑。通过重写方法,结合Paint与Path等绘图工具类,可精准控制波形路径的生成与渲染效果。@Override// 基于实时振幅数组绘制条形波形i++) {同时,结合。

2025-09-27 11:49:10 204

原创 基于单片机的串口通信与继电器(LED)控制系统设计实战

使用特定字符作为帧头与帧尾是一种轻量级但高度实用的协议设计方案。典型示例如下:$RELAY=ON#$TEMP?其中:表示一个新数据帧的开始;标志该帧的结束;- 中间部分为有效载荷(payload),即具体命令内容。这种设计使得接收方能够快速定位报文起止位置,避免对中间数据进行盲目处理。更重要的是,它为后续的状态机解析提供了清晰的触发条件。选择和的原因在于它们在ASCII表中属于非数字、非字母符号,且在常规文本通信中出现频率较低,降低了被误判为普通字符的概率。

2025-09-27 11:25:40 178

原创 Android-CustomSkinChange:强大且易用的Android动态换肤框架实战解析

为了实现主题的可管理性与用户体验一致性,必须为每个主题定义明确的元信息,并建立版本控制系统。在现代Android应用开发中,个性化体验已成为用户留存和产品差异化竞争的关键因素之一。随着换肤功能从基础控件(如TextViewButton)向复杂自定义组件的深入演进,标准换肤框架往往无法覆盖所有UI元素的行为需求。尤其在面对大量业务定制化的CustomView或组合式ViewGroup时,若缺乏合理的扩展机制,将导致换肤逻辑断裂、界面风格不一致等问题。

2025-09-27 11:23:49 226

原创 基于Kotlin的商用级Android电商应用开发实战项目

在 Kotlin 中,所有引用类型默认为非空。例如:上述变量不允许赋值为null,若尝试执行,编译器将直接报错。若需要支持null值,则必须显式添加?后缀:= null此时该变量可以安全地持有null值。这种显式标注方式使得代码意图更加清晰:调用者在使用时会意识到它可能为空,进而采取相应防护措施。为了进一步说明这一机制的价值,考虑一个典型的商品实体类定义:val name: String, // 必填字段val price: Double, // 必填字段。

2025-09-27 09:59:47 211

原创 浙江大学自动控制原理考研真题及核心知识点精析

htmltable {th, td {th {pre {简介:《浙江大学自动控制原理考研真题.zip》收录了2001年至2011年历年考研真题,是自动化、电子工程等专业考生备考的重要资料。本文围绕该真题集深入解析自动控制原理的核心知识点,涵盖系统建模、稳定性分析、控制器设计、根轨迹与频率响应法等内容,并涉及现代控制理论中的最优控制、自适应控制及离散系统分析。

2025-09-27 09:34:20 125

原创 RTX4090支持的视觉语言大模型优化交通流量预测生成技巧

本文探讨基于RTX4090的视觉语言大模型在交通流量预测中的应用,涵盖多模态融合、时空注意力机制、联合损失函数设计及系统工程化落地,提升预测精度与可解释性。

2025-09-26 09:38:06 463

原创 RTX4090显卡玩《绝地求生》帧率实测

本文深入评测RTX 4090在《绝地求生》中的性能表现,涵盖硬件架构、帧率测试、DLSS 3技术应用及超频优化,分析其在不同分辨率与画质下的帧率稳定性与系统协同效率。

2025-09-24 14:28:32 640

原创 DeepSeek图像生成在电商营销中的最佳实践

本文深入探讨DeepSeek图像生成技术在电商场景的应用,涵盖生成原理、多模态融合、质量控制与规模化落地路径,提出构建企业级AI视觉知识库与可持续治理体系,推动电商视觉内容生产智能化升级。

2025-09-24 12:14:10 891

原创 C#图形化窗体界面设计与实现完整实例

除了图像替换,还可通过Paint事件实现平滑的颜色过渡动画。以下示例演示如何在Panel上绘制渐变背景并在悬停时增强边框亮度:// 触发重绘逐行解释:isHovered标志位跟踪悬停状态。控制边框粗细,悬停时加粗。强制调用Paint事件,触发视觉更新。创建垂直渐变底色,提升质感。该方法适用于需要高度定制外观的控件,如卡片式布局、仪表盘元素等。

2025-09-19 16:49:33 408

原创 基于Expectimax算法的2048游戏AI设计与实现

完整的 Expectimax 实现依赖两个互递归函数:初始调用为,返回各动作的期望得分,最终选择最高分对应的移动。

2025-09-19 16:43:41 690

原创 安卓平台砸蛋小游戏开发实战项目

为确保状态语义明确并支持类型安全检查,推荐使用 Java 枚举类enum来定义所有可能的游戏状态:INITIALIZING, // 初始化:加载资源、准备UIREADY, // 就绪:等待用户点击开始PLAYING, // 进行中:允许砸蛋交互PAUSED, // 暂停:临时停止游戏进程GAME_OVER // 结束:展示结果并锁定输入每个状态代表一种独立的行为模式。例如,在PLAYING状态下允许处理触摸事件;而在PAUSED或GAME_OVER。

2025-09-19 15:16:52 873

原创 基于MATLAB的火焰烟雾检测系统设计与实现

htmltable {th, td {th {pre {简介:本项目“Matlab-Flame-detection”是一款基于MATLAB平台开发的智能火焰烟雾检测系统,结合图像处理与计算机视觉技术,实现对环境中火源和烟雾的实时监测。系统通过摄像头采集视频流,进行图像预处理、特征提取,并利用机器学习模型(如SVM、神经网络)完成火焰与烟雾的识别与分类,最终触发报警机制。

2025-09-19 13:38:02 835

原创 高效实用的EXE软件加密工具实战应用

可执行文件(EXE)基于Windows平台的PE(Portable Executable)格式,包含丰富的元数据信息,如文件头、节表、导入导出表等。这些结构虽为系统加载程序提供便利,但也成为逆向工程的突破口。攻击者可通过工具(如IDA Pro、x64dbg)轻易解析代码段(.text)、提取敏感字符串或篡改逻辑流程。尤其在缺乏保护机制时,软件极易遭受盗版复制、序列号破解甚至恶意植入后门。// 示例:简易PE头读取(使用Windows API)

2025-09-19 13:13:38 701

原创 苏宁购物车iOS源码实战项目(MIT开源)

的核心职责是封装购物车的业务逻辑,提供可观察的状态输出,并暴露用户交互的命令接口。它不应持有任何UIKit引用,确保可在Swift Playground或测试环境中独立运行。参数说明与设计意图解析:items: 返回经过视图适配的数组,屏蔽原始模型细节;totalPrice: 已格式化的字符串,避免View端重复格式化逻辑;: 提供统一的全选状态判断,便于绑定至按钮状态;isEmpty: 支持空状态视图切换;

2025-09-19 11:15:01 999

原创 基于VC++的二维图形变换程序设计与实现(计算机图形学实战)

在计算机图形学中,二维图形变换是构建可视化系统的基础技术之一。本章将深入阐述二维几何变换的数学原理与核心思想,涵盖线性代数中的向量空间、齐次坐标表示以及仿射变换的基本框架。重点解析平移、旋转、缩放、对称等基本变换的本质——它们均属于坐标系下的线性或仿射映射操作,并通过矩阵乘法统一表达。// 示例:齐次坐标下2D点的表示double w;// 齐次坐标分量,通常初始化为1使用3×3变换矩阵可将所有基本变换统一为矩阵乘法运算,便于组合与编程实现。例如,任意仿射变换可表示为:x’ \

2025-09-19 11:07:32 362

原创 Qt Creator中垂直与水平Spacer控件应用实战项目

在现代GUI开发中,界面的自适应能力直接决定用户体验的优劣。Qt Creator通过其集成的布局管理系统,为开发者提供了一套高效、灵活的界面排布解决方案。该系统核心由QLayout派生类构成,包括(水平)、(垂直)和(网格),它们能够自动管理子控件的位置与尺寸,响应窗口缩放。// 示例:创建一个垂直布局并添加控件布局管理器通过动态计算空间分配,实现“弹性布局”,与传统的固定坐标定位形成本质区别。其中,作为不可见的占位元素,利用SizePolicy。

2025-09-19 10:40:04 733

原创 三菱PLC编程软件GX Developer安装与实战指南

可编程逻辑控制器(PLC)作为工业自动化控制的核心设备,广泛应用于机械制造、电力系统、交通运输等领域。其中,三菱电机推出的FX、Q、A系列PLC因其高稳定性、强大功能和良好的扩展性,在国内工控领域占据重要地位。而GX Developer作为三菱官方推出的专业级PLC编程软件,是实现梯形图设计、程序调试、在线监控及硬件配置的一体化开发平台。点击【下一步】后进入安装类型选择界面,提供两种模式:典型安装(Typical)- 包含基本编辑器、编译器、通信驱动- 安装路径默认为。

2025-09-19 09:38:01 893

原创 Istio服务网格平台深度解析与实战应用

Istio作为新一代微服务治理平台,其核心价值在于为分布式应用提供无侵入的流量管理、安全通信与可观测性能力。架构上,Istio采用控制平面与数据平面分离的设计模式:控制平面(Pilot、Citadel、Galley等)负责配置生成与策略下发;数据平面由部署在每个Pod中的Envoy Sidecar代理构成,承载实际的服务间通信。通过xDS协议,Pilot将路由规则动态推送至Envoy,实现L4/L7层的精细化流量管控。

2025-09-19 09:27:24 556

原创 JavaScript鼠标右键事件处理与自定义菜单实现

在现代Web应用中,用户体验的细节往往决定了产品的专业程度。右键菜单作为用户高频交互的一部分,其界面设计不仅需要具备良好的视觉呈现,更应注重结构合理性、响应式布局和可访问性。本章将深入探讨如何从零构建一个结构清晰、样式优雅且功能完整的自定义右键菜单系统。我们将围绕HTML语义化结构设计、CSS样式控制以及动态定位机制展开,确保菜单在不同设备和浏览器环境下都能稳定运行。良好的HTML结构是构建可维护、可扩展前端组件的基础。

2025-09-16 16:53:54 638

原创 C#实现PC端微信客户端完整源码解析

在 WinForms 中,可以通过继承Control或创建自定义控件。某些情况下,服务器返回的数据类型不符合标准规范。例如,某个字段可能有时是字符串,有时是数字:或此时需要自定义转换器:return i;然后在目标属性上标注:set;该方案解决了动态类型兼容问题,增强了反序列化的鲁棒性。为了统一管理不同类型的消息(文本、图片、语音等),必须建立标准化的消息模型体系。首先定义消息类型的枚举:Text = 1,Image = 3,接着构建通用消息类:set。

2025-09-16 15:56:50 645

原创 网络应用程序设计自考历年真题与实战解析

htmltable {th, td {th {pre {简介:《网络应用程序设计自考历年真题解析》汇集了2007至2010年间江西省自学考试的五套真题,覆盖网络通信、动态网页开发、数据库交互、Web服务及新兴前端技术等内容。通过分析历年试题,帮助考生掌握网络应用设计的核心知识点,提升实际开发能力,为从事网络开发工作打下坚实基础。

2025-09-16 15:20:36 309

原创 Kindle 3越狱卸载完整指南与工具包

Kindle 3是亚马逊于2010年推出的一款标志性电子书阅读器,搭载6英寸E-Ink屏幕、ARM处理器与基于Linux的定制操作系统。其低功耗、高可读性与轻量化设计,使其在电子书市场占据重要地位。尽管硬件配置有限,Kindle 3的开放性架构吸引了技术爱好者深入挖掘其潜力。越狱(Jailbreak)是指绕过系统限制,获取root权限,以安装非官方软件和进行深度定制。其中,Jailbreak 0.5是一个广泛使用的开源越狱方案,支持K3W、K3GB、K3G等多种子型号,并提供卸载工具。

2025-09-16 14:50:19 568

原创 CSV转XLS文件格式转换实战项目

可以通过在 Excel 的第一个工作表插入注释行来保留元数据信息:# 写入元数据注释行'元数据': ['列名: 姓名, 类型: string, 描述: 员工姓名','列名: 年龄, 类型: int, 描述: 员工年龄','列名: 工资, 类型: float, 描述: 员工月薪'})# 写入主数据流程图示意:graph TDA[构建元数据信息] --> B[创建 ExcelWriter 实例]B --> C[写入 Metadata 工作表]C --> D[写入 Data 工作表]

2025-09-16 12:52:09 393

原创 局域网监控软件功能详解与合规使用指南

局域网监控软件作为现代信息安全管理的重要工具,广泛应用于企业、教育机构以及家庭环境中。其核心功能在于对局域网内终端设备的用户行为进行实时监测与数据采集,从而实现对网络资源使用的透明化管理。本章将系统阐述局域网监控软件的基本定义、发展背景及其主要应用场景,分析其在提升工作效率、防止信息泄露和保障网络安全方面所发挥的关键作用。同时,探讨监控软件的技术架构基础,包括客户端-服务器通信模型、数据采集机制与中心化管理平台的设计逻辑,为后续深入解析各项具体功能提供理论支撑。

2025-09-16 12:07:54 765

原创 二维图像成像与处理代码实战项目

我们可以编写脚本来批量转换图像格式并保存到指定路径。import os逐行解释:第6行创建输出目录(如果不存在)。第8~13行遍历所有 .jpg 文件并转换为 .png。第11行将图像保存为新格式。mermaid 流程图:图像格式转换脚本流程graph TDA[开始] --> B[读取输入目录]B --> C[遍历所有文件]C --> D{是否为 .jpg 文件?D -->|是| E[打开图像]E --> F[转换为 .png]F --> G[保存到输出目录]

2025-09-16 11:23:15 400

原创 C++调用天气预报Web服务实战指南

在 Qt 中,可以通过定义信号来触发网络请求。例如:Q_OBJECTpublic:signals:// 模拟异步请求QString result = QString("城市:%1\n温度:25°C\n天气:晴").arg(city);// 发送信号});代码逻辑分析:定义信号用于通知数据准备完成。槽函数模拟异步请求,使用延迟发送信号。emit用于发射信号,携带数据。wsdl2h是 gSOAP 提供的用于将 WSDL 转换为 C/C++ 接口头文件的工具。

2025-09-16 10:24:33 291

原创 GTK+串口调试助手开发与实战

GTK+(GIMP Toolkit)最初是为 GNU 图像处理程序(GIMP)开发的一套 GUI 工具包,由 Peter Mattis 和 Spencer Kimball 于 1997 年创建。早期版本被称为 GTK(GIMP Toolkit),采用 C 语言编写,并基于 X Window System 构建,专用于 Linux 桌面环境。随着其稳定性和跨平台能力的提升,GTK 被重命名为 GTK+,以强调其面向对象特性与扩展性。

2025-09-16 09:13:09 359

原创 iBAT批处理工具高效实战指南

在Windows批处理脚本开发中,传统命令行编辑方式存在效率低、调试难、可读性差等问题。应运而生,作为一款专为批处理开发打造的集成化智能工具,它不仅提供语法高亮、实时调试、命令补全等现代化编辑功能,还融合了图形化界面与脚本管理能力,极大提升了开发效率与代码质量。iBAT 的核心优势体现在其智能编辑环境与高效调试机制上,尤其适用于中大型批处理项目的开发与维护。

2025-09-16 09:01:59 269

原创 CUDA编程官方示例源码包

CUDA(Compute Unified Device Architecture)是NVIDIA推出的并行计算平台和编程模型,它通过统一的编程接口,让开发者能够充分发挥GPU的强大并行计算能力。在本章中,我们将从整体架构入手,探讨GPU与CPU之间的协同工作机制。在CUDA模型中,CPU负责控制程序流程,而GPU则专注于执行大规模并行任务。CUDA程序通常由主机(Host)代码和设备(Device)代码组成。主机代码运行在CPU上,负责启动核函数(Kernel);

2025-09-10 16:38:55 767

原创 Notepad++插件开发与实用插件推荐

Notepad++ 是一款基于 Scintilla 文本编辑组件、使用 C++ 编写的开源文本编辑器,专为 Windows 平台设计,广泛应用于代码编写、脚本编辑和日志分析等场景。其插件机制采用动态链接库(DLL)方式实现,主程序通过插件接口(Plugin Interface)与插件模块进行通信,加载时通过plugin.dll注册插件功能。Notepad++ 插件本质上是一个遵循特定接口规范的 DLL 文件,其核心结构包括插件初始化函数、消息回调函数以及功能注册接口。

2025-09-10 16:01:27 871

原创 机顶盒TTL串口自动备份实现与实战

机顶盒作为数字电视系统中的核心设备,其内部结构融合了嵌入式硬件平台与定制化操作系统。典型的机顶盒由主控芯片(如海思、晶晨)、内存(SDRAM)、存储介质(NAND Flash/SPI Flash)、电源模块、音视频解码模块及通信接口(如TTL串口、USB、网络接口)组成。主控芯片不仅负责系统启动与运行,还在固件备份与恢复中起关键作用。操作系统通常基于Linux内核,配合定制的Bootloader(如U-Boot)和Rootfs,实现设备初始化与应用加载。

2025-09-10 16:01:25 924

原创 智能坐姿矫正台灯系统后台开发与实现(含完整源码)

随着现代人久坐办公与学习的普及,不良坐姿引发的健康问题日益突出。智能坐姿矫正系统应运而生,通过融合智能硬件与人工智能技术,实现对人体坐姿状态的实时监测与反馈。本系统广泛应用于教育、办公、医疗等领域,能有效预防脊柱侧弯、颈椎病等慢性疾病。系统核心由传感器模块、数据处理单元、机器学习模型和反馈控制机制组成,形成闭环式的智能识别与矫正流程。智能硬件负责采集姿态数据,AI模型进行坐姿识别,控制系统则根据识别结果进行提醒或干预,体现了硬件与算法深度融合的必要性。

2025-09-10 15:08:38 1009

原创 基于MATLAB的答题卡识别系统设计与GUI实现

MATLAB作为强大的科学计算平台,其图像处理工具箱为图像分析与识别提供了完整的函数集与开发环境。本章将介绍图像在MATLAB中的基本操作,包括图像的读取、显示、格式转换与保存方式,并简要说明其底层数据结构,如灰度图像与RGB图像的矩阵表示。图像处理在答题卡识别系统中扮演关键角色。通过MATLAB的图像处理能力,可实现图像增强、边缘提取、二值化等操作,为后续识别与分类提供高质量的输入数据。接下来的章节将逐步深入讲解这些处理流程的具体实现方法。

2025-09-10 15:07:15 881

原创 高效串口调试助手工具推荐与实战

串口通信是一种通过串行接口逐位传输数据的通信方式,广泛应用于嵌入式系统、工业控制和物联网设备中。其核心原理是通过发送端将数据按位顺序发送,接收端依次接收并还原数据。相比并行通信,串口通信具有布线简单、抗干扰能力强、传输距离远等优势。常见的串口通信协议包括RS-232、RS-485和UART(通用异步收发器),它们定义了数据格式、电气特性及通信规则。例如,RS-232适用于点对点短距离通信,而RS-485支持多点通信,适合工业现场应用。

2025-09-10 14:55:19 610

原创 .NET分布式异步队列与等待机制深度实战

在现代高并发、分布式系统架构中,分布式异步队列已成为实现系统解耦、提升响应速度和保障任务可靠执行的关键组件。其核心思想是将任务的生产与消费解耦,通过中间队列实现异步处理,从而提升系统的可扩展性与容错能力。异步队列的核心优势体现在三方面:1.任务解耦:生产者与消费者无需直接通信,降低模块间依赖;2.横向扩展:可通过增加消费者节点实现并发处理,提升吞吐能力;3.流量削峰填谷:缓冲突发流量,防止系统过载。

2025-09-10 14:33:21 734

原创 Matlab地震数据处理程序实战指南

初至波(P波):最先到达的压缩波,频率较高。面波(S波):速度较慢,振幅较大,通常在P波之后到达。

2025-09-10 13:57:55 776

原创 亚像素模板匹配与Eigen库实战详解

模板匹配是一种在计算机视觉中广泛使用的图像分析技术,其核心思想是通过在目标图像中寻找与预定义模板最相似的区域,实现目标定位或识别。该技术在工业检测、自动驾驶、医学影像分析等领域发挥着关键作用。其基本流程包括:模板构建、滑动窗口遍历、相似性度量与匹配结果定位。随着图像分辨率的提高和应用场景的复杂化,传统像素级匹配逐渐暴露出精度不足的问题,这推动了亚像素级模板匹配的发展。本章为全文奠定理论基础,后续章节将深入探讨亚像素匹配的原理、误差优化方法及基于Eigen库的高效实现路径。

2025-09-10 13:55:56 608

Node.js全栈开发入门

本书《Beginning Node.js, Express & MongoDB Development》由Greg Lim撰写,是一本面向初学者的Node.js、Express和MongoDB开发教程。书中通过构建一个博客应用程序,从零开始教授读者如何使用这些技术。内容涵盖用户认证、数据验证、异步JavaScript、密码散列、模板引擎、维护用户会话等核心概念。书中分为16个简短章节,每章都聚焦于不同主题,采用实践动手的学习方法,鼓励读者边学边编码。作者强调了Node.js的流行原因,包括V8引擎的高性能、异步编程风格、丰富的库支持以及前后端代码共享的优势。书中还介绍了如何安装Node.js、创建服务器、使用npm等基础知识。

2025-05-02

HTML5编程精粹:API与应用开发

本书《Pro HTML5 Programming》由Peter Lubbers、Brian Albers和Frank Salim共同撰写,旨在深入探讨HTML5的诸多新特性和API,以及如何利用这些特性开发更丰富的互联网应用程序。书中涵盖了HTML5的历史、新特性、兼容性问题以及如何在不使用插件的情况下构建Web应用。作者们详细介绍了HTML5的Canvas API、音频和视频处理、地理位置API、通信API、WebSocket API、表单API、Web Workers API、Web存储API、离线Web应用开发以及HTML5的未来发展。本书不仅适合前端开发人员,也适合对HTML5技术感兴趣的读者。

2025-04-03

空空如也

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

TA关注的人

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