自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

极客神殿

坚持,自由,信仰

  • 博客(50)
  • 资源 (28)
  • 收藏
  • 关注

转载 Log4Net基本配置

日志记录往往是软件开发周期中的重要组成部分。它具有以下几个优点:它可以提供应用程序运行时的精确环境,可供开发人员尽快找到应用程序中的Bug;一旦在程序中加入了Log 输出代码,程序运行过程中就能生成并输出日志信息而无需人工干预。另外,日志信息可以输出到不同的地方(控制台,文件等)以备以后研究之用。github开源:https://github.com/apache/logging-log4net安装可以通过以下方式获取它:官网:http://logging.apache.org/log

2021-11-29 00:24:12 1046

转载 .net core 关于应用物理路径问题

1. System.IO命名空间System.IO中存在Directory类,提供了获取应用程序运行当前目录的静态方法 System.IO.Directory.GetCurrentDirectory()=>Gets the current working directory of the application, 在.net core中此方法是执行dotnet命令所在的目录. class Program { static void Main(string[] args)

2021-11-28 03:07:08 801

转载 .NETCORE LINUX 发布

1.创建文件夹mkdir wwwroot2. 解压到指定目录unzip -o netcore.zip -d /home/wwwroot/dashboard上传完毕后,需要先通过cd命令进入网站根目录/home/wwwroot,再输入如下命令启动网站程序dotnet Chart.dll看是否启动成功Nginx配置反向代理Nginx是一个高性能的Web服务器软件。这是一个比 Apache HTTP Server 更加灵活和轻量级的程序。我们的网站程序启动的端口是5000,可以借助 Ngi

2021-11-28 00:14:04 234

转载 PostgreSQL date_trunc() 截断日期函数,完成定时时间语法.

摘要:Oracle有大量的日期函数可供使用,trunc,new_time,months_between,next_day,last_day,add_months,round等函数.当然PostgreSQl 也有大量的时间函数,详情请移步postgresql时间日期函数总结. 所以在此只说明Postgresql 中的TRUNC取断函数.1.首先介绍一下Oracle的trunc函数:select trunc(sysdate) from dual //返回当前日期 sysdate: 系统时间sele

2021-11-27 23:11:03 11819

转载 Nginx托管.Net Core应用程序

一、安装.Net Core参考官方文档:https://www.microsoft.com/net/core#linuxcentos1、添加dotnet产品Feed在安装.NET Core之前,您需要注册Microsoft产品Feed。这只需要做一次。首先,注册Microsoft签名密钥,然后添加Microsoft产品Feedsudo rpm --import https://packages.microsoft.com/keys/microsoft.ascsudo sh -c 'echo -e

2021-11-25 00:45:46 680

转载 Linq中比较日期大小(部分比较)

问题:Linq中比较两个时间的年月日部分表中某个字段的时间和系统时间比较大小(只比较年月日)思路一:转换成字符串比较 var queryable = dbContext.Table .Where(p => p.ETime.ToString("yyyy-MM-dd") >= DateTime.Now.ToString("yyyy-MM-dd") 异常:字符串无法比较思路二:先转换成字符串,再转换成DataTime比较 var queryable = dbCont

2021-11-23 00:07:14 3012

转载 postgresql----时间类型

postgresql支持的时间类型如下图所示:日期 date:建议日期的输入格式为1997-01-01,虽然也支持19970101,1/1/1997,Jan-1-1997等多种格式。时间戳 timestamp[(p)] with(without) time zone:其实配置文件是可以设置时区的,且做上层业务时也不会在多个时区间切换,所以一般使用无时区的时间戳就可以满足需要了。建议时间戳的输入格式为1997-01-01 00:00:00时间 time[(p)] with(without) ti

2021-11-22 23:59:40 6432

转载 Lamda 表达式里的Join和GroupJoin的区别, 如何实现SQL的Left Join效果

Linq Left Join与Inner Join Linq语法与lambda表达式Left Join获取数据:Linq语法如下:var sg = (from g in dc.sgroup join gu in dc.sgroupuser on g.gKey equals gu.gKey into l from lgu in l.DefaultIfEmpty() select

2021-11-22 22:53:22 1369

转载 PGSQL 实现查询今天,昨天的数据,一个月之内的数据

查询今天数据: select * from 表名 as n where n.create_date>=current_date;查询昨天数据 select * from 表名 where create_date>=current_date-30 and create_date <= current_date;一个月select create_date from 表名 where create_date >= current_date and crea

2021-11-21 22:10:00 6382 3

转载 .net core 接口返回图片并且进行压缩

背景: .net core 中默认已经取消可以直接访问图片,因为这样不安全. 导致我们上传的图片无法直接通过url访问.解决方案:一: 通过修改项目配置,使可以直接通过url访问.(方法略,可以百度);二: 图片都通过接口返回,接口里面读取项目的图片,然后返回流;步骤:新建.net core 2.0 项目(过程略)通过nuget添加引用 System.Drawing.Common; .net core 开始的时候并没有System.Drawing,在2.0之后新增了 System.Dr

2021-11-21 16:40:48 1730

转载 docker启动,重启,关闭命令

启动 systemctl start docker守护进程重启 sudo systemctl daemon-reload重启docker服务 systemctl restart docker重启docker服务 sudo service docker restart关闭docker service docker stop关闭docker systemctl stop dockerDocker容器的创建、启动、和停止1、容器是独立运行的一个或一组应用,及他们的运行环

2021-11-20 22:52:22 13287

转载 Web API POST [FromBody] string value 接受参数

网上看到很多关于这这个问题的解决方案,但是都不正确,我也恰巧遇到这个问题,所有把正确的解决方案写出来,希望给后来人参考,如有不同意见欢迎指正namespace WebApi.Controllers{ [Route("api/[controller]")] [ApiController] public class ValuesController : ControllerBase { // GET api/values [HttpGet]

2021-11-20 22:49:46 2300

转载 Linux下使用timedatectl命令时间时区操作详解

timedatectl命令对于RHEL/CentOS 7和基于Fedora 21+的分布式系统来说,是一个新工具,它作为systemd系统和服务管理器的一部分,代替旧的传统的用在基于Linux分布式系统的sysvinit守护进程的date命令。timedatectl命令可以查询和更改系统时钟和设置,你可以使用此命令来设置或更改当前的日期,时间和时区,或实现与远程NTP服务器的自动系统时钟同步。在本教程中,我要讲的是,如何在你的Linux系统上,通过使用来自于终端使用timedatectl命令的NTP,设

2021-11-20 22:43:18 1525

转载 那些与EF有关的错误认知

前言这是一个对话性的讨论,它讨论了一个严重的问题趋势,我发现在由初级团队到架构师团队的各种规模的组织中,EntityFramework的利用率都很高。这不是一个如何做的问题,这也不适合新手。如果有什么能激发您的想法,或者您对我提到的事情感到好奇,那么Google是您的朋友。这也是我的第一篇博客文章。欢迎批评。历史和功能介绍(按版本)首先,让我们简单回顾一下EF随时间推移推出的功能。这绝不是详尽无遗的,当然也不会通过对主要版本的更新列出所有内容。它只是提醒了迄今为止EF的故事。EF / EF 3.5

2021-11-20 22:23:42 197

转载 数据分析中常用的SQL语句

分组选择数据问题1:如何获得每个分组前n项结果?场景:假设有一个表,记录了学生所有科目的成绩,那么现在要取出每个科目分数最高的2位同学的考试成绩。表名为student_grade表中字段为:course_id,course_name, student_id, student_name, grade方法一:利用row_number()函数select course_id,course_name, student_id, student_name, grade, row_number() o

2021-11-20 16:51:37 415

转载 理解ASP.NET Core - 选项(Options)

Options绑定上期我们已经聊过了配置(IConfiguration),今天我们来聊一聊Options,中文译为“选项”,该功能用于实现以强类型的方式对程序配置信息进行访问。既然是强类型的方式,那么就需要定义一个Options类,该类:推荐命名规则:{Object}Options特点:非抽象类必须包含公共无参的构造函数类中的所有公共读写属性都会与配置项进行绑定字段不会被绑定接下来,为了便于理解,先举个例子:首先在 appsetting.json 中添加如下配置:{ "B

2021-11-15 00:48:39 1067

转载 Docker 删除命令手册:如何在 Docker 中删除镜像、容器和卷

前言Docker 类似于虚拟机,它可以轻松安装应用程序和关联包,因此我们可以在任何地方运行它。但当我们使用 Docker 时,也很容易累积过多的无用镜像,容器和卷。他们非常占用空间和资源。Docker 有针对此种问题的删除命令和工具。本教程就是 Docker 删除命令的参考指南。我们会在本教程里教大家如何安全且有条理清理 Docker。如何使用本指南:本指南采用命令对应实例的方式讲解。大家可以使用 Ctrl+F 搜索跳至需要使用的删除功能并查询对应的命令。清除所有未使用或未挂载的镜像,容器,

2021-11-14 23:03:58 10338

转载 Linq 中 Join 的用法

Linq中连接主要有组连接、内连接、左外连接、交叉连接四种。各个用法如下。注:本文内容主要来自《Linq实战》,本例中用到的对象请见文章底部。1、 组连接组连接是与分组查询是一样的。即根据分组得到结果。 如下例,根据publisther分组得到结果。使用组连接的查询语句如下://使用组连接var GroupQuery = from publisher in SampleData.Publishers join book in SampleData.Books

2021-11-14 15:26:36 814

转载 Docker删除镜像和容器

当一个host中镜像和容器较多,需要重置时可选择删除其中部分或全部的镜像和容器。那么你就需要下面的操作了。1、删除容器1)首先需要停止所有的容器docker stop $(docker ps -a -q)2)删除所有的容器(只删除单个时把后面的变量改为image id即可)docker rm $(docker ps -a -q)2、删除镜像1)查看host中的镜像docker images2)删除指定id的镜像docker rmi <image id>想要删除unt

2021-11-14 15:22:54 7609

转载 在Linq to Entity 中使用lambda表达式来实现Left Join和Join

1、读取用户和部门两个表的左连接:var sg = db.Users.GroupJoin(db.Departments, u => u.DepartmentId, d => d.DepartmentId, (u,d) => new { u, d }).Select(o=>o).ToList();注意:上面将返回所用用户信息和对应的部门信息(即用户部门ID信息缺少,那么用户列表也会显示)2、读取指定返回列表字段的左连接信息: var GJoinList = db.Sys_Us

2021-11-14 00:19:02 1256

转载 在Centos 8 上 部署 .Net Core 应用程序

1、更新dnf 源dnf update2、安装 Asp.Net Core 运行时dnf install aspnetcore-runtime-3.12.1、验证是否安装成功dotnet --info出现如上图所示就说明安装成功3、安装Nginxdnf -y install nginx3.1、查看nginx版本nginx -v3.2、设置开机自启动systemctl enable nginx3.3、启动 nginx 服务service nginx start3.

2021-11-14 00:12:45 767

转载 docker build命令详解

docker build命令用于根据给定的Dockerfile和上下文以构建Docker镜像。docker build命令的使用格式:docker build [OPTIONS] <PATH | URL | ->1. 常用OPTIONS选项说明--build-arg,设置构建时的环境变量--no-cache,默认false。设置该选项,将不使用Build Cache构建镜像--pull,默认false。设置该选项,总是尝试pull镜像的最新版本--compress,默认false

2021-11-13 23:38:05 7260

转载 LINQ中使用Case When

select中使用case whenlinq代码:Products.Select(P => new{ ID = P.ProductID, Name = P.Name, Color = P.Color, Price = (P.Color == "Red" ? P.StandardCost : (P.Color == "Black" ? P.StandardCost + 10 : P.ListPrice))});sql原型:SELECT ProductID, Name, Co

2021-11-11 23:47:30 2035

转载 docker 命令

docker 常用命令命令描述翻译attachAttach to a running container当前 shell 下 attach 连接指定运行镜像buildBuild an image from a Dockerfile通过 Dockerfile 定制镜像commitCreate a new image from a container’s changes提交当前容器为新的镜像cpCopy files/folders from the con

2021-11-10 23:30:35 347

转载 ASP.NET Core 因为 Nginx配置Connection为Upgrade导致Kestrel返回400错误

我今天遇到了一个坑,我的服务器在经过了 Nginx 之后,发送的 POST 请求,如果请求里面有 Body 内容,那么 Kestrel 将会返回 400 错误,同时也不会经过任何的中间件在 HTTP 的标准里面,在 HTTP 协议提供了一种特殊的机制,这一机制允许将一个已建立的连接升级成新的、不相容的协议。由客户端发起给服务端询问可以服务器端选择是否要升级到新协议,这个机制可以做到如客户端使用HTTP/1.1去连接服务器端,询问服务器端是否能升级到HTTP2甚至是WebSockets协议。而这个机制的做法

2021-11-09 23:41:41 452

转载 .Net core Web API参数绑定规则

参数推理绑定先从一个问题说起,微信小程序按照WebAPI定义的参数传递,Get请求服务器端可以正常接收到参数,但是Post请求取不到。Web API代码(.netcore 3.1)如下:[HttpGet("Login")]public LoginResult Login(string code){ ...}[HttpPost("PostAvatar")]public BaseResult<string> PostAvatar(int id,string imgUrl){.

2021-11-08 00:19:30 881

转载 Net Core Docker 容器部署,修改,保存

运行镜像[root@localhost opt]# docker run -itd -p 80:80 microsoft/dotnet:latest查看运行的docker[root@localhost opt]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESf3

2021-11-07 23:41:01 469

转载 ASP.NET Core 教学 - Web API JSON 序列化设定

用 JSON 作为 Web API 资料传递格式,并使用 camelCase 作为名称命名规则,几乎已成为通用的标准。ASP.NET Core Web API 也很贴心的把回传物件格式预设为 JSON camelCase。通常 C# 端定义的物件栏位都是 PascalCase,但有时候为了让前端 JavaScript 物件可以跟后端保持一致,也会把前端 JavaScript 物件栏位定义成 PascalCase 格式。为了让前后端定义的物件栏位格式保持一致,就可以透过 SerializerSettin.

2021-11-07 22:15:35 2520

转载 .Net Core3.0 WebApi 项目框架搭建 十四:自定义返回Json大小写格式

默认格式在.net core 3中,默认的json返回格式为驼峰命名法有的时候,我们希望返回的全小写或者全大写等。当然微软已经提供了拓展的接口。设置返回Json名称全小写新建JsonConv文件夹,新建LowercasePolicy.cs,继JsonNamingPolicy/// <summary>/// 返回对象全小写/// </summary>public class LowercasePolicy : JsonNamingPolicy{ public

2021-11-07 17:51:52 1320

转载 .NET通过async/await实现并行

如果可以并行可以大大提高性能,但在我们的使用中,不可能全是并行的也是要有线行操作,所以我们需要在业务逻辑层进行并行操作的护展:数据访问层不变还是以前一样如下:public class UserDAL{ public User GetUser() { User user = new User(); user.Name = "N1"; user.Address = "A1"; return user; } p

2021-11-07 17:45:04 795

转载 .net5实现JWT(利用Furion),含Fiddle教程

1 开始 , 首先这里要感谢以下两位大佬的资料。1.1 百小僧 Furion开源框架提供的技术支持。 https://gitee.com/monksoul/Furion, 有兴趣的同学可以start.1.2 QiXiao_柒小(東) 的文章 https://www.cnblogs.com/7tiny/archive/2019/06/13/11012035.html 有兴趣的同学可以评论。1.3 项目地址:https://gitee.com/zero530/fur-jwtdemo2 创建项目,利用Fu

2021-11-07 17:23:34 2414

转载 ASP.NET Core 运行时环境

ASP.NET Core 运行时环境在ASP.NET Core中,运行时环境和任何请求通过的管道与以前版本的ASP.NET中的内容完全不同。此外,新的ASP.NET Core运行时环境由系统提供的嵌入式依赖注入(DI)基础架构提供支持,该基础架构像幽灵朋友一样静静地监视处理传入请求的所有步骤。本文将进一步深入探讨ASP.NET Core运行时环境及其组件的内部体系结构,主要是Kestrel服务器和请求中间件。ASP.NET Core HostASP.NET Core应用程序的核心是一个独立的控制台应

2021-11-07 16:47:41 2260

转载 理解ASP.NET Core 中的WebSocket

在本文中,我们将详细介绍RFC 6455 WebSocket规范,并配置一个通用的.NET 5应用程序通过WebSocket连接与SignalR通信。我们将深入底层的概念,以理解底层发生了什么。关于WebSocket引入WebSocket是为了实现客户端和服务器之间的双向通信。HTTP 1.0的一个痛点是每次向服务器发送请求时创建和关闭连接。但是,在HTTP 1.1中,通过使用保持连接机制引入了持久连接(RFC 2616)。这样,连接可以被多个请求重用——这将减少延迟,因为服务器知道客户端,它们不需要

2021-11-06 21:44:49 4491 2

转载 .Net Core 使用WebSocket

public class WebSocketXX { static private log4net.ILog log = log4net.LogManager.GetLogger(typeof(WebSocketXX )); //日志 没用就删了 WebSocket socket; WebSocketXX(WebSocket socket) { this.socket = socket;

2021-11-06 20:18:21 1432

转载 Asp.Net Core中WebSocket绑定的方法详解

说明Websocket是html5后的产物,对于asp.net core中也得到了支持,Asp.Net Core中WebScoket的操作使用基本上和Asp.net中相同,不同的是,绑定监听。Asp.Net Core2.0默认已经支持WebSocket,不需要另外安装Nuget包。通过对HttpContext中的WebSockets.AcceptWebSocketAsync方法,接受WebSocket请求;并返回WebScoket对象。下面话不多说了,来一起看看详细的介绍吧。一、示例1,1.后台

2021-11-06 17:29:15 766

转载 CentOS 安装及设定 ASP.NET Core + Nginx Proxy

本篇介绍在 CentOS 环境下,安装及设定 ASP.NET Core Runtime 和 Nginx Proxy。并将 ASP.NET Core 注册成系统服务,便于开机后自动启动,附上 Shell Script 写的快速安装脚本。环境CentOS 7 Minimal 版ASP.NET Core Runtime 2.2 版安装脚本新增一个档案 setup-aspnet-core.sh 内容如下:#!/bin/bashmain() { sudo yum -y install ep

2021-11-06 16:34:12 303

转载 .net core 多环境(开发和生产)配置appsettings.json

前言在我们实际开发过程中一般分为开发环境和生产环境, 这两个环境一般配置会有不一样, 例如数据库连接字符串. .net core 框架中提供三个值, Development(开发), Staging(分阶段), Production(生产环境). 我们可以根据这个来配置不同的环境.创建appsettings文件在创建项目的时候系统会默认创建一个appsettings.json 和 appsettings.Development.json文件. 其中appsettings.Development.js

2021-11-06 16:09:53 9707

转载 使用.NET Core创建Windows服务详细步骤

创建步骤使用该方式创建,首先要确保你已经安装了.NET Core 3.0或以上版本 . 但是如果你想要在.NET Core 2.x项目中使用这个方式,应该是行不通的。1、使用Visual Studio创建打开Visual Studio,创建新项目,找到Worker Service模板。2、使用命令行创建dotnet new worker项目结构说明创建出来的项目,包含两个主要文件。其中Program.cs文件是应用的启动“引导程序”。另外一个文件是worker.cs文件,在这个文件中,你可

2021-11-06 16:08:55 3391 2

转载 .NET Core 如何部署到Docker

我的.net core 版本为3.1,centos 版本为7.0在Centos下安装Docker这里参考此篇文章:Docker从入门到实践-在centos下安装Docker如果下载慢就更换yum的软件源:配置文件路径为: /etc/yum.repos.d/docker-ce.repo安装完成后进行测试:docker run hello-world输出如图所示的内容就表示安装成功:.NET Core 配置这里的重点是需要一个 Dockerfile 文件,无需后缀文件名。这个文件可以通过在创

2021-11-06 15:07:27 1968

转载 ABP AsyncHelper.RunSync 内部实现

using System;using System.Reflection;using System.Threading.Tasks;using Nito.AsyncEx;namespace Abp.Threading{ /// <summary> /// Provides some helper methods to work with async methods. /// </summary> public static class As

2021-11-04 23:02:55 668

Quill.js TextEditor.zip

Quill.js 实现响应式的文本编辑器,可以直接生成 markdown 和html 格式的代码,JavaScript+css+html

2020-11-14

RecogCaptcha.zip

使用AForge.NET框架和Tesseract识别验证码,图像识别,图形图像处理框架,一个有用的例子。

2020-11-08

JsonToExel.zip

.net实现获取天天基金的基金经理数据的JSON转换到Excel,导出数据用于数据分析,排序,比较。

2020-09-22

FundFirst.zip

本工具用于辅助基金定投,即一键跟踪你所感兴趣的基金,并非帮你挑选基金。 从天天基金网上实时爬取所选基金的规模,夏普比率,以及历史排位,基金经理等数据

2020-09-21

fund_sharp.zip

这是一个基金夏普比率查询工具 输出: 最新规模(scale), 最大回撤(withdrawal), 夏普比率(sharp), 波动率(volatility), 基金代码(code)

2020-09-17

晨星spiders.zip

爬取晨星网的基金数据,遍历基金列表,获取每个基金详细的数据,目前只爬取了页面一部分数据,其他可以根据xpath提取

2020-09-16

webplayer.zip

Artplayer.js使用示例,ArtPlayer.js 是一个现代全功能的 HTML5 视频播放器 控制器 - 画质切换, 字幕切换, 播放速度, 长宽比, 视频翻转, 全屏, 画中画, 截图, 缩略图, 自适应尺寸, 高亮 和 热键...

2020-08-10

FileUpload.zip

NET MVC使用的 webuploader 文件上传,图片上传,大文件分片上传 示例,参考,笔记。

2020-02-11

Readmore效果.zip

Jquery实现的阅读全文(readmore.js)效果,简单高效。效果感觉还可以,有需要的可以下载。

2020-01-20

net实现秒杀活动

秒杀活动,模拟,架构:mvc+webapi+console+redis,netcore开发

2019-09-30

大视频分片上传,截取

视频格式必须为: mp4或mov。视频时长须在15秒以内,超出时长系统将自动截取前15秒内容。

2019-09-27

Repeater示例.rar

Repeater示例 说明, 虽然webform基本已经淘汰,但是总有一些老系统还在用。

2019-09-25

bootstrap页面.rar

Bootstrap 根据页面大小控制元素隐藏与显示。

2019-09-24

商品轮播.rar

jquery和carousel.min.js实现京东类似的轮播,前端效果。

2019-09-06

NET使用editormd

NET使用editormd.js 实现md编辑器效果,emoji表情无显示问题。

2019-05-18

基于NPOI的强类型Excel导入导出组件

C#实现导入导出Excel功能,基于NPOI的强类型Excel导入导出组件

2018-11-06

bootstrap一个小案例

包括导航条,carousel,利用栅栏的三栏布局,导航的标签页以及模态框等

2018-08-16

fastdfs-5.11安装合集

fastdfs-5.11安装合集,转自合集中各模块的github的截止2018.3.31的最新源码包

2018-04-01

Wijmo5 Flexgrid演示代码合集

Wijmo5 Flexgrid演示代码合集,打包发布 转载自官方网站.

2018-04-01

WijMo.js 5.2的FlexGrid介绍[Knockout]

演示如何使用Knockout,我们快速灵活的数据绑定网格控制FlexGrid执行常见任务。

2018-03-07

Redis管理web项目所需dll

Redis管理web项目所需dll

2017-06-15

超简单BeautifulSoup爬虫

超简单BeautifulSoup版博客爬虫

2017-05-03

Lucene.Net的DLL

快速搜索

2016-09-21

DapperDAL程序集

DapperDAL程序集下载

2016-09-13

Linq2Dapper程序集

Linq2Dapper 辅助类,直接项目里dll引用

2016-09-08

JSON数据库存储

JSON数据库存储

2016-06-23

Asp_.net常用问题解决

Asp_.net常用问题解决,应该还行吧!

2014-02-20

C# 3.0 特点

C#3.0特点,很好很强大,特别实用,开发必备参考手册。

2012-08-25

空空如也

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

TA关注的人

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