|
@@ -9,6 +9,8 @@
|
|
|
import { EditorModule } from "@/modules/editor/module";
|
|
|
import { Controller } from "../core/controller";
|
|
|
import { useCtx } from "../ctx";
|
|
|
+import { queenApi } from "queenjs";
|
|
|
+import { CompImageObj } from "@/modules/editor/components/CompUI/basicUI/Image2";
|
|
|
export class AppMsgQueen5Controller extends Controller {
|
|
|
|
|
|
editorModule?:EditorModule;
|
|
@@ -28,6 +30,14 @@ export class AppMsgQueen5Controller extends Controller {
|
|
|
recvCtrl.emitChange();
|
|
|
}
|
|
|
|
|
|
+ async uploadImage(url:string) {
|
|
|
+
|
|
|
+ const response = await fetch(url)
|
|
|
+ const blob = await response.blob();
|
|
|
+ const file = await this.editor.controls.uploader.uploadFile(blob, "queenshow");
|
|
|
+ return file.url;
|
|
|
+ }
|
|
|
+
|
|
|
//重置状态
|
|
|
ResetEditor() {
|
|
|
const { recvCtrl } = useCtx();
|
|
@@ -35,8 +45,31 @@ export class AppMsgQueen5Controller extends Controller {
|
|
|
recvCtrl.addImageListener("添加图片", async (uri:string)=>{
|
|
|
console.log("添加图片=>", uri);
|
|
|
|
|
|
- alert("收到图片"+uri);
|
|
|
-
|
|
|
+ queenApi.showLoading("添加图片中")
|
|
|
+ const url = await this.uploadImage(uri)
|
|
|
+ await this.editor.actions.addImageToDesign(url);
|
|
|
+ queenApi.hideLoading();
|
|
|
+
|
|
|
+ return true;
|
|
|
+ })
|
|
|
+ recvCtrl.addImageListener("替换当前图片", async (uri:string)=>{
|
|
|
+ console.log("替换当前图片=>", uri);
|
|
|
+
|
|
|
+ if (this.editor.controls.selectCtrl.gizmo.selectedIds.length != 1) {
|
|
|
+ queenApi.messageError("当前没有选中的图片");
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ queenApi.showLoading("图片替换中")
|
|
|
+ const url = await this.uploadImage(uri) as string;
|
|
|
+
|
|
|
+ const comp = this.editor.controls.pageCtrl.currComp as CompImageObj;
|
|
|
+ comp.value.url = url;
|
|
|
+ comp.value.x = 0;
|
|
|
+ comp.value.y = 0;
|
|
|
+ comp.value.s = 1;
|
|
|
+ comp.value.matrix = "";
|
|
|
+ queenApi.hideLoading();
|
|
|
return true;
|
|
|
})
|
|
|
recvCtrl.emitChange();
|