sublinker / api /template.go
YimoEx
init
bb9df9e
package api
import (
"log"
"os"
"github.com/gin-gonic/gin"
)
type Temp struct {
File string `json:"file"`
Text string `json:"text"`
CreateDate string `json:"create_date"`
}
func GetTempS(c *gin.Context) {
files, err := os.ReadDir("./template")
if err != nil {
c.JSON(400, gin.H{
"msg": err.Error(),
})
return
}
var temps []Temp
for _, file := range files {
info, _ := file.Info()
time := info.ModTime().Format("2006-01-02 15:04:05")
text, _ := os.ReadFile("./template/" + file.Name())
temp := Temp{
File: file.Name(),
Text: string(text),
CreateDate: time,
}
temps = append(temps, temp)
}
if len(temps) == 0 {
c.JSON(200, gin.H{
"code": "00000",
"data": []string{},
"msg": "ok",
})
return
}
c.JSON(200, gin.H{
"code": "00000",
"data": temps,
"msg": "ok",
})
}
func UpdateTemp(c *gin.Context) {
filename := c.PostForm("filename")
oldname := c.PostForm("oldname")
text := c.PostForm("text")
err := os.Rename("./template/"+oldname, "./template/"+filename)
if err != nil {
log.Println(err)
c.JSON(400, gin.H{
"msg": "改名失败",
})
return
}
err = os.WriteFile("./template/"+filename, []byte(text), 0666)
if err != nil {
log.Println(err)
c.JSON(400, gin.H{
"msg": "修改失败",
})
return
}
c.JSON(200, gin.H{
"code": "00000",
"msg": "修改成功",
})
}
func AddTemp(c *gin.Context) {
filename := c.PostForm("filename")
text := c.PostForm("text")
if filename == "" || text == "" {
c.JSON(400, gin.H{
"msg": "文件名或者类型或内容不能为空",
})
return
}
// 检查文件是否存在
_, err := os.ReadFile("./template/" + filename)
if err == nil {
log.Println(err)
c.JSON(400, gin.H{
"msg": "文件已存在",
})
return
}
// 检查目录是否创建
_, err = os.Stat("./template/")
if err != nil {
if os.IsNotExist(err) {
os.Mkdir("./template/", os.ModePerm)
}
}
err = os.WriteFile("./template/"+filename, []byte(text), 0666)
if err != nil {
log.Println(err)
c.JSON(400, gin.H{
"msg": "上传失败",
})
return
}
c.JSON(200, gin.H{
"code": "00000",
"msg": "上传成功",
})
}
func DelTemp(c *gin.Context) {
filename := c.PostForm("filename")
_, err := os.ReadFile("./template/" + filename)
if err != nil {
log.Println(err)
c.JSON(400, gin.H{
"msg": "文件不存在",
})
return
}
err = os.Remove("./template/" + filename)
if err != nil {
log.Println(err)
c.JSON(400, gin.H{
"msg": "删除失败",
})
return
}
c.JSON(200, gin.H{
"code": "00000",
"msg": "删除成功",
})
}