Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
G
go-cqhttp
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nanahira
go-cqhttp
Commits
d4811d53
Commit
d4811d53
authored
Oct 04, 2020
by
Mrs4s
Committed by
GitHub
Oct 04, 2020
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #340 from scjtqs/adminApiDev
fix: 修复 无法关闭 web admin监听的问题
parents
b0d5589d
b19b114d
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
25 additions
and
9 deletions
+25
-9
global/config.go
global/config.go
+2
-0
main.go
main.go
+5
-1
server/apiAdmin.go
server/apiAdmin.go
+18
-8
No files found.
global/config.go
View file @
d4811d53
...
...
@@ -81,6 +81,7 @@ type GoCQReverseWebsocketConfig struct {
type
GoCqWebUi
struct
{
Enabled
bool
`json:"enabled"`
Host
string
`json:"host"`
WebUiPort
uint64
`json:"web_ui_port"`
WebInput
bool
`json:"web_input"`
}
...
...
@@ -130,6 +131,7 @@ func DefaultConfig() *JsonConfig {
},
WebUi
:
&
GoCqWebUi
{
Enabled
:
true
,
Host
:
"0.0.0.0"
,
WebInput
:
false
,
WebUiPort
:
9999
,
},
...
...
main.go
View file @
d4811d53
...
...
@@ -237,17 +237,21 @@ func main() {
conf
.
WebUi
=
&
global
.
GoCqWebUi
{
Enabled
:
true
,
WebInput
:
false
,
Host
:
"0.0.0.0"
,
WebUiPort
:
9999
,
}
}
if
conf
.
WebUi
.
WebUiPort
<=
0
{
conf
.
WebUi
.
WebUiPort
=
9999
}
if
conf
.
WebUi
.
Host
==
""
{
conf
.
WebUi
.
Host
=
"0.0.0.0"
}
confErr
:=
conf
.
Save
(
"config.json"
)
if
confErr
!=
nil
{
log
.
Error
(
"保存配置文件失败"
)
}
b
:=
server
.
WebServer
.
Run
(
fmt
.
Sprintf
(
"%s:%d"
,
"0.0.0.0"
,
conf
.
WebUi
.
WebUiPort
),
cli
)
b
:=
server
.
WebServer
.
Run
(
fmt
.
Sprintf
(
"%s:%d"
,
conf
.
WebUi
.
Host
,
conf
.
WebUi
.
WebUiPort
),
cli
)
c
:=
server
.
Console
signal
.
Notify
(
c
,
os
.
Interrupt
,
os
.
Kill
)
<-
c
...
...
server/apiAdmin.go
View file @
d4811d53
...
...
@@ -17,6 +17,7 @@ import (
"io/ioutil"
"net/http"
"os"
"os/signal"
"strconv"
"strings"
"time"
...
...
@@ -69,12 +70,21 @@ func (s *webServer) Run(addr string, cli *client.QQClient) *coolq.CQBot {
s
.
engine
.
Any
(
"/admin/:action"
,
s
.
admin
)
go
func
()
{
log
.
Infof
(
"Admin API 服务器已启动: %v"
,
addr
)
err
:=
s
.
engine
.
Run
(
addr
)
if
err
!=
nil
{
log
.
Error
(
err
)
log
.
Infof
(
"请检查端口是否被占用."
)
time
.
Sleep
(
time
.
Second
*
5
)
//开启端口监听
if
s
.
Conf
.
WebUi
.
Enabled
{
log
.
Infof
(
"Admin API 服务器已启动: %v"
,
addr
)
err
:=
s
.
engine
.
Run
(
addr
)
if
err
!=
nil
{
log
.
Error
(
err
)
log
.
Infof
(
"请检查端口是否被占用."
)
time
.
Sleep
(
time
.
Second
*
5
)
os
.
Exit
(
1
)
}
}
else
{
//关闭端口监听
c
:=
make
(
chan
os
.
Signal
,
1
)
signal
.
Notify
(
c
,
os
.
Interrupt
,
os
.
Kill
)
<-
c
os
.
Exit
(
1
)
}
}()
...
...
@@ -99,7 +109,7 @@ func (s *webServer) Dologin() {
img
,
_
,
_
:=
image
.
Decode
(
bytes
.
NewReader
(
rsp
.
CaptchaImage
))
fmt
.
Println
(
asciiart
.
New
(
"image"
,
img
)
.
Art
)
if
conf
.
WebUi
.
WebInput
{
log
.
Warn
(
"请输入验证码 (captcha.jpg): (http://127.0.0.1/admin/web_write 输入)"
)
log
.
Warn
f
(
"请输入验证码 (captcha.jpg): (http://%s:%d/admin/do_web_write 输入)"
,
conf
.
WebUi
.
Host
,
conf
.
WebUi
.
WebUiPort
)
text
=
<-
WebInput
}
else
{
log
.
Warn
(
"请输入验证码 (captcha.jpg): (Enter 提交)"
)
...
...
@@ -111,7 +121,7 @@ func (s *webServer) Dologin() {
case
client
.
UnsafeDeviceError
:
log
.
Warnf
(
"账号已开启设备锁,请前往 -> %v <- 验证并重启Bot."
,
rsp
.
VerifyUrl
)
if
conf
.
WebUi
.
WebInput
{
log
.
Infof
(
" (http://
127.0.0.1/admin/web_write 确认后继续)...."
)
log
.
Infof
(
" (http://
%s:%d/admin/do_web_write 确认后继续)...."
,
conf
.
WebUi
.
Host
,
conf
.
WebUi
.
WebUiPort
)
text
=
<-
WebInput
}
else
{
log
.
Infof
(
" 按 Enter 继续...."
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment