自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

极客神殿

坚持,自由,信仰

  • 博客(3926)
  • 资源 (29)
  • 论坛 (1)
  • 收藏
  • 关注

转载 ASP.NET Core 实战:使用 Docker 容器化部署 ASP.NET Core + sqlserver + Nginx

一、前言在之前的文章(ASP.NET Core 实战:Linux 小白的 .NET Core 部署之路)中,我介绍了如何在 Linux 环境中安装 .NET Core SDK / .NET Core Runtime、Nginx、sqlserver,以及如何将我们的 ASP.NET Core MVC 程序部署到 Linux 上,同时,使用 supervisor 守护程序守护我们的 .NET Core 程序。如果,你有看过那篇文章,并且和我一样是个 Linux 小白用户的话,可能第一感觉就是,把 .NET

2021-12-04 01:52:27 9

转载 使用VsCode通过Docker发布.NetCore项目

Docker相关命令1.删除容器获取容器信息命令:docker container ls -a #获得容器信息docker container ls -a -p #获得容器id如果你要删除的 container 还是运行状态,那么就要先把容器停止了:docker container stop <container ID>找到需要删除的容器对应的 container ID 或者名字,进行删除:docker container rm <container

2021-12-04 01:49:10 4

转载 实体对象、值对象和接口三者之间关系的六条定律

实体对象可以持有实体对象和值对象;实体对象、值对象和接口可以引用接口;值对象可以持有实体对象和值对象;实体对象、值对象和接口可以从接口中继承;实体对象可以从实体对象中继承;值对象可以从值对象中继承;不允许出现不在上面定律里的关系。...

2021-12-01 23:15:09 10

转载 A SELECT statement that assigns a value to a variable must ... (向变量赋值的 SELECT 语句不能与数据检索操作结合使用 )

A SELECT statement that assigns a value to a variable must … (向变量赋值的 SELECT 语句不能与数据检索操作结合使用 )总结一句话,一行语句中,要么都是赋值,要么都是查询,不能既有赋值又有查询[ 错误 ] select @classname=classname,@chargeteacher from classes where classid=@classid[ 错误 ] select @classname=classname,name

2021-12-01 23:13:46 9

转载 .NET Core Blazor 1-Blazor项目文件分析

简介Blazor是一个使用.NET技术用于代替JavaScript/typescript的前端WEB框架。在前端开发中使用.NET语言进行书写逻辑有利于我们的性能、可靠性和安全性。并且对于使用.NET开发人员而言,全栈的成本更低。截止文章发布时,.NET Core已经发布了3.1版本,Blazor已经正式发布了Server-Side的框架,基于WebAssembly的Client-Side已经进入测试,预计2020年发布。Blazor实现了 .NET Standard2.0 。Blazor你可以简单的

2021-12-01 23:05:19 6

转载 .NET Core 配置Configuration杂谈

前言.NET Core 在配置文件的操作上相对于.NET Framework做了不少改变,今天来聊一聊。关于Configuration的Package都是以Microsoft.Extensions.Configuration开头的支持多种方式的配置,包括内存、Json文件、XML文件等等,今天我们主要用Json格式文件配置来演示。开始新建一个ConsoleApp(这里为了方便演示就用控制台程序来演示了,而不用ASP.NET Core),添加两个Package:Install-Package Micr

2021-12-01 22:05:25 17

转载 Log4Net基本配置

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

2021-11-29 00:24:12 12

转载 .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 18

转载 .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 11

转载 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 28

转载 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 22

转载 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 23

转载 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 18

转载 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 14

转载 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 24 1

转载 .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 15

转载 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 38

转载 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 20

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

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

2021-11-20 22:43:18 17

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

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

2021-11-20 22:23:42 14

转载 数据分析中常用的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 14

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

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

2021-11-15 00:48:39 29

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

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

2021-11-14 23:03:58 54

转载 Linq 中 Join 的用法

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

2021-11-14 15:26:36 23

转载 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 34

转载 在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 15

转载 在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 19

转载 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 25

转载 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 22

转载 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 17

转载 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 11

转载 .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 29

转载 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 17

转载 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 36

转载 .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 16

转载 .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 11

转载 .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 58

转载 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 17

转载 理解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 32

转载 .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 24

FundFirst.zip

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

2020-09-21

Pdf.jsDemo.zip

jQuery+pdf.js 实现的PDF切换预览,纯html+javascript实现,方便在线查看pdf。

2020-07-20

net实现秒杀活动

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

2019-09-30

bootstrap一个小案例

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

2018-08-16

晨星spiders.zip

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

2020-09-16

RecogCaptcha.zip

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

2020-11-08

Readmore效果.zip

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

2020-01-20

fastdfs-5.11安装合集

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

2018-04-01

fund_sharp.zip

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

2020-09-17

WijMo.js 5.2的FlexGrid介绍[Knockout]

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

2018-03-07

DapperDAL程序集

DapperDAL程序集下载

2016-09-13

JsonToExel.zip

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

2020-09-22

FileUpload.zip

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

2020-02-11

超简单BeautifulSoup爬虫

超简单BeautifulSoup版博客爬虫

2017-05-03

Quill.js TextEditor.zip

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

2020-11-14

webplayer.zip

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

2020-08-10

大视频分片上传,截取

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

2019-09-27

Linq2Dapper程序集

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

2016-09-08

商品轮播.rar

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

2019-09-06

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

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

2018-11-06

NET使用editormd

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

2019-05-18

bootstrap页面.rar

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

2019-09-24

Lucene.Net的DLL

快速搜索

2016-09-21

Wijmo5 Flexgrid演示代码合集

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

2018-04-01

Asp_.net常用问题解决

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

2014-02-20

Redis管理web项目所需dll

Redis管理web项目所需dll

2017-06-15

JSON数据库存储

JSON数据库存储

2016-06-23

C# 3.0 特点

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

2012-08-25

Repeater示例.rar

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

2019-09-25

风神修罗使的留言板

发表于 2020-01-02 最后回复 2020-01-02

空空如也

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

TA关注的人 TA的粉丝

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