当前位置: 首页 > news >正文

全网营销型网站建站专家开发者模式是什么意思

全网营销型网站建站专家,开发者模式是什么意思,做二维码签到的网站,做网站不给提供ftp文章目录一、关注我需求分析1. 关注我流程图2. 关注我流程简述3. 表结构设计二、关注我源码分析2.1. 前端2.2. 后端三、账号1关注实战3.1. 关注前数据记录3.2. 账号1关注账号23.3. 账号1关注后数据变化四、. 账号2关注实战4.1. 账号2关注账号14.2. 关注后数据变化4.3. redis存储… 文章目录一、关注我需求分析1. 关注我流程图2. 关注我流程简述3. 表结构设计二、关注我源码分析2.1. 前端2.2. 后端三、账号1关注实战3.1. 关注前数据记录3.2. 账号1关注账号23.3. 账号1关注后数据变化四、. 账号2关注实战4.1. 账号2关注账号14.2. 关注后数据变化4.3. redis存储数据结构一、关注我需求分析 1. 关注我流程图 2. 关注我流程简述 1.短视频页面点击关注2.前端携带用户ID和短视频发布者ID请求后端3.参数校验用户ID和短视频发布者ID是否为空 3.1. 为空直接返回前端提示语3.2.不为空流程继续 4.携带用户ID查询数据库5.携带短视频发布者ID查询数据库6.双ID判断 6.1. 为空直接返回前端提示语6.2.不为空流程继续 7.判断对方是否关注我7.1. 未关注我互为朋友关系状态位07.2. 已关注我互为朋友关系状态位1 7.2.1.更新博主与我的粉丝关系状态为17.2.2.保存落库 8.保存我和博主的粉丝关系9.我的关注总数110.博主的粉丝总数11.我和博主的关联关系112.返回响应 3. 表结构设计 CREATE TABLE fans (id varchar(24) NOT NULL,vloger_id varchar(24) NOT NULL COMMENT 作家用户id,fan_id varchar(24) NOT NULL COMMENT 粉丝用户id,is_fan_friend_of_mine int(1) NOT NULL COMMENT 粉丝是否是vloger的朋友如果成为朋友则本表的双方此字段都需要设置为1如果有一人取关则两边都需要设置为0,PRIMARY KEY (id) USING BTREE,UNIQUE KEY writer_id (vloger_id,fan_id) USING BTREE ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT粉丝表\n\n;二、关注我源码分析 短视频页面关注后个人中心关注状态同步修改 2.1. 前端 // 关注我followMe() {var me this;var myUserInfo getApp().getUserInfoSession();if (myUserInfo null) {uni.showToast({duration: 3000,title: 请登录~,icon: none});uni.navigateTo({url: ../loginRegist/loginRegist,animationType: slide-in-bottom,success() {me.loginWords 请登录}});return;}var vlogerId me.userPageId;var userId getApp().getUserInfoSession().id;var serverUrl app.globalData.serverUrl;uni.request({method: POST,header: {headerUserId: userId,headerUserToken: app.getUserSessionToken()},url: serverUrl /fans/follow?myId userId vlogerId vlogerId,success(result) {if (result.data.status 200) {me.isFollow true;uni.setStorageSync(justFollowVlogerId, vlogerId);// 刷新当前页的粉丝数var pendingInfo me.pageUserInfo;me.pageUserInfo.myFansCounts pendingInfo.myFansCounts 1;} else {uni.showToast({title: result.data.msg,icon: none,duration: 3000});}}});},2.2. 后端 controller /*** 关注** param myId 我的用户ID* param vlogerId 视频发布者ID* return*/PostMapping(follow)public GraceJSONResult follow(RequestParam String myId,RequestParam String vlogerId) {// 判断两个id不能为空if (StringUtils.isBlank(myId) || StringUtils.isBlank(vlogerId)) {return GraceJSONResult.errorCustom(ResponseStatusEnum.SYSTEM_ERROR);}// 判断当前用户自己不能关注自己if (myId.equalsIgnoreCase(vlogerId)) {return GraceJSONResult.errorCustom(ResponseStatusEnum.SYSTEM_RESPONSE_NO_INFO);}// 判断两个id对应的用户是否存在Users vloger userService.getUser(vlogerId);Users myInfo userService.getUser(myId);// fixme: 两个用户id的数据库查询后的判断是分开好还是合并判断好if (myInfo null || vloger null) {return GraceJSONResult.errorCustom(ResponseStatusEnum.SYSTEM_RESPONSE_NO_INFO);}// 保存粉丝关系到数据库fansService.doFollow(myId, vlogerId);// 博主的粉丝1我的关注1//我的关注总数redis.increment(REDIS_MY_FOLLOWS_COUNTS : myId, 1);// 博主的粉丝总数redis.increment(REDIS_MY_FANS_COUNTS : vlogerId, 1);// 我和博主的关联关系依赖redis不要存储数据库避免db的性能瓶颈redis.set(REDIS_FANS_AND_VLOGGER_RELATIONSHIP : myId : vlogerId, 1);return GraceJSONResult.ok();}/*** 关注** param myId 我的ID* param vlogerId 视频博主ID*/TransactionalOverridepublic void doFollow(String myId, String vlogerId) {String fid sid.nextShort();Fans fans new Fans();fans.setId(fid);fans.setFanId(myId);fans.setVlogerId(vlogerId);// 判断对方是否关注我如果关注我那么双方都要互为朋友关系//TODO 这里的参数注意 判断对方是否关注我如果关注我那么双方都要互为朋友关系Fans vloger queryFansRelationship(vlogerId, myId);if (vloger ! null) {fans.setIsFanFriendOfMine(YesOrNo.YES.type);// 粉丝是否是vloger的朋友如果成为朋友则本表的双方此字段都需要设置为1如果有一人取关则两边都需要设置为0vloger.setIsFanFriendOfMine(YesOrNo.YES.type);fansMapper.updateByPrimaryKeySelective(vloger);} else {//粉丝是否是vloger的朋友如果成为朋友则本表的双方此字段都需要设置为1如果有一人取关则两边都需要设置为0fans.setIsFanFriendOfMine(YesOrNo.NO.type);}fansMapper.insert(fans);// 系统消息关注msgService.createMsg(myId, vlogerId, MessageEnum.FOLLOW_YOU.type, null);}/*** 判断对方是否关注我如果关注我那么双方都要互为朋友关系** param fanId 粉丝ID* param vlogerId 短视频发布ID* return*/public Fans queryFansRelationship(String fanId, String vlogerId) {Example example new Example(Fans.class);Example.Criteria criteria example.createCriteria();criteria.andEqualTo(vlogerId, vlogerId);criteria.andEqualTo(fanId, fanId);List list fansMapper.selectByExample(example);Fans fan null;if (list ! null list.size() 0 !list.isEmpty()) {fan (Fans) list.get(0);}return fan;}三、账号1关注实战 3.1. 关注前数据记录 找二个没有关注的账号进行测试 账号尾号~5217 昵称昕泽之源 关注总量2 粉丝数1 账号尾号~0009 昵称小美女 关注总量0 粉丝数1 2个账号关系~二人暂无关注 3.2. 账号1关注账号2 使用“尾号为5217”账号登录 查看首页由尾号为0009的小美女账号发布短视频 点击关注 3.3. 账号1关注后数据变化 尾号~5217关注 尾号~0009的账户后数据变化 尾号~5217数据变化 关注总量由2变成了3 粉丝数1 尾号~0009数据变化 关注总量没变 还是 0 粉丝数由1变成了2 表数据变化 用户表 尾号~0009 userid21100598TZ9XG6RP 尾号~5217 userid220620BZ2DH0KP94 粉丝表 新增一条数据视频博主21100598TZ9XG6RP粉丝中有我220620BZ2DH0KP94 2206279H48HX0T54 21100598TZ9XG6RP 220620BZ2DH0KP94 0四、. 账号2关注实战 4.1. 账号2关注账号1 使用尾号~0009账户登录 去首页~视频列表中查看是否关注的状态为-未关注 点击关注 关注状态为-已关注 4.2. 关注后数据变化 尾号~0009关注 尾号~5217的账户后数据变化 尾号~5217数据变化 关注总量3 粉丝数由1变成了2 尾号~0009数据变化 关注总量由 变成了1 粉丝数还是2 表数据变化 用户表 尾号~0009 userid21100598TZ9XG6RP 尾号~5217 userid220620BZ2DH0KP94 粉丝表 新增一条数据 我220620BZ2DH0KP94的粉丝中有尾号000921100598TZ9XG6RP 视频博主21100598TZ9XG6RP粉丝中有我220620BZ2DH0KP94 并且我们的关系更新为朋友关系状态都为0 2206279P5FYBZYNC 220620BZ2DH0KP94 21100598TZ9XG6RP 1 2206279H48HX0T54 21100598TZ9XG6RP 220620BZ2DH0KP94 14.3. redis存储数据结构
http://www.yutouwan.com/news/473383/

相关文章:

  • 国家建设管理信息网站页面设计工资有多少
  • 做视频资源网站有哪些难点网页美工软件
  • 做一个网站要什么样技术wordpress响应 延时
  • 怎么增加网站反链有哪些小程序免费模板平台
  • 地宝网 网站建设如何做教育类网站
  • 免费网站正能量小说怎么学会建自己网站的方法
  • 网站的栏目和板块贴wordpress插件
  • 网络下载的网站模板能直接上传到虚拟主机wordpress导航怎么设置主页
  • 网站如何添加白名单上海云站网络技术服务中心
  • 网站制作公自己建设小城市网站得多少钱
  • 西安网站建设资讯网易云音乐wordpress
  • 提供网站建设工具的品牌wordpress网站go.php跳转
  • index网站制作wordpress配置文件数据库
  • 建设网站的华丽语言去哪里推广软件效果好
  • ui设计培训机构哪个比较好广东seo推广价格
  • 网站吸流量wordpress百万流量
  • 小程序制作网站网站怎么做搜素引擎
  • 临沂企业建站模板百度 如何 关键字 网站域名 关联
  • 遂宁移动网站建设品牌型网站建设的好处
  • 济南手机网站莱芜一中谭苗苗事件
  • 怎样建立商贸网站wordpress无插件美化
  • 做英文网站地图简约创意男装字体logo设计
  • 网站开发对数据库的要求常州网站优化公司
  • 汕头网站建设推广厂家网站开发怎么自动获取位置
  • 工作室网站模板简单的编程代码
  • 如何做网站流量分析报表网站开发工程师中级高级
  • 怎么构建网站做网站要掌握几种语言
  • 北京做网站优化wordpress 手机登录
  • 不用模板怎么建设网站电子商务网站建设期末试卷答案
  • 网站建设方面的书籍书籍织梦 和wordpress