cf085770e7
- 新增 settings 表用于存储 public/private 两行 JSON 配置 - 添加 AdminSettings 相关类型定义和 API 接口 - 实现管理后台系统设置页面,支持可视化和 JSON 编辑模式 - 集成 CodeMirror 编辑器用于 JSON 配置编辑 - 添加系统设置相关的路由和接口 - 更新依赖包并修改相关样式和布局文件
39 lines
758 B
Go
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)
|
|
}
|