1.web complate;

This commit is contained in:
madao
2024-12-21 18:26:54 +08:00
parent b51b9bf2fb
commit be4436a0ee
26 changed files with 147 additions and 479 deletions

View File

@@ -2,62 +2,124 @@
-- Drop table -- Drop table
-- DROP TABLE public.camera; -- DROP TABLE camera;
CREATE TABLE public.camera ( CREATE TABLE camera (
id varchar NOT NULL, -- id code varchar(255) NULL, -- 编号
code varchar NULL, -- 摄像头编号 rtsp_url varchar(255) NULL, -- rtsp地址
rtsp_url varchar NULL, -- rtsp地址 rtmp_url varchar(255) NULL, -- rtmp推送地址
rtmp_url varchar NULL, -- rtmp地址 play_auth_code varchar(255) NULL, -- 播放权限码
play_auth_code varchar NULL, -- 播放识别码 online_status bool NULL, -- 在线状态
online_status int2 NULL, -- 是否在线1.在线0.不在线; enabled bool NULL, -- 启用状态
enabled int2 NULL, -- 是否启用1.启用0.禁用; rtmp_push_status bool NULL, -- rtmp推送状态
created timestamp(0) NULL, -- 创建时间 save_video bool NULL, -- 保存录像状态
save_video int2 NULL, -- 是否保留录像1.保留0.不保留; live bool NULL, -- 直播状态
live int2 NULL, -- 开启直播状态1.开启0.关闭; created timestamp NULL, -- 创建时间
rtmp_push_status int2 NULL, -- 开启rtmp推送状态1.开启0.关闭; id varchar(255) NOT NULL,
CONSTRAINT camera_pk PRIMARY KEY (id) CONSTRAINT pk_camera PRIMARY KEY (id)
); );
COMMENT ON TABLE public.camera IS '摄像头';
-- Column comments -- Column comments
COMMENT ON COLUMN public.camera.id IS 'id'; COMMENT ON COLUMN public.camera.code IS '编号';
COMMENT ON COLUMN public.camera.code IS '摄像头编号';
COMMENT ON COLUMN public.camera.rtsp_url IS 'rtsp地址'; COMMENT ON COLUMN public.camera.rtsp_url IS 'rtsp地址';
COMMENT ON COLUMN public.camera.rtmp_url IS 'rtmp地址'; COMMENT ON COLUMN public.camera.rtmp_url IS 'rtmp推送地址';
COMMENT ON COLUMN public.camera.play_auth_code IS '播放识别'; COMMENT ON COLUMN public.camera.play_auth_code IS '播放权限';
COMMENT ON COLUMN public.camera.online_status IS '是否在线1.在线0.不在线;'; COMMENT ON COLUMN public.camera.online_status IS '在线状态';
COMMENT ON COLUMN public.camera.enabled IS '是否启用1.启用0.禁用;'; COMMENT ON COLUMN public.camera.enabled IS '启用状态';
COMMENT ON COLUMN public.camera.rtmp_push_status IS 'rtmp推送状态';
COMMENT ON COLUMN public.camera.save_video IS '保存录像状态';
COMMENT ON COLUMN public.camera.live IS '直播状态';
COMMENT ON COLUMN public.camera.created IS '创建时间'; COMMENT ON COLUMN public.camera.created IS '创建时间';
COMMENT ON COLUMN public.camera.save_video IS '是否保留录像1.保留0.不保留;';
COMMENT ON COLUMN public.camera.live IS '开启直播状态1.开启0.关闭;';
COMMENT ON COLUMN public.camera.rtmp_push_status IS '开启rtmp推送状态1.开启0.关闭;'; -- public.sys_token definition
-- Drop table
-- DROP TABLE sys_token;
CREATE TABLE sys_token (
username varchar(255) NULL, -- 用户名称
nick_name varchar(255) NULL, -- 昵称
create_time timestamp NULL, -- 创建时间
"token" varchar(255) NULL, -- 令牌
expired_time timestamp NULL, -- 过期时间
user_info_string varchar(4000) NULL, -- 用户信息序列化
id_sys_token varchar(255) NOT NULL,
CONSTRAINT pk_sys_token PRIMARY KEY (id_sys_token)
);
COMMENT ON TABLE public.sys_token IS '令牌';
-- Column comments
COMMENT ON COLUMN public.sys_token.username IS '用户名称';
COMMENT ON COLUMN public.sys_token.nick_name IS '昵称';
COMMENT ON COLUMN public.sys_token.create_time IS '创建时间';
COMMENT ON COLUMN public.sys_token."token" IS '令牌';
COMMENT ON COLUMN public.sys_token.expired_time IS '过期时间';
COMMENT ON COLUMN public.sys_token.user_info_string IS '用户信息序列化';
-- public.sys_user definition
-- Drop table
-- DROP TABLE sys_user;
CREATE TABLE sys_user (
account varchar(255) NULL, -- 登录账号
user_pwd varchar(255) NULL, -- 用户密码
phone varchar(255) NULL, -- 手机号码
email varchar(255) NULL, -- 邮箱
"name" varchar(255) NULL, -- 姓名
nick_name varchar(255) NULL, -- 昵称
gender varchar(255) NULL, -- 性别
fg_active bool NULL, -- 启用标志
id_user varchar(255) NOT NULL,
CONSTRAINT pk_sys_user PRIMARY KEY (id_user)
);
COMMENT ON TABLE public.sys_user IS '系统用户';
-- Column comments
COMMENT ON COLUMN public.sys_user.account IS '登录账号 ';
COMMENT ON COLUMN public.sys_user.user_pwd IS '用户密码 ';
COMMENT ON COLUMN public.sys_user.phone IS '手机号码';
COMMENT ON COLUMN public.sys_user.email IS '邮箱';
COMMENT ON COLUMN public.sys_user."name" IS '姓名 ';
COMMENT ON COLUMN public.sys_user.nick_name IS '昵称';
COMMENT ON COLUMN public.sys_user.gender IS '性别';
COMMENT ON COLUMN public.sys_user.fg_active IS '启用标志';
-- public.camera_share definition -- public.camera_share definition
-- Drop table -- Drop table
-- DROP TABLE public.camera_share; -- DROP TABLE camera_share;
CREATE TABLE public.camera_share ( CREATE TABLE camera_share (
id varchar NOT NULL, "name" varchar(255) NULL, -- 名称
camera_id varchar NULL, -- 摄像头标识 auth_code varchar(255) NULL, -- 权限码
auth_code varchar NULL, -- 播放权限码 enabled bool NULL, -- 启用状态
enabled int2 NULL, -- 启用状态1.启用0.禁用; created timestamp NULL, -- 创建时间
created timestamp(0) NULL, -- 创建时间 start_time timestamp NULL, -- 开始时间
deadline timestamp(0) NULL, -- 截止日期 deadline timestamp NULL, -- 结束时间
"name" varchar NULL, -- 分享说明 camera_id varchar(255) NOT NULL, -- 摄像头id
start_time timestamp(0) NULL, -- 开始生效时间 id varchar(255) NOT NULL,
CONSTRAINT camera_share_pk PRIMARY KEY (id) CONSTRAINT pk_camera_share PRIMARY KEY (id),
CONSTRAINT camera_share_camera_id_fkey FOREIGN KEY (camera_id) REFERENCES camera(id)
); );
COMMENT ON TABLE public.camera_share IS '摄像头分享'; COMMENT ON TABLE public.camera_share IS '摄像头分享';
-- Column comments -- Column comments
COMMENT ON COLUMN public.camera_share.camera_id IS '摄像头标识'; COMMENT ON COLUMN public.camera_share."name" IS '名称';
COMMENT ON COLUMN public.camera_share.auth_code IS '播放权限码'; COMMENT ON COLUMN public.camera_share.auth_code IS '权限码';
COMMENT ON COLUMN public.camera_share.enabled IS '启用状态1.启用0.禁用;'; COMMENT ON COLUMN public.camera_share.enabled IS '启用状态';
COMMENT ON COLUMN public.camera_share.created IS '创建时间'; COMMENT ON COLUMN public.camera_share.created IS '创建时间';
COMMENT ON COLUMN public.camera_share.deadline IS '截止日期'; COMMENT ON COLUMN public.camera_share.start_time IS '开始时间';
COMMENT ON COLUMN public.camera_share."name" IS '分享说明'; COMMENT ON COLUMN public.camera_share.deadline IS '结束时间';
COMMENT ON COLUMN public.camera_share.start_time IS '开始生效时间'; COMMENT ON COLUMN public.camera_share.camera_id IS '摄像头id';

3
go.mod
View File

@@ -10,8 +10,7 @@ require (
github.com/go-cmd/cmd v1.4.3 github.com/go-cmd/cmd v1.4.3
github.com/google/uuid v1.3.0 github.com/google/uuid v1.3.0
github.com/lib/pq v1.10.9 github.com/lib/pq v1.10.9
github.com/matoous/go-nanoid/v2 v2.1.0 // indirect github.com/matoous/go-nanoid/v2 v2.1.0
github.com/u2takey/go-utils v0.3.1
) )
replace github.com/deepch/vdk => github.com/hkmadao/vdk v0.0.0-20241127071358-df60b9bc5ae8 replace github.com/deepch/vdk => github.com/hkmadao/vdk v0.0.0-20241127071358-df60b9bc5ae8

10
go.sum
View File

@@ -75,7 +75,6 @@ github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2
github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas=
github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A= github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A=
github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4=
@@ -249,7 +248,6 @@ github.com/onsi/gomega v1.26.0/go.mod h1:r+zV744Re+DiYCIPRlYOTxn0YkOLcAnW8k1xXdM
github.com/onsi/gomega v1.27.1/go.mod h1:aHX5xOykVYzWOV4WqQy0sy8BQptgukenXpCXfadcIAw= github.com/onsi/gomega v1.27.1/go.mod h1:aHX5xOykVYzWOV4WqQy0sy8BQptgukenXpCXfadcIAw=
github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
github.com/openzipkin/zipkin-go v0.1.1/go.mod h1:NtoC/o8u3JlF1lSlyPNswIbeQH9bJTmOf0Erfk+hxe8= github.com/openzipkin/zipkin-go v0.1.1/go.mod h1:NtoC/o8u3JlF1lSlyPNswIbeQH9bJTmOf0Erfk+hxe8=
github.com/panjf2000/ants/v2 v2.4.2/go.mod h1:f6F0NZVFsGCp5A7QW/Zj/m92atWwOkY0OIhFxRNFr4A=
github.com/pelletier/go-toml v1.0.1/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pelletier/go-toml v1.0.1/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
github.com/pelletier/go-toml v1.8.1/go.mod h1:T2/BmBdy8dvIRq1a/8aqjN41wvWlN4lrapLU/GW4pbc= github.com/pelletier/go-toml v1.8.1/go.mod h1:T2/BmBdy8dvIRq1a/8aqjN41wvWlN4lrapLU/GW4pbc=
github.com/peterh/liner v1.0.1-0.20171122030339-3681c2a91233/go.mod h1:xIteQHvHuaLYG9IFj6mSxM0fCKrs34IrEQUhOYuGPHc= github.com/peterh/liner v1.0.1-0.20171122030339-3681c2a91233/go.mod h1:xIteQHvHuaLYG9IFj6mSxM0fCKrs34IrEQUhOYuGPHc=
@@ -357,7 +355,6 @@ github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPx
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
github.com/sourcegraph/annotate v0.0.0-20160123013949-f4cad6c6324d/go.mod h1:UdhH50NIW0fCiwBSr0co2m7BnFLdv4fQTgdqdJTHFeE= github.com/sourcegraph/annotate v0.0.0-20160123013949-f4cad6c6324d/go.mod h1:UdhH50NIW0fCiwBSr0co2m7BnFLdv4fQTgdqdJTHFeE=
github.com/sourcegraph/syntaxhighlight v0.0.0-20170531221838-bd320f5d308e/go.mod h1:HuIsMU8RRBOtsCgI77wP899iHVBQpCmg4ErYMZB+2IA= github.com/sourcegraph/syntaxhighlight v0.0.0-20170531221838-bd320f5d308e/go.mod h1:HuIsMU8RRBOtsCgI77wP899iHVBQpCmg4ErYMZB+2IA=
github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk=
github.com/ssdb/gossdb v0.0.0-20180723034631-88f6b59b84ec/go.mod h1:QBvMkMya+gXctz3kmljlUCu/yB3GZ6oee+dUozsezQE= github.com/ssdb/gossdb v0.0.0-20180723034631-88f6b59b84ec/go.mod h1:QBvMkMya+gXctz3kmljlUCu/yB3GZ6oee+dUozsezQE=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
@@ -374,7 +371,6 @@ github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
@@ -382,8 +378,6 @@ github.com/syndtr/goleveldb v0.0.0-20160425020131-cfa635847112/go.mod h1:Z4AUp2K
github.com/syndtr/goleveldb v0.0.0-20181127023241-353a9fca669c/go.mod h1:Z4AUp2Km+PwemOoO/VB5AOx9XSsIItzFjoJlOSiYmn0= github.com/syndtr/goleveldb v0.0.0-20181127023241-353a9fca669c/go.mod h1:Z4AUp2Km+PwemOoO/VB5AOx9XSsIItzFjoJlOSiYmn0=
github.com/tarm/serial v0.0.0-20180830185346-98f6abe2eb07/go.mod h1:kDXzergiv9cbyO7IOYJZWg1U88JhDg3PB6klq9Hg2pA= github.com/tarm/serial v0.0.0-20180830185346-98f6abe2eb07/go.mod h1:kDXzergiv9cbyO7IOYJZWg1U88JhDg3PB6klq9Hg2pA=
github.com/tejasmanohar/timerange-go v1.0.0/go.mod h1:tic3Puc+uofo0D7502PvYBlu5sJMszF5nGbsYsu7FiI= github.com/tejasmanohar/timerange-go v1.0.0/go.mod h1:tic3Puc+uofo0D7502PvYBlu5sJMszF5nGbsYsu7FiI=
github.com/u2takey/go-utils v0.3.1 h1:TaQTgmEZZeDHQFYfd+AdUT1cT4QJgJn/XVPELhHw4ys=
github.com/u2takey/go-utils v0.3.1/go.mod h1:6e+v5vEZ/6gu12w/DC2ixZdZtCrNokVxD0JUklcqdCs=
github.com/ugorji/go v0.0.0-20171122102828-84cb69a8af83/go.mod h1:hnLbHMwcvSihnDhEfx2/BzKp2xb0Y+ErdfYcrs9tkJQ= github.com/ugorji/go v0.0.0-20171122102828-84cb69a8af83/go.mod h1:hnLbHMwcvSihnDhEfx2/BzKp2xb0Y+ErdfYcrs9tkJQ=
github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo= github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo=
github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw=
@@ -516,7 +510,6 @@ golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200724161237-0e2f3a69832c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200724161237-0e2f3a69832c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -571,7 +564,6 @@ golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/text v0.10.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.10.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20181030000716-a0a13e073c7b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030000716-a0a13e073c7b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@@ -646,7 +638,6 @@ gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
@@ -663,6 +654,5 @@ honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt
honnef.co/go/tools v0.0.1-2020.1.5/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.5/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=
sourcegraph.com/sourcegraph/go-diff v0.5.0/go.mod h1:kuch7UrkMzY0X+p9CRK03kfuPQ2zzQcaEFbx8wA8rck= sourcegraph.com/sourcegraph/go-diff v0.5.0/go.mod h1:kuch7UrkMzY0X+p9CRK03kfuPQ2zzQcaEFbx8wA8rck=
sourcegraph.com/sqs/pbtypes v0.0.0-20180604144634-d3ebe8f20ae4/go.mod h1:ketZ/q3QxT9HOBeFhu6RdvsftgpsbFHBF5Cas6cDKZ0= sourcegraph.com/sqs/pbtypes v0.0.0-20180604144634-d3ebe8f20ae4/go.mod h1:ketZ/q3QxT9HOBeFhu6RdvsftgpsbFHBF5Cas6cDKZ0=

View File

@@ -1,17 +0,0 @@
{
"files": {
"main.js": "/rtsp2rtmp/static/js/main.12e4388c.chunk.js",
"main.js.map": "/rtsp2rtmp/static/js/main.12e4388c.chunk.js.map",
"runtime-main.js": "/rtsp2rtmp/static/js/runtime-main.5a0d2bcd.js",
"runtime-main.js.map": "/rtsp2rtmp/static/js/runtime-main.5a0d2bcd.js.map",
"static/js/2.af27c0ee.chunk.js": "/rtsp2rtmp/static/js/2.af27c0ee.chunk.js",
"static/js/2.af27c0ee.chunk.js.map": "/rtsp2rtmp/static/js/2.af27c0ee.chunk.js.map",
"index.html": "/rtsp2rtmp/index.html",
"static/js/2.af27c0ee.chunk.js.LICENSE.txt": "/rtsp2rtmp/static/js/2.af27c0ee.chunk.js.LICENSE.txt"
},
"entrypoints": [
"static/js/runtime-main.5a0d2bcd.js",
"static/js/2.af27c0ee.chunk.js",
"static/js/main.12e4388c.chunk.js"
]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 292 B

View File

@@ -1 +1,27 @@
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/rtsp2rtmp/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Web site created using create-react-app"/><link rel="apple-touch-icon" href="/rtsp2rtmp/logo192.png"/><link rel="manifest" href="/rtsp2rtmp/manifest.json"/><title>React App</title></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="app"></div><script>!function(e){function r(r){for(var n,p,l=r[0],f=r[1],i=r[2],c=0,s=[];c<l.length;c++)p=l[c],Object.prototype.hasOwnProperty.call(o,p)&&o[p]&&s.push(o[p][0]),o[p]=0;for(n in f)Object.prototype.hasOwnProperty.call(f,n)&&(e[n]=f[n]);for(a&&a(r);s.length;)s.shift()();return u.push.apply(u,i||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,l=1;l<t.length;l++){var f=t[l];0!==o[f]&&(n=!1)}n&&(u.splice(r--,1),e=p(p.s=t[0]))}return e}var n={},o={1:0},u=[];function p(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,p),t.l=!0,t.exports}p.m=e,p.c=n,p.d=function(e,r,t){p.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},p.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},p.t=function(e,r){if(1&r&&(e=p(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(p.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)p.d(t,n,function(r){return e[r]}.bind(null,n));return t},p.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return p.d(r,"a",r),r},p.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},p.p="/rtsp2rtmp/";var l=this.webpackJsonprtsp2rtmpweb=this.webpackJsonprtsp2rtmpweb||[],f=l.push.bind(l);l.push=r,l=l.slice();for(var i=0;i<l.length;i++)r(l[i]);var a=f;t()}([])</script><script src="/rtsp2rtmp/static/js/2.af27c0ee.chunk.js"></script><script src="/rtsp2rtmp/static/js/main.12e4388c.chunk.js"></script></body></html> <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"
/>
<link
rel="shortcut icon"
type="image/x-icon"
href="/rtsp2rtmp/favicon.png"
/>
<link rel="stylesheet" href="/rtsp2rtmp/umi.css" />
<script>
window.routerBase = "/";
</script>
<script>
//! umi version: 3.5.43
</script>
</head>
<body>
<div id="root"></div>
<script src="/rtsp2rtmp/umi.js"></script>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

View File

@@ -1,25 +0,0 @@
{
"short_name": "React App",
"name": "Create React App Sample",
"icons": [
{
"src": "favicon.ico",
"sizes": "64x64 32x32 24x24 16x16",
"type": "image/x-icon"
},
{
"src": "logo192.png",
"type": "image/png",
"sizes": "192x192"
},
{
"src": "logo512.png",
"type": "image/png",
"sizes": "512x512"
}
],
"start_url": ".",
"display": "standalone",
"theme_color": "#000000",
"background_color": "#ffffff"
}

View File

@@ -1,3 +0,0 @@
# https://www.robotstxt.org/robotstxt.html
User-agent: *
Disallow:

File diff suppressed because one or more lines are too long

View File

@@ -1,353 +0,0 @@
/*
object-assign
(c) Sindre Sorhus
@license MIT
*/
/*!
* @overview es6-promise - a tiny implementation of Promises/A+.
* @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)
* @license Licensed under MIT license
* See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE
* @version v4.2.8+1e68dce6
*/
/*! ../config.js */
/*! ../core/media-info.js */
/*! ../core/media-segment-info.js */
/*! ../core/mse-controller.js */
/*! ../core/mse-events.js */
/*! ../core/transmuxer.js */
/*! ../core/transmuxing-events.js */
/*! ../demux/demux-errors.js */
/*! ../demux/flv-demuxer.js */
/*! ../io/io-controller.js */
/*! ../io/loader.js */
/*! ../remux/mp4-remuxer.js */
/*! ../utils/browser.js */
/*! ../utils/exception.js */
/*! ../utils/logger.js */
/*! ../utils/logging-control.js */
/*! ../utils/polyfill.js */
/*! ../utils/utf8-conv.js */
/*! ./aac-silent.js */
/*! ./amf-parser.js */
/*! ./core/features.js */
/*! ./demux-errors.js */
/*! ./exp-golomb.js */
/*! ./fetch-stream-loader.js */
/*! ./flv.js */
/*! ./io/loader.js */
/*! ./loader.js */
/*! ./logger.js */
/*! ./media-info.js */
/*! ./media-segment-info.js */
/*! ./mp4-generator.js */
/*! ./mse-events.js */
/*! ./param-seek-handler.js */
/*! ./player-errors.js */
/*! ./player-events.js */
/*! ./player/flv-player.js */
/*! ./player/native-player.js */
/*! ./player/player-errors.js */
/*! ./player/player-events.js */
/*! ./range-seek-handler.js */
/*! ./speed-sampler.js */
/*! ./sps-parser.js */
/*! ./transmuxing-controller.js */
/*! ./transmuxing-events.js */
/*! ./transmuxing-worker */
/*! ./utils/exception.js */
/*! ./utils/logging-control.js */
/*! ./utils/polyfill.js */
/*! ./websocket-loader.js */
/*! ./xhr-moz-chunked-loader.js */
/*! ./xhr-range-loader.js */
/*! es6-promise */
/*! events */
/*! webworkify-webpack */
/*!********************!*\
!*** ./src/flv.js ***!
\********************/
/*!**********************!*\
!*** ./src/index.js ***!
\**********************/
/*!***********************!*\
!*** ./src/config.js ***!
\***********************/
/*!**************************!*\
!*** ./src/io/loader.js ***!
\**************************/
/*!*****************************!*\
!*** ./src/utils/logger.js ***!
\*****************************/
/*!******************************!*\
!*** ./src/core/features.js ***!
\******************************/
/*!******************************!*\
!*** ./src/utils/browser.js ***!
\******************************/
/*!*******************************!*\
!*** ./src/utils/polyfill.js ***!
\*******************************/
/*!********************************!*\
!*** ./src/core/media-info.js ***!
\********************************/
/*!********************************!*\
!*** ./src/core/mse-events.js ***!
\********************************/
/*!********************************!*\
!*** ./src/core/transmuxer.js ***!
\********************************/
/*!********************************!*\
!*** ./src/utils/exception.js ***!
\********************************/
/*!********************************!*\
!*** ./src/utils/utf8-conv.js ***!
\********************************/
/*!*********************************!*\
!*** ./src/demux/amf-parser.js ***!
\*********************************/
/*!*********************************!*\
!*** ./src/demux/exp-golomb.js ***!
\*********************************/
/*!*********************************!*\
!*** ./src/demux/sps-parser.js ***!
\*********************************/
/*!*********************************!*\
!*** ./src/io/io-controller.js ***!
\*********************************/
/*!*********************************!*\
!*** ./src/io/speed-sampler.js ***!
\*********************************/
/*!*********************************!*\
!*** ./src/remux/aac-silent.js ***!
\*********************************/
/*!**********************************!*\
!*** ./src/demux/flv-demuxer.js ***!
\**********************************/
/*!**********************************!*\
!*** ./src/player/flv-player.js ***!
\**********************************/
/*!**********************************!*\
!*** ./src/remux/mp4-remuxer.js ***!
\**********************************/
/*!***********************************!*\
!*** ./src/demux/demux-errors.js ***!
\***********************************/
/*!************************************!*\
!*** ./src/core/mse-controller.js ***!
\************************************/
/*!************************************!*\
!*** ./src/io/websocket-loader.js ***!
\************************************/
/*!************************************!*\
!*** ./src/io/xhr-range-loader.js ***!
\************************************/
/*!************************************!*\
!*** ./src/remux/mp4-generator.js ***!
\************************************/
/*!*************************************!*\
!*** ./src/player/native-player.js ***!
\*************************************/
/*!*************************************!*\
!*** ./src/player/player-errors.js ***!
\*************************************/
/*!*************************************!*\
!*** ./src/player/player-events.js ***!
\*************************************/
/*!**************************************!*\
!*** ./src/io/param-seek-handler.js ***!
\**************************************/
/*!**************************************!*\
!*** ./src/io/range-seek-handler.js ***!
\**************************************/
/*!**************************************!*\
!*** ./src/utils/logging-control.js ***!
\**************************************/
/*!***************************************!*\
!*** ./node_modules/events/events.js ***!
\***************************************/
/*!***************************************!*\
!*** ./src/io/fetch-stream-loader.js ***!
\***************************************/
/*!****************************************!*\
!*** ./src/core/media-segment-info.js ***!
\****************************************/
/*!****************************************!*\
!*** ./src/core/transmuxing-events.js ***!
\****************************************/
/*!****************************************!*\
!*** ./src/core/transmuxing-worker.js ***!
\****************************************/
/*!******************************************!*\
!*** ./src/io/xhr-moz-chunked-loader.js ***!
\******************************************/
/*!********************************************!*\
!*** ./src/core/transmuxing-controller.js ***!
\********************************************/
/*!**************************************************!*\
!*** ./node_modules/webworkify-webpack/index.js ***!
\**************************************************/
/*!******************************************************!*\
!*** ./node_modules/es6-promise/dist/es6-promise.js ***!
\******************************************************/
/**
* A better abstraction over CSS.
*
* @copyright Oleg Isonen (Slobodskoi) / Isonen 2014-present
* @website https://github.com/cssinjs/jss
* @license MIT
*/
/** @license React v0.20.2
* scheduler.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/** @license React v16.13.1
* react-is.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/** @license React v17.0.2
* react-dom.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/** @license React v17.0.2
* react-is.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/** @license React v17.0.2
* react-jsx-runtime.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/** @license React v17.0.2
* react.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
//! moment.js

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,2 +0,0 @@
!function(e){function r(r){for(var n,p,l=r[0],f=r[1],i=r[2],c=0,s=[];c<l.length;c++)p=l[c],Object.prototype.hasOwnProperty.call(o,p)&&o[p]&&s.push(o[p][0]),o[p]=0;for(n in f)Object.prototype.hasOwnProperty.call(f,n)&&(e[n]=f[n]);for(a&&a(r);s.length;)s.shift()();return u.push.apply(u,i||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,l=1;l<t.length;l++){var f=t[l];0!==o[f]&&(n=!1)}n&&(u.splice(r--,1),e=p(p.s=t[0]))}return e}var n={},o={1:0},u=[];function p(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,p),t.l=!0,t.exports}p.m=e,p.c=n,p.d=function(e,r,t){p.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},p.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},p.t=function(e,r){if(1&r&&(e=p(e)),8&r)return e;if(4&r&&"object"===typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(p.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)p.d(t,n,function(r){return e[r]}.bind(null,n));return t},p.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return p.d(r,"a",r),r},p.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},p.p="/rtsp2rtmp/";var l=this.webpackJsonprtsp2rtmpweb=this.webpackJsonprtsp2rtmpweb||[],f=l.push.bind(l);l.push=r,l=l.slice();for(var i=0;i<l.length;i++)r(l[i]);var a=f;t()}([]);
//# sourceMappingURL=runtime-main.5a0d2bcd.js.map

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

2
resources/static/umi.css Normal file

File diff suppressed because one or more lines are too long

1
resources/static/umi.js Normal file

File diff suppressed because one or more lines are too long

View File

@@ -99,7 +99,7 @@ func (s *RtspClientManager) startConnections() {
if v, b := s.rcs.Load(camera.Code); b && v != nil { if v, b := s.rcs.Load(camera.Code); b && v != nil {
continue continue
} }
if camera.Enabled != true { if !camera.Enabled {
continue continue
} }
go s.connRtsp(camera.Code) go s.connRtsp(camera.Code)
@@ -127,7 +127,7 @@ func (s *RtspClientManager) connRtsp(code string) {
logs.Error("find camera [%s] error : %v", code, err) logs.Error("find camera [%s] error : %v", code, err)
return return
} }
if c.Enabled != true { if c.Enabled {
logs.Error("camera [%s] disabled : %v", code) logs.Error("camera [%s] disabled : %v", code)
return return
} }
@@ -142,8 +142,8 @@ func (s *RtspClientManager) connRtsp(code string) {
session, err := rtspv2.Dial(rtspClientOptions) session, err := rtspv2.Dial(rtspClientOptions)
if err != nil { if err != nil {
logs.Error("camera [%s] conn : %v", c.Code, err) logs.Error("camera [%s] conn : %v", c.Code, err)
c.OnlineStatus = false if c.OnlineStatus {
if c.OnlineStatus == true { c.OnlineStatus = false
base_service.CameraUpdateById(c) base_service.CameraUpdateById(c)
} }
return return

View File

@@ -82,7 +82,7 @@ func UserUpdate(ctx *gin.Context) {
var id = user.IdUser var id = user.IdUser
_, err = base_service.UserSelectById(id) userById, err := base_service.UserSelectById(id)
if err != nil { if err != nil {
logs.Error("query by id error : %v", err) logs.Error("query by id error : %v", err)
result := common.ErrorResult("internal error") result := common.ErrorResult("internal error")
@@ -90,6 +90,7 @@ func UserUpdate(ctx *gin.Context) {
return return
} }
user.UserPwd = userById.UserPwd
_, err = base_service.UserUpdateById(user) _, err = base_service.UserUpdateById(user)
if err != nil { if err != nil {
logs.Error("insert error : %v", err) logs.Error("insert error : %v", err)

View File

@@ -42,7 +42,7 @@ func ConvertUserToVO(user entity.User) (vo user_vo.UserVO, err error) {
err = fmt.Errorf("convertUserToVO : %v", err) err = fmt.Errorf("convertUserToVO : %v", err)
return return
} }
vo.UserPwd = ""
return return
} }

View File

@@ -31,7 +31,7 @@ func Login(ctx *gin.Context) {
return return
} }
userNameParam := params["username"].(string) userNameParam := params["username"].(string)
passwordParam := params["password"].(string) passwordParam := strings.ToUpper(params["password"].(string))
if userNameParam == "" || passwordParam == "" { if userNameParam == "" || passwordParam == "" {
logs.Error("username or passowrd is empty") logs.Error("username or passowrd is empty")
result := common.ErrorResult("username or passowrd is empty") result := common.ErrorResult("username or passowrd is empty")
@@ -53,7 +53,7 @@ func Login(ctx *gin.Context) {
return return
} }
password := user.UserPwd password := user.UserPwd
if utils.Md5(passwordParam) != password { if strings.ToUpper(utils.Md5(passwordParam)) != password {
logs.Error("userName : %s , password error", user.Account) logs.Error("userName : %s , password error", user.Account)
result := common.ErrorResult("userName or password error") result := common.ErrorResult("userName or password error")
ctx.JSON(http.StatusOK, result) ctx.JSON(http.StatusOK, result)

View File

@@ -3,6 +3,7 @@ package ext
import ( import (
"fmt" "fmt"
"net/http" "net/http"
"strings"
"github.com/beego/beego/v2/core/config" "github.com/beego/beego/v2/core/config"
"github.com/beego/beego/v2/core/logs" "github.com/beego/beego/v2/core/logs"
@@ -30,7 +31,7 @@ func ChangePassword(ctx *gin.Context) {
} }
if modifyPwdParam.Password == "" { if modifyPwdParam.Password == "" {
logs.Error("new password is empty") logs.Error("new password is empty")
result := common.ErrorResult(fmt.Sprintf("new password is empty")) result := common.ErrorResult("new password is empty")
ctx.JSON(http.StatusOK, result) ctx.JSON(http.StatusOK, result)
return return
} }
@@ -43,19 +44,13 @@ func ChangePassword(ctx *gin.Context) {
ctx.JSON(http.StatusOK, result) ctx.JSON(http.StatusOK, result)
return return
} }
if err != nil {
logs.Error("query by id error : %v", err)
result := common.ErrorResult("internal error")
ctx.JSON(http.StatusOK, result)
return
}
security, err := config.Bool("server.security") security, err := config.Bool("server.security")
if err != nil { if err != nil {
logs.Error("get server security error: %v. \n use default true", err) logs.Error("get server security error: %v. \n use default true", err)
security = true security = true
} }
if security { if security {
if utils.Md5(modifyPwdParam.OldPassword) != user.UserPwd { if strings.ToUpper(utils.Md5(strings.ToUpper(modifyPwdParam.OldPassword))) != user.UserPwd {
logs.Error("userName : %s , password error", user.Account) logs.Error("userName : %s , password error", user.Account)
result := common.ErrorResult("old password error") result := common.ErrorResult("old password error")
ctx.JSON(http.StatusOK, result) ctx.JSON(http.StatusOK, result)
@@ -63,7 +58,7 @@ func ChangePassword(ctx *gin.Context) {
} }
} }
newPwd := utils.Md5(modifyPwdParam.Password) newPwd := strings.ToUpper(utils.Md5(strings.ToUpper(modifyPwdParam.Password)))
user.UserPwd = newPwd user.UserPwd = newPwd
_, err = base_service.UserUpdateById(user) _, err = base_service.UserUpdateById(user)
if err != nil { if err != nil {