xraySetting.go 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package controller
  2. import (
  3. "x-ui/web/service"
  4. "github.com/gin-gonic/gin"
  5. )
  6. type XraySettingController struct {
  7. XraySettingService service.XraySettingService
  8. SettingService service.SettingService
  9. }
  10. func NewXraySettingController(g *gin.RouterGroup) *XraySettingController {
  11. a := &XraySettingController{}
  12. a.initRouter(g)
  13. return a
  14. }
  15. func (a *XraySettingController) initRouter(g *gin.RouterGroup) {
  16. g = g.Group("/xray")
  17. g.POST("/", a.getXraySetting)
  18. g.POST("/update", a.updateSetting)
  19. g.GET("/getDefaultJsonConfig", a.getDefaultXrayConfig)
  20. }
  21. func (a *XraySettingController) getXraySetting(c *gin.Context) {
  22. xraySetting, err := a.SettingService.GetXrayConfigTemplate()
  23. if err != nil {
  24. jsonMsg(c, I18nWeb(c, "pages.settings.toasts.getSettings"), err)
  25. return
  26. }
  27. jsonObj(c, xraySetting, nil)
  28. }
  29. func (a *XraySettingController) updateSetting(c *gin.Context) {
  30. xraySetting := c.PostForm("xraySetting")
  31. err := a.XraySettingService.SaveXraySetting(xraySetting)
  32. jsonMsg(c, I18nWeb(c, "pages.settings.toasts.modifySettings"), err)
  33. }
  34. func (a *XraySettingController) getDefaultXrayConfig(c *gin.Context) {
  35. defaultJsonConfig, err := a.SettingService.GetDefaultXrayConfig()
  36. if err != nil {
  37. jsonMsg(c, I18nWeb(c, "pages.settings.toasts.getSettings"), err)
  38. return
  39. }
  40. jsonObj(c, defaultJsonConfig, nil)
  41. }