first commit
This commit is contained in:
@@ -0,0 +1,83 @@
|
||||
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)
|
||||
}
|
||||
Reference in New Issue
Block a user