mirror of
https://github.com/continew-org/continew-admin.git
synced 2026-01-16 06:57:12 +08:00
refactor(system/client): 优化客户端配置代码
This commit is contained in:
@@ -238,17 +238,23 @@ sa-token:
|
||||
token-name: Authorization
|
||||
# 是否启用动态 activeTimeout 功能
|
||||
dynamic-active-timeout: true
|
||||
## 提示:请通过页面功能 [系统管理/系统配置/客户端配置] 动态调整 timeout、active-timeout 配置项
|
||||
## 如果不需要动态配置,请将 dynamic-active-timeout 设为 false,并取消下方 timeout 和 active-timeout 配置的注释,最好再移除相关登录处理代码
|
||||
## 提示:请通过页面功能 [系统管理/系统配置/客户端配置] 动态调整下方注释的配置项
|
||||
## 如果不需要动态配置,请取消下方配置注释,再移除相关登录处理代码
|
||||
# # Token 有效期(单位:秒,默认 30 天,-1 代表永不过期)
|
||||
# timeout: 86400
|
||||
# # Token 最低活跃频率(单位:秒,默认 -1,代表不限制,永不冻结。如果 token 超过此时间没有访问系统就会被冻结)
|
||||
# active-timeout: 1800
|
||||
# 是否打开自动续签(如果此值为 true,框架会在每次直接或间接调用 getLoginId() 时进行一次过期检查与续签操作)
|
||||
auto-renew: true
|
||||
# 是否允许同一账号多地同时登录(为 true 时允许一起登录,为 false 时新登录挤掉旧登录)
|
||||
is-concurrent: true
|
||||
# 在多人登录同一账号时,是否共用一个 Token(为 true 时所有登录共用一个 Token,为 false 时每次登录新建一个 Token)
|
||||
# # 是否打开自动续签(true:每次直接或间接调用 getLoginId() 时进行一次过期检查与续签操作)
|
||||
# auto-renew: true
|
||||
# # 是否允许同一账号多地同时登录(true:允许;false:新登录挤掉旧登录)
|
||||
# is-concurrent: true
|
||||
# # 顶人下线的范围(ALL_DEVICE_TYPE:所有设备类型端)
|
||||
# replaced-range: ALL_DEVICE_TYPE
|
||||
# # 同一账号最大登录数量(-1:不限制,只有在 isConcurrent=true,isShare=false 时才有效)
|
||||
# max-login-count: -1
|
||||
# # 溢出人数的下线方式(KICKOUT:踢人下线)
|
||||
# overflow-logout-mode: KICKOUT
|
||||
# 在多人登录同一账号时,是否共用一个 Token(true:所有登录共用一个 Token;false:每次登录新建一个 Token)
|
||||
# 使用 jwt-simple 模式后,is-share 恒等于 false(目前本项目使用 jwt-simple 模式,可通过 sa-token.extension.enableJwt: false 关闭并自行提供 StpLogic 配置)
|
||||
is-share: false
|
||||
# 是否输出操作日志
|
||||
|
||||
@@ -341,18 +341,22 @@ CREATE TABLE IF NOT EXISTS `sys_file` (
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='文件表';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `sys_client` (
|
||||
`id` bigint(20) AUTO_INCREMENT COMMENT 'ID',
|
||||
`client_id` varchar(50) NOT NULL COMMENT '客户端ID',
|
||||
`client_type` varchar(50) NOT NULL COMMENT '客户端类型',
|
||||
`auth_type` json NOT NULL COMMENT '认证类型',
|
||||
`active_timeout` bigint(20) DEFAULT -1 COMMENT 'Token最低活跃频率(单位:秒,-1:不限制,永不冻结)',
|
||||
`timeout` bigint(20) DEFAULT 2592000 COMMENT 'Token有效期(单位:秒,-1:永不过期)',
|
||||
`status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态(1:启用;2:禁用)',
|
||||
`create_user` bigint(20) NOT NULL COMMENT '创建人',
|
||||
`create_time` datetime NOT NULL COMMENT '创建时间',
|
||||
`update_user` bigint(20) DEFAULT NULL COMMENT '修改人',
|
||||
`update_time` datetime DEFAULT NULL COMMENT '修改时间',
|
||||
`deleted` bigint(20) NOT NULL DEFAULT 0 COMMENT '是否已删除(0:否;id:是)',
|
||||
`id` bigint(20) AUTO_INCREMENT COMMENT 'ID',
|
||||
`client_id` varchar(50) NOT NULL COMMENT '客户端ID',
|
||||
`client_type` varchar(50) NOT NULL COMMENT '客户端类型',
|
||||
`auth_type` json NOT NULL COMMENT '认证类型',
|
||||
`active_timeout` bigint(20) NOT NULL DEFAULT -1 COMMENT 'Token最低活跃频率(单位:秒,-1:不限制,永不冻结)',
|
||||
`timeout` bigint(20) NOT NULL DEFAULT 2592000 COMMENT 'Token有效期(单位:秒,-1:永不过期)',
|
||||
`is_concurrent` bit(1) NOT NULL DEFAULT b'1' COMMENT '是否允许同一账号多地同时登录(true:允许;false:新登录挤掉旧登录)',
|
||||
`replaced_range` varchar(20) DEFAULT NULL COMMENT '顶人下线的范围(CURR_DEVICE_TYPE:当前客户端类型;ALL_DEVICE_TYPE:所有客户端类型)',
|
||||
`max_login_count` int NOT NULL DEFAULT -1 COMMENT '同一账号最大登录数量(-1:不限制,只有在 isConcurrent=true,isShare=false 时才有效)',
|
||||
`overflow_logout_mode` varchar(20) DEFAULT NULL COMMENT '溢出人数的下线方式(LOGOUT:注销下线;KICKOUT:踢人下线;REPLACED:顶人下线)',
|
||||
`status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态(1:启用;2:禁用)',
|
||||
`create_user` bigint(20) NOT NULL COMMENT '创建人',
|
||||
`create_time` datetime NOT NULL COMMENT '创建时间',
|
||||
`update_user` bigint(20) DEFAULT NULL COMMENT '修改人',
|
||||
`update_time` datetime DEFAULT NULL COMMENT '修改时间',
|
||||
`deleted` bigint(20) NOT NULL DEFAULT 0 COMMENT '是否已删除(0:否;id:是)',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE INDEX `uk_client_id`(`client_id`, `deleted`),
|
||||
INDEX `idx_create_user`(`create_user`),
|
||||
@@ -399,11 +403,3 @@ CREATE TABLE IF NOT EXISTS `sys_sms_log` (
|
||||
INDEX `idx_config_id`(`config_id`),
|
||||
INDEX `idx_create_user`(`create_user`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='短信日志表';
|
||||
|
||||
-- changeset KAI:20251125-01
|
||||
-- comment 追加sys_client表字段
|
||||
ALTER TABLE `sys_client`
|
||||
ADD COLUMN `is_concurrent` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否允许同一账号多地同时登录',
|
||||
ADD COLUMN `max_login_count` int NOT NULL DEFAULT -1 COMMENT '同一账号最大登录数量,-1代表不限',
|
||||
ADD COLUMN `replaced_range` varchar(20) DEFAULT 'ALL_DEVICE_TYPE' COMMENT '顶人下线的范围(CURR_DEVICE_TYPE=当前设备类型端;ALL_DEVICE_TYPE=所有设备类型端)',
|
||||
ADD COLUMN `overflow_logout_mode` varchar(20) DEFAULT 'KICKOUT' COMMENT '溢出人数的注销方式(LOGOUT=注销下线;KICKOUT=踢人下线;REPLACED=顶人下线)';
|
||||
@@ -566,37 +566,45 @@ COMMENT ON COLUMN "sys_file"."deleted" IS '是否已删除(0:否
|
||||
COMMENT ON TABLE "sys_file" IS '文件表';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "sys_client" (
|
||||
"id" int8 NOT NULL,
|
||||
"client_id" varchar(50) NOT NULL,
|
||||
"client_type" varchar(50) NOT NULL,
|
||||
"auth_type" json NOT NULL,
|
||||
"active_timeout" int8 NOT NULL DEFAULT -1,
|
||||
"timeout" int8 NOT NULL DEFAULT 2592000,
|
||||
"status" int2 NOT NULL DEFAULT 1,
|
||||
"create_user" int8 NOT NULL,
|
||||
"create_time" timestamp NOT NULL,
|
||||
"update_user" int8 DEFAULT NULL,
|
||||
"update_time" timestamp DEFAULT NULL,
|
||||
"deleted" int8 NOT NULL DEFAULT 0,
|
||||
"id" int8 NOT NULL,
|
||||
"client_id" varchar(50) NOT NULL,
|
||||
"client_type" varchar(50) NOT NULL,
|
||||
"auth_type" json NOT NULL,
|
||||
"active_timeout" int8 NOT NULL DEFAULT -1,
|
||||
"timeout" int8 NOT NULL DEFAULT 2592000,
|
||||
"is_concurrent" bool NOT NULL DEFAULT true,
|
||||
"replaced_range" varchar(20) DEFAULT NULL,
|
||||
"max_login_count" int4 NOT NULL DEFAULT -1,
|
||||
"overflow_logout_mode" varchar(20) DEFAULT NULL,
|
||||
"status" int2 NOT NULL DEFAULT 1,
|
||||
"create_user" int8 NOT NULL,
|
||||
"create_time" timestamp NOT NULL,
|
||||
"update_user" int8 DEFAULT NULL,
|
||||
"update_time" timestamp DEFAULT NULL,
|
||||
"deleted" int8 NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY ("id")
|
||||
);
|
||||
CREATE UNIQUE INDEX "uk_client_client_id" ON "sys_client" ("client_id");
|
||||
CREATE INDEX "idx_client_create_user" ON "sys_client" ("create_user");
|
||||
CREATE INDEX "idx_client_update_user" ON "sys_client" ("update_user");
|
||||
CREATE INDEX "idx_client_deleted" ON "sys_client" ("deleted");
|
||||
COMMENT ON COLUMN "sys_client"."id" IS 'ID';
|
||||
COMMENT ON COLUMN "sys_client"."client_id" IS '客户端ID';
|
||||
COMMENT ON COLUMN "sys_client"."client_type" IS '客户端类型';
|
||||
COMMENT ON COLUMN "sys_client"."auth_type" IS '认证类型';
|
||||
COMMENT ON COLUMN "sys_client"."active_timeout" IS 'Token最低活跃频率(单位:秒,-1:不限制,永不冻结)';
|
||||
COMMENT ON COLUMN "sys_client"."timeout" IS 'Token有效期(单位:秒,-1:永不过期)';
|
||||
COMMENT ON COLUMN "sys_client"."status" IS '状态(1:启用;2:禁用)';
|
||||
COMMENT ON COLUMN "sys_client"."create_user" IS '创建人';
|
||||
COMMENT ON COLUMN "sys_client"."create_time" IS '创建时间';
|
||||
COMMENT ON COLUMN "sys_client"."update_user" IS '修改人';
|
||||
COMMENT ON COLUMN "sys_client"."update_time" IS '修改时间';
|
||||
COMMENT ON COLUMN "sys_client"."deleted" IS '是否已删除(0:否;id:是)';
|
||||
COMMENT ON TABLE "sys_client" IS '客户端表';
|
||||
COMMENT ON COLUMN "sys_client"."id" IS 'ID';
|
||||
COMMENT ON COLUMN "sys_client"."client_id" IS '客户端ID';
|
||||
COMMENT ON COLUMN "sys_client"."client_type" IS '客户端类型';
|
||||
COMMENT ON COLUMN "sys_client"."auth_type" IS '认证类型';
|
||||
COMMENT ON COLUMN "sys_client"."active_timeout" IS 'Token最低活跃频率(单位:秒,-1:不限制,永不冻结)';
|
||||
COMMENT ON COLUMN "sys_client"."timeout" IS 'Token有效期(单位:秒,-1:永不过期)';
|
||||
COMMENT ON COLUMN "sys_client"."is_concurrent" IS '是否允许同一账号多地同时登录(true:允许;false:新登录挤掉旧登录)';
|
||||
COMMENT ON COLUMN "sys_client"."replaced_range" IS '顶人下线的范围(CURR_DEVICE_TYPE:当前客户端类型;ALL_DEVICE_TYPE:所有客户端类型)';
|
||||
COMMENT ON COLUMN "sys_client"."max_login_count" IS '同一账号最大登录数量(-1:不限制,只有在 isConcurrent=true,isShare=false 时才有效)';
|
||||
COMMENT ON COLUMN "sys_client"."overflow_logout_mode" IS '溢出人数的下线方式(LOGOUT:注销下线;KICKOUT:踢人下线;REPLACED:顶人下线)';
|
||||
COMMENT ON COLUMN "sys_client"."status" IS '状态(1:启用;2:禁用)';
|
||||
COMMENT ON COLUMN "sys_client"."create_user" IS '创建人';
|
||||
COMMENT ON COLUMN "sys_client"."create_time" IS '创建时间';
|
||||
COMMENT ON COLUMN "sys_client"."update_user" IS '修改人';
|
||||
COMMENT ON COLUMN "sys_client"."update_time" IS '修改时间';
|
||||
COMMENT ON COLUMN "sys_client"."deleted" IS '是否已删除(0:否;id:是)';
|
||||
COMMENT ON TABLE "sys_client" IS '客户端表';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "sys_sms_config" (
|
||||
"id" int8 NOT NULL,
|
||||
@@ -666,16 +674,3 @@ COMMENT ON COLUMN "sys_sms_log"."res_msg" IS '返回数据';
|
||||
COMMENT ON COLUMN "sys_sms_log"."create_user" IS '创建人';
|
||||
COMMENT ON COLUMN "sys_sms_log"."create_time" IS '创建时间';
|
||||
COMMENT ON TABLE "sys_sms_log" IS '短信日志表';
|
||||
|
||||
-- changeset kai:20251125-01
|
||||
-- comment 追加sys_client表字段
|
||||
ALTER TABLE "sys_client"
|
||||
ADD COLUMN "is_concurrent" bool NOT NULL DEFAULT false,
|
||||
ADD COLUMN "max_login_count" int4 NOT NULL DEFAULT -1,
|
||||
ADD COLUMN "replaced_range" varchar(20) NOT NULL DEFAULT 'ALL_DEVICE_TYPE',
|
||||
ADD COLUMN "overflow_logout_mode" varchar(20) NOT NULL DEFAULT 'KICKOUT';
|
||||
|
||||
COMMENT ON COLUMN "sys_client"."is_concurrent" IS '是否允许同一账号多地同时登录';
|
||||
COMMENT ON COLUMN "sys_client"."max_login_count" IS '同一账号最大登录数量,-1代表不限';
|
||||
COMMENT ON COLUMN "sys_client"."replaced_range" IS '顶人下线的范围(CURR_DEVICE_TYPE=当前设备类型端;ALL_DEVICE_TYPE=所有设备类型端)';
|
||||
COMMENT ON COLUMN "sys_client"."overflow_logout_mode" IS '溢出人数的注销方式(LOGOUT=注销下线;KICKOUT=踢人下线;REPLACED=顶人下线)';
|
||||
Reference in New Issue
Block a user