- 博客(184)
- 收藏
- 关注

原创 解决ORA-12154: TNS:无法解析指定的连接标识符
ORA-12154错误表示Oracle客户端在尝试连接到数据库时,无法解析指定的连接标识符(或称为服务名)。这通常是因为tnsnames.ora文件中没有相应的条目,或者该条目的配置信息有误。解决方法包括检查连接标识符、确认连接标识符、检查权限、检查数据库状态和检查网络连接。
2024-11-17 12:12:16
11947
1

原创 docker进入容器运行命令
Docker是一种流行的容器化平台,它能够快速构建、交付和运行应用程序。在使用Docker时,我们经常需要进入容器进行调试、管理和运行命令等操作。进入 docker 容器需要执行以下步骤:打开终端窗口。使用 docker ps 命令查看正在运行的容器。使用 docker exec -it /bin/bash 命令进入容器,在容器内执行命令,使用 exit 命令退出容器。
2024-09-07 11:14:05
20173
2

原创 Chrome浏览器 安装Vue插件vue-devtools
vue-devtools 是一个为 Vue.js 开发者设计的 Chrome 插件。它可以让你更轻松地审查和调试 Vue 应用程序。与普通的浏览器控制台工具不同,Vue.js devtools 专为 Vue 的响应性数据和组件结构量身定做。
2024-03-30 17:48:26
7231
1

原创 【前端】input表单 type属性详解
input 元素可以用来生成一个供用户输入数据的简单文本框。 在默认的情况下, 什么样的数据均可以输入。而通过不同的type属性值,可以限制输入的内容。
2024-03-19 22:59:36
7763
原创 基于Bootstrap 的网页html css 登录页制作成品
Bootstrap是一个用于快速开发Web应用程序和网站的前端框架,由Twitter的设计师Mark Otto和Jacob Thornton合作开发。它基于HTML、CSS和JavaScript,旨在通过提供一系列预定义的CSS类、JavaScript插件和HTML模板,简化Web开发过程,使开发者能够快速创建美观且功能丰富的网页。HTML代码构成了网页的基础结构。编写HTML时,应关注语义化标签、链接和图像、表格和列表的使用,以创建清晰、易于导航的网页。HTML完成后,使用CSS添加风格和色彩。
2025-05-18 09:29:22
1248
原创 【Bootstrap V4系列】学习入门教程之 组件-分页(Pagination)
本文介绍了Bootstrap V4中的分页组件(Pagination),用于在多个页面之间导航。分页组件通过HTML列表元素构建,并使用<nav>标签包裹,以便屏幕阅读器识别为导航区域。文章详细说明了如何创建基本分页、使用图标、设置禁用和激活状态、调整尺寸以及对齐方式。通过添加.disabled和.active类,可以控制分页链接的可用性和当前状态。此外,可以通过.pagination-lg或.pagination-sm类调整分页的大小,并通过justify-content类实现对齐方式的控制。
2025-05-14 17:22:31
1155
原创 【Bootstrap V4系列】学习入门教程之 组件-导航条(Navbar)
Bootstrap V4 的导航条(Navbar)是一个功能强大且响应迅速的组件,支持品牌、导航、折叠插件等功能。导航条需要.navbar和.navbar-expand{-sm|-md|-lg|-xl}类来实现响应式折叠,默认情况下是流畅的,但可以通过容器限制宽度。导航条内置了多种子组件,如.navbar-brand(品牌)、.navbar-nav(导航)、.navbar-toggler(切换器)等,支持下拉菜单、内联表单和文本内容。可以通过.collapse.navbar-collapse实现内容的折叠。
2025-05-14 17:19:36
1168
1
原创 【Bootstrap V4系列】学习入门教程之 组件-导航(Navs)高级用法
本文介绍了Bootstrap V4中导航组件的高级用法,重点包括可访问性、下拉菜单和JavaScript行为。在可访问性方面,建议在导航栏的父容器中添加role="navigation"或使用<nav>元素,避免在<ul>上直接添加角色。对于动态选项卡式界面,应使用role="tablist"、role="tab"和role="tabpanel"等ARIA属性。
2025-05-13 16:36:28
703
2
原创 【Bootstrap V4系列】学习入门教程之 组件-导航(Navs)
Bootstrap V4 提供了多种导航组件样式,包括基础导航(Base nav)、水平对齐(Horizontal alignment)、垂直导航(Vertical)、选项卡样式(Tabs)、胶囊样式(Pills)以及填充和对齐(Fill and justify)。基础导航使用 .nav 类构建,支持灵活标记和样式覆盖。通过添加 .justify-content-center 或 .justify-content-end 类,可以实现导航的水平居中对齐或右对齐。这些组件均基于 Flexbox 构建。
2025-05-13 16:32:53
1085
1
原创 【Bootstrap V4系列】学习入门教程之 组件-模态框(Modal)
Bootstrap V4 的模态框(Modal)组件是一个用于创建对话框的强大工具,适用于灯箱、用户通知或自定义内容。模态框通过 HTML、CSS 和 JavaScript 实现,位于页面内容之上,并禁用页面滚动以确保模态内容可滚动。Bootstrap 一次仅支持一个模态框,且不支持嵌套模态框。模态框使用 position:fixed,因此在移动设备上需注意兼容性问题。通过示例代码,展示了如何实现模态框的触发、静态背景、长内容滚动、垂直居中以及动态内容切换等功能。
2025-05-12 17:11:42
1095
原创 【Bootstrap V4系列】学习入门教程之 组件-表单(Forms)高级用法(二)
本文介绍了Bootstrap V4中表单组件的高级用法,主要包括帮助文本、禁用表单和表单验证三个方面。帮助文本可以通过.form-text类实现,并与表单控件通过aria-describedby属性关联,确保辅助技术能够正确读取。禁用表单通过在输入元素或<fieldset>中添加disabled属性来实现,防止用户交互。表单验证部分详细讲解了HTML5验证的工作原理,并通过.was-validated类控制验证样式的显示。
2025-05-12 16:26:59
990
2
原创 【Bootstrap V4系列】学习入门教程之 组件-媒体对象(Media object)
Bootstrap V4中的媒体对象(Media object)组件用于构建重复性高的内容布局,如博客评论、推文等。通过.media和.media-body两个类,可以轻松创建包含媒体(如图片)和文本的布局。媒体对象支持无限嵌套,只需将嵌套的.media放入父对象的.media-body中。此外,媒体对象中的媒体可以通过flexbox实用程序与文本内容进行顶部、中间或底部对齐。示例代码展示了如何实现单一媒体对象、嵌套媒体对象以及不同对齐方式的布局效果。
2025-05-11 17:48:29
729
原创 【Bootstrap V4系列】学习入门教程之 组件-巨幕(Jumbotron)和列表组(List group)
巨幕(Jumbotron)是一个轻量级、灵活的组件,可以选择扩展整个视口,以在您的网站上展示关键的营销信息。要使jumbotron为全宽,且没有圆角,请添加.jumboron-fluid 流体修改器类,并在其中添加.container或.container-fluid 流体。列表组是一个灵活而强大的组件,用于显示一系列内容。修改和扩展它们以支持其中的几乎任何内容。最基本的列表组是一个包含列表项和适当类的无序列表。使用以下选项或根据需要使用自己的CSS进行构建。
2025-05-11 17:46:29
942
原创 【Bootstrap V4系列】学习入门教程之 组件-输入组(Input group)
Bootstrap V4中的输入组(Input group)组件允许在表单控件的任一侧添加文本、按钮或按钮组,以扩展其功能。基本示例展示了如何在输入框两侧放置插件或按钮,并通过HTML代码实现。输入组还支持包装(Wrapping)功能,默认使用flex-wrap:wrap,可通过.flex-nowrap禁用。按钮插件(Button addons)功能则允许在输入组中添加按钮,为用户提供更多交互选项。通过这些功能,Bootstrap V4的输入组组件能够灵活地满足各种表单设计需求。
2025-05-10 20:16:04
1087
原创 【Bootstrap V4系列】学习入门教程之 组件-表单(Forms)的高级用法(二)
本文介绍了Bootstrap V4中表单组件的高级用法,主要包括帮助文本、禁用表单和表单验证三个方面。首先,帮助文本可以通过.form-text类实现,并与表单控件通过aria-describedby属性关联,确保辅助技术能够正确读取。其次,禁用表单可以通过添加disabled属性来阻止用户交互,并应用于单个输入或整个<fieldset>。最后,表单验证部分详细讲解了HTML5验证的工作原理,并通过自定义样式和JavaScript实现更灵活的验证反馈。
2025-05-10 20:00:43
1192
原创 【Bootstrap V4系列】学习入门教程之 组件-表单(Forms)高级用法
本文介绍了Bootstrap V4中表单组件的高级用法,重点讲解了布局和表单组的应用。默认情况下,Bootstrap表单控件垂直堆叠,但可以通过.form-group类对表单元素进行分组,提升结构性和可读性。此外,文章还详细介绍了如何使用网格系统(.row和.col)创建复杂的表单布局,包括水平表单、列尺寸调整和自动调整大小等功能。通过这些方法,开发者可以灵活设计多列、不同宽度和对齐方式的表单,满足多样化的需求。
2025-05-09 19:52:15
1000
原创 【Bootstrap V4系列】学习入门教程之 组件-表单(Forms)
Bootstrap的表单控件通过类扩展了我们重新启动的表单样式。使用这些类可以选择进入其自定义显示,以便在浏览器和设备之间实现更一致的渲染。确保在所有输入上使用适当的类型属性(例如,电子邮件地址为电子邮件,数字信息为数字),以利用电子邮件验证、数字选择等较新的输入控件。这里有一个快速的例子来演示Bootstrap的表单样式。文本形式控件(如<input>s、<select>s和<textarea>s)使用.form-control 控件类进行样式设置。包括一般外观、焦点状态、大小等样式。
2025-05-09 19:39:40
879
1
原创 【Bootstrap V4系列】学习入门教程之 组件-下拉菜单(Dropdowns)高级用法
通过在父元素中添加.dropup来触发元素上方的下拉菜单。通过在父元素中添加.dropright来触发元素右侧的下拉菜单。通过在父元素中添加.dropleft来触发元素左侧的下拉菜单。从历史上看,下拉菜单内容必须是链接,但v4不再如此。现在,您可以在下拉菜单中选择使用<button>元素,而不仅仅是<a>s。您还可以使用 .dropdown-item-text 创建非交互式下拉项。您可以使用自定义CSS或文本实用程序进一步设置样式。将.active添加到下拉列表中的项目中,将其设置为活动。
2025-05-08 18:05:38
858
原创 【Bootstrap V4系列】学习入门教程之 组件-下拉菜单(Dropdowns)
下拉菜单是可切换的,上下文覆盖用于显示链接列表等。它们与附带的Bootstrap下拉JavaScript插件进行了交互。它们是通过点击而不是悬停来切换的;这是一个有意的设计决策。下拉菜单基于第三方库Popper构建,该库提供动态定位和视口检测。请确保在Bootstrap的JavaScript之前包含popper.min.js,或者使用包含popper的bootstrap.bundle.min.js/bootstrap.bundle.js。Popper不用于定位导航栏中的下拉菜单,因为不需要动态定位。
2025-05-08 17:58:16
639
原创 【Bootstrap V4系列】学习入门教程之 组件-折叠(Collapse)
collapse JavaScript插件用于显示和隐藏内容。按钮或锚点用作触发器,映射到您切换的特定元素。折叠元素将使height 高度从其当前值动画化为0。考虑到CSS处理动画的方式,您不能在.collapse 元素上使用padding填充。相反,将类用作独立的包装元素。通常,我们建议使用带有data-target属性的按钮。虽然从语义角度来看不建议使用,但您也可以使用带有href属性的链接(以及role=“button”)。在这两种情况下,都需要数据切换data-toggle="collapse"。
2025-05-07 22:02:36
1248
1
原创 【Bootstrap V4系列】学习入门教程之 组件-轮播(Carousel)高级用法
向您的旋转木马添加.carousel-fade淡入淡出,以使用淡入淡出过渡而不是幻灯片来制作幻灯片动画。根据您的轮播内容(例如,纯文本幻灯片),您可能需要在.carousel-items 轮播项目中添加.bg-body 正文或一些自定义CSS,以进行适当的交叉缩放。将data-interval=""数据间隔添加到.carousel-item项目,以更改自动循环到下一个项目之间的延迟时间。
2025-05-07 21:55:54
1206
原创 【Bootstrap V4系列】学习入门教程之 组件-轮播(Carousel)
轮播是一个幻灯片,用于循环播放一系列内容,就像旋转木马一样。使用CSS 3D转换和一点JavaScript构建。它适用于一系列图像、文本或自定义标记。它还包括对上一个/下一个控件和指示器的支持。需要将.active类添加到其中一张幻灯片中,否则旋转木马将不可见。另外,请确保在.carousel上为可选控件设置一个唯一的id,特别是如果您在单个页面上使用多个carousel。控件和指示器元素必须具有与.carousel元素的id匹配的data-target数据目标属性。
2025-05-06 21:55:28
1322
2
原创 【Bootstrap V4系列】学习入门教程之 组件-卡片(Card)高级用法
卡片开始时没有特定的宽度,因此除非另有说明,否则它们将是100%宽的。您可以根据需要使用自定义CSS、网格类、网格Sass混入或实用程序进行更改。使用网格,根据需要将卡片包裹在列和行中。使用我们为数不多的可用尺寸工具快速设置卡片的宽度。在样式表中使用自定义CSS或作为内联样式来设置宽度。您可以使用我们的文本对齐类快速更改任何卡片的文本对齐方式,无论是整体还是特定部分。使用Bootstrap的导航组件为卡片的标题(或块)添加一些导航。
2025-05-06 21:48:40
867
1
原创 【Bootstrap V4系列】学习入门教程之 组件-卡片(Card)
Bootstrap的卡片提供了一个灵活且可扩展的内容容器,其中包含多种变体和选项。卡片尽可能少地使用标记和样式构建,但仍然能够提供大量的控制和定制。它们采用flexbox构建,易于对齐,并与其他Bootstrap组件很好地混合。默认情况下,它们没有边距,因此根据需要使用间距实用程序。下面是一个具有混合内容和固定宽度的基本卡的示例。卡片开始时没有固定的宽度,因此它们自然会填充其父元素的整个宽度。这很容易通过我们的各种尺寸选项进行定制。
2025-05-05 20:26:00
843
原创 【Bootstrap V4系列】学习入门教程之 组件-按钮组(Button group)
使用按钮组将一系列按钮组合在一行上,并使用JavaScript为它们提供超能力。在.btn-group组中用.btn包裹一系列按钮。使用我们的按钮插件添加可选的JavaScript单选和复选框样式行为。将按钮组集合组合到按钮工具栏中,以用于更复杂的组件。根据需要使用实用程序类来分隔组、按钮等。不要将按钮大小类应用于组中的每个按钮,只需将.btn group-*添加到每个.btn-group中,包括嵌套多个组时的每个按钮。
2025-05-05 19:46:04
716
原创 【Bootstrap V4系列】学习入门教程之 组件-按钮(Buttons)
使用Bootstrap的自定义按钮样式在表单、对话框等中执行操作,并支持多种大小、状态等。Bootstrap 内置了几种预定义的按钮样式,每种样式都有自己的语义目的,并添加了一些额外的按钮。.btn 系列类(class)被设计为用于 <button> 元素。不过,你也可以将这些类用于 <a> 或 <input> 元素。当 .btn 系列类(class)用于 <a> 元素并触发页面上的功能(例如折叠内容),而不是链接到新页面或当前页面中的内容部分时,应当为这些链接设置 role="button" 属性。
2025-05-03 21:10:46
922
1
原创 【Bootstrap V4系列】学习入门教程之 组件-徽章(Badge)和面包屑导航(Breadcrumb)
徽章(badge)是一种小型的用于计数和打标签的组件。徽章(badge)组件通过使用相对字体大小和 em 单位来实现缩放以匹配其直接父元素的大小。徽章(badge)组件可以作为链接或按钮的一个组成部分,以提供计数功能。在 <a> 元素上使用具有情境模式的 .badge-* 类可以快速为 可相应动作的 徽章(badge)组件赋予鼠标悬停和焦点状态。面包屑导航(Breadcrumb)用于指示当前页面在导航层级中的位置,并通过 CSS 为各导航条目之间自动添加分隔符。
2025-05-03 21:04:14
1271
原创 【Bootstrap V4系列】 学习入门教程之 组件-警告框(Alert)
通过精炼且灵活的警告消息为典型的用户操作提供契合上下文的反馈。警告框(alert)组件能够展示任意长度的文本以及一个可选的关闭按钮。为了展示合适的样式,必须 从下列 8 个情境类(例如 .alert-success)中选择一个合适的并使用。如需内联一个关闭按钮,请使用 警告框(alert)的 JavaScript 插件。
2025-05-02 20:17:13
1393
原创 【Bootstrap V4系列】学习入门教程之 表格(Tables)和画像(Figure)
使用Bootstrap对表进行选择加入样式设置的文档和示例。由于表格在日历和日期选择器等第三方小部件中的广泛使用,我们将表格设计为可选择加入。只需将基类.table添加到任何<table>中,然后使用自定义样式或我们包含的各种修饰符类进行扩展。使用最基本的表标记,以下是Bootstrap中基于.table的表的外观。Bootstrap 4继承了所有表样式,这意味着任何嵌套表都将以与父表相同的方式进行样式设置。
2025-05-02 20:13:14
854
原创 【Bootstrap V4系列】学习入门教程之 代码(Code)和图片(Image)
代码(Code)展示如何使用 Bootstrap 展示行内代码和多行代码块。图片(Image)文档及示例展示了如何让图片支持响应式行为(这样它们就不会超出父元素的范围)以及如何通过类(class)添加些许样式。
2025-05-01 21:05:10
557
原创 【Bootstrap V4系列】学习入门教程之 页面内容排版
Bootstrap排版的文档和示例,包括全局设置、标题、正文、列表等。Bootstrap设置基本的全局显示、排版和链接样式。当需要更多控制时,请查看文本实用程序类。为了获得更具包容性和可访问性的字体比例,我们使用浏览器的默认根字体大小(通常为16px),以便访问者可以根据需要自定义浏览器默认值。
2025-05-01 20:29:24
812
原创 【Bootstrap V4系列】学习入门教程之 布局
Bootstrap的网格系统使用一系列容器、行和列来布局和对齐内容。它采用flexbox制造,反应灵敏。下面是一个例子,深入了解网格是如何组合在一起的。容器提供了一种将网站内容居中和水平放置的方法。使用.container作为响应像素宽度或.container流体作为宽度:在所有视口和设备尺寸上100%。
2025-04-30 23:18:07
1146
原创 【Bootstrap V4系列】学习入门教程之 加载必要文件和入门模板
如何让项目快速用上 Bootstrap? 使用 jsDelivr,这是一个免费且开源的 CDN,在你的页面上添加几个文件链接就能开始你的 Bootstrap 之旅啦。请确保使用最新的页面设计和开发标准来设置页面。也就是说,使用 HTML5 文档类型(doctype)、并包含一个设置 viewport(视口)的 标签以实现正确的响应式布局行为。这些要求组合在一起之后,你的页面应当如下所示
2025-04-30 22:15:04
895
原创 Spring AOP的工作原理和实现方式
AOP是Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。
2025-01-02 22:16:29
1776
2
原创 Java开发者 提升技能水平的10个建议
提升自己的编码技能水平需要我们养成编程的好习惯,还有不断学习、实践、总结和积累经验。通过学习新的Java版本和特性、深入学习数据结构与算法、掌握设计模式、实践项目与开源贡献、学习开发框架和工具、参加培训和技术会议、经验交流和合作,以及持续学习和自我提升,你可以不断提高自己的技能,成为一名优秀的Java开发工程师,并在职业发展中取得更多的机会和成功。
2025-01-02 21:28:20
1520
1
原创 程序员 在工作中的创作规划怎么写?
创作规划是指个人在创作过程中制定的具体计划和目标,帮助有条不紊地进行创作,并确保最终能够按照预定的计划完成创作任务。你需要知道创作的这些背景知识,建议提前详细了解。这些知识也将帮助你在各种场面中写出明确、具体和严谨的描述。
2024-12-29 23:19:59
1179
3
原创 ArrayList 和LinkedList的区别比较
ArrayList和LinkedList的主要区别在于它们的底层数据结构、性能特点以及适用场景。ArrayList和LinkedList从名字分析,他们一个是Array(动态数组)的数据结构,一个时Linked(链表)的数据结构,此外,他们两个都是对List接口的实现。前者是数组队列,相当于动态数组;后者为双向链表结构,也可当作堆栈、队列、双端队列。
2024-12-29 16:45:00
3147
2
原创 js正则表达式 验证邮箱格式,非法字符限制输入
正则表达式是一种用来匹配字符串的强有力实用工具,它的设计思想是用一种描述性的语言定义一个规则,凡是符合规则的字符串,我们就认为它“匹配”了,否则,该字符串就是不合法的。根据正则表达式语法规则,大部分字符仅能够描述自身,这些字符被称为普通字符,如所有的字母、数字等。
2024-12-28 23:40:53
3472
原创 大学生职业发展规划
职业规划是个人发展的重要组成部分,它能帮助你明确目标、制定计划并指导行动。在开始写职业规划之前,首先要对自己的性格、能力、兴趣、价值观等各个方面进行全面评估。这将有助于你确定适合自己的职业方向和领域。只有对环境因素充分了解和把握,才能做到在复杂的环境中避害趋利,使你的职业生涯规划具有实际意义。环境因素评估主要包括:组织环境、政治环境、社会环境、经济环境。
2024-12-28 18:53:58
1237
1
原创 Oracle 数据库函数的用法(一)
Oracle数据库提供了大量的内置函数,可以用于完成各种操作,如字符串操作,数学计算,日期时间处理,条件判断,序列生成,聚合统计等。
2024-12-21 23:28:18
535
3
SpringBoot项目 MockMvc自动化单元测试开发过程
2024-02-26
2023年Java面试题经验分享.docx
2024-09-02
idea 常用的快捷键大全.docx
2024-09-02
IDEA Tomcat设置启动参数,环境变量
2024-09-02
Java正则表达式 验证手机号码是否合法并脱敏的完整实例
2024-04-30
css样式 鼠标滑过/指向图片变色变暗加边框
2024-09-01
lombok插件 简化代码的神器安装包
2024-09-02
Fastjson工具进行JSON序列化
2024-09-01
xx项目管理系统202309版测试用例
2024-09-01
css float浮动属性使用方法和实例讲解
2024-09-01
mysql数据库建表语句(对应项目实体表)
2024-09-01
css将一张中秋主题图片设置为整个html页面的背景
2024-08-31
Java中的Gson序列化工具
2024-08-31
Mybatis动态sql语句的mapper.xml文件
2024-08-31
mysql批量插入数据运行脚本
2024-08-31
Java使用JSON序列化教程
2024-08-31
Java数组去重 集合List去重的常用方法总结
2024-02-26
JSP 常用的标签以及用法举例
2024-04-30
JDK8安装包-windows-x64.rar
2024-11-16
安装Redis-x64-3.2.100.rar
2024-09-27
安装Notepad++.7.5.6.Installer.rar
2024-09-27
Linux 项目开发vim编辑器的应用实例.docx
2024-09-27
求职季,真实Java面试题分享
2024-09-26
linux常用命令大全.docx
2024-09-14
项目开发团队 如何应对突发的技术故障和危机.docx
2024-09-04
jquery swiper插件的用法教程.docx
2024-09-04
jquery swiper插件使用案例demo.rar
2024-09-04
Javascript网页设计案例 login登录页面.rar
2024-09-04
解决Idea安装lombok插件不兼容问题.docx
2024-09-04
java中的跨域问题及其4种解决方法.docx
2024-09-04
Git工具的使用操作说明和常见问题的总结.docx
2024-09-03
Idea 控制台出现乱码问题的4种解决方案.docx
2024-09-03
css样式国庆节为主题的页面 实现文字在图片下方
2024-09-02
Java 项目开发中处理大数据的方法.docx
2024-09-02
Jackson进行JSON的序列化与反序列化案例教程.docx
2024-09-02
在idea工具写好了代码,怎么能去掉.idea文件的显示
2024-04-28
谈一下数据库mysql的锁?
2024-03-01
发布版本时候,你是怎么项目部署的?
2024-03-01
git版本管理工具是怎么用的,有冲突怎么解决?
2024-03-01
单元测试中代码覆盖率的问题
2023-12-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人