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

@ -17,28 +17,29 @@
package conf
type User struct {
UserId string `json:"userId"`
UserName string `json:"userName"`
UserAvatarURL string `json:"userAvatarURL"`
UserHomeBImgURL string `json:"userHomeBImgURL"`
UserTitles []*UserTitle `json:"userTitles"`
UserIntro string `json:"userIntro"`
UserNickname string `json:"userNickname"`
UserCreateTime string `json:"userCreateTime"`
UserSiYuanProExpireTime float64 `json:"userSiYuanProExpireTime"`
UserToken string `json:"userToken"`
UserTokenExpireTime string `json:"userTokenExpireTime"`
UserSiYuanRepoSize float64 `json:"userSiYuanRepoSize"`
UserSiYuanPointExchangeRepoSize float64 `json:"userSiYuanPointExchangeRepoSize"`
UserSiYuanAssetSize float64 `json:"userSiYuanAssetSize"`
UserTrafficUpload float64 `json:"userTrafficUpload"`
UserTrafficDownload float64 `json:"userTrafficDownload"`
UserTrafficAPIGet float64 `json:"userTrafficAPIGet"`
UserTrafficAPIPut float64 `json:"userTrafficAPIPut"`
UserTrafficTime float64 `json:"userTrafficTime"`
UserSiYuanSubscriptionPlan float64 `json:"userSiYuanSubscriptionPlan"` // -1未订阅0标准订阅1教育订阅2试用
UserSiYuanSubscriptionStatus float64 `json:"userSiYuanSubscriptionStatus"` // -1未订阅0订阅可用1订阅封禁2订阅过期
UserSiYuanSubscriptionType float64 `json:"userSiYuanSubscriptionType"` // 0 年付1 终生2 月付
UserId string `json:"userId"`
UserName string `json:"userName"`
UserAvatarURL string `json:"userAvatarURL"`
UserHomeBImgURL string `json:"userHomeBImgURL"`
UserTitles []*UserTitle `json:"userTitles"`
UserIntro string `json:"userIntro"`
UserNickname string `json:"userNickname"`
UserCreateTime string `json:"userCreateTime"`
UserSiYuanProExpireTime float64 `json:"userSiYuanProExpireTime"`
UserToken string `json:"userToken"`
UserTokenExpireTime string `json:"userTokenExpireTime"`
UserSiYuanRepoSize float64 `json:"userSiYuanRepoSize"`
UserSiYuanPointExchangeRepoSize float64 `json:"userSiYuanPointExchangeRepoSize"`
UserSiYuanAssetSize float64 `json:"userSiYuanAssetSize"`
UserTrafficUpload float64 `json:"userTrafficUpload"`
UserTrafficDownload float64 `json:"userTrafficDownload"`
UserTrafficAPIGet float64 `json:"userTrafficAPIGet"`
UserTrafficAPIPut float64 `json:"userTrafficAPIPut"`
UserTrafficTime float64 `json:"userTrafficTime"`
UserSiYuanSubscriptionPlan float64 `json:"userSiYuanSubscriptionPlan"` // -1未订阅0标准订阅1教育订阅2试用
UserSiYuanSubscriptionStatus float64 `json:"userSiYuanSubscriptionStatus"` // -1未订阅0订阅可用1订阅封禁2订阅过期
UserSiYuanSubscriptionType float64 `json:"userSiYuanSubscriptionType"` // 0 年付1 终生2 月付
UserSiYuanThirdPartySyncPayStatus float64 `json:"UserSiYuanThirdPartySyncPayStatus"` // 0 未付费1 已付费
}
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
}
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 (
MaskedUserData = ""
MaskedAccessAuthCode = "*******"

View file

@ -229,8 +229,19 @@ func checkSync(boot, exit, byHand bool) bool {
return false
}
if !IsSubscriber() && conf.ProviderSiYuan == Conf.Sync.Provider {
return false
switch Conf.Sync.Provider {
case conf.ProviderSiYuan:
if !IsSubscriber() {
return false
}
case conf.ProviderWebDAV:
if !IsThirdPartySyncPaid() {
return false
}
case conf.ProviderS3:
if !IsThirdPartySyncPaid() {
return false
}
}
if util.IsMutexLocked(&syncLock) {