- 博客(832)
- 资源 (9)
- 收藏
- 关注
原创 vdi模式是什么
在VDI模式下,所有计算资源(包括CPU、内存、存储等)都位于后端服务器上,用户通过前端设备(通常是瘦客户机、平板电脑或智能手机)通过网络连接到服务器上的虚拟桌面。VDI模式(Virtual Desktop Infrastructure)是一种基于服务器的计算模型,其核心思想是将所有计算和存储资源集中在服务器上,用户通过前端设备(如瘦客户机)访问服务器上的虚拟桌面。例如,大型企业、金融机构、政府机构等,这些场所通常对数据安全和系统稳定性有较高要求,VDI模式能够提供更好的管理和安全保障。
2025-03-31 18:34:31
228
原创 NameError: name ‘disclaim_key_flags‘ is not defined
在 Python 中遇到 NameError: name ‘disclaim_key_flags’ is not defined 错误意味着你的代码中尝试使用了 disclaim_key_flags 这个名字,但是在当前的作用域中并没有定义。如果是自定义内容,则确保其定义在你的使用之前。未导入模块或库:如果 disclaim_key_flags 是某个库或模块的一部分,你需要确保已经正确导入了那个库或模块。例如,如果你在函数内部使用了在外部定义的变量或函数,你需要确保它们在正确的顺序和作用域中被定义。
2025-03-28 16:51:28
183
原创 pip show protobuf ValueError: invalid literal for int() with base 10: ‘‘
这个问题可能不是直接由 pip show protobuf 命令引起的,而是可能在你的环境中存在一些不兼容或损坏的数据。如果问题仍然存在,可能需要更详细地检查你的系统配置或考虑是否存在系统级的问题(如损坏的 Python 安装)。在这种情况下,重新安装 Python 可能是最后的手段。确保你的环境变量(如 PATH)没有设置错误,这可能会影响 pip 的运行。确保你的 pip 和 Python 版本是最新的,或者至少是兼容的版本。有时候,重新安装库可以解决版本冲突或损坏的问题。
2025-03-28 15:45:26
428
原创 markdown 文件转 word
这些方法中的每一种都可以帮助你将 Markdown 文件转换为 Word 文档。Markdown Monster - 一个 Windows 平台的 Markdown 编辑器,支持导出为 Word 文档。Typora - 一个流行的 Markdown 编辑器,支持导出为多种格式,包括 Word。将 Markdown 文件转换为 Word 文档,可以使用多种方法。使用“文件”->“导出”->“导出为 Word”功能。使用“文件”->“导出”->“导出为 Word”功能。上传你的 Markdown 文件。
2025-03-27 16:50:51
612
原创 ubuntu如何安装conda
在安装过程中,你可以选择conda的安装位置(默认通常是$HOME/miniconda3),以及是否将其添加到你的PATH环境变量中。在Ubuntu上安装Conda(一种流行的Python包、依赖和环境管理器),你可以通过Miniconda或Anaconda的安装脚本来完成。选择Miniconda如果你只需要基本的conda功能,或者选择Anaconda如果你需要更多的科学计算包。Miniconda是一个轻量级的conda安装版本,它只包含conda、Python和几个常用的科学计算包。
2025-03-27 16:10:13
432
原创 linux如何查看系统版本
这是几种常见的方法,旨在显示Linux操作系统的版本信息。这会显示出各种系统信息,如ID(操作系统标识符)、名称、版本号和ID_LIKE(类似的操作系统标识)等。使用hostnamectl命令:这个命令可用于查看系统的静态和动态状态信息,包括系统版本。使用uname命令:这个命令可用于获取内核和系统信息,其中-r选项显示内核版本。这会显示出完整的系统版本信息,包括发行版名称、版本号和codename。这会显示出各种系统信息,如操作系统、内核版本和架构等。这会显示出包括内核版本在内的完整系统信息。
2025-03-27 16:04:23
324
原创 crontab 日志查看
通过上述方法,你可以查看和管理与crontab相关的日志信息。根据你的具体需求和系统配置选择合适的方法。如果你需要更详细的输出或调试信息,开启调试模式是一个很好的选择。在Linux系统中,crontab(cron table)是用于设置周期性执行任务的一个工具。这会将所有执行的命令输出到系统日志中。记得替换your_email@example.com为你的邮箱地址,以便接收邮件通知。这里,username应替换为实际用户的用户名。CRON_LOGLEVEL=8 # 设置为8以获取详细的日志输出。
2025-03-27 15:48:11
107
原创 使用crontab 每两分钟执行一次 进入 /var/xxx 执行 git pull
如果 git pull 需要用户名和密码,你可能需要在你的机器上配置 git 的凭据帮助器(例如使用 git config credential.helper store),或者在脚本中处理认证信息(例如使用凭证助手或通过脚本传递)。设置完成后,你的任务将按照指定的时间间隔自动执行。你可以通过查看 /var/xxx 目录下的 git 仓库状态或日志文件来确认 git pull 是否成功执行。如果遇到权限问题,确保运行 git pull 的用户有足够的权限访问该目录和执行 git 命令。
2025-03-27 15:44:37
354
原创 服务器如何定时自动git pull gitlab 代码
之后,你可以使用这个文件来自动认证。要实现服务器定时自动从GitLab拉取(pull)代码,并自动输入账号密码,通常有几种方法可以实现。按照提示操作,通常可以按回车键接受默认的文件保存位置(如~/.ssh/id_rsa)和密码短语(可以为空)。如果你不想在~/.git-credentials文件中存储明文密码,可以使用expect脚本自动化输入密码。将生成的公钥(~/.ssh/id_rsa.pub)添加到你的GitLab账户的SSH密钥中。替换/path/to/git_pull.sh为你的脚本实际路径。
2025-03-27 15:34:30
196
原创 服务器如何定时自动git pull gitlab 代码 自动输入账号密码
之后,你可以使用这个文件来自动认证。要实现服务器定时自动从GitLab拉取(pull)代码,并自动输入账号密码,通常有几种方法可以实现。按照提示操作,通常可以按回车键接受默认的文件保存位置(如~/.ssh/id_rsa)和密码短语(可以为空)。如果你不想在~/.git-credentials文件中存储明文密码,可以使用expect脚本自动化输入密码。将生成的公钥(~/.ssh/id_rsa.pub)添加到你的GitLab账户的SSH密钥中。替换/path/to/git_pull.sh为你的脚本实际路径。
2025-03-27 15:28:34
281
原创 thermocalc单机版可以同时启动多个界面吗
最新版的Thermo-Calc提供给用户两种运行模式:图形模式(Graphical Mode)和指令模式(Console Mode)。用户可以并行使用多个独立的指令界面,并且可以将界面并排或连接在一起显示。此外,Thermo-Calc的指令模式(Console Mode)相当于之前的经典版TCC,具有强大的命令行输入功能,旧的TCC宏文件仍然可以用于指令模式。用户可以并行使用多个独立的指令界面,并且将界面并排或连接在一起显示,这使得用户可以同时处理多个任务,提高工作效率。
2025-03-27 14:02:19
167
原创 jmatpro单机版可以同时启动多个界面吗
配置每台显示器的屏幕窗口:在Windows的开始菜单中选择“控制面板>显示>调整分辨率”,点击“识别”按钮,并在每台显示器上标注相应的编号。在JMatPro的项目中为每个显示器配置概览画面,并在概览画面中放置一个屏幕窗口。设置屏幕窗口的属性,包括显示画面、独立窗口、位置和模式(居中)以及监视器编号。使用独立窗口:在JMatPro的界面中,可以通过设置使每个界面以独立窗口的形式显示。这样可以在一个主画面中分布多个监视器,或者单独显示每个监视器上的内容。JMatPro单机版可以同时启动多个界面。
2025-03-27 14:01:21
120
原创 python 的 obj的key 变成双引号
在Python中,当你序列化一个对象(例如使用json.dumps()方法将对象转换为JSON字符串)时,默认情况下,字典的键(keys)会被转换为字符串。如果你的字典中的键本身就是字符串,并且你想要在生成的JSON字符串中保持这些键的引号(即双引号),通常情况下这是不需要额外操作的,因为JSON标准就是使用双引号来标识字符串。如果你有一个对象(例如一个自定义类实例),并且你想要序列化它,同时保持键的双引号,你需要确保该对象可以被正确地序列化为字典,并且其中的键是字符串。
2025-03-27 11:44:56
391
原创 --data-urlencode 通过 requests如何传数据
手动URL编码:当你需要更精细地控制编码过程,或者你需要对某些特殊字符进行特殊处理时,你可以手动进行URL编码。在使用Python的requests库发送请求时,如果你需要通过–data-urlencode的方式来传递数据,实际上你可以使用data参数直接传递字典或者字节串,因为requests会自动对这些数据进行URL编码。如果你已经对数据进行URL编码,或者你想手动控制编码过程,你可以传递一个已经编码的字符串(通常是字节串)给data参数。在这种情况下,查询参数同样会被自动URL编码。
2025-03-27 11:00:54
278
原创 pandoc -o 生成docx 全是 乱码
通过上述步骤,你应该能够解决使用 Pandoc 生成 DOCX 文件时出现的乱码问题。如果问题仍然存在,可能需要更详细地检查具体的 Markdown 内容或进一步调查 Pandoc 的配置和依赖库。确保在生成的 DOCX 文件中嵌入所有字体。当使用 Pandoc 生成 DOCX 文件时遇到全是乱码的问题,通常是因为字符编码或字体支持不正确导致的。确保你的 Markdown 文件保存为 UTF-8 编码。在文本编辑器中(如 VSCode, Sublime Text 等),查看并更改文件编码设置。
2025-03-27 10:07:47
318
原创 latex如何用
一个LaTeX文档通常以\documentclass{}开始,用于设置文档类型,如article、book、report等。使用\title{}、\author{}、\date{}等命令设置标题信息,然后使用\maketitle显示标题。如需更多LaTeX教程和示例,可以参考在线LaTeX文档和社区资源,如Overleaf、TeX Live官网等。使用\section{}、\subsection{}等命令组织文档结构,分别表示一级标题、二级标题等。使用\begin{table}…
2025-03-27 10:00:01
229
原创 pandoc如何使用
例如,使用命令pandoc test.md -o test.docx --reference-docx=reference.docx,转换后的docx文件将与参考文档reference.docx的样式相同。在命令行中输入pandoc后直接回车,可以在终端中输入文本内容,并使用Ctrl+D(在Windows上是Ctrl+Z后回车)结束输入,Pandoc会将输入的文本转换为HTML并显示在终端中。Pandoc是一个功能强大的文档转换工具,支持将多种文档格式(如docx、md、tex、html等)进行相互转换。
2025-03-27 09:56:12
330
原创 wps如何给word加水印
PowerPoint:启动PowerPoint并打开你的演示文稿,转到“视图”选项卡并选择“母版视图”,在幻灯片母版上插入文本框或图片作为水印,设置透明度后退出母版视图并保存。Excel:打开Excel工作簿,点击“页面布局”选项卡,选择“水印”并添加你想要的文本或图像,调整格式和透明度后保存工作簿。或者选择位置进行移动,并同步进行距离的调整。在“页面布局”选项卡中,点击“水印”按钮,选择一个预设的水印,如“机密”、“草稿”等。在“页面布局”选项卡中,点击“水印”按钮,选择“自定义水印”选项。
2025-03-26 15:09:02
356
原创 flexlm的命令行操作
FlexLM 是 Flexera Software 提供的用于管理软件许可的服务器软件,它支持多种类型的软件许可证,包括浮动许可证和并发许可证。FlexLM 的具体版本和配置可能会影响命令的具体使用方式,建议参考具体的 FlexLM 文档或联系技术支持获取帮助。这里,client_hostname 是需要分配许可证的客户端的主机名或IP地址。这个命令会显示所有连接到服务器的客户端信息,包括每个客户端正在使用的许可证数量。通过上述命令,你可以有效地管理 FlexLM 服务器和其上的许可证。
2025-03-26 09:42:15
322
原创 flexlm web端监控
在使用 FlexLM 许可证管理器时,如果你想通过 Web 端来监控和管理许可证,你可以使用 FlexNet Publisher 的 Web 许可证管理器(Web License Manager)功能。配置完成后,你可以通过浏览器访问 Web License Manager 的界面。通过以上步骤,你应该能够成功设置并使用 FlexLM 的 Web 端监控功能来管理和监控你的许可证。配置文件:编辑 lmwebutil 的配置文件(通常是 lmwebutil.cfg),设置监听的端口和许可证服务器信息。
2025-03-26 09:39:29
344
原创 FLEXlm如何通过web 管理
FlexNet Publisher Web Server:Flexera 提供了一个名为 FlexNet Publisher Web Server 的附加组件,它可以与 FLEXlm 一起使用,创建一个基于 Web 的界面来监控和管理许可证。第三方解决方案:市场上也有一些第三方工具和服务,如 License Dashboard 或其他类似的监控和管理软件,它们可以集成到现有的 FLEXlm 环境中,通过 Web 界面提供管理和监控功能。访问 Web 界面:通过提供的 Web 界面查看和管理许可证。
2025-03-26 09:34:21
242
原创 FLEXlm如何通过web调用
通常,创建一个中间服务是最灵活和可扩展的方法,但也可能需要更多的开发和维护工作。开发 RESTful API 端点,如 /licenses/request 和 /licenses/release,这些端点可以处理 HTTP 请求并调用 FLEXlm 的功能。使用 SDK 中的函数来编写代码,以实现与 FLEXlm 许可证服务器的交互。部署你的 Web 应用,并确保它可以正确调用 FLEXlm 服务器以获取或释放许可证。部署你的中间服务,并通过你的 Web 应用调用这些 RESTful API。
2025-03-26 09:32:44
384
原创 FLEXlm如何调用
它广泛用于管理各种软件的授权,包括CAD软件、仿真软件和其他专业软件。FLEXlm 允许软件供应商通过许可证服务器控制对软件的访问,确保软件的合法使用。要调用FLEXlm管理的软件,通常有两种主要方式:通过命令行或者通过图形界面(如果软件支持的话)。配置许可证服务器:在属性或选项窗口中,找到与许可证服务器相关的设置,输入服务器的地址和特性代码。搜索软件:在搜索框中输入软件的名称,例如“example_software”。选择启动选项:在搜索结果中找到软件,右键点击选择“属性”或“选项”。
2025-03-26 09:31:00
291
原创 FLEXlm是什么
通过锁定机器的硬盘号、网卡号和使用日期,FlexLM支持加密狗,被80%以上的EDA(电子设计自动化)、CAD(计算机辅助设计)、CAE(计算机辅助工程)等软件公司采用,是当前最流行的研发设计软件加密方法之一。FlexLM允许管理员集中监控和管理这些软件的许可证,提高许可证的使用率,并为企业节省约50%的许可证费用。此外,FlexLM还提供了详细的报告功能,帮助IT管理员监控许可证的状态,优化资源分配,避免因许可证冲突导致的工作中断,并通过历史数据分析预测未来需求。FlexLM的工作原理和功能。
2025-03-26 09:28:51
279
原创 通过ansys的许可服务1055端口能获取到什么数据
Ansys的许可服务通常通过1055端口进行通信,主要用于管理软件的授权。使用 tasklist | findstr [进程号] 命令找到对应的进程,并在任务管理器中结束它。更改Ansys使用的端口:如果不想结束其他进程,也可以更改Ansys使用的端口。结束占用端口的进程:可以通过任务管理器找到并结束占用1055端口的进程。修改Ansys安装文件夹中的 ansyslmd.lic 文件,将端口号改为新的端口。通过Ansys的许可服务1055端口,可以获取到与许可管理相关的数据。
2025-03-26 09:26:30
341
原创 python 获取本地文件并通过requests 上传
在Python中使用requests库上传本地文件到服务器,通常涉及到将文件作为数据的一部分发送。文件编码:在files字典中,键(这里是’file’)是你希望在表单中使用的字段名,而值是打开的文件对象。服务器端点:确保服务器端点支持multipart/form-data类型的请求,并且能够正确处理上传的文件。假设你有一个名为file.txt的本地文件,你想要将其上传到服务器的一个处理文件上传的端点。文件路径:确保file_path是正确的,指向你想要上传的文件。步骤 2: 使用requests上传文件。
2025-03-24 16:45:48
296
原创 “‘_io.TextIOWrapper‘ object has no attribute ‘size‘“
在 Python 中,当你尝试使用 .size 属性从一个 io.TextIOWrapper 对象中获取文件大小,你会遇到错误,因为 TextIOWrapper 对象并没有 .size 属性。如果你已经有了一个 io.TextIOWrapper 对象,可以先获取其对应的文件描述符(通过 .fileno() 方法),然后使用 os.stat() 来获取文件大小。如果你已经有一个文件名(字符串形式的文件路径),你可以使用 os.path.getsize() 函数来获取文件大小。
2025-03-24 16:40:35
238
原创 python 传文件
选择哪种方法取决于你的具体需求和场景。通常,如果你只是简单地读取或写入文件,使用文件路径是最直接的方法。如果你需要在程序中多次操作同一个文件,使用文件对象可能更合适。如果你在编写一个命令行工具,使用argparse是一个好选择。而对于复杂的文件操作或者需要与其他程序交互的情况,可以考虑使用subprocess模块。在Python中,传递文件可以通过多种方式实现,具体取决于你的需求和场景。
2025-03-24 16:30:23
259
原创 python 模拟登录
在Python中模拟登录通常涉及到发送HTTP请求到服务器,并处理响应。这可以通过多种方式实现,最常见的方法之一是使用requests库。下面是一个简单的示例,展示了如何使用requests库来模拟登录一个网站(以一个假想的登录表单为例)。注意事项:安全性:在真实应用中,直接在代码中硬编码用户名和密码是不安全的。考虑使用环境变量或加密存储方式。HTTPS:确保使用HTTPS连接,以保护数据传输的安全。
2025-03-24 16:27:30
433
原创 abaqus module may only be imported in the Abaqus kernel process
要解决这个问题,你需要确保你的 Python 脚本在 Abaqus/CAE 环境中执行,而不是在标准的 Python 环境中。通过上述步骤,你应该能够解决导入 Abaqus 模块时遇到的错误,并成功地在 Abaqus 的环境中运行你的 Python 脚本。你可以在 Abaqus/CAE 的“文件”菜单中选择“新建”->“脚本”,然后粘贴或加载你的 Python 代码。在 Abaqus/CAE 的界面中,通常会有一个专门的脚本执行器或命令行界面,你可以在其中输入 Python 命令或执行整个脚本文件。
2025-03-24 11:39:59
368
原创 no encoding declared
默认编码问题:Python 2默认使用ASCII编码,当代码中包含非ASCII字符(如中文)时,会出现“no encoding declared”错误。Python 3默认使用UTF-8编码,但在读取非UTF-8编码的文件时,如果没有指定编码方式,可能会导致错误。设置编辑器或IDE的编码:确保你的文本编辑器或集成开发环境(IDE)的默认编码设置为UTF-8。文件编码不匹配:如果Python文件或文本文件的编码与Python解释器预期的编码不匹配,也会导致此错误。常用的编码声明有# -
2025-03-24 11:32:36
123
原创 abaqusplugins文件夹位置
CAE文件夹下的plugins文件夹:对于新版本的Abaqus(2016年以后),插件可以放在安装目录下的CAE文件夹中的plugins子文件夹内,路径通常为C:\SIMULIA\CAE\plugins。软件安装目录下:可以将插件文件解压到Abaqus的软件安装目录下,通常是在D:\SIMULIA\ABAQUS\plugins或D:\SIMULIA\CAE\plugins等路径下。通过以上步骤,您可以成功找到并安装Abaqus的插件,确保其在Abaqus环境中正常使用。
2025-03-24 11:13:38
570
原创 abaqus 二次开发
Abaqus本身提供了丰富的函数库,可以直接调用,也可以通过Python语言开发。另外还有Abaqus提供了很多的函数接口,是可以直接调用的,但是这些接口很复杂,初学者通常会不知道从哪里入手,但是如果在仿真中用Python编写一些简单的程序就非常方便了。此外,Abaqus还提供了getinput和getinputs函数,用于在脚本运行时提供一个对话框,让用户输入参数,便于直观地进行建模操作。Abaqus的API函数很多,其中有些不支持循环,如果调用的时候没有检查函数的参数,会出现不正确的结果。
2025-03-24 10:06:04
943
原创 abaqus 二次开发 No module named ‘abaqusConstants
Abaqus 安装问题:确保 Abaqus 已经被正确安装在你的计算机上,并且环境变量设置正确,使得 Python 能够找到 Abaqus 的模块。在打开的窗口中,点击“新建”,然后添加 Abaqus 安装目录的路径(例如 C:\Program Files\Siemens\Abaqus\)。环境问题:如果你在使用虚拟环境(如 conda 或 virtualenv),确保你的虚拟环境已经激活,并且包含了 Abaqus 的库。在“系统变量”区域,找到名为 Path 的变量,选择它然后点击“编辑”。
2025-03-24 09:37:19
386
原创 citrix安装部署
通过遵循以上步骤,你可以成功地在企业中部署Citrix XenApp或XenDesktop,从而提供高效、安全的虚拟化桌面和应用解决方案。在Citrix环境中,特别是在Citrix XenApp或Citrix XenDesktop的部署中,涉及到多个步骤和考虑因素。Citrix是一家提供虚拟化桌面和应用程序解决方案的公司,其产品可以帮助企业实现桌面和应用虚拟化,从而提升灵活性、安全性和管理效率。监控和维护:使用Citrix Studio监控系统性能,进行必要的维护和更新。
2025-03-21 16:55:30
342
原创 openstack安装部署
在OpenStack的安装和部署中,你需要按照一定的步骤来完成整个环境的搭建。OpenStack是一个开源的云计算平台,它提供了基础设施即服务(IaaS)的能力,包括计算、存储和网络等资源的管理。通常,至少需要几台服务器来分别运行控制器节点(Controller Node)、计算节点(Compute Node)和存储节点(例如使用Ceph作为存储)。配置各个服务,如Keystone(认证服务)、Glance(镜像服务)、Nova(计算服务)、Neutron(网络服务)和Cinder(块存储服务)。
2025-03-21 16:52:51
253
原创 CloudStack安装部署
在云计算领域,CloudStack 是一个开源的云平台解决方案,它允许用户构建和管理大规模的云基础设施。CloudStack 提供了一套完整的云管理平台,包括虚拟化、存储和网络资源的管理。通过以上步骤,你可以成功安装和部署 CloudStack,开始构建和管理你的云平台。创建数据库和用户,并根据 CloudStack 的 setup 脚本中的指示配置数据库连接信息。在浏览器中访问 http://:8080/client,按照向导完成配置。在 CloudStack 管理界面中添加主机和集群。
2025-03-21 16:50:18
304
原创 分布式容器技术是什么
分布式容器技术是一种将应用程序和其依赖的所有组件打包成一个可移植的容器,以便在任何支持容器化的平台上运行的技术。容器镜像:包含运行应用程序所需的所有组件,如代码、运行时、库和系统工具,确保在不同环境中具有一致的运行时环境。简化部署和管理:开发者可以在本地开发和测试容器,然后直接部署到生产环境,确保应用程序在各种环境中的一致性。提高安全性:每个容器都有独立的文件系统和网络接口,确保应用程序的安全性和独立性。容器引擎:如Docker和rkt,负责创建、运行和管理容器的生命周期。
2025-03-21 14:10:47
464
原创 微服务聚合架构是什么
可靠性:由于每个服务都是自治的,当一个服务发生故障时,其他服务可以继续工作,因此整个应用程序不会因为一个故障而崩溃。松耦合:每个服务都是自治的,可以使用不同的编程语言、技术栈和数据存储技术,因此可以更容易地适应不同的需求。独立性:每个服务都可以独立部署和扩展,这意味着可以更快地交付新功能,并且可以更容易地适应变化的需求。可扩展性:服务的独立部署和扩展使得系统能够更好地应对高并发和负载变化。灵活扩展:根据需求动态调整服务的规模和资源,提高了系统的可扩展性。微服务聚合架构的特点。
2025-03-21 14:09:38
292
原创 abaqus2024适配的操作系统
Abaqus 2024适合的操作系统主要包括Windows 10和Windows 11(专业版),以及Linux(如Ubuntu、Red Hat等)。显卡:NVIDIA Quadro或AMD Radeon Pro,至少4GB VRAM,对于高端大规模仿真,硬盘:至少256GB SSD(建议500GB或更大),对于数据存储,可以搭配1TB HDD或更大容量。内存:至少16GB RAM,建议32GB或更高,对于大规模仿真,推荐64GB-128GB RAM。
2025-03-20 11:44:47
370
python3+django2+mysql5.7+libdiff-devel+gcc+coreheaders+pandas...全套centos7所需离线安装包
2020-11-02
lite_protocols.py
2020-07-14
windows server 2008和ser2012 r2设置开关机脚本
2018-10-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人