自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(281)
  • 资源 (80)
  • 收藏
  • 关注

原创 android——基础架构设计与实现

作为从业多年的 Android 开发者,我有幸参与了多个从零开始的项目开发,涵盖工具类应用(如安全防护)、内容类应用(如交友直播软件)以及物联网工具(如蓝牙、wifi等智能控制)。基于这些实践经验,我将分享对 Android 应用架构的理解与思考,希望能为开发者同行提供参考。

2025-04-01 20:02:20 1129

原创 kotlin——MVVM框架下的大型项目优化、以及activity和viewmodel臃肿的优化

在大型项目中,随着项目越做越大,activity和viewmodel的代码会越来越多,尽量保持Activity和ViewModel的代码精简和易于维护是非常重要的。个人建议700行以上就应该考虑,尽量让代码控制在1000行以内。不然随着代码多维护起来困难,代码混乱,有bug时定位问题难,增加需求代码难等问题就会随之而来,那应该怎么办呢?(Code Review):定期进行团队内部代码审查,发现并修复代码中的冗余和不良编码习惯。中处理的数据过多,可以考虑将其拆分为多个小的。更加专注和易于理解。

2024-06-22 12:01:44 935

原创 android——解决bug的流程以及细节(定位当前activity、定位哪里调用了当前的方法)

解决bug的第一步,当然是稳定的复现bug。根据我的经验,如果一个bug可以被稳定的复现,至少它就被解决了70%。通过观察bug的现象,就可以对bug做个大致的归类或者定位了。是因为数据问题?还是第三方库的问题?还或者是代码的问题?接着就是debug,看日志等常规操作了~如果经过上面的操作,你还是一筹莫展,那么请往下看。遇到bug,先观察bug现象,然后想想大概是什么原因导致的,然后尝试复现它,再调试它,处理它。

2024-06-21 11:01:51 2321

原创 android——开发中哪些习惯会影响卡顿的发生、如何提高代码健壮性(稳定性)

自从Android引入 ART 并且在Android 5.0上成为默认的运行时之后,对象分配和垃圾回收(GC)造成的卡顿已经显著降低了,但是由于对象分配和GC有额外的开销,它依然又可能使线程负载过重。在一个调用不频繁的地方(比如按钮点击)分配对象是没有问题的,但如果在在一个被频繁调用的紧密的循环里,就需要避免对象分配来降低GC的压力。2.4:不要在activity的onResume和onCreate中进行耗时操作,比如大量的计算等。2.1:主线程中不要直接操作数据库,数据库的操作应该放在数据库线程中完成。

2023-02-01 22:21:50 753

原创 python——根据公司名称查找公司地址(批量)、随机生成姓名、随机生成手机号

根据公司名称查找公司地址(批量)、随机生成姓名、随机生成手机号;各个功能都已经封装成了独立的方法,直接粘贴使用即可。

2022-09-26 22:10:14 7934

原创 uniapp——uni-admin后台管理系统(使用uniCloud免费云服务器)

uni-admin从创建到部署,到外网可以访问

2022-09-04 15:41:54 7989 5

原创 vue——后台管理系统之动态路由权限(左侧菜单按角色分配显示)

后台管理系统之——动态路由添加使用(左侧菜单按角色权限动态显示)按照每个角色所拥有的权限来进行对应的展示,实现动态挂载路由,按需显示,官网的说明太过于简单,以至于本人花了很多时间才做出一个完整的动态路由,希望对大家能有所帮助...

2022-07-09 01:55:07 2533

原创 nodejs——后端项目实战(后台基础框架)

3、数据库:mysqlusername:wangyao password:wy1234、使用postman进行post请求访问能获取到数据,代表登录功能完成。

2022-03-19 11:10:42 9187

原创 微信小程序——设计模式(单例,状态模式,观察者模式、代理模式、策略模式【表单验证】)

1、单例// 单例var mySingleCase = function () { // 私有变量和方法 var attribute = "我是‘私有’属性" function showPrivate() { console.log("我是私有方法的输出") } return { publicMethon() { // console.log("我是公共方法--调用私有方法") showPrivate() }, pu

2021-04-16 14:00:51 3455

原创 uniapp——网络请求的封装、全局样式,全局变量、传值(父子组件,不同页面等)

网络请求的封装根据thorUI开源框架给出的代码进行封装,还有如果需要token来请求的话,需要自己去获取token,然后写到代码:const tui = { delayed: null, //接口地址 interfaceUrl: function() { return 'https://www.thorui.cn' }, /** * 请求数据处理 * @param string url 请求地址 * @param string method 请求方式: GET or POS

2020-12-30 15:21:26 4327 1

原创 微信小程序——数组操作 (增加删除修改遍历)map、filter、forEach、find的用法、二维数组,排序,求和、指定长度数组赋值

Array.push() ->在数组后面继续插入内容Array.pop() ->拿走数组最后一个内容Array…shift()->拿走数组的第一个内容 (unshift也是拿走最后一个)Array.reverse()->对数组从大到小排列Array.sort()->对数组从小到大排列**Array.splice(起始位置 , 位数,”增添内容”)->从数组中取出以起始位置开始的位数的内容,并写入增添内容,可用来删除内容与替换,例如people.aplice(1,2,“name”)

2020-06-23 09:21:51 49565 3

原创 微信小程序个人中心-我的界面

个人中心-我的界面简介我们在开发微信小程序的时候,基本上都会有一个个人中心的界面,简称我的界面,里面有保存每个用户的个人信息,个人设置,个人的数据记录。所以本文主要针对这个页面做了一个自己熟练的界面,下面来看看效果图:效果图...这种效果的整体布局固定不变,如果想要更好看的效果,可以修改里面的图片小图标,还有背景颜色,又或者加上动图都是可以的,但是整体的框架基本就是这样,所以下面来...

2020-04-24 17:14:51 58086

原创 微信小程序居中、居右、居底和横向、纵向布局,文字在图片中间,网格布局

布局、居中、解决兼容问题。

2020-04-21 11:49:35 67141 6

原创 微信小程序中好看的按钮样式(渐变色)、view的点击变色效果、按钮漂亮的圆角边框、解决hover设置失效

在.wxss文件中代码如下:/* border-radius: 98rpx;是控制按钮边变圆 */.goodbutton { margin-top: 30px; width: 80%; background-color: rgb(252, 126, 67); color: white; border-radius: 98rpx; background: bg_red...

2018-09-22 09:56:54 43125 11

原创 Git——ignore让项目的 target 目录真正被忽略(忽略其他文件也是同样的道理)

git 忽略文件 ignore

2026-08-26 17:14:24 199

原创 rust——从零实现一个轻量级 Mock API 服务

负责接收连接,handle负责读取请求,路由模块负责决定响应,shared模块负责复用响应构造和 JSON 资产读取。它不追求替代成熟 Web 框架,而是把一次 API 调用背后的关键步骤完整摊开,非常适合作为 Rust 网络编程和前后端联调的起点。

2026-08-21 15:25:09 314

原创 CMD——快速掌握GET与POST请求示例(doc终端)

这段内容展示了两种HTTP请求示例: GET请求:通过curl发送到http://139.9.***.**:****/api/User/52,用于获取用户ID为52的数据(IP和端口已脱敏)。 POST请求:使用curl向http://127.0.0.1:3000/submit提交数据"hello world",-XPOST指定方法,-d携带请求体。 示例演示了基础API调用方法,适用于本地测试(127.0.0.1)或远程服务交互。

2026-08-07 15:47:52 61

原创 rust——实战综合示例(解析配置文件内容、用户输入验证、链式调用与 Option、桌面图标自动整理)

本文展示了三个Rust编程示例:1) 配置文件解析,演示了从文件读取配置并处理可能错误的完整流程;2) 用户输入验证,展示如何通过循环重试机制获取有效数字输入;3) Option类型的链式调用,说明如何使用Option处理可选字段并通过方法链进行流畅操作。这些示例涵盖了错误处理、用户交互和可选值处理等常见编程场景,体现了Rust强大的类型系统和错误处理能力。

2026-06-29 14:13:23 92

原创 Rust 所有权系统:核心概念与实战示例

Rust 所有权系统:核心概念与实战示例 摘要: Rust 的所有权系统是其独特的内存管理机制,通过编译时检查确保内存安全,无需垃圾回收。核心规则包括:每个值有唯一所有者、所有权可转移、离开作用域自动释放。文章通过多个代码示例展示了所有权转移、Copy类型、引用借用、可变引用、函数参数所有权和返回值处理等场景。特别强调了引用与可变引用的使用限制、切片作为无所有权引用、生命周期标注的必要性,以及常见陷阱(如循环中借用冲突、自引用结构等)的解决方案。所有权系统使 Rust 既能高效管理内存,又避免了手动内存管理

2026-06-26 19:12:10 330

原创 Rust 入门教程:从安装到第一个 Hello World

rust从入门到创建项目

2026-06-26 14:34:18 329

原创 android——Compose 大型项目分层架构:ViewModel 拆分策略与实践

Compose 大型项目分层架构:ViewModel 拆分策略与实践 本文针对 Jetpack Compose 项目中 ViewModel 膨胀问题提出解决方案。作者指出,随着业务迭代,ViewModel 容易演变为"巨型 Fragment",导致重组性能问题和架构混乱。 核心解决方案是按业务能力而非UI结构拆分ViewModel,提出四大原则:业务能力拆分、单状态流、禁止横向调用、UI仅负责组合。文章详细介绍了Feature+Sub ViewModel分层模型、状态切片策略和边界判断标准,强调避免将Vie

2026-06-26 11:08:44 187

原创 AI——移动端大模型部署新范式:基于sherpa-onnx的Android离线语音识别实战(语音转文字)

《Android离线语音识别实战:基于sherpa-onnx的轻量化部署方案》摘要 本文介绍了利用sherpa-onnx框架在Android设备实现离线语音识别(ASR)的完整解决方案。该方案具有三大核心优势:1)完全离线运行,保障数据隐私;2)极简架构(核心库<50MB),支持INT8量化模型压缩;3)全栈语音处理能力(支持ASR/TTS/KWS)。文章详细展示了从环境配置、模型部署到实时音频流处理的完整开发流程,重点解析了如何通过线程优化、内存池管理和动态降频等技术实现毫秒级响应。实测表明,量化模

2026-06-15 14:18:14 673

原创 AI——使用RAG增强检索进行

本文介绍了使用llama.cpp运行DeepSeek-R1-Distill-Qwen-1.5B模型构建RAG系统的完整方案。主要内容包括:1)安装必要的Python库(llama-cpp-python、langchain等);2)构建本地知识库的步骤:文档加载、切分、向量化存储;3)集成llama.cpp配置检索器和模型,设置Prompt模板;4)实现问答功能并加入安全清理机制。文章还提供了常见问题优化建议,如调整chunk参数、降低temperature值等。该方案结合了llama.cpp的高效本地推理和

2026-05-28 17:40:43 71

原创 AI——大模型有哪些以及下载地址

llama.cpp。

2026-05-21 10:03:39 141

原创 AI——5分钟搞定!手把手教你用llama.cpp在Windows上本地运行大模型(集成显卡也能用)

其实就4个核心步骤:1.下载llama.cpp2.设置环境变量3.下载模型文件(GGUF格式)4.运行`llama-cli -m 模型名`不需要Python环境,不需要pip安装,不需要理解什么注意力机制——下载、解压、运行,三步搞定。你的电脑配置怎么样?按这个教程跑起来了吗?欢迎评论区告诉我!---- llama.cpp下载:https://llama-cpp.com/download/- 模型镜像站:https://hf-mirror.com/

2026-05-20 19:33:00 550

原创 AI——大模型的应用场景

针对检验报告、设备铭牌、药品说明书、认证证书等图片,实现高精度文字提取,并依据医学知识图谱和上下文逻辑自动纠正识别错误(如形近字、专业术语)。系统能在部件磨损、温度异常等微小征兆时发出预警,并自动触发主动维护工单和备件申领,推动售后服务从“被动维修”转向“主动保养”,最大化设备在线率,创造服务增值收入。为医院新入职的医护人员提供虚拟仿真操作环境,AI实时捕捉用户操作动作并给予纠错指导,培训后自动依据操作规范打分,输出技能缺陷报告。这能将法规工程师从繁琐的文案工作中解放出来,缩短产品注册周期,降低合规风险。

2026-05-19 14:30:26 282

原创 备份(手机改成平板)

荣耀手机的参数还原命令:

2026-04-15 15:53:16 140

原创 Android——组件化实战:Application启动时用ARouter实现跨模块调用

本文介绍了在Android组件化开发中,使用ARouter实现Application启动时跨模块调用的方法。通过将公共接口定义在基础模块,业务模块实现接口并用@Route注解标记,在Application中通过ARouter.getInstance().navigation(接口.class)获取服务对象,实现模块间解耦调用。关键步骤包括:配置ARouter、定义接口、实现接口并注解、Application中获取服务调用。该方法避免了模块间的直接依赖,使Application能轻松调用其他模块功能,适用于初

2026-03-25 16:03:11 482 1

原创 kotlin——使用retrofit框架上传文件(视频)

本文展示了Kotlin实现的视频上传功能代码,主要包含四个部分: VideoUploadUtil:使用协程在IO线程启动上传任务,处理视频路径并调用Repository VideoUploadRepository:单例类,负责构建多部分表单请求体,包括时间、部门代码等文本参数和视频文件 VideoUploadApi:定义上传接口,使用@Multipart注解处理文件上传 VideoUploadReqBean:数据类封装上传请求参数 代码采用协程异步处理,包含完善的异常捕获机制,通过Retrofit实现HTT

2026-03-12 11:28:18 67

原创 C#——报错:System.Net.Sockets.SocketException (10049): 在其上下文中,该请求的地址无效。

摘要:Kestrel启动失败问题解决方案:当Kestrel无法绑定指定网络地址时,需修改Properties/launchSettings.json文件中的applicationUrl参数。将示例中的192.168.101.145替换为本地实际IP地址(如192.168.101.137),保存后重新运行项目即可解决绑定问题。该操作主要针对Development环境的配置调整。

2026-02-03 19:09:31 226

原创 android——Android Studio 路径迁移指南(释放 C 盘空间)

摘要: 针对Windows系统下Android Studio占用C盘空间的问题,本文提供了三类核心文件(.android、.gradle、.AndroidStudio)的迁移方案: .android:通过环境变量ANDROID_SDK_HOME指定模拟器镜像新路径; .gradle:通过GRADLE_USER_HOME环境变量重定向缓存目录; .AndroidStudio:修改idea.properties配置文件中的config.path和system.path。 操作后需重启AS验证路径生效,迁移旧文件

2026-01-26 17:55:48 2435 2

原创 C#——意框架(结构说明)

本文将结合工程约定与模块模板,详细说明module目录下各常见子项目/文件夹的核心职责、放置内容及设计原则。以下结构适用于多数基于DDD(领域驱动设计)思想的分层架构项目,可根据实际技术选型(如ORM框架)微调命名。

2026-01-15 10:32:47 984

原创 android——开发中的常见Bug汇总与解决方案(闪退)

Bug是程序员成长路上的必经之路。面对bug,我们要有:1. **耐心** - 仔细分析日志和堆栈信息2. **方法论** - 使用二分法、断点调试等技巧3. **预防意识** - 编写健壮的代码,添加充分的测试4. **学习心态** - 每个bug都是学习的机会记住:没有不会写bug的程序员,只有不会调试的程序员。希望这份汇总能帮助大家在Android开发路上走得更加顺畅!---**持续更新中...** 如果你有其他常见的bug案例,欢迎在评论区分享!

2025-12-19 17:30:55 915

原创 android——热修复(补丁)

文章摘要:Tinker补丁打包流程包括:1)生成基准包;2)修改代码但不新增/删除资源;3)配置补丁信息(可选);4)运行命令生成补丁包。关键点:基准包路径、TinkerId版本号、Application类配置需准确,补丁包最终输出在tinkerPatch目录。注意资源修改限制,补丁包名为patch_signed_7zip.apk。(135字)

2025-07-09 17:16:30 483

原创 android——屏幕适配

在 Android 开发中,屏幕适配是非常关键的。因为 Android 设备具有各种各样的屏幕尺寸、分辨率和像素密度。如果没有进行良好的屏幕适配,应用可能会出现显示不完整、元素拉伸或压缩变形、字体大小不合适等问题,极大地影响用户体验。屏幕适配是一个综合性的工作,需要结合布局、资源和代码等多种方式,以确保应用在各种 Android 设备上都能有良好的显示效果。

2024-12-26 14:01:33 2011

原创 Android——自定义按钮button

项目中经常高频使用按钮,要求:可设置颜色,有圆角且有按下效果的Button

2024-12-24 18:06:28 752

原创 图片无损放大(免费)

下载地址:我用夸克网盘分享了「Lossless.Zoomer.x64_3.1.0.zip」,点击链接即可保存。打开「夸克APP」,无需下载在线播放视频,畅享原画5倍速,支持电视投屏。我们可以使用软件工具:Lossless.Zoomer.x64_3.1.0 来进行无损放大(免费)链接:https://pan.quark.cn/s/e6599ccfeb29。1、使用Lossless.Zoomer.x64_3.1.0。使用左上角的设置--打开--只能放大jpg的文件。

2024-12-23 14:48:49 584

原创 android——录制屏幕

点击开始录制后,切换到需要录制的界面,如果想要结束则回到当前应用点击停止录屏按钮。

2024-12-11 19:33:41 914

原创 android——jetpack startup初始化框架(启动性能优化)

Android Jetpack Startup是一个库,它简化了Android应用启动过程,尤其是对于那些需要处理复杂数据绑定和初始化逻辑的应用。它的核心在于提供了一个。这样的自定义方法中。这种做法可能导致UI阻塞,特别是当初始化操作耗时时,用户体验可能会变差。,用于声明应用的初始化逻辑,这个逻辑会在首次启动时异步运行,而不是直接在。AsyncInitializer 类。中初始化,所有的代码通常会放在。LogInitializer类。或相关生命周期方法内,如。

2024-11-05 10:41:33 674

原创 Linux——命令、Python2.7升级至Python3.8

检测python有没有安装:python3 --version。

2024-11-02 10:47:55 1095

jetpack compose 完美的基础框架完成

jetpack compose 基础框架完成 每次新的开发都可以拿来用,快速搭建,并且用起来很舒服,极力推荐

2023-08-11

Apk安装器可导出已经安装的app或者安装无法安装的app.zip

Apk安装器 1、可导出已经安装的app 2、安装无法安装的app

2024-08-29

Recyclerview-Grid

android Recyclerview_Grid

2024-08-19

pdf-to-ppt.zip

使用说明: 1、把PDF文件放到D盘的11文件夹里(D://11),并且pdf的文件名改为22.pdf 2、运行dist文件里的main程序 3、自动生成22.pptx文件

2024-08-01

PPT文件转成PDF文件的exe程序

使用说明: 1、把PPT文件放到D盘的11文件夹里(D://11) 2、运行dist文件里的main程序

2024-07-31

蓝牙开发-android 蓝牙打印机比较完善的demo

蓝牙开发---android 蓝牙打印机比较完善的demo,比较好的一个封装思路,可进行参考

2024-06-05

RYB-PDA扫码出库入库对接pad.zip

RYB-PDA扫码出库入库对接pad.zip

2024-05-11

WanAndroid-Compose (1).zip

玩安卓compose版本

2024-04-23

jepack compose列表中项左右滑动删除、加载骨架屏、列表中项点击查看详细内容

jepack compose 列表中项左右滑动删除、加载骨架屏、列表中项点击查看详细内容

2023-12-21

compose-list下拉刷新、上拉加载更多(结合网络请求)

jetpack compose 下拉刷新、上拉加载更多(结合网络请求)

2023-12-20

介绍 该项目基于MVVM项目MVVMHabi,kotlin 语言编写的android MVVM模式基础框架

介绍 该项目基于MVVM项目MVVMHabi,kotlin 语言编写的android MVVM模式基础框架,封装作为日后开发框架,当前仅集成了MVVM基础框架,未添加其他基础工具类的架构 优化方向:viewmodel持有Context是否合理

2023-12-15

xml和compose的结合 二级列表GCP列表的简单示例(包括二级列表选中则自动选中一级列表,列表绑定数据)

xml和compose的结合 二级列表GCP列表的简单示例(包括二级列表选中则自动选中一级列表,列表绑定数据)

2023-12-11

dialog 弹窗-倒计时

dialog 弹窗--倒计时 https://editor.youkuaiyun.com/md/?articleId=109766225

2023-10-28

android-自定义-悬浮弹窗

android——自定义---悬浮弹窗

2023-10-24

android 自定义控件-编辑框

android 自定义控件----编辑框

2023-10-24

TabLayout+viewpager2

TabLayout viewpager2实现的功能

2023-09-25

推荐列表双向绑定,比较接近VUE的方式

【推荐】列表双向绑定,比较接近VUE的方式 (2)

2023-09-12

popupwindow下拉弹窗列表(推荐)

popupwindow下拉弹窗列表(推荐) 已经优化到极致,包括内存泄漏也优化了,非常好用

2023-08-30

android spinner 自定义 字体大小

android spinner 自定义 字体大小

2023-08-30

jetpack compose 底部导航栏

完美的 jetpack compose 底部导航栏

2023-08-17

rust从零实现一个轻量级 Mock API 服务

rust从零实现一个轻量级 Mock API 服务

2026-08-21

桌面图标整理工具仅限个人使用

桌面图标整理工具仅限个人使用

2026-06-29

语音转文字SherpaOnnx.zip

语音转文字SherpaOnnx.zip

2026-06-15

语音转文字(中文),效果一般般

语音转文字(中文),效果一般般

2026-05-30

资源bge-small-zh-v1.5.zip

下载后解压记得把《中文可删除》这几个汉语去掉

2026-05-28

platform-tools

android sdk里的platform-tools,可以使用adb命令,备份

2026-02-10

android-时间选择器

android——时间选择器

2026-01-12

意框架-耗* 材*屋-C#

意框架————耗 材 屋 C# 熊

2025-12-24

uniapp x相机上传图片

uniapp x相机上传图片

2025-10-24

秋-胡-蓝牙连接2版本

秋-胡-蓝牙连接2版本

2025-09-16

android 热修复(补丁)

打包补丁流程 1. 生成基准包 (baseline apk) 首先需要生成一个基准包,后续的补丁都是基于这个基准包生成的: text ./gradlew assembleRelease 生成的基准包位于 app/build/bakApk/ 目录下。 2. 修改代码 修复 bug 或进行其他修改后,确保只修改了代码而没有新增或删除资源文件(Tinker 对资源文件的修改有限制)。 3. 配置补丁信息 在 app/build.gradle 中配置 tinkerPatch: gradle tinkerPatch { oldApk = "基准apk路径" ignoreWarning = false useSign = true buildConfig { tinkerId = "补丁版本号" keepDexApply = false } dex { dexMode = "jar" pattern = ["classes*.dex"] loader = ["com.xxx.xxx.MyApplication"] // 你的Application类 } lib { pattern = ["lib/*/*.so"] } res { pattern = ["res/*", "assets/*", "resources.arsc", "AndroidManifest.xml"] ignoreChange = ["assets/sample_meta.txt"] largeModSize = 100 } packageConfig {

2025-07-09

蓝牙-胡总深圳-秋山-自定义指令

蓝牙-胡总深圳-秋山-自定义指令

2025-06-17

android-wifi解密工具(compose)

wifi解密工具(compose)

2025-04-26

微信小程序-ThroUI日期时分选择器

微信小程序-ThroUI日期时分选择器

2025-04-09

刷新token的后台用js写vscode运行

刷新token的后台用js写vscode运行

2025-01-21

mock后台数据gcp-nodejs-api,可以使用内网穿透

mock后台数据gcp-nodejs-api,可以使用内网穿透

2025-01-21

android录制屏幕

android录制屏幕

2024-12-11

photoshop cs6

photoshop cs6自用多年的软件,小巧功能齐全,很好

2024-12-10

InitStartUp.zip

Android jetpack startup初始化

2024-11-05

服务器连接工具 WinSCP-5.17.10-Setup-wy.zip

服务器连接工具 WinSCP-5.17.10-Setup-wy.zip

2024-11-01

空空如也

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

TA关注的人

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