Files
infinite-canvas/handler/settings.go
T
HouYunFei cf085770e7 feat(admin): 新增系统设置页面和配置管理功能
- 新增 settings 表用于存储 public/private 两行 JSON 配置
- 添加 AdminSettings 相关类型定义和 API 接口
- 实现管理后台系统设置页面,支持可视化和 JSON 编辑模式
- 集成 CodeMirror 编辑器用于 JSON 配置编辑
- 添加系统设置相关的路由和接口
- 更新依赖包并修改相关样式和布局文件
2026-05-20 17:53:07 +08:00

39 lines
758 B
Go

package handler
import (
"encoding/json"
"net/http"
"github.com/basketikun/infinite-canvas/model"
"github.com/basketikun/infinite-canvas/service"
)
func Settings(w http.ResponseWriter, r *http.Request) {
settings, err := service.PublicSettings()
if err != nil {
Fail(w, err.Error())
return
}
OK(w, settings)
}
func AdminSettings(w http.ResponseWriter, r *http.Request) {
settings, err := service.AdminSettings()
if err != nil {
Fail(w, err.Error())
return
}
OK(w, settings)
}
func AdminSaveSettings(w http.ResponseWriter, r *http.Request) {
var settings model.Settings
_ = json.NewDecoder(r.Body).Decode(&settings)
result, err := service.SaveSettings(settings)
if err != nil {
Fail(w, err.Error())
return
}
OK(w, result)
}