feat: add Go backend

This commit is contained in:
richjohnrambo
2026-10-10 20:56:17 +08:00
parent 50fcfd2d3d
commit f6024f0964
1040 changed files with 107169 additions and 0 deletions
+80
View File
@@ -0,0 +1,80 @@
// Package consts
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2023 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
package consts
import (
"hotgo/internal/library/dict"
"hotgo/internal/model"
)
func init() {
dict.RegisterEnums("addonsGroupOptions", "插件分组", AddonsGroupOptions)
dict.RegisterEnums("addonsInstallStatus", "插件安装状态", AddonsInstallStatusOptions)
dict.RegisterEnums("addonsExtend", "插件扩展", AddonsExtendOptions)
}
const (
AddonsTag = "addons_" // 插件标签前缀
AddonsDir = "addons" // 插件路径
)
const (
AddonsGroupPlug = 1 // 功能扩展
AddonsGroupBusiness = 2 // 主要业务
AddonsGroupThirdParty = 3 // 第三方插件
AddonsGroupMiniApp = 4 // 小程序
AddonsGroupCustomer = 5 // 客户关系
AddonsGroupActivity = 6 // 营销及活动
AddonsGroupServices = 7 // 常用服务及工具
AddonsGroupBiz = 8 // 行业解决方案
)
// AddonsGroupOptions 插件分组选项
var AddonsGroupOptions = []*model.Option{
dict.GenInfoOption(AddonsGroupPlug, "功能扩展"),
dict.GenInfoOption(AddonsGroupBusiness, "主要业务"),
dict.GenInfoOption(AddonsGroupThirdParty, "第三方插件"),
dict.GenInfoOption(AddonsGroupMiniApp, "小程序"),
dict.GenInfoOption(AddonsGroupCustomer, "客户关系"),
dict.GenInfoOption(AddonsGroupActivity, "营销及活动"),
dict.GenInfoOption(AddonsGroupServices, "常用服务及工具"),
dict.GenInfoOption(AddonsGroupBiz, "行业解决方案"),
}
var AddonsGroupIconMap = map[int]string{
AddonsGroupPlug: "AppstoreAddOutlined",
AddonsGroupBusiness: "FireOutlined",
AddonsGroupThirdParty: "ApiOutlined",
AddonsGroupMiniApp: "RocketOutlined",
AddonsGroupCustomer: "UserSwitchOutlined",
AddonsGroupActivity: "TagOutlined",
AddonsGroupServices: "ToolOutlined",
AddonsGroupBiz: "CheckCircleOutlined",
}
const (
AddonsInstallStatusOk = 1 // 已安装
AddonsInstallStatusNo = 2 // 未安装
AddonsInstallStatusUn = 3 // 已卸载
)
// AddonsInstallStatusOptions 插件安装状态
var AddonsInstallStatusOptions = []*model.Option{
dict.GenInfoOption(AddonsInstallStatusOk, "已安装"),
dict.GenInfoOption(AddonsInstallStatusNo, "未安装"),
dict.GenInfoOption(AddonsInstallStatusUn, "已卸载"),
}
const (
AddonsExtendResourcePublic = "resourcePublic"
AddonsExtendResourceTemplate = "resourceTemplate"
)
// AddonsExtendOptions 插件扩展选项
var AddonsExtendOptions = []*model.Option{
dict.GenInfoOption(AddonsExtendResourcePublic, "创建静态目录"),
dict.GenInfoOption(AddonsExtendResourceTemplate, "创建模板目录"),
}
+15
View File
@@ -0,0 +1,15 @@
// Package consts
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2023 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
package consts
// 应用类型
const (
AppAdmin = "admin"
AppApi = "api"
AppHome = "home"
AppWebSocket = "websocket"
AppDefault = "default"
)
+105
View File
@@ -0,0 +1,105 @@
package consts
import (
"hotgo/internal/library/dict"
"hotgo/internal/model"
)
const (
AppMemberStatusNormal = 1
AppMemberStatusDisabled = 2
AppMemberStatusCancelled = 3
AppMemberRiskNormal = 1
AppMemberRiskWatch = 2
AppMemberRiskBlocked = 3
AppMemberDispatchAuto = 1
AppMemberDispatchManual = 2
AppMemberCategoryReal = 1
AppMemberCategoryFake = 2
PaymentAccountBank = 1
PaymentAccountDigital = 2
PaymentAccountUnionPay = 3
PaymentAccountAlipay = 4
PaymentAccountWechat = 5
WalletDirectionIncome = 1
WalletDirectionExpense = 2
WalletAdjustReward = 1
WalletAdjustSupplement = 2
WalletAdjustDeduct = 3
WalletAdjustReversal = 4
WalletAdjustOther = 5
WalletRequestPending = 1
WalletRequestApproved = 2
WalletRequestRejected = 3
WalletRequestExecuted = 4
MemberNoticeReal = 1
MemberNoticeSimulation = 2
MemberNoticeActive = 1
MemberNoticeRevoked = 2
)
var (
AppMemberStatusOptions = []*model.Option{
dict.GenSuccessOption(AppMemberStatusNormal, "正常"),
dict.GenWarningOption(AppMemberStatusDisabled, "禁用"),
dict.GenErrorOption(AppMemberStatusCancelled, "已注销"),
}
AppMemberRiskStatusOptions = []*model.Option{
dict.GenSuccessOption(AppMemberRiskNormal, "正常"),
dict.GenWarningOption(AppMemberRiskWatch, "观察"),
dict.GenErrorOption(AppMemberRiskBlocked, "拦截"),
}
AppMemberDispatchModeOptions = []*model.Option{
dict.GenSuccessOption(AppMemberDispatchAuto, "自动"),
dict.GenDefaultOption(AppMemberDispatchManual, "手动"),
}
AppMemberCategoryOptions = []*model.Option{
dict.GenSuccessOption(AppMemberCategoryReal, "真人"),
dict.GenWarningOption(AppMemberCategoryFake, "假人"),
}
PaymentAccountTypeOptions = []*model.Option{
dict.GenPrimaryOption(PaymentAccountBank, "银行卡"),
dict.GenInfoOption(PaymentAccountDigital, "数字钱包"),
dict.GenSuccessOption(PaymentAccountUnionPay, "云闪付"),
dict.GenPrimaryOption(PaymentAccountAlipay, "支付宝"),
dict.GenSuccessOption(PaymentAccountWechat, "微信"),
}
WalletAdjustTypeOptions = []*model.Option{
dict.GenSuccessOption(WalletAdjustReward, "奖励金"),
dict.GenPrimaryOption(WalletAdjustSupplement, "人工补账"),
dict.GenErrorOption(WalletAdjustDeduct, "差错扣回"),
dict.GenWarningOption(WalletAdjustReversal, "冲正"),
dict.GenDefaultOption(WalletAdjustOther, "其他"),
}
WalletDirectionOptions = []*model.Option{
dict.GenSuccessOption(WalletDirectionIncome, "收入"),
dict.GenErrorOption(WalletDirectionExpense, "支出"),
}
WalletRequestStatusOptions = []*model.Option{
dict.GenWarningOption(WalletRequestPending, "待审批"),
dict.GenPrimaryOption(WalletRequestApproved, "已通过"),
dict.GenErrorOption(WalletRequestRejected, "已拒绝"),
dict.GenSuccessOption(WalletRequestExecuted, "已执行"),
}
MemberNoticeSourceOptions = []*model.Option{
dict.GenSuccessOption(MemberNoticeReal, "真实通知"),
dict.GenWarningOption(MemberNoticeSimulation, "运营模拟"),
}
MemberNoticeStatusOptions = []*model.Option{
dict.GenSuccessOption(MemberNoticeActive, "有效"),
dict.GenErrorOption(MemberNoticeRevoked, "已撤回"),
}
)
func init() {
dict.RegisterEnums("appMemberStatus", "会员状态", AppMemberStatusOptions)
dict.RegisterEnums("appMemberRiskStatus", "会员风控状态", AppMemberRiskStatusOptions)
dict.RegisterEnums("appMemberDispatchMode", "会员派单模式", AppMemberDispatchModeOptions)
dict.RegisterEnums("appMemberCategory", "会员类别", AppMemberCategoryOptions)
dict.RegisterEnums("paymentAccountType", "收款账户类型", PaymentAccountTypeOptions)
dict.RegisterEnums("walletAdjustType", "钱包调整类型", WalletAdjustTypeOptions)
dict.RegisterEnums("walletDirection", "钱包变更方向", WalletDirectionOptions)
dict.RegisterEnums("walletRequestStatus", "钱包调整状态", WalletRequestStatusOptions)
dict.RegisterEnums("memberNoticeSource", "会员通知来源", MemberNoticeSourceOptions)
dict.RegisterEnums("memberNoticeStatus", "会员通知状态", MemberNoticeStatusOptions)
}
+66
View File
@@ -0,0 +1,66 @@
package consts
import (
"hotgo/internal/library/dict"
"hotgo/internal/model"
)
const (
ApprovalStatusDraft = 1
ApprovalStatusPending = 2
ApprovalStatusReviewing = 3
ApprovalStatusApproved = 4
ApprovalStatusRejected = 5
ApprovalStatusCancelled = 6
ApprovalStatusExecuted = 7
ApprovalStatusExecuteFailed = 8
)
const (
ApprovalActionSubmit = 1
ApprovalActionApprove = 2
ApprovalActionReject = 3
ApprovalActionReturn = 4
ApprovalActionCancel = 5
ApprovalActionExecute = 6
)
const (
ApprovalRiskLow = 1
ApprovalRiskMedium = 2
ApprovalRiskHigh = 3
ApprovalRiskCritical = 4
)
var ApprovalStatusOptions = []*model.Option{
dict.GenDefaultOption(ApprovalStatusDraft, "草稿"),
dict.GenWarningOption(ApprovalStatusPending, "待审批"),
dict.GenPrimaryOption(ApprovalStatusReviewing, "审批中"),
dict.GenSuccessOption(ApprovalStatusApproved, "已通过"),
dict.GenErrorOption(ApprovalStatusRejected, "已驳回"),
dict.GenInfoOption(ApprovalStatusCancelled, "已取消"),
dict.GenSuccessOption(ApprovalStatusExecuted, "已执行"),
dict.GenErrorOption(ApprovalStatusExecuteFailed, "执行失败"),
}
var ApprovalActionOptions = []*model.Option{
dict.GenPrimaryOption(ApprovalActionSubmit, "提交"),
dict.GenSuccessOption(ApprovalActionApprove, "通过"),
dict.GenErrorOption(ApprovalActionReject, "驳回"),
dict.GenWarningOption(ApprovalActionReturn, "退回"),
dict.GenInfoOption(ApprovalActionCancel, "取消"),
dict.GenPrimaryOption(ApprovalActionExecute, "执行"),
}
var ApprovalRiskLevelOptions = []*model.Option{
dict.GenSuccessOption(ApprovalRiskLow, "低"),
dict.GenInfoOption(ApprovalRiskMedium, "中"),
dict.GenWarningOption(ApprovalRiskHigh, "高"),
dict.GenErrorOption(ApprovalRiskCritical, "极高"),
}
func init() {
dict.RegisterEnums("approvalStatus", "审批状态", ApprovalStatusOptions)
dict.RegisterEnums("approvalAction", "审批动作", ApprovalActionOptions)
dict.RegisterEnums("approvalRiskLevel", "审批风险等级", ApprovalRiskLevelOptions)
}
+13
View File
@@ -0,0 +1,13 @@
// Package consts
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2023 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
package consts
// cache
const (
CacheToken = "token" // 登录token
CacheTokenBind = "token_bind" // 登录用户身份绑定
CacheMultipartUpload = "multipart_upload" // 分片上传
)
+6
View File
@@ -0,0 +1,6 @@
package consts
const (
CaptchaTypeString = iota + 1 // 字符串
CaptchaTypeMath // 数字计算
)
+13
View File
@@ -0,0 +1,13 @@
// Package consts
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2023 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
package consts
// 提现状态
const (
CashStatusWait = 1 // 处理中
CashStatusOk = 2 // 提现成功
CashStatusFail = 3 // 提现异常
)
+117
View File
@@ -0,0 +1,117 @@
// Package consts
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2023 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
package consts
import (
"github.com/gogf/gf/v2/util/gconv"
)
// RequestEncryptKey
// 请求加密密钥用于敏感数据加密,16位字符,前后端需保持一致
// 安全起见,生产环境运行时请注意修改
var RequestEncryptKey = []byte("f080a463654b2279")
// 配置数据类型
const (
ConfigTypeString = "string"
ConfigTypeInt = "int"
ConfigTypeInt8 = "int8"
ConfigTypeInt16 = "int16"
ConfigTypeInt32 = "int32"
ConfigTypeInt64 = "int64"
ConfigTypeUint = "uint"
ConfigTypeUint8 = "uint8"
ConfigTypeUint16 = "uint16"
ConfigTypeUint32 = "uint32"
ConfigTypeUint64 = "uint64"
ConfigTypeFloat32 = "float32"
ConfigTypeFloat64 = "float64"
ConfigTypeBool = "bool"
ConfigTypeDate = "date"
ConfigTypeDateTime = "datetime"
ConfigTypeSliceString = "[]string"
ConfigTypeSliceInt = "[]int"
ConfigTypeSliceInt64 = "[]int64"
)
var ConfigTypes = []string{ConfigTypeString,
ConfigTypeInt, ConfigTypeInt8, ConfigTypeInt16, ConfigTypeInt32, ConfigTypeInt64,
ConfigTypeUint, ConfigTypeUint8, ConfigTypeUint16, ConfigTypeUint32, ConfigTypeUint64,
ConfigTypeFloat32, ConfigTypeFloat64,
ConfigTypeBool,
ConfigTypeDate, ConfigTypeDateTime,
ConfigTypeSliceString, ConfigTypeSliceInt, ConfigTypeSliceInt64,
}
// ConfigMaskDemoField 演示环境下需要隐藏的配置
var ConfigMaskDemoField = map[string]struct{}{
// 邮箱
"smtpUser": {}, "smtpPass": {},
// 云存储
"uploadUCloudPublicKey": {}, "uploadUCloudPrivateKey": {}, "uploadCosSecretId": {}, "uploadCosSecretKey": {},
"uploadOssSecretId": {}, "uploadOssSecretKey": {}, "uploadQiNiuAccessKey": {}, "uploadQiNiuSecretKey": {},
// 地图
"geoAmapWebKey": {},
// 短信
"smsAliYunAccessKeyID": {}, "smsAliYunAccessKeySecret": {}, "smsTencentSecretId": {}, "smsTencentSecretKey": {},
// 支付
"payWxPayMchId": {}, "payWxPaySerialNo": {}, "payWxPayAPIv3Key": {}, "payWxPayPrivateKey": {}, "payQQPayMchId": {}, "payQQPayApiKey": {},
// 微信
"officialAccountAppSecret": {}, "officialAccountToken": {}, "officialAccountEncodingAESKey": {}, "openPlatformAppSecret": {},
"openPlatformToken": {}, "openPlatformEncodingAESKey": {},
}
// ConvType 类型转换
func ConvType(val interface{}, t string) interface{} {
switch t {
case ConfigTypeString:
val = gconv.String(val)
case ConfigTypeInt:
val = gconv.Int(val)
case ConfigTypeInt8:
val = gconv.Int8(val)
case ConfigTypeInt16:
val = gconv.Int16(val)
case ConfigTypeInt32:
val = gconv.Int32(val)
case ConfigTypeInt64:
val = gconv.Int64(val)
case ConfigTypeUint:
val = gconv.Uint(val)
case ConfigTypeUint8:
val = gconv.Uint8(val)
case ConfigTypeUint16:
val = gconv.Uint16(val)
case ConfigTypeUint32:
val = gconv.Uint32(val)
case ConfigTypeUint64:
val = gconv.Uint64(val)
case ConfigTypeFloat32:
val = gconv.Float32(val)
case ConfigTypeFloat64:
val = gconv.Float64(val)
case ConfigTypeBool:
val = gconv.Bool(val)
case ConfigTypeDate:
val = gconv.Time(val, "Y-m-d")
case ConfigTypeDateTime:
val = gconv.Time(val, "Y-m-d H:i:s")
case ConfigTypeSliceInt:
val = gconv.SliceInt(val)
case ConfigTypeSliceInt64:
val = gconv.SliceInt64(val)
case ConfigTypeSliceString:
val = gconv.SliceStr(val)
default:
val = gconv.String(val)
}
return val
}
+15
View File
@@ -0,0 +1,15 @@
// Package consts
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2023 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
package consts
type CtxKey string
// ContextKey 上下文
const (
ContextHTTPKey CtxKey = "httpContext" // http上下文变量名称
ContextKeyCronArgs CtxKey = "cronArgs" // 定时任务参数
ContextKeyCronSn CtxKey = "cronSn" // 定时任务序列号
)
+48
View File
@@ -0,0 +1,48 @@
// Package consts
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2023 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
package consts
import (
"hotgo/internal/library/dict"
"hotgo/internal/model"
)
func init() {
dict.RegisterEnums("creditType", "资金变动类型", CreditTypeOptions)
dict.RegisterEnums("creditGroup", "资金变动分组", CreditGroupOptions)
}
const (
CreditTypeBalance = "balance" // 余额
CreditTypeIntegral = "integral" // 积分
)
const (
CreditGroupDecr = "decr" // 扣款
CreditGroupIncr = "incr" // 加款
CreditGroupOpDecr = "op_decr" // 操作扣款
CreditGroupOpIncr = "op_incr" // 操作加款
CreditGroupBalanceRecharge = "balance_recharge" // 余额充值
CreditGroupBalanceRefund = "balance_refund" // 余额退款
CreditGroupApplyCash = "apply_cash" // 申请提现
)
// CreditTypeOptions 变动类型
var CreditTypeOptions = []*model.Option{
dict.GenSuccessOption(CreditTypeBalance, "余额"),
dict.GenInfoOption(CreditTypeIntegral, "积分"),
}
// CreditGroupOptions 变动分组
var CreditGroupOptions = []*model.Option{
dict.GenWarningOption(CreditGroupDecr, "扣款"),
dict.GenSuccessOption(CreditGroupIncr, "加款"),
dict.GenWarningOption(CreditGroupOpDecr, "操作扣款"),
dict.GenSuccessOption(CreditGroupOpIncr, "操作加款"),
dict.GenWarningOption(CreditGroupBalanceRefund, "余额退款"),
dict.GenSuccessOption(CreditGroupBalanceRecharge, "余额充值"),
dict.GenInfoOption(CreditGroupApplyCash, "申请提现"),
}
+17
View File
@@ -0,0 +1,17 @@
// Package consts
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2023 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
//
package consts
// 定时任务
const (
CronSplitStr = "," // 变量分割符
CronPolicySame = 1 // 并行策略
CronPolicySingle = 2 // 单例策略
CronPolicyOnce = 3 // 单次策略
CronPolicyTimes = 4 // 多次策略
)
+37
View File
@@ -0,0 +1,37 @@
// Package consts
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2025 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
package consts
// 碎片
const (
DemoTips = "演示系统已隐藏" // 演示系统敏感数据打码
NilJsonToString = "{}" // 空json初始化值
RegionSpilt = " / " // 地区分隔符
Unknown = "Unknown" // Unknown
SuperRoleKey = "super" // 超管角色唯一标识符,通过角色验证超管
MaxServeLogContentLen = 2048 // 最大保留服务日志内容大小
SysDefaultLanguage = "zh_CN" // 系统默认语言,当配置文件没有国际化配置时生效
)
// curd.
const (
DefaultPage = 10 // 默认列表分页加载数量
DefaultPageSize = 1 // 默认列表分页加载页码
MaxSortIncr = 10 // 最大排序值增量
)
// TenantField 租户字段
const (
TenantId = "tenant_id" // 租户ID
MerchantId = "merchant_id" // 商户ID
UserId = "user_id" // 用户ID
)
const (
DBMysql = "mysql"
DBPgsql = "pgsql"
)
+30
View File
@@ -0,0 +1,30 @@
// Package consts
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2024 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
package consts
import (
"hotgo/internal/library/dict"
"hotgo/internal/model"
)
func init() {
dict.RegisterEnums("deptType", "部门类型选项", DeptTypeOptions)
}
const (
DeptTypeCompany = "company" // 公司
DeptTypeTenant = "tenant" // 租户
DeptTypeMerchant = "merchant" // 商户
DeptTypeUser = "user" // 用户
)
// DeptTypeOptions 部门类型选项
var DeptTypeOptions = []*model.Option{
dict.GenSuccessOption(DeptTypeCompany, "公司"),
dict.GenErrorOption(DeptTypeTenant, "租户"),
dict.GenInfoOption(DeptTypeMerchant, "商户"),
dict.GenWarningOption(DeptTypeUser, "用户"),
}
+38
View File
@@ -0,0 +1,38 @@
// Package consts
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2023 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
package consts
import "github.com/gogf/gf/v2/frame/g"
// 邮件内置模板
const (
EmsTemplateText = "text" // 通用文本
EmsTemplateCode = "code" // 通用验证码
EmsTemplateLogin = "login" // 登录
EmsTemplateRegister = "register" // 注册
EmsTemplateResetPwd = "resetPwd" // 重置密码
EmsTemplateBind = "bind" // 绑定邮箱
EmsTemplateCash = "cash" // 申请提现
)
var EmsSubjectMap = g.MapStrStr{
EmsTemplateText: "这是一封来自HotGo的邮件",
EmsTemplateCode: "验证码",
EmsTemplateLogin: "登录验证码",
EmsTemplateRegister: "注册验证码",
EmsTemplateResetPwd: "重置密码",
EmsTemplateBind: "绑定邮箱验证码",
EmsTemplateCash: "申请提现验证码",
}
// IsCodeEmsTemplate 是否是验证码类型的模板
func IsCodeEmsTemplate(template string) bool {
return template == EmsTemplateCode ||
template == EmsTemplateLogin ||
template == EmsTemplateRegister ||
template == EmsTemplateBind ||
template == EmsTemplateCash
}
+35
View File
@@ -0,0 +1,35 @@
// Package consts
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2023 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
package consts
import (
"github.com/gogf/gf/v2/text/gstr"
)
// 错误解释
const (
ErrorORM = "sql执行异常"
ErrorNotData = "数据不存在"
ErrorRotaPointer = "指针转换异常"
)
// 需要隐藏真实错误的Wrap,开启访问日志后仍然会将真实错误记录
var concealErrorSlice = []string{ErrorORM, ErrorRotaPointer}
// ErrorMessage 错误显示信息,非debug模式有效
func ErrorMessage(err error) (message string) {
if err == nil {
return "操作失败!~"
}
message = err.Error()
for _, e := range concealErrorSlice {
if gstr.Contains(message, e) {
return "操作失败,请稍后重试!~"
}
}
return
}
+10
View File
@@ -0,0 +1,10 @@
// Package consts
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2023 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
package consts
const (
EventServerClose = "server.close" // 服务关闭事件
)
+96
View File
@@ -0,0 +1,96 @@
// Package consts
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2023 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
package consts
import (
"hotgo/internal/library/dict"
"hotgo/internal/model"
)
// 生成代码类型
const (
GenCodesTypeCurd = 10 // 增删改查列表
GenCodesTypeTree = 11 // 树列表
GenCodesTypeQueue = 20 // 队列消费者
GenCodesTypeCron = 30 // 定时任务
)
var GenCodesTypeNameMap = map[int]string{
GenCodesTypeCurd: "增删改查列表",
GenCodesTypeTree: "关系树列表",
GenCodesTypeQueue: "队列消费者(未实现)",
GenCodesTypeCron: "定时任务(未实现)",
}
var GenCodesTypeConfMap = map[int]string{
GenCodesTypeCurd: "crud",
GenCodesTypeTree: "tree",
GenCodesTypeQueue: "queue",
GenCodesTypeCron: "cron",
}
// 生成代码状态
const (
GenCodesStatusOk = 1 // 生成成功
GenCodesStatusWait = 2 // 未生成
GenCodesStatusFail = 3 // 生成失败
)
var GenCodesStatusNameMap = map[int]string{
GenCodesStatusOk: "生成成功",
GenCodesStatusWait: "未生成",
GenCodesStatusFail: "生成失败",
}
// 生成代码关联表方式
const (
GenCodesJoinLeft = 1 // 左关联
GenCodesJoinRight = 2 // 右关联
GenCodesJoinInner = 3 // 内关联
)
var GenCodesJoinNameMap = map[int]string{
GenCodesJoinLeft: "左关联",
GenCodesJoinRight: "右关联",
GenCodesJoinInner: "内关联",
}
var GenCodesJoinLinkMap = map[int]string{
GenCodesJoinLeft: "LeftJoin",
GenCodesJoinRight: "RightJoin",
GenCodesJoinInner: "InnerJoin",
}
// 生成代码的生成方式
const (
GenCodesBuildMethCreate = 1 // 创建
GenCodesBuildMethCover = 2 // 覆盖
GenCodesBuildMethSkip = 3 // 跳过
GenCodesBuildIgnore = 4 // 不生成
)
var GenCodesBuildMethNameMap = map[int]string{
GenCodesBuildMethCreate: "创建文件",
GenCodesBuildMethCover: "强制覆盖",
GenCodesBuildMethSkip: "已存在跳过",
GenCodesBuildIgnore: "不生成",
}
const (
GenCodesIndexPK = "PRI" // 主键索引
GenCodesIndexUNI = "UNI" // 唯一索引
)
const (
GenCodesTreeStyleTypeNormal = 1 // 普通树表格
GenCodesTreeStyleTypeOption = 2 // 选项式树表
)
// GenCodesTreeStyleTypeOptions 树表样式选项
var GenCodesTreeStyleTypeOptions = []*model.Option{
dict.GenSuccessOption(GenCodesTreeStyleTypeNormal, "普通树表格"),
dict.GenInfoOption(GenCodesTreeStyleTypeOption, "选项式树表"),
}
+63
View File
@@ -0,0 +1,63 @@
// Package consts
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2023 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
package consts
import (
"fmt"
"hotgo/internal/library/dict"
"hotgo/internal/model"
"net/http"
"github.com/gogf/gf/v2/errors/gcode"
)
func init() {
dict.RegisterEnums("HTTPMethod", "HTTP请求方式选项", HTTPMethodOptions)
dict.RegisterEnums("HTTPHandlerTime", "HTTP处理耗时选项", HTTPHandlerTimeOptions)
dict.RegisterEnums("HTTPApiCode", "HTTP接口状态码选项", HTTPApiCodeOptions)
}
const (
HTTPContentTypeXml = "text/xml"
HTTPContentTypeHtml = "text/html"
HTTPContentTypeStream = "text/event-stream"
HTTPContentTypeJson = "application/json"
HTTPContentTypeOctetStream = "application/octet-stream"
)
// HTTPMethodOptions HTTP请求方式选项
var HTTPMethodOptions = []*model.Option{
dict.GenSuccessOption(http.MethodGet, "GET"),
dict.GenInfoOption(http.MethodPost, "POST"),
dict.GenSuccessOption(http.MethodPut, "PUT"),
dict.GenInfoOption(http.MethodDelete, "DELETE"),
}
const (
HTTPHandlerTime50 = "< 50"
HTTPHandlerTime200 = "< 200"
HTTPHandlerTime200To500 = "BETWEEN 200 AND 500"
HTTPHandlerTime500To1000 = "BETWEEN 500 AND 1000"
HTTPHandlerTime1000To10000 = "BETWEEN 1000 AND 10000"
HTTPHandlerTime10000UP = "> 10000"
)
// HTTPHandlerTimeOptions HTTP处理耗时选项
var HTTPHandlerTimeOptions = []*model.Option{
dict.GenSuccessOption(HTTPHandlerTime50, "50ms以内"),
dict.GenInfoOption(HTTPHandlerTime200, "200ms以内"),
dict.GenSuccessOption(HTTPHandlerTime200To500, "200~500ms"),
dict.GenSuccessOption(HTTPHandlerTime500To1000, "500~1000ms"),
dict.GenInfoOption(HTTPHandlerTime1000To10000, "1000~10000ms"),
dict.GenInfoOption(HTTPHandlerTime10000UP, "10000ms以上"),
}
// HTTPApiCodeOptions HTTP接口状态码选项
var HTTPApiCodeOptions = []*model.Option{
dict.GenSuccessOption(gcode.CodeOK.Code(), fmt.Sprintf("%v %v", gcode.CodeOK.Code(), "成功")),
dict.GenWarningOption(gcode.CodeNil.Code(), fmt.Sprintf("%v %v", gcode.CodeNil.Code(), "失败")),
dict.GenWarningOption(gcode.CodeSecurityReason.Code(), fmt.Sprintf("%v %v", gcode.CodeSecurityReason.Code(), "无访问权限")),
}
+13
View File
@@ -0,0 +1,13 @@
// Package consts
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2023 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
package consts
// 公告类型
const (
NoticeTypeNotify = 1 // 通知
NoticeTypeNotice = 2 // 公告
NoticeTypeLetter = 3 // 私信
)
+66
View File
@@ -0,0 +1,66 @@
// Package consts
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2023 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
package consts
import (
"hotgo/internal/library/dict"
"hotgo/internal/model"
)
func init() {
dict.RegisterEnums("orderStatus", "订单状态", OrderStatusOptions)
dict.RegisterEnums("acceptRefundStatus", "订单退款受理状态", OrderAcceptRefundOptions)
}
// 订单分组
// 为不同的业务订单设置不同的分组,分组可以设置不同的业务回调方法
const (
OrderGroupDefault = "order" // 普通订单
OrderGroupAdminOrder = "admin_order" // 后台充值订单
// 还可以设置其他,方便后期扩展..
)
// 订单类型
const (
OrderTypeBalance = "balance" // 余额充值
OrderTypeProduct = "product" // 购买产品
)
const (
OrderStatusALL = -1 // 全部状态
OrderStatusNotPay = 1 // 待付款
OrderStatusPay = 2 // 已付款
OrderStatusShipments = 3 // 已发货
OrderStatusDone = 4 // 已完成
OrderStatusClose = 5 // 已关闭
OrderStatusReturnRequest = 6 // 申请退款
OrderStatusReturning = 7 // 退款中
OrderStatusReturned = 8 // 已退款
OrderStatusReturnReject = 9 // 拒绝退款
)
// OrderStatusOptions 订单状态选项
var OrderStatusOptions = []*model.Option{
dict.GenInfoOption(OrderStatusALL, "全部"),
dict.GenInfoOption(OrderStatusNotPay, "待付款"),
dict.GenInfoOption(OrderStatusPay, "已付款"),
dict.GenInfoOption(OrderStatusShipments, "已发货"),
dict.GenSuccessOption(OrderStatusDone, "已完成"),
dict.GenDefaultOption(OrderStatusClose, "已关闭"),
dict.GenWarningOption(OrderStatusReturnRequest, "申请退款"),
dict.GenDefaultOption(OrderStatusReturning, "退款中"),
dict.GenErrorOption(OrderStatusReturned, "已退款"),
dict.GenWarningOption(OrderStatusReturnReject, "拒绝退款"),
}
// OrderAcceptRefundOptions 订单退款受理状态
var OrderAcceptRefundOptions = []*model.Option{
dict.GenWarningOption(OrderStatusReturnRequest, "申请退款"),
dict.GenSuccessOption(OrderStatusReturned, "已退款"),
dict.GenErrorOption(OrderStatusReturnReject, "拒绝退款"),
}
+105
View File
@@ -0,0 +1,105 @@
// Package consts
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2023 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
package consts
import (
"hotgo/internal/library/dict"
"hotgo/internal/model"
)
// 支付方式
func init() {
dict.RegisterEnums("payType", "支付方式", PayTypeOptions)
dict.RegisterEnums("payStatus", "支付状态", PayStatusOptions)
}
const (
PayTypeALL = "" // 全部
PayTypeWxPay = "wxpay" // 微信支付
PayTypeAliPay = "alipay" // 支付宝
PayTypeQQPay = "qqpay" // QQ支付
PayTypeBalance = "balance" // 余额支付
PayTypeBankTransfer = "bank_transfer" // 银行转账
PayTypeManual = "manual" // 人工支付
)
var (
PayTypeSlice = []string{
PayTypeWxPay, PayTypeAliPay, PayTypeQQPay, PayTypeBalance, PayTypeBankTransfer, PayTypeManual,
}
PayTypeNameMap = map[string]string{
PayTypeALL: "全部",
PayTypeWxPay: "微信支付",
PayTypeAliPay: "支付宝",
PayTypeQQPay: "QQ支付",
PayTypeBalance: "余额支付",
PayTypeBankTransfer: "银行转账",
PayTypeManual: "人工支付",
}
)
// 交易方式
const (
// 微信
TradeTypeWxMP = "mp" // 公众号
TradeTypeWxMini = "mini" // 小程序
TradeTypeWxApp = "app" // APP
TradeTypeWxScan = "scan" // 二维码扫码
TradeTypeWxPos = "pos" // 二维码收款
TradeTypeWxH5 = "h5" // H5
// 支付宝
TradeTypeAliWeb = "web" // 电脑网页
TradeTypeAliApp = "app" // APP
TradeTypeAliScan = "scan" // 二维码扫码
TradeTypeAliWap = "wap" // 手机网页
TradeTypeAliPos = "pos" // 二维码收款
// QQ
TradeTypeQQWeb = "qqweb" // PC网页
TradeTypeQQWap = "qqwap" // 移动端
)
var (
TradeTypeWxSlice = []string{TradeTypeWxMP, TradeTypeWxMini, TradeTypeWxApp, TradeTypeWxScan, TradeTypeWxPos, TradeTypeWxH5}
TradeTypeAliSlice = []string{TradeTypeAliWeb, TradeTypeAliApp, TradeTypeAliScan, TradeTypeAliWap, TradeTypeAliPos}
TradeTypeQQSlice = []string{TradeTypeQQWeb, TradeTypeQQWap}
)
// 支付状态
const (
PayStatusWait = 1 // 待支付
PayStatusOk = 2 // 已支付
)
// PayStatusOptions 支付状态选项
var PayStatusOptions = []*model.Option{
dict.GenDefaultOption(PayStatusWait, "待支付"),
dict.GenSuccessOption(PayStatusOk, "已支付"),
}
// 退款状态
const (
RefundStatusNo = 1 // 未退款
RefundStatusApply = 2 // 申请退款
RefundStatusReject = 3 // 拒绝退款
RefundStatusAgree = 4 // 同意退款,已退款
)
// PayTypeOptions 支付方式选项
var PayTypeOptions = []*model.Option{
dict.GenSuccessOption(PayTypeWxPay, "微信支付"),
dict.GenInfoOption(PayTypeAliPay, "支付宝"),
dict.GenDefaultOption(PayTypeQQPay, "QQ支付"),
dict.GenPrimaryOption(PayTypeBalance, "余额支付"),
dict.GenInfoOption(PayTypeBankTransfer, "银行转账"),
dict.GenWarningOption(PayTypeManual, "人工支付"),
}
+70
View File
@@ -0,0 +1,70 @@
package consts
import (
"hotgo/internal/library/dict"
"hotgo/internal/model"
)
const (
BizPublishDraft = 1
BizPublishPending = 2
BizPublishPublished = 3
BizPublishOffline = 4
BizPublishArchived = 5
BannerTargetNone = 1
BannerTargetInternal = 2
BannerTargetExternal = 3
ProductTypeStandard = 1
ProductTypeManual = 2
SiteFeatureEnabled = 1
SiteFeatureDisabled = 2
SiteProductModeProduct = 1
SiteProductModeCreditCard = 2
)
var BizPublishStatusOptions = []*model.Option{
dict.GenInfoOption(BizPublishDraft, "草稿"),
dict.GenWarningOption(BizPublishPending, "待审"),
dict.GenSuccessOption(BizPublishPublished, "已发布"),
dict.GenDefaultOption(BizPublishOffline, "已下线"),
dict.GenDefaultOption(BizPublishArchived, "已归档"),
}
var BannerTargetTypeOptions = []*model.Option{
dict.GenDefaultOption(BannerTargetNone, "无跳转"),
dict.GenPrimaryOption(BannerTargetInternal, "内部路由"),
dict.GenInfoOption(BannerTargetExternal, "外部链接"),
}
var BannerPositionOptions = []*model.Option{
dict.GenPrimaryOption("home_top", "首页顶部"),
dict.GenInfoOption("home_popup", "首页弹窗"),
}
var ProductTypeOptions = []*model.Option{
dict.GenPrimaryOption(ProductTypeStandard, "标准商品"),
dict.GenInfoOption(ProductTypeManual, "手工商城商品"),
}
var SiteFeatureSwitchOptions = []*model.Option{
dict.GenSuccessOption(SiteFeatureEnabled, "开启"),
dict.GenDefaultOption(SiteFeatureDisabled, "关闭"),
}
var SiteProductModeOptions = []*model.Option{
dict.GenPrimaryOption(SiteProductModeProduct, "商品"),
dict.GenInfoOption(SiteProductModeCreditCard, "信用卡"),
}
func init() {
dict.RegisterEnums("bizPublishStatus", "业务发布状态", BizPublishStatusOptions)
dict.RegisterEnums("bannerTargetType", "Banner跳转类型", BannerTargetTypeOptions)
dict.RegisterEnums("bannerPosition", "Banner投放位置", BannerPositionOptions)
dict.RegisterEnums("productType", "商品类型", ProductTypeOptions)
dict.RegisterEnums("siteFeatureSwitch", "站点功能开关", SiteFeatureSwitchOptions)
dict.RegisterEnums("siteProductMode", "站点商城模式", SiteProductModeOptions)
}
+26
View File
@@ -0,0 +1,26 @@
package consts
import (
"hotgo/internal/library/dict"
"hotgo/internal/model"
)
const (
TaskSubmissionPending = 1
TaskSubmissionApproved = 2
TaskSubmissionRejected = 3
TaskSubmissionSettled = 4
TaskSubmissionReversed = 5
)
var TaskSubmissionStatusOptions = []*model.Option{
dict.GenWarningOption(TaskSubmissionPending, "待审核"),
dict.GenPrimaryOption(TaskSubmissionApproved, "已通过"),
dict.GenErrorOption(TaskSubmissionRejected, "已驳回"),
dict.GenSuccessOption(TaskSubmissionSettled, "已结算"),
dict.GenDefaultOption(TaskSubmissionReversed, "已冲正"),
}
func init() {
dict.RegisterEnums("taskSubmissionStatus", "会员任务审核状态", TaskSubmissionStatusOptions)
}
+12
View File
@@ -0,0 +1,12 @@
// Package consts
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2023 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
package consts
const (
ClusterSyncSysconfig = "cluster.sync.sysConfig" // 系统配置
ClusterSyncSysBlacklist = "cluster.sync.sysBlacklist" // 系统黑名单
ClusterSyncSysSuperAdmin = "cluster.sync.superAdmin" // 超管
)
+14
View File
@@ -0,0 +1,14 @@
// Package consts
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2023 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
//
package consts
// 消息队列
const (
QueueLogTopic = `request_log` // 访问日志
QueueLoginLogTopic = `login_log` // 登录日志
QueueServeLogTopic = `serve_log` // 服务日志
)
+90
View File
@@ -0,0 +1,90 @@
// Package consts
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2023 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
package consts
// 数据范围
const (
RoleDataAll = 1 // 全部权限
// 通过部门划分
RoleDataNowDept = 2 // 当前部门
RoleDataDeptAndSub = 3 // 当前部门及以下部门
RoleDataDeptCustom = 4 // 自定义部门
// 通过上下级关系划分
RoleDataSelf = 5 // 仅自己
RoleDataSelfAndSub = 6 // 自己和直属下级
RoleDataSelfAndAllSub = 7 // 自己和全部下级
)
var RoleDataNameMap = map[int]string{
RoleDataAll: "全部权限",
RoleDataNowDept: "当前部门",
RoleDataDeptAndSub: "当前及以下部门",
RoleDataDeptCustom: "自定义部门",
RoleDataSelf: "仅自己",
RoleDataSelfAndSub: "自己和直属下级",
RoleDataSelfAndAllSub: "自己和全部下级",
}
type GroupScopeSelect struct {
Type string `json:"type,omitempty"`
Label string `json:"label"`
Key int `json:"key"`
Value int `json:"value,omitempty"`
Children []ScopeSelect `json:"children,omitempty"`
}
type ScopeSelect struct {
Label string `json:"label"`
Value int `json:"value"`
}
var DataScopeSelect = []GroupScopeSelect{
{
Label: RoleDataNameMap[RoleDataAll],
Key: RoleDataAll,
Value: RoleDataAll,
},
{
Type: "group",
Label: "按部门划分",
Key: -1,
Children: []ScopeSelect{
{
Label: RoleDataNameMap[RoleDataNowDept],
Value: RoleDataNowDept,
},
{
Label: RoleDataNameMap[RoleDataDeptAndSub],
Value: RoleDataDeptAndSub,
},
{
Label: RoleDataNameMap[RoleDataDeptCustom],
Value: RoleDataDeptCustom,
},
},
},
{
Type: "group",
Label: "按上下级关系划分",
Key: -2,
Children: []ScopeSelect{
{
Label: RoleDataNameMap[RoleDataSelf],
Value: RoleDataSelf,
},
{
Label: RoleDataNameMap[RoleDataSelfAndSub],
Value: RoleDataSelfAndSub,
},
{
Label: RoleDataNameMap[RoleDataSelfAndAllSub],
Value: RoleDataSelfAndAllSub,
},
},
},
}
+29
View File
@@ -0,0 +1,29 @@
// Package consts
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2023 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
package consts
import (
"hotgo/internal/library/dict"
"hotgo/internal/model"
)
func init() {
dict.RegisterEnums("ServerLicenseGroupOptions", "服务授权分组选项", ServerLicenseGroupOptions)
}
// 授权分组
const (
LicenseGroupDefault = "default" // 默认组
LicenseGroupCron = "cron" // 定时任务
LicenseGroupAuth = "auth" // 服务授权
)
// ServerLicenseGroupOptions 服务授权分组选项
var ServerLicenseGroupOptions = []*model.Option{
dict.GenWarningOption(LicenseGroupDefault, "默认组"),
dict.GenSuccessOption(LicenseGroupCron, "定时任务"),
dict.GenSuccessOption(LicenseGroupAuth, "服务授权"),
}
+33
View File
@@ -0,0 +1,33 @@
// Package consts
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2023 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
package consts
// 短信驱动
const (
SmsDriveAliYun = "aliyun" // 阿里云
SmsDriveTencent = "tencent" // 腾讯云
)
// 短信内置模板
const (
SmsTemplateCode = "code" // 通用验证码
SmsTemplateLogin = "login" // 登录
SmsTemplateRegister = "register" // 注册
SmsTemplateResetPwd = "resetPwd" // 重置密码
SmsTemplateBind = "bind" // 绑定手机号
SmsTemplateCash = "cash" // 申请提现
)
var (
SmsTemplateEventMap = map[string]string{
SmsTemplateCode: "通用验证码",
SmsTemplateLogin: "登录",
SmsTemplateRegister: "注册",
SmsTemplateResetPwd: "重置密码",
SmsTemplateBind: "绑定手机号",
SmsTemplateCash: "申请提现",
}
)
+49
View File
@@ -0,0 +1,49 @@
// Package consts
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2023 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
package consts
import (
"hotgo/internal/library/dict"
"hotgo/internal/model"
)
func init() {
dict.RegisterEnums("CodeStatusOptions", "验证码状态选项", CodeStatusOptions)
dict.RegisterEnums("BlacklistStatusOptions", "黑名单拉黑状态选项", BlacklistStatusOptions)
}
// 状态码
const (
StatusALL int = -1 // 全部状态
StatusEnabled int = 1 // 启用
StatusDisable int = 2 // 禁用
StatusDelete int = 3 // 已删除
)
var StatusSlice = []int{StatusALL, StatusEnabled, StatusDisable, StatusDelete}
// 验证码状态
const (
CodeStatusNotUsed = 1 // 未使用
CodeStatusUsed = 2 // 已使用
)
// CodeStatusOptions 验证码状态选项
var CodeStatusOptions = []*model.Option{
dict.GenWarningOption(CodeStatusNotUsed, "未使用"),
dict.GenSuccessOption(CodeStatusUsed, "已使用"),
}
const (
BlacklistStatusDisable = 1 // 封禁中
BlacklistStatusEnabled = 2 // 已解封
)
// BlacklistStatusOptions 黑名单拉黑状态选项
var BlacklistStatusOptions = []*model.Option{
dict.GenWarningOption(BlacklistStatusDisable, "封禁中"),
dict.GenSuccessOption(BlacklistStatusEnabled, "已解封"),
}
+122
View File
@@ -0,0 +1,122 @@
package consts
import (
"hotgo/internal/library/dict"
"hotgo/internal/model"
)
const (
TradeOrderTypeProduct = 1
TradeOrderTypeTask = 2
TradeOrderTypeManual = 3
TradeOrderMatching = 1
TradeOrderPending = 2
TradeOrderProcessing = 3
TradeOrderCompleted = 4
TradeOrderTimeout = 5
TradeOrderFrozen = 6
TradeOrderCancelled = 7
TradeOrderFailed = 8
TradeFreezeNormal = 1
TradeFreezeFrozen = 2
TradeFreezePending = 3
TradeActionCancelMatch = "cancel_match"
TradeActionRematch = "rematch"
TradeActionUnfreeze = "unfreeze"
RechargeTypeOnline = 1
RechargeTypeManual = 2
RechargeUnpaid = 1
RechargeReview = 2
RechargeSuccess = 3
RechargeRejected = 4
RechargeExpired = 5
RechargeCancelled = 6
WithdrawalPending = 1
WithdrawalReviewing = 2
WithdrawalProcessing = 3
WithdrawalSuccess = 4
WithdrawalFailed = 5
WithdrawalRejected = 6
WithdrawalCancelled = 7
FinanceDecisionApprove = 1
FinanceDecisionReject = 2
CustomerServiceOnline = 1
CustomerServiceOffline = 2
TradeAutoDispatchEnabled = 1
TradeAutoDispatchDisabled = 2
)
var TradeOrderTypeOptions = []*model.Option{
dict.GenPrimaryOption(TradeOrderTypeProduct, "商品订单"),
dict.GenInfoOption(TradeOrderTypeTask, "任务订单"),
dict.GenDefaultOption(TradeOrderTypeManual, "手工商城"),
}
var TradeOrderStatusOptions = []*model.Option{
dict.GenInfoOption(TradeOrderMatching, "匹配中"),
dict.GenWarningOption(TradeOrderPending, "待处理"),
dict.GenPrimaryOption(TradeOrderProcessing, "处理中"),
dict.GenSuccessOption(TradeOrderCompleted, "已完成"),
dict.GenWarningOption(TradeOrderTimeout, "已超时"),
dict.GenErrorOption(TradeOrderFrozen, "已冻结"),
dict.GenDefaultOption(TradeOrderCancelled, "已取消"),
dict.GenErrorOption(TradeOrderFailed, "失败"),
}
var TradeFreezeStatusOptions = []*model.Option{
dict.GenSuccessOption(TradeFreezeNormal, "正常"),
dict.GenErrorOption(TradeFreezeFrozen, "已冻结"),
dict.GenWarningOption(TradeFreezePending, "解冻复核中"),
}
var RechargeTypeOptions = []*model.Option{
dict.GenPrimaryOption(RechargeTypeOnline, "线上支付"),
dict.GenInfoOption(RechargeTypeManual, "人工充值"),
}
var RechargeStatusOptions = []*model.Option{
dict.GenDefaultOption(RechargeUnpaid, "用户未支付"),
dict.GenWarningOption(RechargeReview, "手动审核"),
dict.GenSuccessOption(RechargeSuccess, "已入账"),
dict.GenErrorOption(RechargeRejected, "手动驳回"),
dict.GenDefaultOption(RechargeExpired, "已过期"),
dict.GenDefaultOption(RechargeCancelled, "已取消"),
}
var WithdrawalStatusOptions = []*model.Option{
dict.GenWarningOption(WithdrawalPending, "待初审"),
dict.GenWarningOption(WithdrawalReviewing, "复核中"),
dict.GenPrimaryOption(WithdrawalProcessing, "付款中"),
dict.GenSuccessOption(WithdrawalSuccess, "已到账"),
dict.GenErrorOption(WithdrawalFailed, "付款失败"),
dict.GenErrorOption(WithdrawalRejected, "已驳回"),
dict.GenDefaultOption(WithdrawalCancelled, "已取消"),
}
var FinanceDecisionOptions = []*model.Option{
dict.GenSuccessOption(FinanceDecisionApprove, "通过"),
dict.GenErrorOption(FinanceDecisionReject, "驳回"),
}
var CustomerServiceOnlineOptions = []*model.Option{
dict.GenSuccessOption(CustomerServiceOnline, "在线"),
dict.GenDefaultOption(CustomerServiceOffline, "离线"),
}
var TradeAutoDispatchOptions = []*model.Option{
dict.GenSuccessOption(TradeAutoDispatchEnabled, "自动派单"),
dict.GenDefaultOption(TradeAutoDispatchDisabled, "手动领取"),
}
func init() {
dict.RegisterEnums("tradeOrderType", "交易订单类型", TradeOrderTypeOptions)
dict.RegisterEnums("tradeOrderStatus", "交易订单状态", TradeOrderStatusOptions)
dict.RegisterEnums("tradeFreezeStatus", "交易冻结状态", TradeFreezeStatusOptions)
dict.RegisterEnums("rechargeType", "充值类型", RechargeTypeOptions)
dict.RegisterEnums("rechargeStatus", "充值状态", RechargeStatusOptions)
dict.RegisterEnums("withdrawalStatus", "提现状态", WithdrawalStatusOptions)
dict.RegisterEnums("financeDecision", "财务审核结论", FinanceDecisionOptions)
dict.RegisterEnums("customerServiceOnline", "客服在线状态", CustomerServiceOnlineOptions)
dict.RegisterEnums("tradeAutoDispatch", "交易派单方式", TradeAutoDispatchOptions)
}
+16
View File
@@ -0,0 +1,16 @@
// Package consts
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2023 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
package consts
// 上传存储驱动
const (
UploadDriveLocal = "local" // 本地驱动
UploadDriveUCloud = "ucloud" // ucloud对象存储
UploadDriveCos = "cos" // 腾讯云cos
UploadDriveOss = "oss" // 阿里云oss
UploadDriveQiNiu = "qiniu" // 七牛云对象存储
UploadDriveMinio = "minio" // minio对象存储
)
+11
View File
@@ -0,0 +1,11 @@
// Package consts
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2025 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
package consts
// VersionApp HotGo版本
const (
VersionApp = "2.18.9"
)
+18
View File
@@ -0,0 +1,18 @@
// Package consts
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2023 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
package consts
// 授权类型
const (
WechatAuthorizeOpenId = "openId" // 设置openid
WechatAuthorizeBindLogin = "bindLogin" // 绑定微信登录
)
// 应用授权作用域
const (
WechatScopeBase = "snsapi_base" // 只获取openid,无需用户授权
WechatScopeUserinfo = "snsapi_userinfo" // 获取用户信息,需要授权
)