消息模板中如何处理标题或用户名过长?

业务描述:
数据库存了消息模板, 比如模板中有 用户名 和 标题,
后端遇到需要发送通知的地方, 取出模板, 替换其中的 用户名 和 标题, 然后将消息写入到消息表
前端拿到这条消息展示到客户端
其中,用户名和标题的展示是有长度限制的,
如何处理这个问题, 是前端判断展示, 还是后端只截取好字符串再替换?

阅读 2.7k
5 个回答

一般都是字体超出隐藏,并显示省略号
overflow:hidden;//超出隐藏
text-overflow:ellipsis;//超出部分以省略号展示
display:-webkit-box;//设置成伸缩盒弹性盒子
-webkit-line-clamp:2;//设置显示的行数
-webkit-box-orient:vertical;//伸缩盒弹性盒子的排列方式

没太看懂,后端“取出模板, 替换其中的 用户名 和 标题”了,说明已经生成了消息(字符串),那为什么又有“用户名和标题的展示是有长度限制的”?后端生成消息的时候不考虑这个规则吗?如果前端拿到消息字符串后再去处理字符串里用户名和标题部分,按什么条件确定字符位置呢?

其实都可以。最好的办法是让前端来实现超出隐藏。

前端实现不了,再用后端来进行处理。

这个问题可以从两个方面考虑:

  1. 前端处理:前端可以在获取消息后对用户名和标题进行长度限制,超过限制的部分可以使用省略号等方式表示。这种方式的优点是可以灵活控制展示的长度和展示方式,但是需要前端和后端协调好长度限制的策略。
  2. 后端处理:后端可以在获取模板后对用户名和标题进行长度限制,只替换前几个字符,然后将截取后的字符串写入消息表。这种方式的优点是简单,可以在后端一次性解决问题,但是可能会丢失部分信息。

总之,选择哪种方式需要根据具体业务场景来决定。如果前端需要灵活控制展示,或者有多个客户端需要展示同一条消息,可以考虑前端处理。如果后端处理方便,并且不会丢失重要信息,可以考虑后端处理。同时,需要保证前后端对长度限制的策略一致,避免出现展示不一致的情况。

建议由前端进行操作。

根据你的信息,模板是由HTML展示的,那么直接由前端在 css 中设置好相关样式即可。

后端只需要保证返回的数据是准确的,对用户展示的效果前端根据需求更改。

推荐问题