30 lines
692 B
Go
30 lines
692 B
Go
package service
|
|
|
|
import (
|
|
"context"
|
|
|
|
commonHttp "gitea.redpowerfuture.com/red-future/common/http"
|
|
"github.com/gogf/gf/v2/frame/g"
|
|
)
|
|
|
|
var UtilService = &utilService{}
|
|
|
|
type utilService struct{}
|
|
|
|
// IsAdmin 调用admin-go服务检查是否是管理员
|
|
func (s *utilService) IsAdmin(ctx context.Context) (res bool, err error) {
|
|
headers := make(map[string]string)
|
|
if r := g.RequestFromCtx(ctx); r != nil {
|
|
for k, v := range r.Request.Header {
|
|
if len(v) > 0 {
|
|
headers[k] = v[0]
|
|
}
|
|
}
|
|
}
|
|
var r = make(map[string]bool)
|
|
if err = commonHttp.Get(ctx, "admin-go/api/v1/system/user/checkIsSuperAdmin", headers, &r); err != nil {
|
|
return false, err
|
|
}
|
|
return r["isSuperAdmin"], err
|
|
}
|