settings
This commit is contained in:
5
main.go
5
main.go
@@ -46,6 +46,11 @@ func main() {
|
|||||||
r.HandleFunc("/api/codes", routers.CodesGet).Methods("GET") // 获取验证码列表
|
r.HandleFunc("/api/codes", routers.CodesGet).Methods("GET") // 获取验证码列表
|
||||||
r.HandleFunc("/api/codes", routers.CodesPost).Methods("POST") // 创建一条验证码
|
r.HandleFunc("/api/codes", routers.CodesPost).Methods("POST") // 创建一条验证码
|
||||||
|
|
||||||
|
r.HandleFunc("/api/settings", routers.SettingsGet).Methods("GET") // 获取设置列表
|
||||||
|
r.HandleFunc("/api/settings", routers.SettingsPost).Methods("POST") // 创建一条设置
|
||||||
|
r.HandleFunc("/api/settings/{id}", routers.SettingsGetItem).Methods("GET") // 获取一条设置
|
||||||
|
r.HandleFunc("/api/settings/{id}", routers.SettingsPatch).Methods("PATCH") // 修改一条设置
|
||||||
|
|
||||||
r.HandleFunc("/api/users", routers.UsersGet).Methods("GET") // 获取用户列表
|
r.HandleFunc("/api/users", routers.UsersGet).Methods("GET") // 获取用户列表
|
||||||
r.HandleFunc("/api/users", routers.UsersPost).Methods("POST") // 创建一条用户
|
r.HandleFunc("/api/users", routers.UsersPost).Methods("POST") // 创建一条用户
|
||||||
r.HandleFunc("/api/users/{id}", routers.UsersItemGet).Methods("GET") // 获取一条用户
|
r.HandleFunc("/api/users/{id}", routers.UsersItemGet).Methods("GET") // 获取一条用户
|
||||||
|
96
routers/setting.go
Normal file
96
routers/setting.go
Normal file
@@ -0,0 +1,96 @@
|
|||||||
|
package routers
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"fmt"
|
||||||
|
"net/http"
|
||||||
|
"os"
|
||||||
|
"path/filepath"
|
||||||
|
|
||||||
|
"github.com/gorilla/mux"
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
// 初始化检查 data/setting 目录是否存在,不存在则创建
|
||||||
|
if _, err := os.Stat("data/settings"); os.IsNotExist(err) {
|
||||||
|
if err := os.MkdirAll("data/settings", 0755); err != nil {
|
||||||
|
fmt.Println(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 初始化阿里云短信服务配置 aliyun.json
|
||||||
|
if _, err := os.Stat("data/settings/aliyun.json"); os.IsNotExist(err) {
|
||||||
|
// 如果不存在则创建
|
||||||
|
var config = struct {
|
||||||
|
AccessKeyId string
|
||||||
|
AccessKeySecret string
|
||||||
|
SignName string
|
||||||
|
TemplateCode string
|
||||||
|
}{
|
||||||
|
AccessKeyId: "your-access-key-id",
|
||||||
|
AccessKeySecret: "",
|
||||||
|
SignName: "",
|
||||||
|
TemplateCode: "",
|
||||||
|
}
|
||||||
|
data, err := json.MarshalIndent(config, "", " ")
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
err = os.WriteFile("data/settings/aliyun.json", data, 0644)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
fmt.Println("初始化阿里云短信服务配置 aliyun.json 成功")
|
||||||
|
fmt.Println(string(data))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func SettingsGetItem(w http.ResponseWriter, r *http.Request) {
|
||||||
|
// 从 data/setting 目录下读取json文件
|
||||||
|
vars := mux.Vars(r)
|
||||||
|
filename := vars["id"] + ".json"
|
||||||
|
data, err := os.ReadFile("data/settings/" + filename)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
w.Write(data)
|
||||||
|
}
|
||||||
|
|
||||||
|
func SettingsGet(w http.ResponseWriter, r *http.Request) {
|
||||||
|
// 获取设置列表, 直接从 data/setting 目录下读取json文件列表
|
||||||
|
var files []string
|
||||||
|
err := filepath.Walk("data/settings", func(path string, info os.FileInfo, err error) error {
|
||||||
|
if info.IsDir() {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
// 去除文件后缀名, 且不要展示路径
|
||||||
|
files = append(files, info.Name()[:len(info.Name())-5])
|
||||||
|
return nil
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
fmt.Println(files)
|
||||||
|
// 输出json列表, files 数组转 JSON
|
||||||
|
data, _ := json.MarshalIndent(files, "", " ")
|
||||||
|
w.Write(data)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建一条设置
|
||||||
|
func SettingsPost(w http.ResponseWriter, r *http.Request) {
|
||||||
|
w.Write([]byte("[]"))
|
||||||
|
}
|
||||||
|
|
||||||
|
// 读取一条设置
|
||||||
|
func SettingsItemGet(w http.ResponseWriter, r *http.Request) {
|
||||||
|
w.Write([]byte("[]"))
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改一条设置
|
||||||
|
func SettingsPatch(w http.ResponseWriter, r *http.Request) {
|
||||||
|
w.Write([]byte("[]"))
|
||||||
|
}
|
Reference in New Issue
Block a user