自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

技术博客

欲买桂花同载酒,终不似少年游

  • 博客(79)
  • 资源 (3)
  • 问答 (1)
  • 收藏
  • 关注

原创 SpringBoot 解决跨域问题

SpringBoot拦截器解决跨域问题,这种方式,可以解决在前后端分离的情况下,跨域配置后Cookie无法共享,无法写入的问题

2024-03-07 14:11:52 330 1

原创 Centos Docker部署Redis集群三主三从

【代码】Centos Docker部署Redis集群三主三从。

2023-10-11 17:39:49 635

原创 揭秘BBR加速,以及如何在服务器上安装BBR以优化访问速度

本文介绍了BBR加速,一项由Google团队开发的TCP拥塞控制技术。我们了解了BBR加速的重要性以及其在提高网站响应速度和网络传输效率方面的优势。针对Ubuntu系统,我们提供了安装BBR加速的简明步骤,并强调了注意事项。如果您想提升网站的用户体验和网络传输性能,BBR加速是一个值得尝试的有效技术。

2023-07-24 09:29:30 2498

原创 Linux 防火墙 Firewalld教程

Centos 防火墙 Firewalld基础配置,防火墙打开、关闭端口配置

2023-07-08 11:04:07 656

原创 信息系统项目管理师-挣值管理

PV为计划工作完成进度*计划工作单价,在这里,目前到第二周周末,也是两周,计划的是每周100米,每1米预算成本500,那么PV=100*2*500=100000元。从开始到第1周周末,一切按原计划顺利开展,所花成本与预算一致。成本偏差,成本偏差等于EV-AC,大于0就是成本节约,小于0就是成本超支,那么CV=80000-51250=28750>0,成本未超支。成本指标,成本指标等于EV/AC,大于1是成本节约,小于1成本超支,那么CPI=80000/51250=1.5610>1,成本未超支。

2023-03-28 20:28:37 858 1

原创 Java实现阿里云域名动态解析,DDNS功能

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、DDNS是什么?二、实现步骤1. 阿里云添加解析记录2.创建AccessKey3. 创建SpringBoot项目并引入依赖4. 相关功能开发总结前言最近在家里搭建了一个家庭服务器,但是家庭宽带无法申请固定IP,在外网以及公司无法远程或访问该服务器(观察IP是隔1天动态变化一次),但是我的域名又是阿里云的,目前路由器的DDNS功能好像没有支持阿里云的。好在阿里云提供了DNS相关的SDK,这里使用SpringBoot+.

2022-04-15 11:20:36 3177

原创 Windows10下安装配置Gradle环境

前言Java生态体系中有三大构建工具:Ant、Maven和Gradle。其中,Ant是由Apache软件基金会维护;Maven这个单词来自于意第绪语(犹太语),意为知识的积累,最初在Jakata Turbine项目中用来简化构建过程;Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具,它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。经过几年的发展,Ant几乎销声匿迹,而Maven由于较为不灵活的配置也渐渐被遗

2021-01-06 09:30:57 2924 1

原创 SpringCloud Gateway 解析获取请求参数并封装传递到Controller

目录前言代码1. 定义请求封装实体`OAuthRequest.java`2. 定义抽象请求构造工厂类`OAuthRequestFactory.java`3. 定义默认WebFlux请求构造工厂实现`WebFluxOAuthRequestFactory.java`4. 定义请求实体线程参数容器`OAuthRequestContainer.java`5. 定义一个抽象过滤器`AbstractGatewayFilter.java`用来封装请求解析方法;6. 定义`CertifiedEntryWebfluxFilt

2021-01-05 14:29:09 7164 7

原创 SpringCloudAlibaba(二)Nacos配置中心实现微服务动态配置,SpringCloudAlibaba配置项详解

文章目录前言一、项目配置二、校验动态配置三、SpringCloudAlibaba配置项介绍前言上一篇文章讲了怎么创建一个Maven聚合项目作为微服务开发脚手架,并且创建了一个认证微服务并注册到注册中心,这篇我们介绍下如何使用Nacos的配置中心,实现我们的动态配置。以及简单介绍下SpringCloudAlibaba的各个配置项(可能是最全面SpringCloudAlibaba配置项介绍)一、项目配置Nacos创建配置在项目的bootstarp.yml文件添加配置中心相关配置server

2020-12-23 16:42:24 1041

原创 SpringCloudAlibaba(一)创建微服务项目,并把服务注册到Nacos注册中心

文章目录前言一、新建项目二、项目基本配置三、验证注册中心前言为了方便开发调试,这里使用Maven聚合的方式进行项目的创建,父项目来管理所有子Module的依赖版本信息,以防止出现因各个项目的依赖版本不一致导致的各种莫名其妙的问题。主要依赖版本:JDK:1.8SpringBoot:2.2.10.RELEASESpringCloud:Hoxton.SR8SpringCloudAlibaba:2.2.3.RELEASE一、新建项目打开IDEA 新建Maven项目[外链

2020-12-22 15:56:08 781 1

原创 解决接入阿里云语音通知接口,调用报错java.lang.NoSuchMethodError: okhttp3.Headers.iterator()Ljava/util/Iterator;的问题

解决问题:接入阿里云语音通知接口,调用SDK报错java.lang.NoSuchMethodError: okhttp3.Headers.iterator()Ljava/util/Iterator;

2020-11-18 16:13:14 3260 7

原创 Spring Security Oauth2 官方表结构解析,字段详解

spring-security-oauth官方表结构文件:https://github.com/spring-projects/spring-security-oauth/blob/master/spring-security-oauth2/src/test/resources/schema.sql客户端详细信息表:oauth_client_details字段注释client_id主键,客户端IDresource_ids客户端所能访问的资源id集合,多个资源时用逗号(,)分

2020-10-15 16:39:35 6501 2

原创 记一次SpringCloudAlibaba开发过程中Nacos打开安全认证配置后,应用启动报错的问题

最近在使用SpringCloudAlibaba进行微服务项目开发,注册中心和配置中心用的是Nacos1.3.2,当Nacos开启了认证配置`时,如果应用内使用了`spring-cloud-starter-oauth2`这个包应用启动时控制台会抛出以下错误:com.alibaba.nacos.api.exception.NacosException: <html><body><h1>Whitelabel Error Page</h1><p>This application has no explicit ma

2020-10-15 14:29:09 4340 3

原创 HarmonyOS(三)应用开发之创建第一个HelloWorld应用

在前面的文章中,我们已经配置了DevEco Studio的开发环境。下面我们就开始实际的HarmonyOS应用开发,当然~ 我们的一个HarmonyOS项目还是用我们所熟悉的HelloWorld来开头,这里我们以Wearable工程为例,在华为提供的Wearable远程模拟器中运行。新建工程运行应用

2020-10-10 09:07:20 6982 11

原创 HUAWEI DevEco Studio 解决 Windows Defender might be impacting your build performance...问题

最近在搭建HarmonyOS应用开发环境,安装完毕HUAWEI DevEco Studio后创建项目后,页面有警示框 报错内容如下:Windows Defender might be impacting your build performance. DevEco Studio checked the following directories: C:\Users\yangxh\DevEcoStudioProjects\HelloWorld C:\Users\yangxh.DevEcoStudio2.0\

2020-10-09 16:49:25 2854

原创 HarmonyOS(二)应用开发环境搭建准备

目录工具介绍下载安装配置开发环境工具介绍根据HarmonyOS开发产品的运行层次来说,可以分成两种,一种是设备开发(偏嵌入式的硬件开发,偏底层);一种是软件开发(纯软件产出,应用层)。这篇文章,我们主要介绍华为开发者提供的应用开发工具HUAWEI DevEco Studio,以及如何基于Windows搭建我们的HarmonyOS应用开发环境。HUAWEI DevEco Studio(简称DevEco Studio)拥有Java界IDE扛把子IntelliJ IDEA基因,它基于IntelliJ IDE

2020-10-09 14:50:30 8921 1

原创 HarmonyOS(一) 快速开始学习鸿蒙开发,官方文档学习路线解析

目录前言认识HarmonyOS系统定义技术特性硬件互助,资源共享一次开发,多次部署统一O S,弹性部署技术架构内核层系统服务层框架层应用层系统安全正确的人正确的设备正确地使用数据拓展:HarmonyO在硬件、系统、数据、设备互联、应用安全等方面的安全机制和推荐做法是什么?获取源码1. 从镜像站点下载压缩文件(推荐)2. 从hpm网站组件式获取3. 用包管理器命令行工具获取4. 从代码仓库获取源码目录简介获取工具编译工具链获取路径获取设备开发工具获取应用开发工具了解API硬件开发官方示例WLAN连接类产品认

2020-09-29 09:01:46 32114 5

原创 七牛云存储挂载到阿里云ECS上的目录下,达到扩容磁盘的效果

七牛云存储挂载到阿里云ECS上,达到扩容磁盘的效果安装环境yum install automake fuse fuse-devel gcc-c++ git libcurl-devel libxml2-devel make openssl-devel下载s3fs安装包wget https://github.com/s3fs-fuse/s3fs-fuse/archive/v1.87.tar.gz解压并安装s3fstar -zxvf v1.87.tar.gzcd s3fs-fuse

2020-09-14 15:30:42 1106 3

原创 Docker部署SpringBoot项目出现的SQLserver连接SSL异常:create connection SQLException, url: jdbc:sqlserver://

记一次Docker部署SpringBoot项目出现的SQLserver连接SSL异常,解决记录:项目环境:- SpringBoot2.2.1- SqlServer驱动:mssql-jdbc:8.4.0.jre8- JDK:1.8在部署到Docker后,访问时报错信息如下: create connection SQLException, url: jdbc:p6spy:sqlserver://172.41.129.5:1433;DatabaseName=fwusercount;, errorC

2020-09-14 12:45:08 3846

原创 阿里云ECS服务器扩容,挂载OSS对象存储到ECS实例上作为网络共享磁盘使用

本片文章主要写如何对阿里云ECS服务器扩容,挂载OSS对象存储到ECS实例上作为网络共享磁盘使用安装步骤1. 前期准备购买OSS存储资源包、创建Bucket,然后获取一个Access key2. 下载并安装ossfs包根据ECS实例系统版本,在github选择相应的rpm包下载到服务器上,我这里系统是Centos7.7的,所以选择ossfs_1.80.5_centos7.0_x86_64.rpm这个版本Github仓库地址:https://github.com/aliyun/ossfs/rele

2020-09-11 16:24:45 1846

原创 自定义ORM框架(三)实践篇,ORM框架代码设计开发,执行SQL测试

前言前面两篇文章介绍了JDBC模式开发持久层的不足之处,并且做了下自定义ORM框架设计步骤的思考,约定了配置文件格式。这篇文章主要介绍如何一步步编写一个简单的类似MyBatis的自定义ORM框架,并且对其功能进行测试。实现功能:解析Mapper.xml配置执行相应SQL根据配置文件初始化c3p0连接池结果集自动封装参数自动解析根据Dao对象映射相应的Mapper.xml配置,来通过反射调用Mapper配置里的文件代码设计首先,我们使用c3p0连接池进行数据源连接池的管理,使用dom4j

2020-08-25 15:19:40 277

原创 RocketMQ(三)RocketMQ基础特性分析总结

RocketMQ基础特性订阅与发布发布:消息的发布是指某个生产者向某个topic发送消息;订阅:消息的订阅是指某个消费者关注了某个topic中带有某些tag的消息,进而从该topic消费数据。消息顺序消息有序指的是一类消息消费时,能按照发送的顺序来消费。例如:一个订单产生了三条消息分别是订单创建、订单付款、订单完成。消费时要按照这个顺序消费才能有意义,但是同时订单之间是可以并行消费的。RocketMQ可以严格的保证消息有序。消息顺序分为全局顺序消息和分区顺序消息,全局顺序是指一个Topic下的所

2020-08-20 09:28:53 411

原创 RocketMQ(二)RocketMQ技术架构设计分析及部署架构讲解

上节文《RocketMQ(一)基础概念理解及消息消费模式解析》讲解了RocketMQ基础的一些概念和消息消费模式,这篇文章主要介绍RocketMQ的技术架构设计以及部署架构概念的讲解架构设计RocketMQ的主要架构图示:技术架构RocketMQ架构上主要分为四部分,如上图所示:Producer:发布(生产)消息的角色,支持分布式集群方式部署。Producer通过MQ的负载均衡模块选择相应的Broker集群队列进行消息投递,投递的过程支持快速失败并且低延迟。Consumer:消费消

2020-08-19 09:13:42 511 1

原创 解决com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误

解决com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误Caused by: java.io.IOException: SQL Server 未返回响应。连接已关闭。

2020-08-18 16:20:34 20061 16

原创 RocketMQ(一)基础概念理解及消息消费模式解析

文章目录前言基础知识消息模型基础概念消息主题(Topic)消息标签(Tag)消息(Message)消息生产者(Producer)消息消费者(Consumer)代理服务器(Broker Server)名称服务(Name Server)消息生产者组(Producer Group)消息消费者组(Consumer Group)RocketMQ消息的两种消费模型广播消费(Broadcasting)集群消费(Clustering)RocketMQ的两种消息消费顺序普通顺序消息(Normal Ordered Messag

2020-08-18 09:28:45 829

原创 四年开发学习历程的反思,作为一名优秀的程序猿,你真的知道如何学好一门新的技术或框架吗?

这篇文章主要用来总结自己最近以及入行以来这几年的一个学习方法变换的历程和心得。作者在学习一些新的技术中间件或技术框架时,总有种无从下手的感觉。而往往一旦出现这种感觉就会拖延症再犯。想要暂时放弃学习这个框架,想着如果项目中需要使用的话就直接一边学一边用不得了,学的也比较快。学好一个新的技术或框架确实不是什么容易的事儿。它既不是我们简简单单背一下相关概念那么简单,也不是项目中用一遍写几句代码就能说自己会用了那么容易。我们应该更多的去思考这些技术或框架的设计目的,实现原理。才能真正把技术用出花来。。

2020-08-17 16:17:40 225

原创 自定义ORM框架(二)简单ORM框架实现步骤设计,基础配置文件格式约定

前言上篇文章分析了常规JDBC实现数据库操作的问题以及基本解决思路,也举例讲解了下当前市面上主流的ORM框架的实现和特性。这篇文章主要讲解我们应该如何去选择合适的技术方案以及以什么样的思路去实现一个简单的ORM框架。实现步骤我们在使用目前市面上比较常用的ORM框架比如MyBatis时,一般是直接引用框架包,然后在自己的项目中增加相应的框架配置。所以也就是说,配置信息是在我们的项目端进行配置的,而框架端只需要定义好配置的格式,项目端根据指定格式进行配置并且约定好配置文件的路径,然后框架端就会对其进行加载

2020-08-14 20:17:29 303

原创 自定义ORM框架(一)JDBC代码分析、使用JDBC实现持久化操作的不足和解决方案分析

前言在日常的开发工作中我们项目的数据不可避免的需要去持久化,也就是存储到数据库中。而我们在持久化数据时大部分是使用MyBatis、Hibernate、JPA等ORM框架来完成的。那么我们为什么不用更为原生的JDBC来实现呢,这些框架的出现又是为了解决什么问题呢?ORM框架其实都是基于JDBC的封装增强的实现:MyBatis把JDBC的数据库连接信息和SQL相关信息分为两个配置部分,我们使用MyBatis能够很灵活的定义SQL以及相关数据库对象来实现基础的CRUD操作,并且对自定义SQL支持较好,自动化

2020-08-12 17:03:18 225

原创 使用Maven打包通过Docker镜像发布SpringCloud项目,镜像推送Docker私服Harbor 详情记录

公司的技术结构最近正在升级,技术体系主要就是SpringCloud的一套,发布主要采用k8s+docker的方式去发布,这里主要讲解记录笔者使用官方推荐的一款插件:dockerfile-maven-plugin 对SpringCloud项目进行打包、把镜像发布到Docker镜像仓库私服Harbor上、拉取指定版本镜像、启动项目的一套流程是怎么操作的。环境准备电脑上需要安装Docker Desktop:官方下载地址安装前注意Docker Desktop对Windows电脑系统要求是专业版或者企业版。并且

2020-08-05 09:37:44 1048

原创 记一次SpringCloud把SpringBoot项目打成jar包使用java -jar命令执行 命令行参数无效,没有生效的问题

最近公司也采用了当前炒的比较如火如燎的SpringCloud微服务技术,经过了多方面技术对比选型,还是决定使用了相对比较新的技术技术主体框架如下:注册中心:Nacos配置中心:NacosSpringBoot 2.2.5.RELEASESpringCloud Hoxton.SR3spring-cloud-alibaba 2.2.1.RELEASE使用这套框架在实际开发中也没怎么遇到太多难题。但是当我们开发一个demo准备进行测试环境部署时,出了一个很莫名其妙的问题:项目在本地开发调试都是正

2020-08-04 14:44:40 1654

原创 设计模式之模板方法模式讲解,优缺点、使用场景分析概述

模板方法模式是最为简单也最常用的设计模式之一了,它主要利用了Java的多态的特性,通过把所有的不会变化的定义放到一个抽象类(模板类)里实现,会变化的方法定义成抽象方法,再使用其子类对会变化的地方进行自定义实现。模板方法模式的定义:Define the skeleton of an algorithm in an operation,deferring some steps to subclasses.Template Method lets subclasses redefine certain step

2020-08-01 23:15:42 3309

原创 设计模式之工厂模式:简单工厂模式、方法工厂模式、抽象工厂模式讲解,优缺点、使用场景分析概述

工厂模式是我们最常使用的设计模式之一,在工厂模式中我们在创建类时,不会暴露客户端调用逻辑,通过使用一个共同的接口来指向创建的对象下面我们以车厂造车为业务原型,来讲解工厂模式的三种类型:简单工厂模式、方法工厂模式、抽象工厂模式简单工厂模式简单工厂模式是一种创建型模式,又叫静态方法工厂模式,是通过定义一个类用来创建其他的类,被创建的类通常都具有相同的父类。简单工厂设计模式相当于是一个工厂中有各种不同的产品,创建在一个类中,调用者无需知道具体产品的名称,只需要知道产品类所对应的参数即可。但是工厂的职责过重,

2020-07-31 09:50:36 973 1

原创 解决IDEA :Windows Defender might be impacting your build performance 警告信息 解决方案

解决IDEA :Windows Defender might be impacting your build performance 警告信息 解决方案刚升级完新版 IDEA2020.2的我,打开项目时,突然弹出警告:Windows Defender might be impacting your build performance…查了下官方文档,说出现这种情况是由于,版本的升级,文件的位置与项目的位置不同,影响性能。所以每次启动IDEA时都会出现警告,所以出现这种情况,我们只需要点击下面的蓝色字体

2020-07-30 16:51:16 12046 3

原创 设计模式的概念与意义

软件设计模式的概念和意义设计模式的概念与意义软件设计模式的分类根据目的来分根据作用范围来分23种设计模式的功能介绍设计模式的概念与意义软件设计模式( Software Design Pattern ),是一套被反复使用,多数人知晓的、经过分类的 代码设计经验的总结。它总结了在软件设计过程中一些不断重复发生的问题,以及该问题的解决方案,也就是说它是解决特定类型问题的一系列套路,是前辈们的代码设计...

2020-07-24 17:15:59 1710

原创 UML建模详解之 类图的绘制和理解

类图中类的属性或方法的关键字修饰代码里类的属性或方法的关键字在类图里用以下方式表示:-中划线表示private#表示protected~表示default,也就是包权限_下划线表示static斜体表示抽象类图中的类、接口、枚举类类图中的类,用一个三层矩形来表示,第一层为类的名称、第二层内容是类的属性(成员属性)、第三层为类的行为(方法)。接口UML内接口默认是使用一个圆形的图案加名称表示,但是很不直观,我们也可以用三层矩形的方式进行表示,在名字上方加上《interface》区分

2020-07-24 11:17:37 5595

原创 记录Windows10安装Docker 踩坑记

解决 Docker Desktop requires Windows 10 Pro/Enterprise (15063+) or Windows 10 Home (19018+).解决 (default) Creating a new host-only adapter produced an error: C:\Program Fil解决 Get Docker Desktop for Windows Docker Desktop for Windows is available for f

2020-07-22 09:26:08 3374 2

转载 基于 DDD 的微服务设计和开发实战

你是否还在为微服务应该拆多小而争论不休?到底如何才能设计出收放自如的微服务?怎样才能保证业务领域模型与代码模型的一致性?或许本文能帮你找到答案。本文是基于 DDD 的微服务设计和开发实战篇,通过借鉴领域驱动设计思想,指导微服务项目团队进行设计和开发(理论篇详见《当中台遇上 DDD,我们该如何设计微服务?》)。本文包括三部分内容:第一部分讲述领域驱动设计基本知识,包括:分层架构、服务视图、数据视图和领域事件发布和订阅等;第二部分讲述微服务设计方法、过程、模板、代码目录、设计原则等内容;最后部分以一个项目为例

2020-07-21 09:32:48 788

原创 Java使用MVC开发模式开发了这么多年的项目,才知道一直在面向过程(面向数据库)开发,面向对象并没有想象中那么简单

使用Java开发了这么多年MVC结构的项目,才知道一直在面向过程(面向数据库)开发,面向对象并没有想象中那么简单简单介绍为什么说Mvc是面向过程开发,DDD面向对象怎么做到的,如何解决臃肿的Service

2020-07-20 11:01:29 1144 2

原创 Centos使用nohup 后台运行服务、输出日志到指定文件

SpringBoot在Centos下后台运行并实时输出日志到指定文件,Centos使用nohup 后台运行服务、输出日志到指定文件

2020-07-16 10:59:08 4398

原创 各大主流微服务技术SpringCloud、SpringCloudAlibaba、Dubbo、Motan、MSEC架构选型对比

技术选型时,对于中小型公司而言,使用 SpringCloud 会极大的减少开发成本,只需了解原理以及如何使用,就能进行开发。但是对于大型公司而言,更倾向使用Dubbo,比较灵活,可以很方便的拓展自主研发一些组件,虽然人力成本会增加,但是能全面的把控技术风险。我们这里为什么选择SpringCloudAlibaba呢,主要因为SpringCloud的组件:服务注册与发现的 Eureka、服务限流降级的 Hystrix、网关 Zuul都已经停止更新了。当然,Spring这个我们Java界的老大哥也迅速给出了

2020-07-15 10:01:25 1959 4

Centos下通过一键安装Redis脚本,安装过程中可以直接自定义端口、密码

Centos下一键安装Redis脚本 1. 上传文件到Centos下,解压并进入目录,赋予脚本执行权限 ``` shell chmod +x installRedis-singleV2.1 ``` 2. 执行脚本进行安装 `./installRedis-singleV2.1` 3. 完成安装

2023-07-18

DockerToolbox-19.03.1.rar

Docker Toolbox提供了一种在不满足Docker Desktop for Windows 应用最低系统要求的Windows系统上使用Docker的方法。 Docker Toolbox包含以下Docker工具: Docker CLI Client 用于运行Docker Engine以创建映像和容器 Docker Machine 可以从Windows终端运行Docker Engine命令 Docker Compose 用于运行docker-compose命令 Kitematic,Docker GUI 为Docker命令行环境预先配置的Docker QuickStart shell Oracle VM VirtualBox 由于Github下载比较慢,这里我把该安装包下载下来以方便

2020-07-22

mysql-installer-community-5.7.29.0.rar

Windows版 官方MySQL5.7.29安装包 非编译包,解压后可双击msi文件直接安装。 官方下载速度比较慢,特下载下来后放到CSDN以后续使用 官方地址:https://dev.mysql.com/downloads/mysql/

2020-07-21

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

TA关注的人

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