回首页

近来用mpvue做了一个小程序,当初选择mpvue的时候,类似vue的语法,吸引了我。现在在让我选,就不会在选mpvue了(可以在github上看相关的坑),所幸项目不太复杂,mpvue还是满足需求的,不满足的就以曲线救国的方式解决了。

这个小程序,有个互聊的模块和分享的模块可以分享下,方便后人

聊天模块

假设不考虑屏蔽,只是记录两个人的聊天记录,数据库,结构可以这样设计就可以满足需求

messages table

现在要对聊天记录做一个限制

message_state table

相应的messages table被 message_state table 管理 messages table

相应的需要一个举报表,和messages 数据表结构类似,只不过记录的是两个人的屏蔽及举报记录

report table

现在还差个屏蔽后屏蔽者看不到被屏蔽者发送的信息,解决办法是在messages table添加记录屏蔽状态下 screen_user_id字段,查询的时候,where('screen_user_id ','<>','屏蔽者id')

messages table

最终表结构 messages table

message_state table

report table

自己分享他人和他人分享自己是一种情况,只不过是参照物不同,上面是以自己为参照物。

users table

需要一个分享记录表,保存已经点击过的用户

share_record table

每当用户点击进来后,去查询是否已经点击过,然后去给相应的奖励

end