mirror of
https://github.com/siyuan-note/siyuan.git
synced 2026-01-23 08:46:09 +01:00
🎨 Support LiuYun account login https://github.com/siyuan-note/siyuan/issues/8578
This commit is contained in:
parent
da750ccfd0
commit
f37a358cd6
9 changed files with 91 additions and 28 deletions
|
|
@ -367,7 +367,7 @@ func uploadAssets2Cloud(sqlAssets []*sql.Asset, bizType string) (err error) {
|
|||
SetCookies(&http.Cookie{Name: "symphony", Value: uploadToken}).
|
||||
SetHeader("meta-type", metaType).
|
||||
SetHeader("biz-type", bizType).
|
||||
Post(util.AliyunServer + "/apis/siyuan/upload?ver=" + util.Ver)
|
||||
Post(util.ChinaServer + "/apis/siyuan/upload?ver=" + util.Ver)
|
||||
if nil != reqErr {
|
||||
logging.LogErrorf("upload assets failed: %s", reqErr)
|
||||
return ErrFailedToConnectCloudServer
|
||||
|
|
|
|||
54
kernel/model/cloud.go
Normal file
54
kernel/model/cloud.go
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
// SiYuan - Build Your Eternal Digital Garden
|
||||
// Copyright (c) 2020-present, b3log.org
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
package model
|
||||
|
||||
import "github.com/siyuan-note/siyuan/kernel/util"
|
||||
|
||||
func getCloudServer() string {
|
||||
if 0 == Conf.CloudRegion {
|
||||
return util.ChinaServer
|
||||
}
|
||||
return util.NorthAmericaServer
|
||||
}
|
||||
|
||||
func getCloudWebSocketServer() string {
|
||||
if 0 == Conf.CloudRegion {
|
||||
return util.ChinaWebSocketServer
|
||||
}
|
||||
return util.NorthAmericaWebSocketServer
|
||||
}
|
||||
|
||||
func getCloudSyncServer() string {
|
||||
if 0 == Conf.CloudRegion {
|
||||
return util.ChinaSyncServer
|
||||
}
|
||||
return util.NorthAmericaSyncServer
|
||||
}
|
||||
|
||||
func getCloudAssetsServer() string {
|
||||
if 0 == Conf.CloudRegion {
|
||||
return util.ChinaCloudAssetsServer
|
||||
}
|
||||
return util.NorthAmericaCloudAssetsServer
|
||||
}
|
||||
|
||||
func getCloudAccountServer() string {
|
||||
if 0 == Conf.CloudRegion {
|
||||
return util.ChinaAccountServer
|
||||
}
|
||||
return util.NorthAmericaAccountServer
|
||||
}
|
||||
|
|
@ -79,6 +79,7 @@ type AppConf struct {
|
|||
Repo *conf.Repo `json:"repo"` // 数据仓库
|
||||
OpenHelp bool `json:"openHelp"` // 启动后是否需要打开用户指南
|
||||
ShowChangelog bool `json:"showChangelog"` // 是否显示版本更新日志
|
||||
CloudRegion int `json:"cloudRegion"` // 云端区域,0:中国大陆,1:北美
|
||||
}
|
||||
|
||||
func InitConf() {
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ func Export2Liandi(id string) (err error) {
|
|||
resp, getErr := request.
|
||||
SetSuccessResult(result).
|
||||
SetCookies(&http.Cookie{Name: "symphony", Value: Conf.User.UserToken}).
|
||||
Get(util.LiandiServer + "/api/v2/article/update/" + articleId)
|
||||
Get(util.ChinaAccountServer + "/api/v2/article/update/" + articleId)
|
||||
if nil != getErr {
|
||||
logging.LogErrorf("get liandi article info failed: %s", getErr)
|
||||
return getErr
|
||||
|
|
@ -105,7 +105,7 @@ func Export2Liandi(id string) (err error) {
|
|||
}
|
||||
}
|
||||
|
||||
apiURL := util.LiandiServer + "/api/v2/article"
|
||||
apiURL := util.ChinaAccountServer + "/api/v2/article"
|
||||
if foundArticle {
|
||||
apiURL += "/" + articleId
|
||||
}
|
||||
|
|
@ -159,7 +159,7 @@ func Export2Liandi(id string) (err error) {
|
|||
}
|
||||
}
|
||||
|
||||
msg := fmt.Sprintf(Conf.Language(181), util.LiandiServer+"/article/"+articleId)
|
||||
msg := fmt.Sprintf(Conf.Language(181), util.ChinaAccountServer+"/article/"+articleId)
|
||||
util.PushMsg(msg, 7000)
|
||||
return
|
||||
}
|
||||
|
|
@ -992,7 +992,7 @@ func ExportStdMarkdown(id string) string {
|
|||
|
||||
cloudAssetsBase := ""
|
||||
if IsSubscriber() {
|
||||
cloudAssetsBase = "https://assets.b3logfile.com/siyuan/" + Conf.User.UserId + "/"
|
||||
cloudAssetsBase = util.ChinaCloudAssetsServer + Conf.User.UserId + "/"
|
||||
}
|
||||
return exportMarkdownContent0(tree, cloudAssetsBase, false,
|
||||
Conf.Export.BlockRefMode, Conf.Export.BlockEmbedMode, Conf.Export.FileAnnotationRefMode,
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ func CloudChatGPT(msg string, contextMsgs []string) (ret string, stop bool, err
|
|||
SetSuccessResult(requestResult).
|
||||
SetCookies(&http.Cookie{Name: "symphony", Value: Conf.User.UserToken}).
|
||||
SetBody(payload).
|
||||
Post(util.AliyunServer + "/apis/siyuan/ai/chatGPT")
|
||||
Post(util.ChinaServer + "/apis/siyuan/ai/chatGPT")
|
||||
if nil != err {
|
||||
logging.LogErrorf("chat gpt failed: %s", err)
|
||||
err = ErrFailedToConnectCloudServer
|
||||
|
|
@ -106,7 +106,7 @@ func StartFreeTrial() (err error) {
|
|||
_, err = request.
|
||||
SetSuccessResult(requestResult).
|
||||
SetCookies(&http.Cookie{Name: "symphony", Value: Conf.User.UserToken}).
|
||||
Post(util.AliyunServer + "/apis/siyuan/user/startFreeTrial")
|
||||
Post(util.ChinaServer + "/apis/siyuan/user/startFreeTrial")
|
||||
if nil != err {
|
||||
logging.LogErrorf("start free trial failed: %s", err)
|
||||
return ErrFailedToConnectCloudServer
|
||||
|
|
@ -123,7 +123,7 @@ func DeactivateUser() (err error) {
|
|||
resp, err := request.
|
||||
SetSuccessResult(requestResult).
|
||||
SetCookies(&http.Cookie{Name: "symphony", Value: Conf.User.UserToken}).
|
||||
Post(util.AliyunServer + "/apis/siyuan/user/deactivate")
|
||||
Post(util.ChinaServer + "/apis/siyuan/user/deactivate")
|
||||
if nil != err {
|
||||
logging.LogErrorf("deactivate user failed: %s", err)
|
||||
return ErrFailedToConnectCloudServer
|
||||
|
|
@ -149,7 +149,7 @@ func SetCloudBlockReminder(id, data string, timed int64) (err error) {
|
|||
SetSuccessResult(requestResult).
|
||||
SetBody(payload).
|
||||
SetCookies(&http.Cookie{Name: "symphony", Value: Conf.User.UserToken}).
|
||||
Post(util.AliyunServer + "/apis/siyuan/calendar/setBlockReminder")
|
||||
Post(util.ChinaServer + "/apis/siyuan/calendar/setBlockReminder")
|
||||
if nil != err {
|
||||
logging.LogErrorf("set block reminder failed: %s", err)
|
||||
return ErrFailedToConnectCloudServer
|
||||
|
|
@ -181,7 +181,7 @@ func LoadUploadToken() (err error) {
|
|||
resp, err := request.
|
||||
SetSuccessResult(requestResult).
|
||||
SetCookies(&http.Cookie{Name: "symphony", Value: Conf.User.UserToken}).
|
||||
Post(util.AliyunServer + "/apis/siyuan/upload/token")
|
||||
Post(util.ChinaServer + "/apis/siyuan/upload/token")
|
||||
if nil != err {
|
||||
logging.LogErrorf("get upload token failed: %s", err)
|
||||
return ErrFailedToConnectCloudServer
|
||||
|
|
@ -401,7 +401,7 @@ func RemoveCloudShorthands(ids []string) (err error) {
|
|||
SetSuccessResult(&result).
|
||||
SetCookies(&http.Cookie{Name: "symphony", Value: Conf.User.UserToken}).
|
||||
SetBody(body).
|
||||
Post(util.AliyunServer + "/apis/siyuan/inbox/removeCloudShorthands")
|
||||
Post(util.ChinaServer + "/apis/siyuan/inbox/removeCloudShorthands")
|
||||
if nil != err {
|
||||
logging.LogErrorf("remove cloud shorthands failed: %s", err)
|
||||
err = ErrFailedToConnectCloudServer
|
||||
|
|
@ -428,7 +428,7 @@ func GetCloudShorthand(id string) (ret map[string]interface{}, err error) {
|
|||
resp, err := request.
|
||||
SetSuccessResult(&result).
|
||||
SetCookies(&http.Cookie{Name: "symphony", Value: Conf.User.UserToken}).
|
||||
Post(util.AliyunServer + "/apis/siyuan/inbox/getCloudShorthand?id=" + id)
|
||||
Post(util.ChinaServer + "/apis/siyuan/inbox/getCloudShorthand?id=" + id)
|
||||
if nil != err {
|
||||
logging.LogErrorf("get cloud shorthand failed: %s", err)
|
||||
err = ErrFailedToConnectCloudServer
|
||||
|
|
@ -459,7 +459,7 @@ func GetCloudShorthands(page int) (result map[string]interface{}, err error) {
|
|||
resp, err := request.
|
||||
SetSuccessResult(&result).
|
||||
SetCookies(&http.Cookie{Name: "symphony", Value: Conf.User.UserToken}).
|
||||
Post(util.AliyunServer + "/apis/siyuan/inbox/getCloudShorthands?p=" + strconv.Itoa(page))
|
||||
Post(util.ChinaServer + "/apis/siyuan/inbox/getCloudShorthands?p=" + strconv.Itoa(page))
|
||||
if nil != err {
|
||||
logging.LogErrorf("get cloud shorthands failed: %s", err)
|
||||
err = ErrFailedToConnectCloudServer
|
||||
|
|
@ -496,7 +496,7 @@ func getUser(token string) (*conf.User, error) {
|
|||
_, err := request.
|
||||
SetSuccessResult(&result).
|
||||
SetBody(map[string]string{"token": token}).
|
||||
Post(util.AliyunServer + "/apis/siyuan/user")
|
||||
Post(util.ChinaServer + "/apis/siyuan/user")
|
||||
if nil != err {
|
||||
logging.LogErrorf("get community user failed: %s", err)
|
||||
return nil, errors.New(Conf.Language(18))
|
||||
|
|
@ -530,7 +530,7 @@ func UseActivationcode(code string) (err error) {
|
|||
SetSuccessResult(requestResult).
|
||||
SetBody(map[string]string{"data": code}).
|
||||
SetCookies(&http.Cookie{Name: "symphony", Value: Conf.User.UserToken}).
|
||||
Post(util.AliyunServer + "/apis/siyuan/useActivationcode")
|
||||
Post(util.ChinaServer + "/apis/siyuan/useActivationcode")
|
||||
if nil != err {
|
||||
logging.LogErrorf("check activation code failed: %s", err)
|
||||
return ErrFailedToConnectCloudServer
|
||||
|
|
@ -551,7 +551,7 @@ func CheckActivationcode(code string) (retCode int, msg string) {
|
|||
SetSuccessResult(requestResult).
|
||||
SetBody(map[string]string{"data": code}).
|
||||
SetCookies(&http.Cookie{Name: "symphony", Value: Conf.User.UserToken}).
|
||||
Post(util.AliyunServer + "/apis/siyuan/checkActivationcode")
|
||||
Post(util.ChinaServer + "/apis/siyuan/checkActivationcode")
|
||||
if nil != err {
|
||||
logging.LogErrorf("check activation code failed: %s", err)
|
||||
msg = ErrFailedToConnectCloudServer.Error()
|
||||
|
|
@ -570,7 +570,7 @@ func Login(userName, password, captcha string) (ret *gulu.Result, err error) {
|
|||
_, err = request.
|
||||
SetSuccessResult(&result).
|
||||
SetBody(map[string]string{"userName": userName, "userPassword": password, "captcha": captcha}).
|
||||
Post(util.AliyunServer + "/apis/siyuan/login")
|
||||
Post(util.ChinaServer + "/apis/siyuan/login")
|
||||
if nil != err {
|
||||
logging.LogErrorf("login failed: %s", err)
|
||||
return nil, errors.New(Conf.Language(18))
|
||||
|
|
@ -597,7 +597,7 @@ func Login2fa(token, code string) (map[string]interface{}, error) {
|
|||
SetSuccessResult(&result).
|
||||
SetBody(map[string]string{"twofactorAuthCode": code}).
|
||||
SetHeader("token", token).
|
||||
Post(util.AliyunServer + "/apis/siyuan/login/2fa")
|
||||
Post(util.ChinaServer + "/apis/siyuan/login/2fa")
|
||||
if nil != err {
|
||||
logging.LogErrorf("login 2fa failed: %s", err)
|
||||
return nil, errors.New(Conf.Language(18))
|
||||
|
|
|
|||
|
|
@ -573,7 +573,7 @@ func planSyncAfter(d time.Duration) {
|
|||
}
|
||||
|
||||
func isProviderOnline(byHand bool) (ret bool) {
|
||||
checkURL := util.SiYuanSyncServer
|
||||
checkURL := util.ChinaSyncServer
|
||||
skipTlsVerify := false
|
||||
switch Conf.Sync.Provider {
|
||||
case conf.ProviderSiYuan:
|
||||
|
|
@ -744,7 +744,7 @@ var KernelID = gulu.Rand.String(7)
|
|||
|
||||
func dialSyncWebSocket() (c *websocket.Conn, err error) {
|
||||
//endpoint := "ws://127.0.0.1:64388" + "/apis/siyuan/dejavu/ws"
|
||||
endpoint := util.AliyunWebSocketServer + "/apis/siyuan/dejavu/ws"
|
||||
endpoint := util.ChinaWebSocketServer + "/apis/siyuan/dejavu/ws"
|
||||
header := http.Header{
|
||||
"x-siyuan-uid": []string{Conf.User.UserId},
|
||||
"x-siyuan-kernel": []string{KernelID},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue