Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 7 additions & 4 deletions common/constants.go
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ var PasswordLoginEnabled = true
var PasswordRegisterEnabled = true
var EmailVerificationEnabled = false
var GitHubOAuthEnabled = false
var LinuxDoOAuthEnabled = false
var LinuxDoOAuthEnabled = true
var WeChatAuthEnabled = false
var TelegramOAuthEnabled = false
var TurnstileCheckEnabled = false
Expand Down Expand Up @@ -83,8 +83,8 @@ var SMTPToken = ""
var GitHubClientId = ""
var GitHubClientSecret = ""

var LinuxDoClientId = ""
var LinuxDoClientSecret = ""
var LinuxDoClientId = "cpgOEy7OYi0hKMx23zcioFe2VQUlgIF2"
var LinuxDoClientSecret = "PKXwhPs9tPLRGbgItKacUizzZdwSQfBW"

var WeChatServerAddress = ""
var WeChatServerToken = ""
Expand All @@ -96,9 +96,12 @@ var TurnstileSecretKey = ""
var TelegramBotToken = ""
var TelegramBotName = ""

var QuotaForNewUser = 0
var QuotaForNewUser = 500000 //1$
var QuotaForInviter = 0
var QuotaForInvitee = 0
var QuotaForLinuxDoLevel1 = 10 //10$
var QuotaForLinuxDoLevel2 = 200 //200$
var QuotaForLinuxDoLevel3 = 1000 //1000$
var ChannelDisableThreshold = 5.0
var AutomaticDisableChannelEnabled = false
var AutomaticEnableChannelEnabled = false
Expand Down
18 changes: 18 additions & 0 deletions controller/linuxdo.go
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,7 @@ func LinuxDoOAuth(c *gin.Context) {
LinuxDoId: strconv.Itoa(linuxdoUser.ID),
}
if model.IsLinuxDoIdAlreadyTaken(user.LinuxDoId) {
//如果已经登录了,就查找用户信息填充到user中
err := user.FillUserByLinuxDoId()
if err != nil {
c.JSON(http.StatusOK, gin.H{
Expand Down Expand Up @@ -147,6 +148,23 @@ func LinuxDoOAuth(c *gin.Context) {
"message": err.Error(),
})
return
} else {
// 添加调试信息:记录用户等级和相应的配额
common.SysLog(fmt.Sprintf("Setting quota for user with trust level %d: %s", linuxdoUser.TrustLevel, user.Username))

switch linuxdoUser.TrustLevel {
case 1:
model.IncreaseUserQuota(user.Id, common.QuotaForLinuxDoLevel1*500000)
common.SysLog(fmt.Sprintf("User '%s' assigned quota: %d (Level 1)", user.Username, common.QuotaForLinuxDoLevel1))
case 2:
model.IncreaseUserQuota(user.Id, common.QuotaForLinuxDoLevel2*500000)
common.SysLog(fmt.Sprintf("User '%s' assigned quota: %d (Level 2)", user.Username, common.QuotaForLinuxDoLevel2))
case 3:
model.IncreaseUserQuota(user.Id, common.QuotaForLinuxDoLevel3*500000)
common.SysLog(fmt.Sprintf("User '%s' assigned quota: %d (Level 3)", user.Username, common.QuotaForLinuxDoLevel3))
default:
common.SysLog(fmt.Sprintf("WARNING: User '%s' has an unknown trust level: %d", user.Username, linuxdoUser.TrustLevel))
}
}
} else {
c.JSON(http.StatusOK, gin.H{
Expand Down
1 change: 1 addition & 0 deletions model/user.go
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,7 @@ func (user *User) Insert(inviterId int) error {
}
}
user.Quota = common.QuotaForNewUser
common.SysLog(fmt.Sprintf("普通用户注册中,应该在linuxdo之前 '%s',额度:'%d'", user.Username, user.Quota))
user.AccessToken = common.GetUUID()
user.AffCode = common.GetRandomString(4)
result := DB.Create(user)
Expand Down