system_status.go 961 B

123456789101112131415161718192021222324252627282930313233343536
  1. package base
  2. import (
  3. "net/http"
  4. "runtime"
  5. "github.com/ChineseSubFinder/ChineseSubFinder/pkg"
  6. "github.com/ChineseSubFinder/ChineseSubFinder/pkg/types/backend"
  7. "github.com/ChineseSubFinder/ChineseSubFinder/pkg/settings"
  8. running "github.com/allanpk716/is_running_in_docker"
  9. "github.com/gin-gonic/gin"
  10. )
  11. // SystemStatusHandler 获取系统状态
  12. func (cb *ControllerBase) SystemStatusHandler(c *gin.Context) {
  13. var err error
  14. defer func() {
  15. // 统一的异常处理
  16. cb.ErrorProcess(c, "SystemStatusHandler", err)
  17. }()
  18. isSetup := false
  19. if settings.Get().UserInfo.Username != "" && settings.Get().UserInfo.Password != "" {
  20. // 进行过 setup 了,那么就可以 Login 的流程
  21. isSetup = true
  22. }
  23. c.JSON(http.StatusOK, backend.ReplySystemStatus{
  24. IsSetup: isSetup,
  25. Version: pkg.AppVersion(),
  26. OS: runtime.GOOS,
  27. ARCH: runtime.GOARCH,
  28. IsRunningInDocker: running.IsRunningInDocker()})
  29. }