This commit is contained in:
Daniel 2023-07-19 12:15:37 +08:00
parent 11764557ac
commit c4558c26dd
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
3 changed files with 45 additions and 24 deletions

View file

@ -39,6 +39,7 @@ type User struct {
UserSiYuanSubscriptionPlan float64 `json:"userSiYuanSubscriptionPlan"` // -1未订阅0标准订阅1教育订阅2试用 UserSiYuanSubscriptionPlan float64 `json:"userSiYuanSubscriptionPlan"` // -1未订阅0标准订阅1教育订阅2试用
UserSiYuanSubscriptionStatus float64 `json:"userSiYuanSubscriptionStatus"` // -1未订阅0订阅可用1订阅封禁2订阅过期 UserSiYuanSubscriptionStatus float64 `json:"userSiYuanSubscriptionStatus"` // -1未订阅0订阅可用1订阅封禁2订阅过期
UserSiYuanSubscriptionType float64 `json:"userSiYuanSubscriptionType"` // 0 年付1 终生2 月付 UserSiYuanSubscriptionType float64 `json:"userSiYuanSubscriptionType"` // 0 年付1 终生2 月付
UserSiYuanThirdPartySyncPayStatus float64 `json:"UserSiYuanThirdPartySyncPayStatus"` // 0 未付费1 已付费
} }
type UserTitle struct { type UserTitle struct {

View file

@ -714,6 +714,15 @@ func IsSubscriber() bool {
return nil != Conf.User && (-1 == Conf.User.UserSiYuanProExpireTime || 0 < Conf.User.UserSiYuanProExpireTime) && 0 == Conf.User.UserSiYuanSubscriptionStatus return nil != Conf.User && (-1 == Conf.User.UserSiYuanProExpireTime || 0 < Conf.User.UserSiYuanProExpireTime) && 0 == Conf.User.UserSiYuanSubscriptionStatus
} }
func IsThirdPartySyncPaid() bool {
if IsSubscriber() {
return true
}
return nil != Conf.User // Sign in to use S3/WebDAV data sync https://github.com/siyuan-note/siyuan/issues/8779
// TODO https://github.com/siyuan-note/siyuan/issues/8780
// return nil != Conf.User && 1 == Conf.User.UserSiYuanThirdPartySyncPayStatus
}
const ( const (
MaskedUserData = "" MaskedUserData = ""
MaskedAccessAuthCode = "*******" MaskedAccessAuthCode = "*******"

View file

@ -229,9 +229,20 @@ func checkSync(boot, exit, byHand bool) bool {
return false return false
} }
if !IsSubscriber() && conf.ProviderSiYuan == Conf.Sync.Provider { switch Conf.Sync.Provider {
case conf.ProviderSiYuan:
if !IsSubscriber() {
return false return false
} }
case conf.ProviderWebDAV:
if !IsThirdPartySyncPaid() {
return false
}
case conf.ProviderS3:
if !IsThirdPartySyncPaid() {
return false
}
}
if util.IsMutexLocked(&syncLock) { if util.IsMutexLocked(&syncLock) {
logging.LogWarnf("sync is in progress") logging.LogWarnf("sync is in progress")