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,96 @@
package ensureSendUtil
import (
"fmt"
"goutil/webUtil"
)
// 实现 EnsureSender和sender接口
type httpSender struct {
// 需要实现的接口
EnsureSender
// 包含sender接口部分实现
*baseSender
// 数据目录
dataFolder string
// 发送地址
url string
// 用于sendLoop和resendLoop发送退出信号
closeSignal chan struct{}
}
// 创建一个http数据发送器
// 参数:
//
// _dataFolder 数据存放目录
// _url 发送地址
func NewHTTPSender(_dataFolder, _url string) (EnsureSender, error) {
this := &httpSender{
dataFolder: _dataFolder,
url: _url,
baseSender: newBaseSender(),
closeSignal: make(chan struct{}),
}
// 新开协程发送数据
go sendLoop(this, this.closeSignal)
// 定时重发
go resendLoop(this, _dataFolder, this.closeSignal)
return this, nil
}
// EnsureSender接口
// Write写入数据
func (this *httpSender) Write(data string) error {
item := newHTTPData(data)
this.waitingDataChan <- item
return nil
}
// EnsureSender接口
// Close关闭
func (this *httpSender) Close() error {
close(this.done)
// 等待sendLoop和resendLoop退出
<-this.closeSignal
<-this.closeSignal
// 保存数据
_, e1 := saveData(this.Cache(), this.dataFolder)
_, e2 := saveData(this.Data(), this.dataFolder)
if e2 != nil {
if e1 != nil {
return fmt.Errorf("%s %s", e1, e2)
}
return e2
} else {
return e1
}
}
// sender接口
// Send发送数据
func (this *httpSender) Send(item dataItem) error {
statusCode, _, err := webUtil.PostByteData2(this.url, item.Bytes(), nil, nil)
if err != nil || statusCode != 200 {
if err == nil {
err = fmt.Errorf("StatusCode is not 200")
}
// 发送失败时发送次数+1
item.SetCount(item.Count() + 1)
}
return err
}

View File

@@ -0,0 +1,13 @@
package model
// IRequest 请求对象接口
type IRequest interface {
// GetActionName 获取方法名
GetActionName() string
// SetCommonRequestObject 设置公共请求对象
SetCommonRequest(*CommonRequest)
// AssembleParamMap 组装参数字典
AssembleParamMap() map[string]string
}

View File

@@ -0,0 +1,44 @@
package startMgr
/*
startMgr是用于管理应用程序启动的一个模块。
应用程序启动,对配置的处理大体可以包含如下三个过程:
1、配置初始化即将配置从配置文件、数据库中读取到内存中
2、配置检验即验证配置是否是合法、有效的
3、配置转换即将以A形式存在的配置转换为以B形式存在如将以,分隔的字符串转换为[]int
4、配置打印将配置进行打印
5、配置赋值将初始化的临时的数据赋值给正式的数据
三个过程分别对应五个子包:
1、配置初始化initMgr
说明:根据名称来注册方法,可以根据名称来调用方法,以实现方法的提前调用。
也可以无序地调用所有的方法
错误处理方式:
以panic的方式来对外暴露名称重复名称不存在的错误
以error的方式来返回方法执行过程中的错误
2、配置检验checkMgr
说明:以无序地调用所有的方法
错误处理方式:
以panic的方式来对外暴露名称重复名称不存在的错误
以error的方式来返回方法执行过程中的错误
3、配置转换convertMgr
说明:以无序地调用所有的方法
错误处理方式:
以panic的方式来对外暴露名称重复名称不存在的错误
以error的方式来返回方法执行过程中的错误
4、配置打印printMgr
说明:以无序地调用所有的方法
错误处理方式:
以panic的方式来对外暴露名称重复名称不存在的错误
以error的方式来返回方法执行过程中的错误
5、配置赋值applyMgr
说明:以无序地调用所有的方法
错误处理方式:
以panic的方式来对外暴露名称重复名称不存在的错误
以error的方式来返回方法执行过程中的错误
*/

View File

@@ -0,0 +1,7 @@
package mqMgr
// 网络类型:内网、外网
const (
MQ_NETWORK_INTERNAL = "tencentyun"
MQ_NETWORK_PUBLIC = "tencenttdmq" //"qcloud" //todo:切换成tdmq之后该值需要修改成tencenttdmq
)