注册
环信即时通讯云

环信即时通讯云

单聊、群聊、聊天室...
环信开发文档

环信开发文档

环信FAQ

环信FAQ

集成常见问题及答案
RTE开发者社区

RTE开发者社区

汇聚音视频领域技术干货,分享行业资讯
技术讨论区

技术讨论区

技术交流、答疑
资源下载

资源下载

收集了海量宝藏开发资源
iOS Library

iOS Library

不需要辛辛苦苦的去找轮子, 这里都有
Android Library

Android Library

不需要辛辛苦苦的去找轮子, 这里都有
1
回复

能做成关注系统不 uniapp

smysmy 回复了问题 • 2 人关注 • 898 次浏览 • 2021-09-28 18:23 • 来自相关话题

0
评论

JavaScript 中有了Object 为什么还需要 Map 呢 Javascript

马师傅 发表了文章 • 872 次浏览 • 2021-09-27 00:16 • 来自相关话题

众所周知,Map 是用于存储键值对的,而 JavaScript 中对象也是由键值对组成的,那么 Map 存在的意义是什么呢? 别把对象当 Map 1、可能通过原型链访问到未定义的属性 假设现有场景,开发一个网站,需要提供日语、汉语、韩语三种语言,我们可以定义一... ...查看全部
0
评论

CSS实现瀑布流的两种方式 CSS3

马师傅 发表了文章 • 873 次浏览 • 2021-09-27 00:13 • 来自相关话题

瀑布流又称瀑布流式布局,是比较流行的一种网站页面布局方式。在手机端进行多图片展示时会经常用到。即多行等宽元素排列,后面的元素依次添加到其后,等宽不等高,根据图片原比例缩放直至宽度达到我们的要求,依次按照规则放入指定位置。 那么瀑布流式布局有哪些实现方式呢? c... ...查看全部
0
评论

学透CSS-:focus-within 仿掘金登录小人动画 CSS3

马师傅 发表了文章 • 1127 次浏览 • 2021-09-27 00:11 • 来自相关话题

兼容性 作为:focus的好兄弟,在兼容性上也还是不错的。主流的浏览器基本都已经支持这个属性。 :focus-within 和 :focus 的区 :focus-within 表示一个元素自身获取焦点,以及子元素获取焦点后的效果。 :focus 表... ...查看全部
0
评论

给女友写的,每日自动推送暖心消息 Javascript

马师傅 发表了文章 • 1404 次浏览 • 2021-09-27 00:08 • 来自相关话题

起因是因为刷到一则给女友发的每日提醒消息的沸点,每天自动定时发送消息,感觉很有趣,刚好最近在学习egg,里面有用到定时任务,于是决定尝试一把 egg 实现 环境准备 操作系统:支持 macOS,Linux,Windows 运行环境:建议选择 node LTS ... ...查看全部
0
评论

如何小程序上绘制树状图 微信小程序

马师傅 发表了文章 • 1643 次浏览 • 2021-09-27 00:03 • 来自相关话题

前言 现有的移动端图可视化技术有Antv旗下的F2、F6。F2主要专注于数据分析的统计图,而F6专注与各种场景的关系图。两者各有侧重。F6 是一个简单、易用、完备的移动端图可视化引擎,它在高定制能力的基础上,提供了一系列设计优雅、便于使用的图可视化解决方案。能... ...查看全部
0
评论

[JS基础回顾] 闭包 又双叒叕来~~~ Javascript

马师傅 发表了文章 • 768 次浏览 • 2021-09-25 23:24 • 来自相关话题

闭包是基于词法作用域书写代码时所产生的自然结果,你甚至不需要为了利用它们而有意识地创建闭包 MDN的解释闭包是函数和声明该函数的词法环境的组合。 Tips: 词法作用域和词法环境 1,此时函数还没被执行,所以使用的是词法作用域即静态作用域.2, 此时函... ...查看全部
0
评论

JS箭头函数 什么时候用 ,什么时候不能用,我总结出了4点 Javascript

马师傅 发表了文章 • 999 次浏览 • 2021-09-25 23:18 • 来自相关话题

箭头函数的定义 箭头函数定义包括一个参数列表(零个或多个参数,如果参数个数不是一个的话要用 ( .. ) 包围起来),然后是标识 =>,函数体放在最后。 箭头函数与普通函数的区别 箭头函数 let arrowSum = (a, b) => { ... ...查看全部
0
评论

?Map和Set巧解力扣算法问题 Javascript

马师傅 发表了文章 • 777 次浏览 • 2021-09-25 23:15 • 来自相关话题

问题一:什么是Map和Set? ES6以前,在JavaScript中实现“键/值”式存储可以使用Object来方便高效的完成,也就是使用对象属性作为键,再使用属性来引用值,像下面这样 let student = { name: '啊呜', se... ...查看全部
0
评论

深入理解 redux 数据流和异步过程管理 react

马师傅 发表了文章 • 771 次浏览 • 2021-09-25 23:12 • 来自相关话题

前端框架的数据流 前端框架实现了数据驱动视图变化的功能,我们用 template 或者 jsx 描述好了数据和视图的绑定关系,然后就只需要关心数据的管理了。 数据在组件和组件之间、组件和全局 store 之间传递,叫做前端框架的数据流。 一般来说,除了某部分状... ...查看全部
0
评论

【JavaScript】async await 更优雅的错误处理 Javascript

马师傅 发表了文章 • 925 次浏览 • 2021-09-25 23:08 • 来自相关话题

背景 团队来了新的小伙伴,发现我们的团队代码规范中,要给 async await 添加 try...catch。他感觉很疑惑,假如有很多个(不集中),那不是要加很多个地方?那不是很不优雅? 为什么要错误处理 JavaScript 是一个单线程的语言,假如不加... ...查看全部
0
评论

你知道如何批量创建一批邮箱吗? Javascript

马师傅 发表了文章 • 1167 次浏览 • 2021-09-23 19:02 • 来自相关话题

1.前期准备 搭建邮件服务器需要一些“基础建设”,包括如下 一台服务器 推荐centos 一个域名 1.1 配置细节 邮件服务器是通过SMTP协议进行通信,为了让服务器能够成功接收邮件,我们需要打开25这个端口,并允许访问25端口。同时如果你需要使用像类似... ...查看全部
0
评论

JavaScript深浅拷贝的实现 Javascript

马师傅 发表了文章 • 785 次浏览 • 2021-09-23 18:57 • 来自相关话题

前置知识 对象类型在赋值的过程中其实是复制了地址,从而会导致改变了一方其他也都被改变的情况 let a = { age: 1 } let b = a a.age = 2 console.log(b.a... ...查看全部
0
评论

为什么 Vue2 this 能够直接获取到 data 和 methods ? 源码揭秘! vue 前端面试

马师傅 发表了文章 • 873 次浏览 • 2021-09-23 18:53 • 来自相关话题

1. 前言 写相对很难的源码,耗费了自己的时间和精力,也没收获多少阅读点赞,其实是一件挺受打击的事情。从阅读量和读者受益方面来看,不能促进作者持续输出文章。 所以转变思路,写一些相对通俗易懂的文章。其实源码也不是想象的那么难,至少有很多看得懂。歌德曾说:读一... ...查看全部
0
评论

webpack-dev-server 从入门到实战 前端面试 webpack

马师傅 发表了文章 • 970 次浏览 • 2021-09-23 18:49 • 来自相关话题

古有云:“工欲善其事,必先利其器”。作为一个前端开发,搭建一个便捷的开发环境,将会为我们的开发工作带来极大的效率提升。而Webpack作为如今前端工程打包必不可少的工具,很多人却不知道从Webpack 4开始提供的DevServer功能。 让我们一起来学习下吧... ...查看全部
0
评论

JavaScript实现2048小游戏,我终于赢了一把 Javascript

马师傅 发表了文章 • 786 次浏览 • 2021-09-22 23:07 • 来自相关话题

效果图 实现思路 编写页面和画布代码。 绘制背景。 绘制好全部卡片。 随机生成一个卡片(2或者4)。 键盘事件监听(上、下、左、右键监听)。 根据键盘的方向,处理数字的移动合并。 加入成功、失败判定。 处理其他收尾工作。 代码实现编写页面代码 <... ...查看全部
0
评论

js 实现以鼠标位置为中心滚轮缩放图片 前端面试 Javascript

马师傅 发表了文章 • 2300 次浏览 • 2021-09-22 23:03 • 来自相关话题

前言 不知道各位前端小伙伴蓝湖使用的多不多,反正我是经常在用,ui将原型图设计好后上传至蓝湖,前端开发人人员就可以开始静态页面的的编写了。对于页面细节看的不是很清楚可以使用滚轮缩放后再拖拽查看,还是很方便的。于是就花了点时间研究了一下。今天分享给大家。 实现 ... ...查看全部
0
评论

深入浅出虚拟 DOM 和 Diff 算法,及 Vue2 与 Vue3 中的区别 vue

马师傅 发表了文章 • 1347 次浏览 • 2021-09-22 23:01 • 来自相关话题

因为 Diff 算法,计算的就是虚拟 DOM 的差异,所以先铺垫一点点虚拟 DOM,了解一下其结构,再来一层层揭开 Diff 算法的面纱,深入浅出,助你彻底弄懂 Diff 算法原理 认识虚拟 DOM 虚拟 DOM 简单说就是 用JS对象来模拟 DOM 结构 那... ...查看全部
0
评论

Vue首屏加载优化之使用CND资源 vue 性能优化

马师傅 发表了文章 • 1152 次浏览 • 2021-09-22 22:58 • 来自相关话题

背景 vue项目线上首屏加载速度非常慢,查看网络中加载的资源文件发现main.js文件大小为3.6MB,加载速度也是高达6.5s,已经严重影响了用户的体验效果。经过查看发现项目本地打包后main.js大小也是高达三十多兆,为了减少main.js文件打包后的大... ...查看全部
0
评论

3~5年前端开发面经 前端面试

马师傅 发表了文章 • 813 次浏览 • 2021-09-22 22:56 • 来自相关话题

前言 终于要从宁波去杭州了,经过从8月份结束面试到现在,中秋过完之后就要入职了。提完离职之后,差不多闲了1个月。 今天难得地放下游戏,回忆下面试题,希望能帮助到大家。杭州的大厂几乎面了个遍,阿里,蚂蚁,网易,字节,华为,有赞,只能按照记忆整理下面试题。 面试内... ...查看全部
0
评论

用 VSCode 调试网页的 JS 代码有多香 Javascript 性能优化

马师傅 发表了文章 • 960 次浏览 • 2021-09-22 22:54 • 来自相关话题

相比纯看代码来说,我更推荐结合 debugger 来看,它可以让我们看到代码实际的执行路线,每一个变量的变化。可以大段大段代码跳着看,也可以对某段逻辑一步步的执行来看。 Javascript 代码主要有两个运行环境,一个是 Node.js ,一个是浏览器。一般... ...查看全部
0
评论

从最简单的角度走上读源码 前端面试

马师傅 发表了文章 • 907 次浏览 • 2021-09-21 22:58 • 来自相关话题

1.前言 很早前就想多看一些源码,也看过不少源码的分析,自己简单的去浏览过,但等到想静下心来自己去分析一些的时候,却一直没有时间被搁置,其实可能也是因为自己对相关操作比较陌生,潜意识里又一点抵触。最近想开始行动又在想如何开始,从哪个源码,从什么部分去入手的时候... ...查看全部
0
评论

巧用CSS counter属性 CSS3

马师傅 发表了文章 • 805 次浏览 • 2021-09-21 22:56 • 来自相关话题

前言 你一定遇到过这样的排版,如实现步骤条、给文章编号等。如果写固定的编号,增删步骤或者章节时,后续的编号都需要手动更改。这样会很麻烦。 CSS 提供了计数器功能,可以动态设置编号。 CSS计数器 要实现CSS计数器的,先了解CSS计数器的属性和方法 co... ...查看全部
0
评论

rgb和hex相互转换 前端面试

马师傅 发表了文章 • 962 次浏览 • 2021-09-21 22:54 • 来自相关话题

前言 这里使用了一些位运算进行计算,如果对位运算不了解的,可以了解一下,位运算 hex(16进制):#FFF,#ffffff等等16进制颜色 rgb:rgb(255,255,255),rgb(123,125,241)等等 笔者第一次遇到颜色转换时,懵了,没有思... ...查看全部
0
评论

React 的 Fiber 树是什么? react

马师傅 发表了文章 • 1102 次浏览 • 2021-09-21 22:52 • 来自相关话题

我发现,如果不搞清楚 React 的更新流程,就无法理解 useEffect 的原理,于是分享 React 更新流程的文章就来了。 其实我本想把整个更新流程放到一篇文章里去的,但是昨天查了一天资料后,发现这太不现实了,要是写在一篇里,中秋假期仅剩的一个下午也没... ...查看全部
0
评论

让你用最简单的方式使用Vue2 + Web Worker + js-xlsx 解析excel数据 vue

马师傅 发表了文章 • 1881 次浏览 • 2021-09-21 22:49 • 来自相关话题

最简单的应该就是 C V 大法了吧!!! 说明 本文重点在于实现功能,没有过多去关注其他。 就想使用的话直接cv到自己的项目即可,想深入学习下边也有官方网址自行查看咯🍺 由SheetJS出品的js-xlsx是一款非常方便的只需要纯JS即可读取和导出excel... ...查看全部
0
评论

react-native拆包&热更体系搭建-代码拆包 跨平台开发 reactnative

马师傅 发表了文章 • 1082 次浏览 • 2021-09-21 22:47 • 来自相关话题

一、前言 触过react-native的小伙伴都知道热更是rn最大的特点之一,掌握了热更就可以随时上线新的迭代、线上bug hotfix,这样一来发版也更有底气了从此告别跑路的担忧,code-push(以下简称cp)是大多数人接触的第一款热更库,功能很强大但是... ...查看全部
0
评论

React下一代状态管理库——recoil 前端面试 react

马师傅 发表了文章 • 2386 次浏览 • 2021-09-15 23:35 • 来自相关话题

引言 对于react状态管理库,大家比较熟悉的可能是Redux,但是redux虽然设计得比较简洁,但是他却有一些问题,比如需要写大量的模板代码;需要约定新的状态对象是全新的,如果我们不用全新的对象,可能会导致不更新,这是常见的redux状态不更新问题,所以需要... ...查看全部
0
评论

css做‘展开收起’功能,借鉴大佬思路 前端面试 CSS3

马师傅 发表了文章 • 1595 次浏览 • 2021-09-15 23:28 • 来自相关话题

开局一张图 上图所示,多行文本的展开收起是一个很常见的交互效果。 实现这一类布局和交互难点主要一下几点: 位于多行文本右下角的“展开收起”按钮 “展开”和“收起”两种状态的切换 当文本不超过指定行数时,不显示“展开收起”按钮 在此之前,单独看这个布局,即... ...查看全部
0
评论

浅谈前端的状态管理 性能优化 前端面试

马师傅 发表了文章 • 941 次浏览 • 2021-09-15 23:19 • 来自相关话题

前言 提到状态管理大家可能马上就想到:Vuex、Redux、Flux、Mobx等等方案。其实不然,不论哪种方案只要内容一多起来似乎都是令人头疼的问题,也许你有适合自己的解决方案又或者简单的注释和区分模块,今天来聊一聊前端的状态管理,如果你有好的建议或问题欢迎在... ...查看全部
0
评论

关注 ? ? ? 前端仔也需要懂的nginx内容 Nginx Javascript 前端面试

马师傅 发表了文章 • 861 次浏览 • 2021-09-15 23:11 • 来自相关话题

tips 如果你已经使用过nginx的,可以跳过介绍,直接看nginx配置文件和使用场景,如果你想全局熟悉下nginx,就耐心慢慢看看,在文章结尾会补上nginx的一些常用实战场景 前言 作为一名前端,我们除了node作为服务以外,我们还有什么选择,那么简单容... ...查看全部
0
评论

从零开发一款轻量级滑动验证码插件 Javascript

马师傅 发表了文章 • 1347 次浏览 • 2021-09-15 23:08 • 来自相关话题

效果演示 滑动验证组件基本使用和技术实现 上图是实现的滑动验证组件的一个效果演示,当然还有很多配置项可以选择,以便支持更多 定制化 的场景。接下来我先介绍一下如何安装和使用这款验证码插件,让大家有一个直观的体验,然后我会详细介绍一下滑动验证码的实现思路,如果... ...查看全部
0
评论

精益求精!记一次业务代码的优化探索 Javascript 性能优化

马师傅 发表了文章 • 874 次浏览 • 2021-09-13 18:41 • 来自相关话题

关键词:需求实现、设计模式、策略模式、程序员成长 承启: 本篇从业务场景出发,介绍了面对一个复杂需求,拆解重难点、编码实现需求、优化代码、思考个人成长的过程。 会介绍一个运用策略模式的实战。 需求和编码本身小于打怪升级成长路径。 文中代码为伪代码。 场景... ...查看全部
0
评论

使用CSS实现中秋民风民俗-拜月 CSS3

马师傅 发表了文章 • 1007 次浏览 • 2021-09-13 18:37 • 来自相关话题

前言 好像有些粗糙,哈哈哈哈。图片是网络的,我用我浅薄的Photoshop知识做了简单的处理。 看了一圈,感觉大家都好🐂 🍺,有做日地月公转的,有做月全食的,有做日落月出的,等等。可谓是八仙过海,各显神通,通览下来真是“精彩”渐欲迷人眼,但是好像没有做拜月的... ...查看全部
0
评论

一顿操作,我把 Table 组件性能提升了十倍 vue 性能优化

马师傅 发表了文章 • 1220 次浏览 • 2021-09-13 18:35 • 来自相关话题

背景 Table 表格组件在 Web 开发中的应用随处可见,不过当表格数据量大后,伴随而来的是性能问题:渲染的 DOM 太多,渲染和交互都会有一定程度的卡顿。 通常,我们有两种优化表格的方式:一种是分页,另一种是虚拟滚动。这两种方式的优化思路都是减少 DOM ... ...查看全部
0
评论

vue3+typescript 实现一个中秋RPG游戏 CSS3 vue

马师傅 发表了文章 • 1157 次浏览 • 2021-09-13 18:30 • 来自相关话题

前言 又到了周末时光,在家闲着没事,花了两天时间去构思并制作一个中秋节相关的页面,首先技术栈接地气并且跟的上目前的新技术,所以我考虑使用Vue3+Typescript,其次是中秋主题,我想到的是嫦娥奔月的故事,既然是嫦娥奔月的话,那么页面就得有趣味性和游戏性.... ...查看全部
0
评论

一文彻底搞懂js中的位置计算 前端面试

马师傅 发表了文章 • 820 次浏览 • 2021-09-13 00:00 • 来自相关话题

引言 文章中涉及到的api列表:scroll相关Apiclient相关Apioffset相关ApiElement.getBoundingClientRectAPiWindow.getComputedStyleApi 我们会结合api定义,知名开源库中的应用场... ...查看全部
0
评论

面试贼坑的十道js面试题(我只会最后一题) Javascript 前端面试

马师傅 发表了文章 • 947 次浏览 • 2021-09-12 23:57 • 来自相关话题

前言 现在前端面试经常遇到奇葩的题,有的听都没听过,何谈能答对,这些是小伙伴们投稿的题,大家来看看,出这些题的人,都优秀到不行啊,想要拿到满意的offer,不得不卷啊,头疼一批 typeof null 为什么是object null就出了一个 bug。... ...查看全部
0
评论

for 循环不是目的,map 映射更有意义!【FP探究】 Javascript

马师傅 发表了文章 • 849 次浏览 • 2021-09-12 23:55 • 来自相关话题

楔子 在 JavaScript 中,由于 Function 本质也是对象(这与 Haskell 中【函数的本质是值】思路一致),所以我们可以把 Function 作为参数来进行传递! 例🌰: function sayHi() { console.log("... ...查看全部
0
评论

用canvas实现一个大气球送给你 CSS3

马师傅 发表了文章 • 833 次浏览 • 2021-09-12 23:52 • 来自相关话题

一、背景 近期在做一个气球挂件的特效需求,值此契机,来跟大家分享一下如何利用canvas以及对应的数学知识构造一个栩栩如生的气球。 二、实现 在实现这个看似是圆鼓鼓的气球之前,先了解一下其实现思路,主要分为以下几个部分: 实现球体部分; 实现气球口... ...查看全部
0
评论

通过一个例子学习css层叠上下文 CSS3

马师傅 发表了文章 • 1013 次浏览 • 2021-09-12 23:49 • 来自相关话题

层叠上下文 & 层叠等级 & 层叠规则 http://www.w3.org/TR/CSS22/vi… The order in which the rendering tree is painted onto the canvas is d... ...查看全部
0
评论

【中秋】纯CSS实现日地月的公转 CSS3

马师傅 发表了文章 • 931 次浏览 • 2021-09-12 23:46 • 来自相关话题

我们都知道中秋的月亮又大又圆,是因为太阳地球月亮在公转过程中处在了一条直线上,地球在中间,太阳和月球分别在地球的两端,这天的月相便是满月。这段可以略过,是为了跟中秋扯上关系。 但因为我根本没咋学过前端,这两天恶补了一下重学了 flexbox 和 grid ,成... ...查看全部
0
评论

6年的老项目迁移vite2,提速几十倍,真香 vite2 性能优化

马师傅 发表了文章 • 2401 次浏览 • 2021-09-09 00:53 • 来自相关话题

背景 gou系统又老又大又乱,每一次的需求开发都极其难受,启动30|40几秒勉强能接受吧,毕竟一天也就这么一回,但是HMR更新也要好几秒实在是忍不了,看到了vite2就看到了曙光!盘它 先看看vue-cli3的启动编译吧... 该项目为内部运营管理系统... ...查看全部
0
评论

50行代码串行Promise,koa洋葱模型原来是这么实现? Javascript 前端面试

马师傅 发表了文章 • 938 次浏览 • 2021-09-09 00:51 • 来自相关话题

1. 前言 写相对很难的源码,耗费了自己的时间和精力,也没收获多少阅读点赞,其实是一件挺受打击的事情。从阅读量和读者受益方面来看,不能促进作者持续输出文章。 所以转变思路,写一些相对通俗易懂的文章。其实源码也不是想象的那么难,至少有很多看得懂。 之前写过 ko... ...查看全部
0
评论

这是一个被面烂的面试题——简述 JavaScript 的事件捕获和事件冒泡 Javascript 前端面试

马师傅 发表了文章 • 1127 次浏览 • 2021-09-09 00:47 • 来自相关话题

JavaScript 事件冒泡是为了捕捉和处理 DOM 内部传播的事件。但是你知道事件冒泡和事件捕获之间的区别吗? 在这篇文章中,我将用相关的示例来讨论关于这个主题你所需要了解的全部情况。 事件流的传播 在介绍事件捕获和事件冒泡之前,先来看下一个事件是如何在 ... ...查看全部
0
评论

几个简单的小例子手把手带你入门webgl Javascript webgl

马师傅 发表了文章 • 964 次浏览 • 2021-09-09 00:10 • 来自相关话题

各位同学们大家好,又到了周末写文章的时间,之前群里有粉丝提问, 就是shader不是很理解。 然后今天他就来了, 废话不多说,读完今天的这篇文章你可以学到以下几点: 为什么需要有shader ? shader的作用是什么???? shader 中的每个参数到... ...查看全部
0
评论

完美解决macOS Homebrew安装JDK的一些问题 reactnative

马师傅 发表了文章 • 3678 次浏览 • 2021-09-08 14:28 • 来自相关话题

自从Oracle接手JDK之后,更新变快了,之前的“旧版本”也不容易下载了。最近一段时间Oracle一直不安生, 搞出来一堆幺蛾子, 所以安装方式也一直在变, 之前的方法已经不能用了, 网上找各种办法都不好使,下面针对各个版本给出了不同建议, 安装结束后, 可... ...查看全部
0
评论

如何将react-native的style样式转换成css样式 reactnative

马师傅 发表了文章 • 1087 次浏览 • 2021-09-07 23:38 • 来自相关话题

背景: 我们总是倾向于一套代码走天下,正所谓一招鲜,吃遍天。刚接触RN项目的时候,常常为RN style样式的写法而头痛,等到熟悉了RN样式写法时,一个web端项目从天而降,于是,你又不得不操练起日渐陌生的css写法。更过分的是,有时你还得在RN样式和css样... ...查看全部
0
评论

聊聊 RN 中 Android 提供 View 的那些坑 reactnative

马师傅 发表了文章 • 1160 次浏览 • 2021-09-07 23:16 • 来自相关话题

最近笔者研究 Android 中使用自定义 View 提供原生组件给 React Native(下面统一写成 RN ) 端的时候,遇到一些实际问题,在这里从 RN 的一些... ...查看全部
1
回复

url图片消息发送成功后接收者怎么处理消息,获取原图 消息

smysmy 回复了问题 • 2 人关注 • 880 次浏览 • 2021-09-06 14:48 • 来自相关话题