mirror of
https://github.com/snowykami/neo-blog.git
synced 2025-09-26 02:56:22 +00:00
92 lines
6.8 KiB
Go
92 lines
6.8 KiB
Go
package constant
|
||
|
||
const (
|
||
CaptchaTypeDisable = "disable" // 禁用验证码
|
||
CaptchaTypeHCaptcha = "hcaptcha" // HCaptcha验证码
|
||
CaptchaTypeTurnstile = "turnstile" // Turnstile验证码
|
||
CaptchaTypeReCaptcha = "recaptcha" // ReCaptcha验证码
|
||
ContextKeyUserID = "user_id" // 上下文键:用户ID
|
||
ContextKeyRemoteAddr = "remote_addr" // 上下文键:远程地址
|
||
ContextKeyUserAgent = "user_agent" // 上下文键:用户代理
|
||
ModeDev = "dev"
|
||
ModeProd = "prod"
|
||
RoleUser = "user" // 普通用户 仅有阅读和评论权限
|
||
RoleEditor = "editor" // 能够发布和管理自己内容的用户
|
||
RoleAdmin = "admin"
|
||
DefaultFileBasePath = "./data/uploads"
|
||
EnvKeyBaseUrl = "BASE_URL" // 环境变量:基础URL
|
||
EnvKeyPasscode = "\"CAPTCHA_DEV_PASSCODE\""
|
||
EnvKeyCaptchaProvider = "CAPTCHA_PROVIDER" // captcha提供者
|
||
EnvKeyCaptchaSecreteKey = "CAPTCHA_SECRET_KEY" // captcha站点密钥
|
||
EnvKeyCaptchaUrl = "CAPTCHA_URL" // 某些自托管的captcha的url
|
||
EnvKeyCaptchaSiteKey = "CAPTCHA_SITE_KEY" // captcha密钥key
|
||
EnvKeyDBDriver = "DB_DRIVER" // 环境变量:数据库驱动
|
||
EnvKeyDBPath = "DB_PATH" // 环境变量:数据库文件路径(仅适用于SQLite)
|
||
EnvKeyDBHost = "DB_HOST" // 环境变量:数据库主机(仅适用于PostgreSQL)
|
||
EnvKeyDBPort = "DB_PORT" // 环境变量:数据库端口(仅适用于PostgreSQL)
|
||
EnvKeyDBUser = "DB_USER" // 环境变量:数据库用户(仅适用于PostgreSQL)
|
||
EnvKeyDBPassword = "DB_PASSWORD" // 环境变量:数据库密码(仅适用于PostgreSQL)
|
||
EnvKeyDBName = "DB_NAME" // 环境变量:数据库名称(仅适用于PostgreSQL)
|
||
EnvKeyDBSSLMode = "DB_SSLMODE" // 环境变量:数据库SSL模式(仅适用于PostgreSQL)
|
||
EnvKeyEmailAddress = "EMAIL_ADDRESS"
|
||
EnvKeyEmailEnable = "EMAIL_ENABLE"
|
||
EnvKeyEmailHost = "EMAIL_HOST"
|
||
EnvKeyEmailPort = "EMAIL_PORT"
|
||
EnvKeyEmailUsername = "EMAIL_USERNAME"
|
||
EnvKeyEmailPassword = "EMAIL_PASSWORD"
|
||
EnvKeyEmailSsl = "EMAIL_SSL"
|
||
EnvKeyEnableRegister = "ENABLE_REGISTER"
|
||
EnvKeyEnableEmailVerify = "ENABLE_EMAIL_VERIFY"
|
||
EnvKeyFileDriverType = "FILE_DRIVER_TYPE"
|
||
EnvKeyFileBasepath = "FILE_BASEPATH"
|
||
EnvKeyFileWebdavUrl = "FILE_WEBDAV_URL"
|
||
EnvKeyFileWebdavPassword = "FILE_WEBDAV_PASSWORD"
|
||
EnvKeyFileWebdavPolicy = "FILE_WEBDAV_POLICY"
|
||
EnvKeyFileWebdavUser = "FILE_WEBDAV_USER"
|
||
EnvKeyLocationFormat = "LOCATION_FORMAT" // 环境变量:时区格式
|
||
EnvKeyLogLevel = "LOG_LEVEL" // 环境变量:日志级别
|
||
EnvKeyMode = "MODE" // 环境变量:运行模式
|
||
EnvKeyJwtSecrete = "JWT_SECRET" // 环境变量:JWT密钥
|
||
EnvKeyPasswordSalt = "PASSWORD_SALT" // 环境变量:密码盐
|
||
EnvKeyTokenDuration = "TOKEN_DURATION" // 环境变量:令牌有效期
|
||
EnvKeyMaxReplyDepth = "MAX_REPLY_DEPTH" // 环境变量:最大回复深度
|
||
EnvKeyTokenDurationDefault = 500 // Token有效时长
|
||
EnvKeyRefreshTokenDurationDefault = 6000000 // refresh token有效时长
|
||
EnvKeyRefreshTokenDuration = "REFRESH_TOKEN_DURATION" // 环境变量:刷新令牌有效期
|
||
EnvKeyRefreshTokenDurationWithRemember = "REFRESH_TOKEN_DURATION_WITH_REMEMBER" // 环境变量:记住我刷新令牌有效期
|
||
FileDriverTypeLocal = "local"
|
||
FileDriverTypeWebdav = "webdav"
|
||
FileDriverTypeS3 = "s3"
|
||
HeaderKeyEmail = "X-Email"
|
||
HeaderKeyVerifyCode = "X-VerifyCode"
|
||
KVKeyEmailVerificationCode = "email_verification_code:" // KV存储:邮箱验证码
|
||
KVKeyOidcState = "oidc_state:" // KV存储:OIDC状态
|
||
ApiSuffix = "/api/v1" // API版本前缀
|
||
OidcUri = "/user/oidc/login" // OIDC登录URI
|
||
OidcProviderTypeMisskey = "misskey" // OIDC提供者类型:Misskey
|
||
OidcProviderTypeOauth2 = "oauth2" // OIDC提供者类型:GitHub
|
||
DefaultCaptchaDevPasscode = "dev_passcode"
|
||
DefaultBaseUrl = "http://localhost:3000" // 默认BaseUrl
|
||
DefaultPasswordSalt = "default_salt_114514"
|
||
TargetTypePost = "post"
|
||
TargetTypeComment = "comment"
|
||
WebdavPolicyProxy = "proxy"
|
||
WebdavPolicyRedirect = "redirect"
|
||
OrderByCreatedAt = "created_at" // 按创建时间排序
|
||
OrderByUpdatedAt = "updated_at" // 按更新时间排序
|
||
OrderByLikeCount = "like_count" // 按点赞数排序
|
||
OrderByCommentCount = "comment_count" // 按评论数排序
|
||
OrderByViewCount = "view_count" // 按浏览量排序
|
||
OrderByHeat = "heat"
|
||
MaxReplyDepthDefault = 3 // 默认最大回复深度
|
||
HeatFactorViewWeight = 1 // 热度因子:浏览量权重
|
||
HeatFactorLikeWeight = 5 // 热度因子:点赞权重
|
||
HeatFactorCommentWeight = 10 // 热度因子:评论权重
|
||
PageLimitDefault = 20 // 默认分页大小
|
||
)
|
||
|
||
var (
|
||
OrderByEnumPost = []string{OrderByCreatedAt, OrderByUpdatedAt, OrderByLikeCount, OrderByCommentCount, OrderByViewCount, OrderByHeat} // 帖子可用的排序方式
|
||
OrderByEnumComment = []string{OrderByCreatedAt, OrderByUpdatedAt, OrderByCommentCount} // 评论可用的排序方式
|
||
)
|