Files
2026-02-17 13:06:23 +08:00

84 lines
1.8 KiB
Go

package srv
import (
"os"
)
var baseDIR = string("/.source")
// FileInfo 文件信息
type FileInfo struct {
FileData []byte
FileName string
}
// WXFileMgr 文件管理器
type WXFileMgr struct {
fileInfoChan chan *FileInfo
currentDirName string
endChan chan bool
}
// NewWXFileMgr 新建文件管理器
func NewWXFileMgr() *WXFileMgr {
// 先创建文件夹
os.Mkdir(baseDIR, os.ModePerm)
return &WXFileMgr{
fileInfoChan: make(chan *FileInfo, 10000),
currentDirName: "",
endChan: make(chan bool, 1),
}
}
// Start 开启
func (wxfg *WXFileMgr) Start() {
// go wxfg.doDeal()
}
// Stop 关闭
func (wxfg *WXFileMgr) Stop() {
// wxfg.endChan <- true
}
// AddGroupQrcodeData 添加群二维码
func (wxfg *WXFileMgr) AddGroupQrcodeData(fileData []byte, fileName string) {
// newFileInfo := &FileInfo{}
// newFileInfo.FileData = fileData
// newFileInfo.FileName = fileName
// wxfg.fileInfoChan <- newFileInfo
}
func (wxfg *WXFileMgr) makeSureDir() {
// if wxfg.currentDirName == time.Now().Format("2006-01-02") {
// return
// }
// wxfg.currentDirName = time.Now().Format("2006-01-02")
// subDirPath := baseDIR + "/" + wxfg.currentDirName
// os.Mkdir(subDirPath, os.ModePerm)
}
func (wxfg *WXFileMgr) doDeal() {
// for {
// select {
// case fileInfo := <-wxfg.fileInfoChan:
// wxfg.writeToFile(fileInfo)
// case <-wxfg.endChan:
// return
// }
// }
}
// writeToFile 写入文件
func (wxfg *WXFileMgr) writeToFile(fileInfo *FileInfo) {
// // 确保目录存在
// wxfg.makeSureDir()
// tmpFilePath := baseDIR + "/" + wxfg.currentDirName + "/" + fileInfo.FileName
// // 如果文件存在
// _, err := os.Lstat(tmpFilePath)
// if err == nil {
// return
// }
// baseutils.WriteToFile(fileInfo.FileData, tmpFilePath)
}