当前位置:Gxlcms > PHP教程 > 用户通知中心的内容如何生成?

用户通知中心的内容如何生成?

时间:2021-07-01 10:21:17 帮助过:2人阅读

问题不是消息如何推送这块,而是消息的内容和链接有什么优雅的生成方式?
例如sf.gg中的消息通知

用户执行了某个行为后,不同的消息类型,内容和链接是怎么拼凑?
难不成在push到消息队列时,在代码中手动拼凑 这样的字符串:
"xxx回答了你的问题 title"
然后这样硬生生塞进去?前端再直接读出来?
如果消息类型比较多(评论、回复、私信,系统等)时,有优雅的实现方式么?

回复内容:

问题不是消息如何推送这块,而是消息的内容和链接有什么优雅的生成方式?
例如sf.gg中的消息通知

用户执行了某个行为后,不同的消息类型,内容和链接是怎么拼凑?
难不成在push到消息队列时,在代码中手动拼凑 这样的字符串:
"xxx回答了你的问题 title"
然后这样硬生生塞进去?前端再直接读出来?
如果消息类型比较多(评论、回复、私信,系统等)时,有优雅的实现方式么?

以面向对象的角度分析和设计,user,action, url以不同的field传递,拥有非常好的扩展性,而且前端局限性小

${name}['回答了你的答案','关注了你的问题','修改了你收藏的文章',...][xx.type]${title}
或者
${name}({aa:'回答了你的答案',bb:'关注了你的问题',cc:'修改了你收藏的文章',...})[xx.type]${title}
怎么样

我的做法是为每种类型设置一个模板
比如评论的模板是 {name}评论了你的文章{title}
回复的模板是 {name}回复了你的问题{title}
等等,到时候用户评论触发相关的模板,将占位符的内容填充进去生成一条通知信息

人气教程排行