抖音实战~个人中心模块

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

文章目录

          • 一、个人中心主页
            • 1. 主页元素
            • 2. 表设计
            • 3. 计数方案评估
          • 二、用户信息查询~接口设计
            • 2.1. 用户信息查询流程图
            • 2.2. 用户信息查询流程
          • 三、用户信息更新~接口设计
            • 3.1. 流程图
            • 3.2. 流程简述
          • 四、用户背景图+用户头像~接口设计
            • 4.1. 更新/上传图片流程图
            • 4.2. 更新/上传~流程简述
          • 五、腾讯云~安装MinIO
          • 六、分布式文件存储
          • 七、短视频列表

一、个人中心主页
1. 主页元素
  • 基本信息:
昵称
抖音号
头像
性别 1:男  0:女  2:保密
个人简介
生日
个人介绍的背景图关注~我的关注博主总数量
粉丝~我的粉丝总数
获赞~用户获赞总数,视频博主(点赞/喜欢)总和关注详情列表
粉丝详情列表
  • 编辑资料元素
国家
省份
城市
区县
  • 设置
头像、昵称、个人优势介绍、个人作品
  • 视频相关
作品、私密、赞过
2. 表设计

在这里插入图片描述

-- ----------------------------
-- Table structure for users
-- ----------------------------
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users`  (`id` varchar(24) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,`mobile` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '手机号',`password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '密码 MD5+盐值',`salt` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '盐值',`nickname` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '昵称,媒体号',`imooc_num` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '抖音号,公众号,唯一标识,需要限制修改次数,比如终生1次,每年1次,每半年1次等,可以用于付费修改。',`face` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '头像',`sex` int(11) NOT NULL COMMENT '性别 1:男  0:女  2:保密',`birthday` date NOT NULL COMMENT '生日',`country` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '国家',`province` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '省份',`city` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '城市',`district` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '区县',`description` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '简介',`bg_img` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL 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 INDEX `mobile`(`mobile`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户表' ROW_FORMAT = Dynamic;
3. 计数方案评估

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

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

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

二、用户信息查询~接口设计
2.1. 用户信息查询流程图

在这里插入图片描述

2.2. 用户信息查询流程
  • 1.接收前端用户UserId
  • 2.根据用户UserId查询用户是否存在
    • 2.1.不存在,则提示“账户不存在!”
    • 2.2.存在,用户数据镜像同步
  • 3.从Redis中获取计数
    • 3.1.我的关注数量
    • 3.2. 我的粉丝量
    • 3.3.我赞过的数量(视频+评论)
  • 4.类型转换,封装打包
  • 5.返回封装好的对象
三、用户信息更新~接口设计

根据参数类型更新个人中心基本信息(不包括头像+背景图)
type: 1-昵称 2-慕课号 3-性别 4-生日 5-所在地 6-简介

3.1. 流程图

在这里插入图片描述

3.2. 流程简述
  • 1.接收用户信息和更新类型
  • 2.校验类型,不合法,则提示“用户信息修改失败”,合法流程继续。
  • 3.昵称判断
    • 3.1.存在,则提示“昵称已经存在!”
    • 3.2.不存在,流程继续。
  • 4.抖音号判断
    • 4.1.存在,则提示“抖音号已经存在!”
    • 4.2.不存在,允许修改,进一步判断是第一次修改
      • 4.2.1.不是第一次,则提示“抖音号无法修改!”
      • 4.2.2.是第一次,更新修改标识,以后无法修改,流程继续。
  • 5.用户数据镜像同步
  • 6.数据落库更新
  • 返回更新后的用户,响应前端
四、用户背景图+用户头像~接口设计

根据参数类型更新个人中心图片(用户背景图+用户头像)
type: 1-用户背景图 2-用户头像

4.1. 更新/上传图片流程图

在这里插入图片描述

4.2. 更新/上传~流程简述
  • 1.接收用户userId、更新类型、文件
  • 2.文件格式校验,不合法,则提示“文件上传失败”,核发流程继续。
  • 3.获取文件名称
  • 4.上传文件
  • 5.获取上传文件路径
  • 6.图片类型判断
  • 7.用户信息镜像同步
  • 8.返回更新后的用户信息
五、腾讯云~安装MinIO

https://blog.csdn.net/weixin_40816738/article/details/125021728

六、分布式文件存储

~SpringBoot集成MinIO
https://blog.csdn.net/weixin_40816738/article/details/125435764

七、短视频列表

会在《短视频模块》中统一介绍

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/515374.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分布式系统架构与云原生—阿里云《云原生架构白皮书》导读

简介: 有幸作为阿里云MVP提前获得了阿里云云原生团队编写的《云原生架构白皮书》,希望通过自己对于云原生的理解为开发者提供一篇观后感或者是能够参考的博文 1 云原生与分布式系统架构的关系 1.1 云原生架构的定义 《云原生架构白皮书》中对于云原生…

纵行科技携手意法半导体推ZETA/LoRa双模智能路由,加速LPWAN 2.0泛在物联布局!

物联网在接入各行业的过程中使用了各种各样的行业标准和协议,联盟的形式可以加速聚拢物联网产业链生态,促进物联网应用更好更快地落地,因此成为物联网领域内厂商们欢迎的合作共赢方式。 ZETA就是众多物联网联盟中的一个,这是由基于…

P标签如何取消上下间隔

在日常开发中,有一些场景需要将p标签的上间隔取消掉,一般在css中添加样式。可以根据自己的需求进行修改。 p{-webkit-margin-before:0;-webkit-margin-after:0; }

阿里云飞天AI加速器+Serverless容器,帮助图森未来提升资源利用率

简介: 今年年初,图森未来的无人驾驶卡车还上了“钢铁侠”的扮演者小罗伯特唐尼主持的科技聚集剧集《The Age of A.I.》(《AI时代》),在剧中不仅顺利完成无人驾驶的行驶任务,还与围追堵截的摄像车“斗智斗勇…

flowable 全局监听 监听流程的启动和流程的结束

文章目录1. Flowable全局监听配置2. 流程启动的监听器3. 流程结束的监听器1. Flowable全局监听配置 package com.gblfy.flowable.config;import com.gblfy.flowable.listener.global.GlobalProcistEndListener; import com.gblfy.flowable.listener.global.GlobalProcessStart…

应用中心最佳实践之——使用应用组完成多集群一键部署

简介: 在现实中的应用交付实践中,常常需要将同一应用同时部署到多个集群中。应用中心支持将同一个数据源定义的应用,通过应用组的形式一键部署到多个集群中,实现统一管理。 作者:指北 背景 在现实中的应用交付实践中…

vue cil安装axios

Vue cil 安装axios1、安装axioscnpm install axios 如果没有安装cnpm的可能安装不成功,这里列出安装cnpm,使用淘宝镜像。 npm install -g cnpm --registryhttps://registry.npm.taobao.org2、使用方法 2.1、首先在main.js配 import axios from "…

抖音实战~MD5加密+盐值工具类

package com.gblfy.utils;import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import org.springframework.util.DigestUtils;import java.util.UUID;/*** MD5加密盐值工具类** author gblfy* Date 2022-06-22**/ Slf4j Component public cl…

从程序员到上市公司合伙人,怎么少踩坑?

‍‍‍‍科技发展日新月异,对于程序员来说,不断地自我修炼必须提上日程。某种程度上,阅读是一条通往成功的捷径。当你被技术难题卡住时,去读书吧,去书里寻找答案当你感到人生困顿迷茫时,去读书吧&#xff0…

读完《云原生架构白皮书》,我们来谈谈开放应用模型(OAM)

简介: 受阿里云邀请,我有幸在《云原生架构白皮书》发布前试读了该书,本文结合白皮书内容,谈谈开放应用模型(OAM) 前言 7月21日阿里云发布了《云原生架构白皮书》,该书由阿里云众多技术专家共同…

抖音实战~手机号密码一键注册登录流程(限制手机终端登录)

文章目录一、手机号密码二、前端2.1. 点击登陆流程2.2. 点击登录源码三、后端登录3.1. 登录流程图3.2. 流程简述3.3. 手机号验证码登录流程一、手机号密码 二、前端 2.1. 点击登陆流程 1.先校验手机号是否合法?不合法,则提示“请输入正确的手机号”2.再…

揭秘!信息检索技术高端玩法

《SIGIR 顶会论文解读》重磅发布 由 7 位阿里巴巴技术专家精心打造,内容覆盖推荐系统 、成交转化模型 、 回音室效应 、 全空间多任务转化率预估建模 、 DeepMatch 召回模型 、 跨领域冷启动用户推荐网络 、 表示学习模型等信息检索领域新技术。 精彩内容抢先看 1、…

VSCODE远程连接服务器,远程开发。

在开发中有时需要远程开发,需要远程连接服务器,所以需要学习一下如何远程连接。 1、安装vscode的插件:Remote-ssh 需要看清楚,是这个插件不要安装错了 2、安装好后打开命令行,快捷键 CtrlShiftp,输入ssh查…

【技术史】数据中台的前世今生

数据中台自14年至今,已然成为了2B、2G业务最热门的话题,政府机构、企事业单位、互联网公司等进行着数字化、数据化、智能化转型。市场普遍认为,阿里巴巴将自身数据中台建设能力对外赋能是拉起本轮数据中台浪潮的根本所在。 本文将带你全面了…

抖音实战~密码找回

文章目录1. 密码找回流程图2. 前端源码3. 后端1. 密码找回流程图 2. 前端源码 /*** 密码找回*/updatePassword() {var me this;var mobile me.mobile;// 提交前,手机号校验var reg /^1[0-9]{10,10}$/;if (!mobile || !reg.test(mobile)) {uni.showToast({title: …

排队五小时才能吃上一口的Popeyes,要借阿里云数据中台10年内开足1500家门店

几个月前,还没多少国人了解美国炸鸡品牌Popeyes,但现在,Popeyes却成为上海滩最火爆的网红店:5月在上海市淮海中路开出首家门店当天,早上7点半,第一条队伍就已排出了半条街。 面对良好的开局,Po…

关于Background-size的几个参数区别

background-size,大致有几种参数:cover、contain、100% cover会横向自适应,但是高度会被裁剪。 contain:会保持图片的比例,但是如果图片的比例与实际div的比例不对,会有缺失。 100%:会铺满屏幕但是图片会…

干货!Redis集群工作原理解析

作者 | 张小盼头图 | 下载于东方IC出品 | CSDN云计算(ID:CSDNcloud)Redis 缓存因其访问性能高、可靠性更高,作为缓存工具在各大互联网公司中广泛使用。今天我们就来看看Redis Cluster 的实现原理。集群建立Redis集群是由多个Redis…

让小程序在自有App中启动的技术来了:mPaaS小程序架构深度解析

本文将围绕支付宝在移动端架构的演进逐步展开,分享我们在“App 动态性”“提升研发效率”等方面所做的思考和具体实践。同时,针对 mPaaS 小程序能力的开放,也将展开介绍我们如何实现“小程序代码只写一次,多端投放”,而…

抖音实战~分布式文件存储~SpringBoot集成MinIO

文章目录1. 引入依赖2. yml配置3. 客户端配置4. 工具类5. 需求实战6. 效果图1. 引入依赖 <!-- MinIO --><dependency><groupId>io.minio</groupId><artifactId>minio</artifactId><version>8.2.1</version></dependency>…