抖音实战~个人中心

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

一、个人中心主页
1. 主页元素
  • 基本信息:
昵称
抖音号
头像
性别 1:男  0:女  2:保密
个人简介
生日
个人介绍的背景图

关注~我的关注博主总数量
粉丝~我的粉丝总数
获赞~用户获赞总数,视频博主(点赞/喜欢)总和

关注详情列表
粉丝详情列表

  • 编辑资料元素
国家
省份
城市
区县
  • 设置
头像、昵称、个人优势介绍、个人作品
  • 视频相关
作品、私密、赞过
2. 表设计

在这里插入图片描述

-- ----------------------------
-- Table structure for users
-- ----------------------------
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
  `id` varchar(24) NOT NULL,
  `mobile` varchar(32) NOT NULL COMMENT '手机号',
  `nickname` varchar(16) NOT NULL COMMENT '昵称,媒体号',
  `imooc_num` varchar(16) NOT NULL COMMENT '抖音号,公众号,唯一标识,需要限制修改次数,比如终生1次,每年1次,每半年1次等,可以用于付费修改。',
  `face` varchar(128) NOT NULL COMMENT '头像',
  `sex` int(11) NOT NULL COMMENT '性别 1:男  0:女  2:保密',
  `birthday` date NOT NULL COMMENT '生日',
  `country` varchar(32) DEFAULT NULL COMMENT '国家',
  `province` varchar(32) DEFAULT NULL COMMENT '省份',
  `city` varchar(32) DEFAULT NULL COMMENT '城市',
  `district` varchar(32) DEFAULT NULL COMMENT '区县',
  `description` varchar(100) NOT NULL COMMENT '简介',
  `bg_img` varchar(255) DEFAULT NULL COMMENT '个人介绍的背景图',
  `can_imooc_num_be_updated` int(1) NOT NULL COMMENT '慕课号能否被修改,1:默认,可以修改;0,无法修改',
  `created_time` datetime NOT NULL COMMENT '创建时间 创建时间',
  `updated_time` datetime NOT NULL COMMENT '更新时间 更新时间',
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE KEY `mobile` (`mobile`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户表';
3. 计数方案评估

个人中心页面上有3处属于计数范畴:
关注~我的关注博主总数量
粉丝~我的粉丝总数
获赞~用户获赞总数,视频博主(点赞/喜欢)总和

传统方案:
存储数据库,计数使用总数求conut,当数据量达到上亿级别对数据库压力,是非常大的,真实的抖音app这3项计数是非常可观的。

优雅方案:
redis本身就支持计数,我们计数时只需要获取2个函数即可,非常方便。因此,后面的计数相关功能点都采用redis来做计数。

二、接口设计
2.1. 分类归档
  • 基础接口

  • 计数相关

关注详情列表
粉丝详情列表
  • 视频相关
作品列表、私密列表、赞过视频列表

猜你喜欢

转载自blog.csdn.net/weixin_40816738/article/details/125400046