六 11、签到功能配置 - ZeroOrInfinity/UMS GitHub Wiki

所属模块: core 模块

详细配置: demo 模块 -> basic-detail-example

spring:
  # redis 配置
  redis:
    host: 192.168.88.88
    port: 6379
    password:
    database: 0
    # 连接超时的时间
    timeout: 10000
    # redis-lettuce-pool
    lettuce:
      # 会影响应用关闭是时间, dev 模式设置为 0
      shutdown-timeout: PT500S
      pool:
        max-active: 8
        max-wait: PT10S
        max-idle: 8
        min-idle: 1

ums:
  # 签到功能 设置
  sign:
    # 获取最近几天的签到情况, 不能大于 28 天, 默认为 7 天
    last-few-days: 10
    # 用于 redis 签到 key 前缀,默认为: u:sign:
    sign-key-prefix: 'u:sign:'
    # 用于 redis 总签到 key 前缀,默认为: total:sign:
    total-sign-key-prefix: 'total:sign:'
    # redis key(String) 转 byte[] 转换时所用的 charset
    charset: UTF-8
    # 用户签到统计 redis key TTL, 默认: 二个月 , 单位: 秒
    total-expired: 5356800
    # 用户签到 redis key TTL, 默认: 二个月 , 单位: 秒
    user-expired: 5356800
  • 依赖
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!-- 为了解决 ClassNotFoundException: org.apache.commons.pool2.impl.GenericObjectPoolConfig -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-pool2</artifactId>
    <version>2.8.0</version>
</dependency>

使用说明(Usage):

// 添加注释 @EnabledSign
@SuppressWarnings("JavadocReference")
@EnabledSign
@RestController
public class SignController {

    /**
     * 通过 Autowired 注入 SignService 即可
     * 详细使用方式可以查看 demo 模块: demo.security.sign.DemoSignController
     * 要自定义签到功能, 实现 {@link SignService}, 
     * 注入 IOC 即可替换 {@link UserSignServiceImpl} 默认实现
     */
    @Autowired
    private SignService signService;
    
    // ...
}
⚠️ **GitHub.com Fallback** ⚠️