列举01功能码示例和说明
时间: 2023-12-06 14:05:40 浏览: 29
1. 01H - 读线圈状态:查询指定线圈的开关状态,返回值为布尔类型(0为OFF,1为ON)。
2. 05H - 写单个线圈:将指定线圈的状态设置为开或关,参数为布尔类型。
3. 0FH - 写多个线圈:一次性设置多个线圈的状态,参数为开关状态的位串。
4. 02H - 读离散输入状态:查询指定离散输入的状态,返回值为布尔类型。
5. 04H - 读输入寄存器:查询指定输入寄存器的值,返回值为16位整数。
6. 03H - 读保持寄存器:查询指定保持寄存器的值,返回值为16位整数。
7. 06H - 写单个寄存器:将指定寄存器的值设置为给定的16位整数值。
8. 10H - 写多个寄存器:一次性设置多个寄存器的值,参数为16位整数值的位串。
相关问题
写一份验证码登录、忘记密码、修改密码功能的测试用例
当然,我可以帮你列举一些验证码登录、忘记密码和修改密码功能的测试用例。下面是一些示例:
验证码登录功能:
1. 输入正确的手机号码和验证码,验证登录成功。
2. 输入正确的手机号码和错误的验证码,验证登录失败。
3. 输入不存在的手机号码和正确的验证码,验证登录失败。
4. 输入已注册但未获取验证码的手机号码,验证登录失败。
5. 输入已注册且已获取验证码但验证码已过期的手机号码,验证登录失败。
忘记密码功能:
1. 输入已注册的手机号码,发送重置密码的验证码。
2. 输入未注册的手机号码,验证无法发送重置密码的验证码。
3. 输入错误的手机号码格式,验证无法发送重置密码的验证码。
4. 输入正确的手机号码和正确的验证码,验证重置密码链接是否成功发送到用户邮箱。
5. 输入正确的手机号码和错误的验证码,验证无法发送重置密码链接到用户邮箱。
修改密码功能:
1. 输入正确的旧密码和新密码,验证密码修改成功。
2. 输入错误的旧密码和新密码,验证密码修改失败。
3. 输入空的旧密码和新密码,验证密码修改失败。
4. 输入与旧密码相同的新密码,验证密码修改失败。
5. 输入安全性较弱的新密码,验证密码修改失败。
这只是一些基本的测试用例示例,你可以根据具体需求和业务场景进行扩展和补充。
Spring Cloud Gateway 常用过滤器以及使用示例
Spring Cloud Gateway 提供了很多常用的过滤器,下面列举一些比较常用的过滤器及使用示例:
1. 添加请求头过滤器(AddRequestHeader Filter)
该过滤器可以在请求头中添加指定的键值对,示例:
```
spring:
cloud:
gateway:
routes:
- id: add_request_header_route
uri: http://www.baidu.com
predicates:
- Path=/baidu/**
filters:
- AddRequestHeader=X-Request-Id, 123
```
上面的配置表示在请求转发到 `http://www.baidu.com` 的时候,会在请求头中添加一个键值对 `X-Request-Id: 123`。
2. 去重请求头过滤器(RemoveRequestHeader Filter)
该过滤器可以去掉指定的请求头,示例:
```
spring:
cloud:
gateway:
routes:
- id: remove_request_header_route
uri: http://www.baidu.com
predicates:
- Path=/baidu/**
filters:
- RemoveRequestHeader=X-Request-Id
```
上面的配置表示在请求转发到 `http://www.baidu.com` 的时候,会去掉请求头中的 `X-Request-Id`。
3. 重写路径过滤器(RewritePath Filter)
该过滤器可以重写请求路径,示例:
```
spring:
cloud:
gateway:
routes:
- id: rewrite_path_route
uri: http://www.baidu.com
predicates:
- Path=/baidu/**
filters:
- RewritePath=/baidu/(?<segment>.*), /${segment}
```
上面的配置表示在请求转发到 `http://www.baidu.com` 的时候,会将请求路径中的 `/baidu/` 去掉,例如请求 `/baidu/search` 会被重写为 `/search`。
4. 重试过滤器(Retry Filter)
该过滤器可以在请求失败的时候进行重试,示例:
```
spring:
cloud:
gateway:
routes:
- id: retry_route
uri: http://www.baidu.com
predicates:
- Path=/baidu/**
filters:
- Retry=2, 5000, INTERNAL_SERVER_ERROR
```
上面的配置表示当请求转发到 `http://www.baidu.com` 失败时,会进行最多 2 次重试,每次重试间隔 5000 毫秒,并且只有当返回状态码为 INTERNAL_SERVER_ERROR 时才会进行重试。
5. 限流过滤器(RequestRateLimiter Filter)
该过滤器可以对请求进行限流,示例:
```
spring:
cloud:
gateway:
routes:
- id: request_rate_limiter_route
uri: http://www.baidu.com
predicates:
- Path=/baidu/**
filters:
- RequestRateLimiter=redis, #限流器类型
key-resolver=#{T(org.springframework.cloud.gateway.handler.predicate.SpELKeyResolver).resolve('request_remote_address')}, #限流器 key 算法
redis-rate-limiter.replenishRate=1, #令牌桶填充速率
redis-rate-limiter.burstCapacity=1 #令牌桶最大容量
```
上面的配置表示使用 Redis 实现限流,限制每个 IP 地址每秒只能请求一次。
以上是一些比较常用的 Spring Cloud Gateway 过滤器及使用示例,开发者可以根据自己的需求选择合适的过滤器来实现特定的功能。