Apply .gitignore rules

This commit is contained in:
皮蛋13361098506
2025-01-06 16:21:36 +08:00
parent 1b77f62820
commit ccd2c530cf
580 changed files with 69806 additions and 0 deletions

View File

@@ -0,0 +1,58 @@
package bytesSendUtil
import (
"fmt"
"goutil/fileUtil"
"goutil/logUtil"
"goutil/stringUtil"
)
// 从目录加载缓存数据并发送
func loadData(s EnsureSender, folder string) error {
if fileList, err := fileUtil.GetFileList(folder); err != nil {
return err
} else {
for _, filename := range fileList {
// 读取发送内容
if fileContent, err := fileUtil.ReadFileBytes(filename); err != nil {
// 打印错误
log := fmt.Sprintf("ensureSendUtil.loadData: Failed To Read File: %s %s\n", err, filename)
logUtil.NormalLog(log, logUtil.Error)
} else if err = fileUtil.DeleteFile(filename); err != nil {
// 删除文件,如果成功则将内容添加到通道中,否则不处理
log := fmt.Sprintf("ensureSendUtil.loadData: Failed To Delete File: %s %s", err, filename)
logUtil.NormalLog(log, logUtil.Error)
} else {
// 发送数据
s.Write(fileContent)
}
}
}
return nil
}
// 保存数据到文件中(通常在退出时调用)
func saveData(datas <-chan dataItem, folder string) (failed []dataItem, err error) {
defer func() {
if len(failed) > 0 {
err = fmt.Errorf("保存数据时有%d个失败数据", len(failed))
}
}()
for {
select {
case v := <-datas:
filename := stringUtil.GetNewGUID()
if e := fileUtil.WriteFile4Byte(folder, filename, false, v.OriginData()); e != nil {
failed = append(failed, v)
log := fmt.Sprintf("ensureSendUtil.saveData: 写入错误\n目录%s文件%s错误信息为%s, Data Len:%v",
folder, filename, err, len(v.OriginData()))
logUtil.NormalLog(log, logUtil.Error)
}
default:
return
}
}
}

View File

@@ -0,0 +1,20 @@
grpc-util做了如下工作
### server(废弃):
1.实现服务的启动和相关方法的注册
2.提供了公共对象和接口的实现
3.提供公共req对象到res对象build辅助方法
具体参考server文档 [传送门](server/readme.md)
### client:
1.缓存了grpc连接对象使其可复用(可单独使用)
2.基于提供的公共对象和接口提供了grpc的4种基本用法的调用(建议需要搭配server使用)
具体参考client文档 [传送门](client/readme.md)
### util:
1.提供pb相关辅助方法
具体请直接看代码

View File

@@ -0,0 +1,55 @@
package fileUtil
import (
"io"
"net/http"
"os"
"path"
)
// 下载网络文件
// netUrl网络文件地址
// saveDir存储位置
// saveFileName:存储的文件名
// ifTruncate:如果文件存在了,是否覆盖此文件
// 返回值:
// err:错误对象
func DownLoadNetFile(netUrl string, saveDir string, saveFileName string, ifTruncate bool) (err error) {
resp, err := http.Get(netUrl)
defer func() {
if resp != nil {
resp.Body.Close()
}
}()
if err != nil {
return
}
// 创建文件夹
if IsDirExists(saveDir) == false {
os.MkdirAll(saveDir, os.ModePerm|os.ModeTemporary)
}
// 创建文件
filePath := path.Join(saveDir, saveFileName)
var fileObj *os.File
if ifTruncate {
fileObj, err = os.OpenFile(filePath, os.O_CREATE|os.O_WRONLY|os.O_TRUNC, os.ModePerm|os.ModeTemporary)
} else {
// 如果文件已经存在,则不能打开
fileObj, err = os.OpenFile(filePath, os.O_CREATE|os.O_WRONLY|os.O_EXCL, os.ModePerm|os.ModeTemporary)
}
defer func() {
if fileObj != nil {
fileObj.Close()
}
}()
if err != nil {
return
}
// 写入文件数据
_, err = io.Copy(fileObj, resp.Body)
return
}