即时通项目-GAteway过滤器检验token
GAteway过滤器检验token创建excludeUrlPath.properties文件来过滤掉一些不需要携带token的请求123456exclude.urls[0]=/passport/getSMSCodeexclude.urls[1]=/passport/registexclude.urls[2]=/passport/loginexclude.urls[3]=/passport/logoutexclude.fileStart=/static/** 创建ExcludeUrlProperties1234567891011121314151617181920212223package com.qingchen.filter;import lombok.Data;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.context.annotation.PropertySource;import...
即时通项目-修改用户信息(其中的亮点为利用redis设置用户;一年只能修改一次)
修改用户信息(其中的亮点为利用redis设置用户;一年只能修改一次)1234567891011121314151617181920212223242526public void modifyUserInfo(ModifyUserBO userBO) { String wechatNum=userBO.getWechatNum(); Users pendingUser=new Users(); String userID= userBO.getUserId(); if(StringUtils.isBlank(userID)){ GraceException.display(ResponseStatusEnum.USER_INFO_UPDATED_ERROR); } if(StringUtils.isNotBlank(wechatNum)){ //判断微信号是否已经修改 String...
即时通项目-手机验证码注册登录
引入发送验证码工具类(用的腾讯云)12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576package com.qingchen.utils;import com.qingchen.utils.TencentCloudProperties;import com.tencentcloudapi.common.Credential;import com.tencentcloudapi.common.exception.TencentCloudSDKException;import com.tencentcloudapi.common.profile.ClientProfile;import com.tencentcloudapi.common.profile.HttpProfile;import...
即时通项目-利用redis实现网关高流量防刷
在gateway中配置application-dev.yaml1234567891011121314151617181920212223242526272829303132333435363738server: port: 1000spring: data: redis: host: 127.0.0.1 port: 5379 database: 0 cloud: nacos: discovery: server-addr: 127.0.0.1:8848 username: nacos password: nacos gateway: discovery: locator: enabled: true #动态路由,从注册中心根据微服务的名称获得目标节点的地址 routes: - id: authRoute uri: lb://auth-service #lb=负载均衡,会动态寻址 ...
无标题
...
即时通项目-用AOP实现统计每一个service业务的执行时间
用AOP实现统计每一个service业务的执行时间1234567891011121314151617181920212223242526272829303132package com.qingchen.api.aspect;import lombok.extern.slf4j.Slf4j;import org.aspectj.lang.ProceedingJoinPoint;import org.aspectj.lang.annotation.Around;import org.aspectj.lang.annotation.Aspect;import org.springframework.stereotype.Component;@Component@Slf4j@Aspectpublic class ServiceLogAspect { @Around("execution(* com.qingchen.service.impl..*.*(..))") public Object...
无标题
...
接口文档
书架模块接口文档一、接口概述书架模块接口用于管理用户订阅小的说列表。提供获取书架列表、获取小说介绍、获取小说更新判断、置顶和取消置顶、从书架移除以及订阅功能等接口,支持排序规则和时间显示规则,及时提供给用户小说最新章节所在的链接。 二、接口列表1. 获取书架列表 接口名称: 获取书架列表 接口路径: /api/bookshelf 请求方法: GET 描述: 获取当前用户的书架列表,支持排序规则。 请求参数 参数名 类型 是否必填 描述 默认值 sort String 否 排序规则 update_time 可选值:update_time(按更新时间排序),subscribe_time(按订阅时间排序) 返回结果 状态码: 200 返回格式: JSON 返回参数说明1234567891011121314151617{ "success": true, "msg": "success", "data": { ...
tuituiProject
我的书架模块开发文档 一、文档说明 书架模块概述 书架模块是用户管理已订阅或收藏小说的核心功能模块。它不仅提供了获取书架列表、小说详情、更新判断等基础功能,还支持置顶、取消置顶、从书架移除以及订阅等操作。 设计时需考虑扩展性和性能优化,确保在高并发场景下的稳定性和响应速度。 本期产品原型图(部分) 二、亮点和难点说明 亮点 排序规则:支持按更新时间和订阅时间两种排序方式,提升用户体验。 时间显示优化:根据更新时间与当前时间的差值动态生成display_time字段,提供更直观的时间描述。 订阅数量限制:用户最多可订阅五本小说,避免过度占用资源。 三、数据表设计1. 用户书架表 xiaozhaoVIP_user_bookshelf 字段名 类型 默认值 备注 id int(11) 主键 status tinyint(2) 1 状态 (1-有效, 0-无效) addTime datetime CURRENT_TIMESTAMP 添加时间 updateTime datetime CURRENT_TIMESTAMP ON UPDATE...





