🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
点赞功能的设计 每一次点赞,需要记录: (1)谁点的赞; (2)为哪篇文章(Convention)点的赞; (3)点赞时间 (4)是否已经取消点赞 点赞记录表 | 列名 | 说明 | 空 | --- | --- | --- | | id | 主 | not null | | user_id | 用户id | | post_id | 被点赞帖子id | | title| 被点赞帖子标题 | | url | 被点赞帖子原文地址,不带域名 | | description | 被点赞帖子的描述 | | table_name | 被点赞帖子不带前缀 | | status | 状态:有效或取消 | |user_nickname|用户昵称| |avatar|用户头像| | create_time | 点赞时间 | 这里写了不少关于post文章的字段,用意是少查一个表,虽然增加了冗余,但是这是我们可以接受的 这里我们也增加了关于user的字段,本意是和简书一样,点击点赞数的时候,会有弹窗弹出点赞的人员头像,但是我查看了一下cmf源码,暂时不支持A会员查看B会员个人中心的情况,cmf在Controller里面写死了userid,必须是当前登录人员查看自己的会员中心,作为插件,这就不好办了,只能先留着字段,以后cmf支持了可以用的上,现在用户昵称 头像 字段其实是用不上的 sql语言为 ~~~ DROP TABLE IF EXISTS `cmf_plugin_fancy`; CREATE TABLE IF NOT EXISTS `cmf_plugin_fancy` ( `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, `user_id` bigint(20) UNSIGNED NOT NULL DEFAULT '0' COMMENT '用户 id', `title` varchar(100) NOT NULL DEFAULT '' COMMENT '收藏内容的标题', `url` varchar(255) CHARACTER SET utf8 DEFAULT '' COMMENT '被点赞帖子原文地址,不带域名', `description` varchar(500) CHARACTER SET utf8 DEFAULT '' COMMENT '被点赞帖子的描述', `table_name` varchar(64) CHARACTER SET utf8 NOT NULL DEFAULT '' COMMENT '被点赞帖子不带前缀', `post_id` int(10) UNSIGNED DEFAULT '0' COMMENT '被点赞帖子id', `status` tinyint(2) DEFAULT '0' COMMENT '状态:有效或取消', `avatar` varchar(255) NOT NULL DEFAULT '' COMMENT '用户头像', `user_nickname` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '用户昵称', `create_time` int(10) UNSIGNED DEFAULT '0' COMMENT '点赞时间', PRIMARY KEY (`id`), KEY `uid` (`user_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户喜欢表'; ~~~ 值得注意的是model关联的命名问题: 如果你的表名为:cmf_plugin_sy_guestbook 那么你的model名为:PluginSyGuestbookModel 规律是:插件数据表最好加个plugin前缀再加表名,这个类就是对应“表前缀+plugin_demo”表 | 前缀 | 中缀 |表名| | --- | --- |---| | cmf | plugin |sy_guestbook| 同理 我们现在的表名为:cmf_plugin_fancy 那么我们的model名字必须为:PluginFancyModel 源码请看百度云