From 78a5c05d28c61edba888131239c55f16d6f46fd4 Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Thu, 20 Apr 2023 10:30:31 +0800 Subject: [PATCH] :art: Official data sync counts the number of cloud storage API calls https://github.com/siyuan-note/siyuan/issues/8048 --- app/src/config/repos.ts | 2 ++ kernel/api/repo.go | 4 +++- kernel/conf/user.go | 2 ++ kernel/model/repository.go | 6 +++++- 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/app/src/config/repos.ts b/app/src/config/repos.ts index 452c3ff44..d935bf423 100644 --- a/app/src/config/repos.ts +++ b/app/src/config/repos.ts @@ -176,6 +176,8 @@ const bindProviderEvent = () => { `; diff --git a/kernel/api/repo.go b/kernel/api/repo.go index 26d18ac84..0fac53e8e 100644 --- a/kernel/api/repo.go +++ b/kernel/api/repo.go @@ -83,7 +83,7 @@ func getCloudSpace(c *gin.Context) { ret := gulu.Ret.NewResult() defer c.JSON(http.StatusOK, ret) - sync, backup, hSize, hAssetSize, hTotalSize, exchangeSize, hTrafficUploadSize, hTrafficDownloadSize, err := model.GetCloudSpace() + sync, backup, hSize, hAssetSize, hTotalSize, exchangeSize, hTrafficUploadSize, hTrafficDownloadSize, htrafficAPIGet, hTrafficAPIPut, err := model.GetCloudSpace() if nil != err { ret.Code = 1 ret.Msg = err.Error() @@ -100,6 +100,8 @@ func getCloudSpace(c *gin.Context) { "hExchangeSize": exchangeSize, "hTrafficUploadSize": hTrafficUploadSize, "hTrafficDownloadSize": hTrafficDownloadSize, + "hTrafficAPIGet": htrafficAPIGet, + "hTrafficAPIPut": hTrafficAPIPut, } } diff --git a/kernel/conf/user.go b/kernel/conf/user.go index c4b708a03..f7bc98fb7 100644 --- a/kernel/conf/user.go +++ b/kernel/conf/user.go @@ -34,6 +34,8 @@ type User struct { 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:订阅过期 diff --git a/kernel/model/repository.go b/kernel/model/repository.go index 226c57cf9..e0ed15b15 100644 --- a/kernel/model/repository.go +++ b/kernel/model/repository.go @@ -1599,7 +1599,7 @@ type Sync struct { SaveDir string `json:"saveDir"` // 本地同步数据存放目录路径 } -func GetCloudSpace() (s *Sync, b *Backup, hSize, hAssetSize, hTotalSize, hExchangeSize, hTrafficUploadSize, hTrafficDownloadSize string, err error) { +func GetCloudSpace() (s *Sync, b *Backup, hSize, hAssetSize, hTotalSize, hExchangeSize, hTrafficUploadSize, hTrafficDownloadSize, hTrafficAPIGet, hTrafficAPIPut string, err error) { stat, err := getCloudSpaceOSS() if nil != err { err = errors.New(Conf.Language(30) + " " + err.Error()) @@ -1630,6 +1630,8 @@ func GetCloudSpace() (s *Sync, b *Backup, hSize, hAssetSize, hTotalSize, hExchan hExchangeSize = "-" hTrafficUploadSize = "-" hTrafficDownloadSize = "-" + hTrafficAPIGet = "-" + hTrafficAPIPut = "-" if conf.ProviderSiYuan == Conf.Sync.Provider { s.HSize = humanize.Bytes(uint64(syncSize)) b.HSize = humanize.Bytes(uint64(backupSize)) @@ -1639,6 +1641,8 @@ func GetCloudSpace() (s *Sync, b *Backup, hSize, hAssetSize, hTotalSize, hExchan hExchangeSize = humanize.Bytes(uint64(Conf.User.UserSiYuanPointExchangeRepoSize)) hTrafficUploadSize = humanize.Bytes(uint64(Conf.User.UserTrafficUpload)) hTrafficDownloadSize = humanize.Bytes(uint64(Conf.User.UserTrafficDownload)) + hTrafficAPIGet = fmt.Sprintf("%d", int(Conf.User.UserTrafficAPIGet)) + hTrafficAPIPut = fmt.Sprintf("%d", int(Conf.User.UserTrafficAPIPut)) } return }