🎨 Add membership one-time payment features https://github.com/siyuan-note/siyuan/issues/8906

This commit is contained in:
Daniel 2023-08-05 20:04:21 +08:00
parent c553c87c63
commit dead5c5a7c
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
4 changed files with 31 additions and 31 deletions

View file

@ -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 {

View file

@ -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 (

View file

@ -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
}

View file

@ -235,7 +235,7 @@ func checkSync(boot, exit, byHand bool) bool {
return false
}
case conf.ProviderWebDAV, conf.ProviderS3:
if !IsThirdPartySyncPaid() {
if !IsOneTimePaid() {
return false
}
}