时间: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}
等等,到时候用户评论触发相关的模板,将占位符的内容填充进去生成一条通知信息