From dead5c5a7c6bf893697e156fda69c8f5288908e6 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Sat, 5 Aug 2023 20:04:21 +0800 Subject: [PATCH] :art: Add membership one-time payment features https://github.com/siyuan-note/siyuan/issues/8906 --- kernel/conf/user.go | 46 +++++++++++++++++++------------------- kernel/model/conf.go | 4 ++-- kernel/model/repository.go | 10 ++++----- kernel/model/sync.go | 2 +- 4 files changed, 31 insertions(+), 31 deletions(-) diff --git a/kernel/conf/user.go b/kernel/conf/user.go index 2c1e8f2de..936aa2d3b 100644 --- a/kernel/conf/user.go +++ b/kernel/conf/user.go @@ -17,29 +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 月付 - UserSiYuanThirdPartySyncPayStatus float64 `json:"UserSiYuanThirdPartySyncPayStatus"` // 0 未付费;1 已付费 + 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 月付 + UserSiYuanOneTimePayStatus float64 `json:"userSiYuanOneTimePayStatus"` // 0 未付费;1 已付费 } type UserTitle struct { diff --git a/kernel/model/conf.go b/kernel/model/conf.go index 57115d566..9d85353f5 100644 --- a/kernel/model/conf.go +++ b/kernel/model/conf.go @@ -714,13 +714,13 @@ func IsSubscriber() bool { return nil != Conf.User && (-1 == Conf.User.UserSiYuanProExpireTime || 0 < Conf.User.UserSiYuanProExpireTime) && 0 == Conf.User.UserSiYuanSubscriptionStatus } -func IsThirdPartySyncPaid() bool { +func IsOneTimePaid() 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 + // return nil != Conf.User && 1 == Conf.User.UserSiYuanOneTimePayStatus } const ( diff --git a/kernel/model/repository.go b/kernel/model/repository.go index 3ac448ebe..a1bc7a972 100644 --- a/kernel/model/repository.go +++ b/kernel/model/repository.go @@ -634,7 +634,7 @@ func DownloadCloudSnapshot(tag, id string) (err error) { return } case conf.ProviderWebDAV, conf.ProviderS3: - if !IsThirdPartySyncPaid() { + if !IsOneTimePaid() { util.PushErrMsg(Conf.Language(214), 5000) return } @@ -676,7 +676,7 @@ func UploadCloudSnapshot(tag, id string) (err error) { return } case conf.ProviderWebDAV, conf.ProviderS3: - if !IsThirdPartySyncPaid() { + if !IsOneTimePaid() { util.PushErrMsg(Conf.Language(214), 5000) return } @@ -722,7 +722,7 @@ func RemoveCloudRepoTag(tag string) (err error) { return } case conf.ProviderWebDAV, conf.ProviderS3: - if !IsThirdPartySyncPaid() { + if !IsOneTimePaid() { util.PushErrMsg(Conf.Language(214), 5000) return } @@ -754,7 +754,7 @@ func GetCloudRepoTagSnapshots() (ret []*dejavu.Log, err error) { return } case conf.ProviderWebDAV, conf.ProviderS3: - if !IsThirdPartySyncPaid() { + if !IsOneTimePaid() { util.PushErrMsg(Conf.Language(214), 5000) return } @@ -790,7 +790,7 @@ func GetCloudRepoSnapshots(page int) (ret []*dejavu.Log, pageCount, totalCount i return } case conf.ProviderWebDAV, conf.ProviderS3: - if !IsThirdPartySyncPaid() { + if !IsOneTimePaid() { util.PushErrMsg(Conf.Language(214), 5000) return } diff --git a/kernel/model/sync.go b/kernel/model/sync.go index 77549981b..affbbfb61 100644 --- a/kernel/model/sync.go +++ b/kernel/model/sync.go @@ -235,7 +235,7 @@ func checkSync(boot, exit, byHand bool) bool { return false } case conf.ProviderWebDAV, conf.ProviderS3: - if !IsThirdPartySyncPaid() { + if !IsOneTimePaid() { return false } }