File size: 2,614 Bytes
bb9df9e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
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":  "删除成功",
	})
}