项目需要做一个跟微博一样的功能,发动态的时候可以 @用户,还可以添加话题,而且点击 @的用户或者话题能够跳转,这种需要怎么存的,初步想法是给这俩加上 html 标签,因为还要变色。背景是要给 app 内用的,我们用 h5 页面来实现
1
laoyur 2020-09-22 10:29:06 +08:00 via Android
说起来可能很丢人,一大段经过了多次转推多次 at 的长内容,我甚至都分不清哪段话是谁说的……
|
2
TomatoYuyuko 2020-09-22 10:39:18 +08:00
遇到过同款 tx 面试题,我的当时的回答是记录特殊符号的位置,全文存储字符串,再加一个特殊位置的存储,渲染的时候再处理成特殊标签
|
3
huifer 2020-09-22 11:02:07 +08:00
@返回的信息如下{"id":1,"login_name":"huifer"}, 前端将 login_name 用来放在页面上显示. 贴上<a>标签或者其他跳转标签. 将整个文本存储到 DB. # 也是类似操作
github 上的一个地址 <p><a class="user-mention" data-hovercard-type="user" data-hovercard-url="/users/huifer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huifer">@huifer</a> test</p> 具体如果还想存储的详细一些,可以将 @和#切割出来. 在存储 [{"@index":1,value:"user_id"}] |
8
poorcai 2020-09-22 16:24:22 +08:00 via iPhone
我也想知道。话说 v 站是不是也有这个功能?
|
9
joApioVVx4M4X6Rf 2020-09-22 17:52:15 +08:00
同问,这种东西在大流量高并发下是怎么实现的
|
10
songco 2020-09-22 23:47:34 +08:00 via iPhone
原文存储,展示时解析转换不就挺好
我记得这玩意比较麻烦的是量大的时候怎么通知 followers 还有被 @的人 |
12
no1xsyzy 2020-09-23 03:52:02 +08:00
目前看下来最稳健的还是 Twitter 的办法。
前端时间回过一贴 https://www.v2ex.com/t/704946#r_9470684 |