自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Json的知识梦工厂

只恨上学期间不好好学习,现在需付出千倍万倍实现自己的梦想。

  • 博客(504)
  • 资源 (12)
  • 收藏
  • 关注

原创 sql语句积累,优化增删改查,提高效率.

考勤时间查询 查询每天最大打卡时间和最小打卡时间 如果一天只打一次 另一次就是空。

2023-04-26 15:10:28 595 1

原创 maven的安装和Idea maven 的配置

//1.检查java的环境变量 是否配置 JAVA_HOME 变量// cmd 输出 echo %JAVA_HOME% 可查看//2. 去 maven官方下载 https://maven.apache.org/download.cgi 解压// 3. 配置环境变量 看截图// 4. 验证 maven 安装成功 cmd 输入 mvn -v 输入 版本 就是安装成功//5.配置maven 本地仓库// 打开 maven的 解压路径 找打 conf 文件夹...

2021-10-10 22:37:35 159

原创 idea 编辑器 基础 常用功能配置

//idea的常用配置//1.设置自动导包功能//2.忽略大小写提示System.out.println("忽略了大小写");//3.取消单行 tabs 显示 操作//4. 文件头部 注释 设置//5. 设置项目文件 编码// native-ascii conversion 主要用于转换ascii// 不勾上 Properties 文件中的注释显示都不会是中文的// 6. 自动编译 修改了文件 运行 还是跑的之前的...

2021-08-10 07:29:48 960

原创 git 常用命令

0、git pull origin master 拉远程项目1、git add . 添加提交信息2、git commit -m "备注" --no-verify 准备提交3、git push origin 分支名 提交成功 ...

2019-08-26 10:11:06 337

转载 Centos Ubuntu 安装web环境

技术QQ交流群:294088839。地址https://oneinstack.com/download/yum -y install wget screen curl python #for CentOS/Redhat# apt-get -y install wget screen curl python #for Debian/Ubuntuwget http://mirrors.linuxe...

2018-03-26 13:57:19 578

原创 springboot日志使用 SLF4J+Logback 实现(springboot默认的日志实现),日志打印到控制台及日志输出到指定文件

定时任务 用的 xxl-job 不太清除这个定时任务插件 可百度import com/**// Windows系统的日志目录 private static final String LOG_DIRECTORY_LINUX = "/home/logs/";// Linux系统的日志目录 //jobHandler 必须唯一 每天凌晨3点13分0秒触发 0 13 3 * *?

2024-04-18 11:17:17 287

原创 spring boot集成文件上传插件(x-file-storage),同时支持本地、FTP、SFTP、阿里云 OSS、腾讯云 COS、MinIO、 Amazon S3等各种文件存储方式解决方案

在开发管理系统 ,因为系统要求 要同时支持 本地、FTP、SFTP、阿里云 OSS、腾讯云 COS、MinIO、 Amazon S3 这几种文件存储的上传方式 ,如果一一开发 肯定开发到花都谢了。经过搜索 发现了一个好用的插件x-file-storage官方地址:https://x-file-storage.xuyanwu.cn/#/废话不多说 还是直接看代码spring 版本 啥的 就不说了因为我们的文件上传的 基础参数配置是在 nacos 和数据库里 所以 采用的是动态 切换 存储方式没有把

2024-04-15 21:00:48 350

原创 spring boot 集成 flyway依赖 做数据库迁移,让部署没烦恼

Liquibase:Liquibase是一个开源的数据库变更管理工具,它可以通过XML或YAML等配置文件来描述数据库变更,支持基于Java代码的迁移脚本生成。你可以定义实体类,并通过Liquibase Maven插件或命令行工具生成相应的数据库迁移脚本。对于旧版本的库,我们可能需要在resources/db/migration/ 中创建一个名为.keep的空文本文件,以确保该目录在应用程序启动期间被编译并可用,以避免错误。主要用于在你的应用版本不断升级的同时,升级你的数据库结构和里面的数据。

2024-04-10 16:09:53 415

原创 springBoot 在过滤器中如何捕获抛出的异常并自定义返回信息 (Filter doFilter)解决方案

在使用 servlet 过滤器时 发现异常报错 不准确,定义的 全局异常处理 好像失效了,过滤器里报错每次都会返回 状态码 :500 错误信息为 “Internal Server Error” 真正的异常只能输出的控制台,抛出不到前端。一般springBoot自带的全局异常捕获机制都是在业务层发生的异常来进行捕获的,因为过滤器的执行顺序是在全局异常机制启动之前执行的,所以一旦过滤器中发生异常,全局异常捕获机制无法使用。R.fail() r 就是返回前端的结构体!

2024-04-09 11:19:33 211

原创 Springboot 在使用RabbitMQ 传送数据 发现 字符串 传递 没问题,但是 传送对象接收不到数据解决方案

springboot集成RabbitMQ后能通过RabbitTemplate很方便的传送对象。如果发送方和接收方在同一项目中,且发送使用的对象为同一个包导入,那么发送和接受都没有问题。解决方案:手动将对象转为json字符串。导入依赖(发送方和接收方都需要导入)

2024-04-07 16:57:08 282

原创 springboot在使用 Servlet API中提供的javax.servlet.Filter 过滤器 对请求参数 和 响应参数 进行获取并记录日志方案

【代码】springboot在使用 Servlet API中提供的javax.servlet.Filter 过滤器 对请求参数 和 响应参数 进行获取并记录日志方案。

2024-04-07 13:58:31 443

转载 Docker部署Xxl-Job分布式任务调度中心(超详细)

XXL-Job是一个开源的分布式任务调度中心,它提供了一个可视化的任务管理界面,可以方便地创建、编辑和监控任务。XXL-Job支持多种任务类型,包括简单的Java任务、Shell任务、Cron任务等。–xxl.job.accessToken=pingzhuyan.test 这行配置指定accessToken,当你在程序中引入xxl-job时,需要用到accessToken。doc/db/tables_xxl_job.sql · 许雪里/xxl-job - 码云 - 开源中国 (gitee.com)

2024-03-31 11:38:01 10

原创 springboot中基于RestTemplate 类 实现调用第三方API接口【POST版本】

【代码】springboot中基于RestTemplate 类 实现调用第三方API接口【POST版本】

2024-03-30 10:07:07 230

原创 Java 扫描某包下所有类的注解并获得注解值

这个依赖是用于 Java 项目中的反射操作的。org.reflections 是一个 Java 库,允许你在运行时查找和使用类、方法、字段等。它提供了一种简单的方式来扫描你的项目或者外部库中的类和注解,从而帮助你进行一些动态的操作,比如查找特定的类、方法或者注解,或者执行特定的操作。百度了一圈 spring boot 没有自带的 获取注解集合的方法。背景 : 需求 需要获取某个包下的所有的注解 并不是全部项目的。突然发现了一个很好用的依赖包 解决了 我的问题。我的需求 做法 代码如下。

2024-03-29 15:08:05 553

原创 nacos的各种类型的配置文件 yml 、json、 Properties、 text 等文件类型 发生变化怎么热更新,实现实时监听nacos配置文件变化

但是 dataId的命名不一样 我理解为 aaa 这种 等于你创建了一个没有后缀的配置文件。本文用的是 Nacos作为配置中心注册监听器方法 实现热更新 nacos 配置文件。因为项目用的是 Json 类型的配置文件。虽然打开里面的配置信息都是 json格式。所以下文 主要是对json文件进行实现。dataId 这两种声明 是不一样。依赖、工具类 这边就不写了。在nacos 的配置文件中。下面开始直接上实现代码。

2024-03-28 18:27:02 460

原创 2024年 新的一年开始啦

不知不觉已经进入互联网行业7年多了,新的一年一定要更努力,学到更多的东西!希望看的这篇文章的你,也要加油,不要被生活打败噢~~~~要相信 越努力越幸运!

2024-02-27 12:42:19 302

原创 波特云 集装箱和 海恒蓝 集装箱 自动化集装箱下单方案

背景: 这几天 遇到了一个客户 是做外贸的 需要大量多的集装箱,了解后 他们是需要在平台上 下单集装箱 才有可能预约到集装箱使用,所以公司每天都需要都需要派个人 盯着电脑来 下单集装箱。成功下单集装箱后,会通知到相对应的邮箱 消息提醒。整体来说 这两个网站是提供海外物流服务的平台,有需要做外贸的用户 可以在他们平台上下单集装箱 然后使用。波特云平台:为企业提供货物供应链产品,打造港口物流行业的单证电子化、通关透明化、协同全程化。波特云 网站:https://www.eportyun.com/

2023-12-31 17:32:43 695 3

原创 springboot中基于RestTemplate 类 实现调用第三方API接口【java】

【代码】springboot中基于RestTemplate 类 实现调用第三方API接口【java】

2023-12-20 16:34:18 484

原创 Springboot 对于数据库字段加密方案(此方案是对字符串处理的方案)

背景:在erp开发中,有些用户比较敏感数据库里的数据比较敏感,系统给用户部署后,公司也不想让任何人看到数据,所以就有了数据库字段加密方案。我们的系统 表单 和表单的字段 都定义在数据库里 所以 可以自由选择 表单和字段。第四步 编写加密方案 利用的是 框加下的这个类 BaseTypeHandler。第一步 : 首先把用户勾选需要加密的 字段 缓存到redis 减少数据库查询。如果利用实体类加注解方案 肯定满足不了 因为 每个用户加密的字段不一样,这个需求 用户再页面上操作 我们是不需要改代码的。

2023-11-19 16:45:21 487

原创 vmware16.1.2安装 windows7后 VMVMware tools 灰色 需要手动安装操作详情

经过查询,得知了原因是 由于微软更新了驱动程序签名算法,2019年开始弃用SHA1,改用SHA2。VMware Tools驱动程序使用SHA2,而Windows7只支持SHA1,需要下载官方的补丁来支持SHA2算法,在Windows7中安装即可。在Windows7镜像安装完成后,安装"VMware Tools"时出现:安装程序无法继续,需要将操作系统更新到SP1.2。根据安装的win7系统,选择下载 32位 或 64位 的安装更新程序。再次安装Windows7的虚拟机并尝试安装VMware Tools。

2023-11-08 06:46:34 1220

原创 在项目中高并发场景怎么解决消息队列重复消费的解决思路

使用用户ID + 商品ID + 时间戳或者其他唯一组合生成哈希作为订单的唯一标识,确保同一个用户对同一个商品在很短的时间内不会生成重复订单。分布式锁:当用户下单时,可以使用Redis或ZooKeeper实现的分布式锁,确保同一个用户在同一时间只能有一个订单请求被处理。消息的顺序性:使用支持消息排序的消息队列,例如Apache Kafka,确保同一个订单的消息是有序的。消息去重:在生产消息前,使用Redis这样的缓存系统检查该订单是否已经进入队列,结合订单的唯一标识。

2023-08-15 10:35:38 329

原创 记录在项目中遇到sql优化问题,提供解决思路

结论:数据库性能优化是一个持续的过程,需要我们不断地监控、分析和调整。可以开启MySQL的慢查询日志,设置一个时间必须两秒的查询出来的数据都属于需要优化的sql,这个时候项目运行时符合条件的sql记录下来。SQL执行计划:使用EXPLAIN命令来查看SQL的执行计划,从而了解SQL是如何运行的及哪些操作是耗时的。关联和子查询:检查是否关联了过多的表,是否存在效率低下的子查询,或是否有某些WHERE条件导致索引失效。开启慢查询日志:通过设置一个阈值,例如两秒,捕获所有超过此执行时间的SQL,以便进一步分析。

2023-08-15 00:38:00 198

原创 Wi-Fi总动员增值服务【点餐系统】:免费开通,即开即用!重塑点餐体验,为您店铺赋能!

顾客需要在餐馆内排队等候,与服务员交流可能出现误差,且在高峰时段,这种等待的时间往往会拉长,影响顾客的整体就餐体验。每当顾客使用线上点餐,都会看到商家设置的广告,无论是新品推介、特惠信息还是其他活动,都能在第一时间展现在顾客面前,有效提高广告的覆盖率和转化率。总之,【Wi-Fi总动员】的点餐增值服务不仅是一个简单的线上点餐工具,更是一种全新的商业模式。与我们一同前进,共创美好未来!在推广【Wi-Fi总动员】的同时,还可以为商家推荐这一点餐服务,帮助他们提高效率、增加收入,而合伙人也将从中获得更丰富的回报。

2023-08-14 15:04:35 75

原创 wifi总动员的【增值服务】,不只是连接的开始,更是商机的起点!

🍜他们不再只是连网,更是被你精选的菜单所吸引,即扫即点,畅享美食;💰当他们想支付时,不需四处寻找,扫一下Wi-Fi码,轻松完成交易;🎉那些新品、促销信息,都在连网的瞬间展现在他们面前,确保你每一次的推广都落到实处;🛍Wi-Fi码成为了与顾客沟通的桥梁,你的产品、服务、品牌,都通过它被展现、被传递;🚀更何况,有了小程序跳转功能,深化顾客的体验,让他们了解到更多。我们相信,每一个简单的扫码,都藏有无尽的商机。选择我们,释放你Wi-Fi码的潜力,实现真正的“一码多用”,让每次互动都充满价值!

2023-08-13 22:45:51 54

原创 wifi总动员的【增值服务】,带给合伙人的全新商机!

想象一下,当用户扫描了特定的wifi码后,他们不仅可以轻松连接到网络,还可以直接进行点餐、支付账单、查看独家广告、了解和购买产品,甚至跳转到其他有趣的小程序。但由于这种模式下,用户在多次访问同一地点时可能不再扫描wifi码,从而导致了wifi码的复用性及合伙人的收益都受到了限制。这一系列的互动和体验不仅增强了商家与顾客之间的连接,也使合伙人的工作变得更加有意义和有价值。总之,【Wi-Fi总动员】的增值服务不仅重新定义了wifi码的功能和价值,还为合伙人开辟了全新的盈利渠道。

2023-08-13 22:31:27 114

原创 在Springboot集成Activiti工作流引擎-流程变量、任务组、 网关【基础讲解】

在流程定义中在任务节点的assignee固定设置任务负责人,在流程定义时参与者固定设置在.bpmn文件中。如果需要临时变更任务负责人 则需要修改流程定义,系统扩展性很差,针对这种情况,我们可以给任务设置。任务和执行实例仅仅针对一个任务和一个执行范围,范围没有流程实例大,称为local变量。流程运转有时会用到流程变量,业务系统和activiti结合时少步了流程变量,流程变量就是activiti在管理流程时根据管理需要而设置的变量。流程变量默认作用域时流程实例 变量名称必须唯一。local变量 局部的。

2023-07-24 13:30:12 363

原创 在Springboot集成Activiti工作流引擎-任务分配 三种模式【基础讲解】

任务分配 三种模式。

2023-07-24 00:17:23 361

原创 在Springboot集成Activiti工作流引擎-引入、调用,测试【基础讲解】

工作流 通过计算机对业务流程自动化执行管理他主要解决的是使在多个参与者之间按照某种“预定义规则”自动进行传递稳定 信息或任务的过程通俗来讲 业务上一个玩着的审批流程 比如请假,出差 外出采购等工作流引擎就是来解决流程问题的 提高我们的工作效率如果没有工作流引擎 我们就需要自己去写逻辑 就特别的复杂 扩展性还不强使用工作流引擎 业务改变,不需要修改代码如果是我们自己写的逻辑 有可能 业务改变,代码也需要改变那么为什么工作流引擎不用修改代码因为我们的工作流引擎都实现了一个规范这个规范要

2023-07-23 23:45:33 1545

原创 spring boot中常用的安全框架 Security框架 利用Security框架实现用户登录验证token和用户授权(接口权限控制)

org.springframework.security.crypto.password.PasswordEncoder 接口。

2023-07-23 20:48:56 3751

原创 设计模式常用七大原则简单介绍-1

设计模式常用七大原则java设计模式面试题例子:状态模式有一个订单 有审核-发布-抢单等步骤,随着操作不同,会改变订单状态,项目中的这个模块实现就会使用到状态模式请你使用状态模式进行设计,并完成代码。

2023-07-21 16:41:55 61

原创 共享wifi小程序实现原理分析---怎么用过微信扫一扫连接wifi呢,免输入密码!!!

传统wifi,当我们去到酒店或者餐厅当中,只要是带有一定时长的消费场景,连接wifi已经成为我们生活当中的刚需,如果一个场景当中没有wifi可能因此客户再也不会来到这个地方,怎么连接wifi就成为了—个必然的动作,有一些场景当中,没有wifi密码需要咨询前台,有wifi密码的可能因为密码较长,多次输错比较麻烦,用户体验极差,最近看到一个叫共享wifi的项目,原来是对接了微信的流量主实现的,还能产生收益,实际就是对接了微信的流量主功能和微信连接wifi的api接口实现的。我们再来对接一下 微信的流量主功能。

2023-07-16 23:02:40 556

原创 thinkphp6使用think-queue实现普通队列和延迟队列

在秒杀业务中,常常需要对用户提交的订单进行实时处理,在高并发场景下,消息队列通常是必不可少的。而Redis的延迟队列可以很好地应对这种场景,将用户订单压入队列中,计算出订单的处理时间,并在指定的时间点推送到下单消息队列中,等待下一个处理流程。将这些任务放入Redis延迟队列中,根据任务执行时间的计算,等待相应时机推送到任务队列中,提高任务的执行效率与稳定性。消息的发布,获取,执行,删除,重发,失败处理,延迟执行,超时控制等队列的多队列, 内存限制 ,启动,停止,守护等消息队列可降级为同步执行。

2023-07-04 17:33:12 1954 1

原创 2022年行业新风口 | 共享wifi | 市场痛点

平时我们到消费场所,第一件事就是问"老板,WIFI密码多少"那一长串的密码有时候要问好几次才输入正确.如果老板在忙.更是无暇顾及.对消费者来说消费体验又不好.wifi总动员针对这个痛点初推出的一款颠覆传统营销模式的产品 wifi总动员完美的解决了一系列繁琐的问题,用户只需一键扫码连接,大大改善了顾客连接WIFI的体验感.wifi总动员为商家提供安全便捷的连接方式.商家仅需提供WIFI名称和密码.不仅免费开通,还能通过植入广告产生商家、代理商、平台3方共同收益。不同的用户展示的广告也不同,广告的价格也不同。

2023-06-26 12:34:20 90

原创 选择大于努力,创业项目!总有一个适合你,想赚钱的别犹豫啦!

大家都知道,现在我国的社会贫富差距越来越大,那些有钱人简直太富裕了,能在发达城市买几套房子的还只是属于中产家庭,那些真正有钱人,我们普通人根本就无法想像他们到底多有钱。作为互联网创业的一部分,wifi总动员合伙人计划采用了无门槛、低成本的合作模式,为个人和公司提供了一个安全稳定的创业平台。首先,实体业创业风险较高。此外,互联网的快速发展带来了新的商业模式和创新机会,让创业者可以在不断变化的市场中找到自己的定位。实体业创业需要面对较高的风险和复杂的运营环境,而互联网创业则提供了低风险和广阔的市场机遇。

2023-06-26 12:28:35 68 1

原创 创建WiFi二维码,轻松连接附近WiFi,共享网络畅快体验!

WiFi二维码是一种将WiFi网络信息编码到二维码中的技术。通过扫描WiFi二维码,用户可以自动连接到对应的WiFi网络,而无需手动输入密码。这种方式省去了输入密码的麻烦,让用户更加便捷地访问WiFi。

2023-06-05 19:11:29 4845 1

原创 springboot mybatis-plus 对接 sqlserver 数据库 批处理的问题 批量更新添加数据 方案三

子表批量保存 使用的 mybatis-plus提供的 saveOrUpdateBatch saveBatch 这两个方法。于是我就 在 mybatis-plus 依赖的基础上 封装了一个 自定义的 saveOrUpdateBatch 方法。mybatis-plus 代码生成器 mybatis-plus-generator: 3.3.2。最后我的结论 应该是 mybatis-plus在处理 sqlserver 批处理的时候。mssql-jdbc 和 mybatis-plus 都调整的了版本 还是不行。

2023-04-19 16:34:02 2589 3

原创 springboot mybatis-plus 调用 sqlserver 的 存储过程 返回值问题

此处使用Map传参,原因在于存储过程的返回值,通常在参数定义中实现,如In 入参、out 出参。3、 存储过程的output参数,只能通过传入的map获取参数,使用map.XXX;第二种因为传一个参数是可以省略@Param(“”)的,但是这种情况下不能使用${},4、存储过程对应的数据类型为枚举类型,需要使用大写,如VARCHAR。2、有两种方式带参:“$””#”

2023-03-27 17:57:58 1660

原创 springboot mybatis-plus 对接 sqlserver 数据库 批处理的问题

useGeneratedKeys=“true” 这个key 注意一下 网上有说 这个key 也会导致这个问题的出现。子表批量保存 使用的 mybatis-plus提供的saveOrUpdateBatch 这个方法。mybatis-plus 代码生成器 mybatis-plus-generator: 3.3.2。最后我的结论 应该是 mybatis-plus在处理 sqlserver 批处理的时候。mssql-jdbc 和 mybatis-plus 都调整的了版本 还是不行。如果 这两种 都不爽。

2023-03-04 17:10:13 1547

原创 Spring boot + mybatis-plus 遇到 数据库字段 创建不规范 大驼峰 下划线 导致前端传参数 后端收不到参数 解决方案

最近使用springboot 连接了一个 sqlserver 数据库由于数据库年数久远 ,建表字段不规范 大驼峰 下划线的字段名都有但是 java 中 Spring boot + mybatis-plus 又严格按照小驼峰 格式 生成实体类如果不是小驼峰格式@Data 注解get set 方法使用这个类 来接取前端的参数 发现 获取不到 实体类的值而且 这个实体类打印出来 请求参数就没接收到如果手动一个一个的来修改字段成 小驼峰 就很烦经过摸索 找到了 偷懒的方案。

2023-03-02 18:09:36 3643

原创 springboot mybatis-plus 对接 sqlserver 数据库时间类型datetime date 转换实体类 LocalDateTime 报错 解决方案

mybatis-plus 代码生成器 mybatis-plus-generator: 3.3.2。所以我使用了 更改SQL Server JDBC 驱动 依赖。下面再分享一下 我查询到的 mysql 的解决方案。sqljdbc和sqljdbc4 应该是有区别的。如果遇到 mysql 的这要问题 可以做个参考。在对接sqlserver 什么都配置好了。SQL Server JDBC驱动中。研究了 几个小时 找到了解决方案。我按照mysql 数据的解决方案。大家想了解 百度就好。

2023-03-02 16:11:10 2114 1

oracle-instantclient11.2-sqlplus-11.2.0.3.0-1.x86_64.zip

oracle-instantclient11.2-sqlplus-11.2.0.3.0-1.x86_64.rpm

2019-07-22

oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64.zip

oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64

2019-07-22

php安装扩展_instantclient11.2-_-basic_11.2.0.3.0_oracle_1.x86_64_安装扩展.zip

oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64

2019-07-22

全国省市县用的sql库.zip

中国各省份及城市sql server 的sql语句

2019-06-25

VC++编写的Radius Server源代码

这是VC++编写的Radius Server源代码。

2018-10-29

AES CBC ECB C++代码实现

AEC-ECB,AEC-CBC,支持keylen 128,192,256,直接把代码添加到自己的project下,调用相关API函数就可以使用。

2018-07-24

PHP制作识别验证码.zip

这是一款PHP制作识别验证码插件。。。。。。。。。。。。。。。。

2018-05-23

js复制剪贴板插件.zip

这是一款js复制剪贴板插件.好用至极。。。。。。。。。。。

2018-05-23

PHP导入Excel插件

这是一个php导入Excel插件 导入速度杠杠的啊 。。。。。

2018-05-23

daloradius汉化文件

用于freeradius daloradius系统汉化使用,请放心下载

2018-05-19

webuploader 0.1.5

好用的上传工具,可以同时上传多个文件和图片,不可多得的好东西,

2018-03-20

PHP安装ionCube扩展检测

loader-wizard.php 安装文件,自动检测你需要的插件,非常方便

2018-03-19

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

TA关注的人

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