🚧 handle params from POST request

main
huchenlei 2023-05-18 00:21:46 -04:00
parent 15cfaab607
commit 0c0f4155bb
4 changed files with 31 additions and 4 deletions

12
main.d.ts vendored Normal file
View File

@ -0,0 +1,12 @@
export {};
interface DataFromServer {
image_url: string;
pose: string;
}
declare global {
interface Window {
dataFromServer: DataFromServer;
}
}

View File

@ -10,8 +10,8 @@ import modules.scripts as scripts
import modules.script_callbacks as script_callbacks import modules.script_callbacks as script_callbacks
class Item(BaseModel): class Item(BaseModel):
# base64 encoded image. # image url.
image: str image_url: str
# stringified pose JSON. # stringified pose JSON.
pose: str pose: str

View File

@ -14,7 +14,6 @@ Dev TODO List:
- Attach hand/face to correct location when added - Attach hand/face to correct location when added
- bind hand/face to body keypoint so that when certain body keypoint moves, hand/face also moves - bind hand/face to body keypoint so that when certain body keypoint moves, hand/face also moves
- Auto-zoom in/out and lock zoom level when face/hand are selected - Auto-zoom in/out and lock zoom level when face/hand are selected
- Read JSON/background file from POST request params
- post result back to parent frame - post result back to parent frame
- [Optional]: make a extension tab to in WebUI to host the iframe - [Optional]: make a extension tab to in WebUI to host the iframe
*/ */
@ -574,6 +573,22 @@ export default defineComponent({
)); ));
}); });
}, },
loadFromRequestParams() {
const data = window.dataFromServer;
if (_.isEmpty(data)) {
return;
}
let poseJson: IOpenposeJson;
try {
poseJson = JSON.parse(data.pose) as IOpenposeJson;
} catch (ex: any) {
this.$notify({ title: 'Error', desc: ex.message });
return;
}
this.loadPeopleFromJson(poseJson);
this.loadBackgroundImageFromURL(data.image_url);
},
downloadCanvasAsJson() { downloadCanvasAsJson() {
const data = { const data = {
people: [...this.people.values()].map(person => person.toJson()), people: [...this.people.values()].map(person => person.toJson()),

View File

@ -1,6 +1,6 @@
{ {
"extends": "@vue/tsconfig/tsconfig.web.json", "extends": "@vue/tsconfig/tsconfig.web.json",
"include": ["env.d.ts", "src/**/*", "src/**/*.vue"], "include": ["env.d.ts", "main.d.ts", "src/**/*", "src/**/*.vue"],
"exclude": ["src/**/__tests__/*"], "exclude": ["src/**/__tests__/*"],
"compilerOptions": { "compilerOptions": {
"composite": true, "composite": true,