🎨 Sign in to use S3/WebDAV data sync https://github.com/siyuan-note/siyuan/issues/8779
This commit is contained in:
parent
11764557ac
commit
c4558c26dd
3 changed files with 45 additions and 24 deletions
|
@ -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 {
|
||||
|
|
|
@ -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 = "*******"
|
||||
|
|
|
@ -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) {
|
||||
|
|
Loading…
Add table
Reference in a new issue