|
@@ -64,7 +64,7 @@ export class PageCtrl extends ModuleControl<EditorModule> {
|
|
const out: any = {
|
|
const out: any = {
|
|
_id: this.designData._id,
|
|
_id: this.designData._id,
|
|
version: this.designData.version,
|
|
version: this.designData.version,
|
|
- categories:this.designData.categories,
|
|
|
|
|
|
+ categories: this.designData.categories,
|
|
title: this.designData.title,
|
|
title: this.designData.title,
|
|
desc: this.designData.desc,
|
|
desc: this.designData.desc,
|
|
pageStyle: this.designData.pageStyle,
|
|
pageStyle: this.designData.pageStyle,
|
|
@@ -103,15 +103,16 @@ export class PageCtrl extends ModuleControl<EditorModule> {
|
|
|
|
|
|
async saveAssetsLocal(comp: DesignComp) {
|
|
async saveAssetsLocal(comp: DesignComp) {
|
|
const { deviceCtrl, prjCtrl } = useCtx();
|
|
const { deviceCtrl, prjCtrl } = useCtx();
|
|
- if (!prjCtrl.isLocalUrl(comp.value.url)) {
|
|
|
|
- const nameIndex = comp.value.url.lastIndexOf("/");
|
|
|
|
- const assetsName = comp.value.url.substring(nameIndex + 1);
|
|
|
|
|
|
+ const assetUrl = comp.value.url;
|
|
|
|
+ if (!prjCtrl.isLocalUrl(assetUrl)) {
|
|
|
|
+ const assetsName = assetUrl.replace(/(.*\/)*((\S|\s)+\.*)(\?.*)?/g, "$2");
|
|
|
|
+ const assetKey = assetsName.replace(/\s/g, "");
|
|
const fpath = `queen5/assets/${assetsName}`;
|
|
const fpath = `queen5/assets/${assetsName}`;
|
|
- if (this.store.filesCacheUrl.get(assetsName)) {
|
|
|
|
|
|
+ if (this.store.filesCacheUrl[assetKey]) {
|
|
comp.value.url = fpath;
|
|
comp.value.url = fpath;
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- this.store.filesCacheUrl.set(assetsName, "start");
|
|
|
|
|
|
+
|
|
deviceCtrl.DownloadFile(
|
|
deviceCtrl.DownloadFile(
|
|
comp.value.url,
|
|
comp.value.url,
|
|
prjCtrl.createPath(fpath),
|
|
prjCtrl.createPath(fpath),
|
|
@@ -119,15 +120,23 @@ export class PageCtrl extends ModuleControl<EditorModule> {
|
|
(status: string, p: any) => {
|
|
(status: string, p: any) => {
|
|
if (status == "succ") {
|
|
if (status == "succ") {
|
|
comp.value.url = fpath;
|
|
comp.value.url = fpath;
|
|
- this.store.filesCacheUrl.set(assetsName, "succ");
|
|
|
|
|
|
+ this.store.filesCacheUrl[assetKey] = assetUrl;
|
|
|
|
+ this.localFilesCacheSave();
|
|
}
|
|
}
|
|
if (status == "error") {
|
|
if (status == "error") {
|
|
- this.store.filesCacheUrl.delete(assetsName);
|
|
|
|
|
|
+ this.store.filesCacheUrl[assetKey] = undefined;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
);
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ async localFilesCacheSave() {
|
|
|
|
+ const { deviceCtrl, prjCtrl } = useCtx();
|
|
|
|
+ await deviceCtrl.WriteFileText(
|
|
|
|
+ `${prjCtrl.RootDir}/queen5/assets.cache.queen5`,
|
|
|
|
+ JSON.stringify(this.store.filesCacheUrl)
|
|
|
|
+ );
|
|
|
|
+ }
|
|
|
|
|
|
setDesignData(data: Partial<DesignTemp>) {
|
|
setDesignData(data: Partial<DesignTemp>) {
|
|
history.enable = false;
|
|
history.enable = false;
|