mirror of
https://github.com/Buriburizaem0n/nezha_domains.git
synced 2026-03-23 19:41:50 +00:00
✨ feat: 展示排序 close #29
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package dao
|
||||
|
||||
import (
|
||||
"sort"
|
||||
"sync"
|
||||
|
||||
"github.com/patrickmn/go-cache"
|
||||
@@ -25,7 +26,8 @@ var Cache *cache.Cache
|
||||
var DB *gorm.DB
|
||||
|
||||
// ServerList ..
|
||||
var ServerList map[string]*model.Server
|
||||
var ServerList map[uint64]*model.Server
|
||||
var SortedServerList []*model.Server
|
||||
|
||||
// ServerLock ..
|
||||
var ServerLock sync.RWMutex
|
||||
@@ -39,6 +41,17 @@ func init() {
|
||||
}
|
||||
}
|
||||
|
||||
func ReSortServer() {
|
||||
SortedServerList = []*model.Server{}
|
||||
for _, s := range ServerList {
|
||||
SortedServerList = append(SortedServerList, s)
|
||||
}
|
||||
|
||||
sort.SliceStable(SortedServerList, func(i, j int) bool {
|
||||
return SortedServerList[i].DisplayIndex > SortedServerList[j].DisplayIndex
|
||||
})
|
||||
}
|
||||
|
||||
// SendCommand ..
|
||||
func SendCommand(cmd *pb.Command) {
|
||||
ServerLock.RLock()
|
||||
|
||||
@@ -2,6 +2,7 @@ package rpc
|
||||
|
||||
import (
|
||||
"context"
|
||||
"strconv"
|
||||
|
||||
"github.com/naiba/nezha/service/dao"
|
||||
"google.golang.org/grpc/codes"
|
||||
@@ -26,18 +27,15 @@ func (a *AuthHandler) RequireTransportSecurity() bool {
|
||||
}
|
||||
|
||||
// Check ..
|
||||
func (a *AuthHandler) Check(ctx context.Context) (clientID string, err error) {
|
||||
func (a *AuthHandler) Check(ctx context.Context) (clientID uint64, err error) {
|
||||
md, ok := metadata.FromIncomingContext(ctx)
|
||||
if !ok {
|
||||
err = status.Errorf(codes.Unauthenticated, "获取 metaData 失败")
|
||||
return
|
||||
}
|
||||
|
||||
var (
|
||||
clientSecret string
|
||||
)
|
||||
var clientSecret string
|
||||
if value, ok := md["client_id"]; ok {
|
||||
clientID = value[0]
|
||||
clientID, _ = strconv.ParseUint(value[0], 10, 64)
|
||||
}
|
||||
if value, ok := md["client_secret"]; ok {
|
||||
clientSecret = value[0]
|
||||
|
||||
@@ -17,7 +17,7 @@ type NezhaHandler struct {
|
||||
|
||||
// ReportState ..
|
||||
func (s *NezhaHandler) ReportState(c context.Context, r *pb.State) (*pb.Receipt, error) {
|
||||
var clientID string
|
||||
var clientID uint64
|
||||
var err error
|
||||
if clientID, err = s.Auth.Check(c); err != nil {
|
||||
return nil, err
|
||||
@@ -32,7 +32,7 @@ func (s *NezhaHandler) ReportState(c context.Context, r *pb.State) (*pb.Receipt,
|
||||
|
||||
// Heartbeat ..
|
||||
func (s *NezhaHandler) Heartbeat(r *pb.Beat, stream pb.NezhaService_HeartbeatServer) error {
|
||||
var clientID string
|
||||
var clientID uint64
|
||||
var err error
|
||||
defer log.Printf("Heartbeat exit server:%v err:%v", clientID, err)
|
||||
if clientID, err = s.Auth.Check(stream.Context()); err != nil {
|
||||
@@ -52,7 +52,7 @@ func (s *NezhaHandler) Heartbeat(r *pb.Beat, stream pb.NezhaService_HeartbeatSer
|
||||
|
||||
// Register ..
|
||||
func (s *NezhaHandler) Register(c context.Context, r *pb.Host) (*pb.Receipt, error) {
|
||||
var clientID string
|
||||
var clientID uint64
|
||||
var err error
|
||||
if clientID, err = s.Auth.Check(c); err != nil {
|
||||
return nil, err
|
||||
|
||||
Reference in New Issue
Block a user