Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
67f6320c8a
2 changed files with 5 additions and 68 deletions
|
@ -292,41 +292,27 @@ const (
|
|||
|
||||
// uploadAssets2Cloud 将资源文件上传到云端图床。
|
||||
func uploadAssets2Cloud(sqlAssets []*sql.Asset, bizType string) (err error) {
|
||||
syncedAssets := readWorkspaceAssets()
|
||||
var unSyncAssets []string
|
||||
for _, sqlAsset := range sqlAssets {
|
||||
if !gulu.Str.Contains(sqlAsset.Path, syncedAssets) && strings.Contains(sqlAsset.Path, "assets/") {
|
||||
unSyncAssets = append(unSyncAssets, sqlAsset.Path)
|
||||
}
|
||||
}
|
||||
|
||||
if 1 > len(unSyncAssets) {
|
||||
return
|
||||
}
|
||||
|
||||
var uploadAbsAssets []string
|
||||
for _, asset := range unSyncAssets {
|
||||
for _, asset := range sqlAssets {
|
||||
var absPath string
|
||||
absPath, err = GetAssetAbsPath(asset)
|
||||
absPath, err = GetAssetAbsPath(asset.Path)
|
||||
if nil != err {
|
||||
logging.LogWarnf("get asset [%s] abs path failed: %s", asset, err)
|
||||
return
|
||||
}
|
||||
if "" == absPath {
|
||||
logging.LogErrorf("not found asset [%s]", asset)
|
||||
err = errors.New(fmt.Sprintf(Conf.Language(12), asset))
|
||||
return
|
||||
continue
|
||||
}
|
||||
|
||||
uploadAbsAssets = append(uploadAbsAssets, absPath)
|
||||
}
|
||||
|
||||
uploadAbsAssets = gulu.Str.RemoveDuplicatedElem(uploadAbsAssets)
|
||||
if 1 > len(uploadAbsAssets) {
|
||||
return
|
||||
}
|
||||
|
||||
uploadAbsAssets = gulu.Str.RemoveDuplicatedElem(uploadAbsAssets)
|
||||
|
||||
logging.LogInfof("uploading [%d] assets", len(uploadAbsAssets))
|
||||
msgId := util.PushMsg(fmt.Sprintf(Conf.Language(27), len(uploadAbsAssets)), 3000)
|
||||
if loadErr := LoadUploadToken(); nil != loadErr {
|
||||
|
@ -400,61 +386,11 @@ func uploadAssets2Cloud(sqlAssets []*sql.Asset, bizType string) (err error) {
|
|||
util.PushClearMsg(msgId)
|
||||
|
||||
if 0 < len(completedUploadAssets) {
|
||||
syncedAssets = readWorkspaceAssets()
|
||||
logging.LogInfof("uploaded [%d] assets", len(completedUploadAssets))
|
||||
for _, completedSyncAsset := range completedUploadAssets {
|
||||
syncedAssets = append(syncedAssets, completedSyncAsset)
|
||||
}
|
||||
saveWorkspaceAssets(syncedAssets)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func readWorkspaceAssets() (ret []string) {
|
||||
ret = []string{}
|
||||
confDir := filepath.Join(util.DataDir, "assets", ".siyuan")
|
||||
if err := os.MkdirAll(confDir, 0755); nil != err {
|
||||
logging.LogErrorf("create assets conf dir [%s] failed: %s", confDir, err)
|
||||
return
|
||||
}
|
||||
confPath := filepath.Join(confDir, "assets.json")
|
||||
if !gulu.File.IsExist(confPath) {
|
||||
return
|
||||
}
|
||||
|
||||
data, err := os.ReadFile(confPath)
|
||||
if nil != err {
|
||||
logging.LogErrorf("read assets conf failed: %s", err)
|
||||
return
|
||||
}
|
||||
if err = gulu.JSON.UnmarshalJSON(data, &ret); nil != err {
|
||||
logging.LogErrorf("parse assets conf failed: %s, re-init it", err)
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func saveWorkspaceAssets(assets []string) {
|
||||
confDir := filepath.Join(util.DataDir, "assets", ".siyuan")
|
||||
if err := os.MkdirAll(confDir, 0755); nil != err {
|
||||
logging.LogErrorf("create assets conf dir [%s] failed: %s", confDir, err)
|
||||
return
|
||||
}
|
||||
confPath := filepath.Join(confDir, "assets.json")
|
||||
|
||||
assets = gulu.Str.RemoveDuplicatedElem(assets)
|
||||
sort.Strings(assets)
|
||||
data, err := gulu.JSON.MarshalIndentJSON(assets, "", " ")
|
||||
if nil != err {
|
||||
logging.LogErrorf("create assets conf failed: %s", err)
|
||||
return
|
||||
}
|
||||
if err = filelock.WriteFile(confPath, data); nil != err {
|
||||
logging.LogErrorf("write assets conf failed: %s", err)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
func RemoveUnusedAssets() (ret []string) {
|
||||
msgId := util.PushMsg(Conf.Language(100), 30*1000)
|
||||
defer func() {
|
||||
|
|
|
@ -675,6 +675,7 @@ func clearWorkspaceTemp() {
|
|||
os.RemoveAll(filepath.Join(util.TempDir, "import"))
|
||||
os.RemoveAll(filepath.Join(util.TempDir, "repo"))
|
||||
os.RemoveAll(filepath.Join(util.TempDir, "os"))
|
||||
os.RemoveAll(filepath.Join(util.DataDir, "assets", ".siyuan", "assets.json"))
|
||||
|
||||
// 退出时自动删除超过 7 天的安装包 https://github.com/siyuan-note/siyuan/issues/6128
|
||||
install := filepath.Join(util.TempDir, "install")
|
||||
|
|
Loading…
Add table
Reference in a new issue