fmode-ng 0.0.235 → 0.0.237
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/aigc/service-fmai/service-imagine/imagine-func.mjs +1 -1
- package/esm2022/lib/aigc/service-fmai/service-imagine/imagine.service.mjs +1 -1
- package/esm2022/lib/core/parse/fmode.cloud.mjs +1 -1
- package/esm2022/lib/core/parse/fmode.parse.mjs +1 -1
- package/esm2022/lib/core/parse/fmode.schema.mjs +10 -0
- package/esm2022/lib/core/parse/index.mjs +1 -1
- package/esm2022/lib/core/storage/nova-storage.mjs +1 -1
- package/fesm2022/fmode-ng.mjs +1 -1
- package/fesm2022/fmode-ng.mjs.map +1 -1
- package/lib/aigc/service-fmai/service-imagine/imagine-func.d.ts +34 -1
- package/lib/aigc/service-fmai/service-imagine/imagine.service.d.ts +11 -1
- package/lib/core/parse/fmode.cloud.d.ts +1 -0
- package/lib/core/parse/fmode.parse.d.ts +4 -0
- package/lib/core/parse/fmode.schema.d.ts +183 -0
- package/lib/core/parse/index.d.ts +1 -0
- package/lib/core/social/wxwork/wxwork.sdk.d.ts +1 -1
- package/lib/user/comp-user-avatar/comp-user-avatar.component.d.ts +1 -1
- package/package.json +1 -1
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
* 保留所有权利 All Rights Reserved.
|
|
6
6
|
* /home/ryan/workspace/nova/nova-admin/dist/fmode-ng/esm2022/lib/aigc/service-fmai/service-imagine/imagine-func.mjs
|
|
7
7
|
*/
|
|
8
|
-
import{FmodeParse}from"../../../core/parse";const Parse=FmodeParse.with("nova");import{apig}from"../../../nova-cloud/ncloud-api-func";export async function drawDalle(e){e.size=e?.size||"1024x1024",e.style=e?.style||"natural",e.quality=e?.quality||null;let t={model:"dall-e-3",prompt:e.prompt,n:1,quality:e.quality,response_format:"url",size:e.size,style:e.style};if(e.prompt?.length>3e3)throw"prompt maximum < 4000 characters";let r,
|
|
8
|
+
import{FmodeParse}from"../../../core/parse";const Parse=FmodeParse.with("nova");import{apig}from"../../../nova-cloud/ncloud-api-func";export async function drawDalle(e){e.size=e?.size||"1024x1024",e.style=e?.style||"natural",e.quality=e?.quality||null;let t={model:"dall-e-3",prompt:e.prompt,n:1,quality:e.quality,response_format:"url",size:e.size,style:e.style};if(e.prompt?.length>3e3)throw"prompt maximum < 4000 characters";let r,o=await apig("aigc/gpt/v1/images/generations",t);if(console.log(o),o?.id){let e=new Parse.Query("ImagineWork");e.get(o?.id),r=await e.first(),console.log(r)}return r}async function myFetchFun(e,t){let r=Parse.User.current(),o=await fetch(e,{headers:{authorization:`Bearer ${r?.getSessionToken()}`,"Content-Type":"application/json"},mode:"cors",credentials:"omit",method:"POST",body:JSON.stringify(t)});return await o.json()}export async function getJimengImg(e){let t,r,o=await myFetchFun("https://server.fmode.cn/api/volcengine/jimeng/getImg",e);t=o?.data?.workId;let i=new Parse.Query("ImagineWork");return r=await i.get(t),r}export async function getJimengT_v(e){let t,r=await myFetchFun("https://server.fmode.cn/api/volcengine/jimeng/getVideoByText",e);if(console.log("获取的taskId:",r),t=r?.data?.workId,t){let e,r=new Parse.Query("ImagineWork");return e=await r.get(t),e}return r}export async function getJimengI_v(e){let t,r=await myFetchFun("https://server.fmode.cn/api/volcengine/jimeng/getVideoByImg",e);if(console.log("获取的taskId:",r),t=r?.data?.workId,t){let e,r=new Parse.Query("ImagineWork");return e=await r.get(t),e}return r}export async function getJimengV_data(e){let t,r,o=await myFetchFun("https://server.fmode.cn/api/volcengine/jimeng/getDataByTask",e);if(console.log("根据taskId请求出来的结果:",o),o?.error)return o;t=o?.data?.workId;let i=new Parse.Query("ImagineWork");return r=await i.get(t),r}async function fetchFun(e,t){let r=Parse.User.current();if(!r){let e=new Parse.Query("_User");if(e.equalTo("company","Q0DryNYA8g"),r=await e.first(),!r)throw"用户不存在"}try{let o=await fetch(e,{headers:{"Content-Type":"application/json"},mode:"cors",credentials:"omit",method:"POST",body:JSON.stringify({...t,token:`Bearer ${r?.get("sessionToken")}`})});return await o.json()}catch(e){throw e}}export async function getDataByTask(e){let{taskId:t,workId:r,routerName:o}=e;if(!t&&!r)throw"taskId与workId不能同时为空";let i=await fetchFun("https://server.fmode.cn/api/volcengine/jimeng/getDataByTask02",e);return console.log(i),i}export async function getClothesV2(e){let{model:t,upper:r,bottom:o,inference_config:i}=e;if(!t)throw"model不能为空";if(!r&&!o)throw"upper与bottom不能同时为空";if(i){const{num_steps:e,p_bbox_iou_ratio:t,p_bbox_expand_ratio:r,max_process_side_length:o}=i;if("number"==typeof e&&(e<8||e>50))throw"num_steps 范围需在 8-50";if("number"==typeof t&&(t<0||t>1))throw"p_bbox_iou_ratio 范围需在 0-1.0";if("number"==typeof r&&(r<1||r>1.5))throw"p_bbox_expand_ratio 范围需在 1.0-1.5";if("number"==typeof o&&(o<1080||o>4096))throw"max_process_side_length 范围需在 1080-4096"}let a=await fetchFun("https://server.fmode.cn/api/volcengine/jimeng/getClothesV2",e);return console.log(a),a}export async function getImgV4(e){let{image_urls:t,prompt:r,sizeDate:o,scale:i,force_single:a}=e;if(!r)throw"prompt不能为空";if(void 0!==t){if(!Array.isArray(t))throw"image_urls需为数组";if(t.length>10)throw"image_urls长度需在0-10"}if("number"==typeof i&&(i<0||i>1))throw"scale 范围需在 0-1";if(void 0!==o&&o){const e=o,t=e?.size,r=e?.width,i=e?.height,a=e?.min_ratio,n=e?.max_ratio;if("number"==typeof t){if(t<1048576||t>16777216)throw"size 范围需在 1024*1024 到 4096*4096"}if("number"==typeof r&&"number"==typeof i){const e=r*i;if(e<1048576||e>16777216)throw"width*height 范围需在 1024*1024 到 4096*4096";const t=r/i;if("number"==typeof a){if(a<1/16||a>=16)throw"min_ratio 范围需在 [1/16,16)";if(t<a)throw"宽高比需 ≥ min_ratio"}if("number"==typeof n){if(n<1/16||n>=16)throw"max_ratio 范围需在 [1/16,16)";if(t>n)throw"宽高比需 ≤ max_ratio"}if("number"==typeof a&&"number"==typeof n&&a>n)throw"min_ratio 不能大于 max_ratio"}else{if("number"==typeof a&&(a<1/16||a>=16))throw"min_ratio 范围需在 [1/16,16)";if("number"==typeof n&&(n<1/16||n>=16))throw"max_ratio 范围需在 [1/16,16)";if("number"==typeof a&&"number"==typeof n&&a>n)throw"min_ratio 不能大于 max_ratio"}}let n=await fetchFun("https://server.fmode.cn/api/volcengine/jimeng/getImgV4",e);return console.log(n),n}export async function getVideoV3_720p(e){let{prompt:t,frames:r,method:o}=e;if(!t||"string"!=typeof t||""===t.trim())throw"prompt不能为空";if(null==r||""===r)r=121;else if(r=Number(r),Number.isNaN(r))throw"frames 应为数字";if(r<121||r>241)throw"frames 取值范围为[121,241]";const i=String(o);if(!["1","2","3","4"].includes(i))throw"method 取值仅支持 1|2|3|4";const a=e?.config??{};if("object"!=typeof a)throw"config 应为对象";const hasAny=(e,t)=>{for(let r of t){const t=e?.[r];if(null!=t&&""!==t)return!0}return!1};switch(i){case"1":{const e=a?.aspect_ratio;if(void 0!==e&&-1===["16:9","9:16","1:1","4:3","3:4","21:9"].indexOf(e))throw"aspect_ratio 仅支持 '16:9','9:16','1:1','4:3','3:4','21:9'";break}case"2":{const e=a?.image_urls,t=a?.binary_data_base64;if(Array.isArray(e)&&1!==e.length)throw"image_urls 仅支持输入 1 张图片";if(Array.isArray(t)&&1!==t.length)throw"binary_data_base64 仅支持输入 1 张图片";if(!hasAny(a,["image_urls","binary_data_base64"]))throw"首帧图片缺失,请提供 image_urls 或 binary_data_base64";break}case"3":{const e=a?.image_urls,t=a?.binary_data_base64;if(Array.isArray(e)&&2!==e.length)throw"image_urls 需输入 2 张图片";if(Array.isArray(t)&&2!==t.length)throw"binary_data_base64 需输入 2 张图片";if(!hasAny(a,["image_urls","binary_data_base64"]))throw"首尾帧图片缺失,请提供 2 张图片";break}case"4":{const e=a?.image_urls,t=a?.binary_data_base64;if(Array.isArray(e)&&1!==e.length)throw"image_urls 仅支持输入 1 张图片";if(Array.isArray(t)&&1!==t.length)throw"binary_data_base64 仅支持输入 1 张图片";if(!hasAny(a,["image_urls","binary_data_base64"]))throw"首帧图片缺失,请提供 image_urls 或 binary_data_base64";const r=["hitchcock_dolly_in","hitchcock_dolly_out","robo_arm","dynamic_orbit","central_orbit","crane_push","quick_pull_back","counterclockwise_swivel","clockwise_swivel","handheld","rapid_push_pull"];if(!a?.template_id||-1===r.indexOf(a.template_id))throw"template_id 缺失或不合法";const o=["weak","medium","strong"];if(!a?.camera_strength||-1===o.indexOf(a.camera_strength))throw"camera_strength 缺失或不合法";break}}const n=await fetchFun("https://server.fmode.cn/api/volcengine/jimeng/getVideoV3_720p",{prompt:t,frames:r,method:i,config:a});return console.log(n),n}export async function getVideoV3_1080p(e){let{prompt:t,frames:r,method:o}=e;if(!t||"string"!=typeof t||""===t.trim())throw"prompt不能为空";if(null==r||""===r)r=121;else if(r=Number(r),Number.isNaN(r))throw"frames 应为数字";if(r<121||r>241)throw"frames 取值范围为[121,241]";const i=String(o);if(!["1","2","3"].includes(i))throw"method 取值仅支持 1|2|3";const a=e?.config??{};if("object"!=typeof a)throw"config 应为对象";const hasAny=(e,t)=>{for(let r of t){const t=e?.[r];if(null!=t&&""!==t)return!0}return!1};switch(i){case"1":{const e=a?.aspect_ratio;if(void 0!==e&&-1===["16:9","9:16","1:1","4:3","3:4","21:9"].indexOf(e))throw"aspect_ratio 仅支持 '16:9','9:16','1:1','4:3','3:4','21:9'";break}case"2":{const e=a?.image_urls,t=a?.binary_data_base64;if(Array.isArray(e)&&1!==e.length)throw"image_urls 仅支持输入 1 张图片";if(Array.isArray(t)&&1!==t.length)throw"binary_data_base64 仅支持输入 1 张图片";if(!hasAny(a,["image_urls","binary_data_base64"]))throw"首帧图片缺失,请提供 image_urls 或 binary_data_base64";break}case"3":{const e=a?.image_urls,t=a?.binary_data_base64;if(Array.isArray(e)&&2!==e.length)throw"image_urls 需输入 2 张图片";if(Array.isArray(t)&&2!==t.length)throw"binary_data_base64 需输入 2 张图片";if(!hasAny(a,["image_urls","binary_data_base64"]))throw"首尾帧图片缺失,请提供 2 张图片";break}}const n=await fetchFun("https://server.fmode.cn/api/volcengine/jimeng/getVideoV3_1080p",{prompt:t,frames:r,method:i,config:a});return console.log(n),n}export async function getActor(e){const{video_url:t,image_url:r}=e;if(!t||"string"!=typeof t||""===t.trim())throw"video_url不能为空";if(!r||"string"!=typeof r||""===r.trim())throw"image_url不能为空";const o=await this.myFetchFun("https://server.fmode.cn/api/volcengine/jimeng/getActor",{video_url:t.trim(),image_url:r.trim()});return console.log(o),o}export async function getOhIdentifyMain(e){const{image_url:t}=e;if(!t||"string"!=typeof t||""===t.trim())throw"image_url不能为空";const r=await this.myFetchFun("https://server.fmode.cn/api/volcengine/jimeng/getOhIdentifyMain",{image_url:t.trim()});return console.log(r),r}export async function getOhDetectMain(e){const{workId:t}=e;if(!t||"string"!=typeof t||""===t.trim())throw"workId不能为空";const r=await this.myFetchFun("https://server.fmode.cn/api/volcengine/jimeng/getOhDetectMain",{workId:t.trim()});return console.log(r),r}export async function getOmniHuman(e){const{workId:t,audio_url:r,prompt:o,pe_fast_mode:i,mask_url:a}=e;if(!t||"string"!=typeof t||""===t.trim())throw"workId不能为空";const n={workId:t.trim()};"string"==typeof r&&""!==r.trim()&&(n.audio_url=r.trim()),"string"==typeof o&&""!==o.trim()&&(n.prompt=o.trim()),"boolean"==typeof i&&(n.pe_fast_mode=i),Array.isArray(a)&&(n.mask_url=a);const s=await this.myFetchFun("https://server.fmode.cn/api/volcengine/jimeng/getOmniHuman",n);return console.log(s),s}export async function getOhDateByTask(e){const{workId:t,routerName:r,logo_info:o}=e;if(!t||"string"!=typeof t||""===t.trim())throw"workId不能为空";const i={workId:t.trim()};"string"==typeof r&&""!==r.trim()&&(i.routerName=r.trim()),o&&(i.logo_info=o);const a=await this.myFetchFun("https://server.fmode.cn/api/volcengine/jimeng/getOhDateByTask",i);return console.log(a),a}
|
|
9
9
|
var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi9haWdjL3NlcnZpY2UtZm1haS9zZXJ2aWNlLWltYWdpbmUvaW1hZ2luZS1mdW5jLm1qcw==`
|
|
10
10
|
|
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
* 保留所有权利 All Rights Reserved.
|
|
6
6
|
* /home/ryan/workspace/nova/nova-admin/dist/fmode-ng/esm2022/lib/aigc/service-fmai/service-imagine/imagine.service.mjs
|
|
7
7
|
*/
|
|
8
|
-
import{HttpClient}from"@angular/common/http";import{Injectable}from"@angular/core";import{NovaCloudService}from"../../../nova-cloud/nova-cloud.service";import{FmodeParse}from"../../../core/parse";import{NovaUploadService}from"../../../storage/service-upload/nova-upload.service";import{drawDalle,getJimengImg,getJimengT_v,getJimengV_data,getJimengI_v,getDataByTask,getClothesV2,getImgV4,getVideoV3_720p,getVideoV3_1080p}from"./imagine-func";import{ToastController}from"@ionic/angular";import*as i0 from"@angular/core";import*as i1 from"@angular/common/http";import*as i2 from"../../../nova-cloud/nova-cloud.service";import*as i3 from"../../../storage/service-upload/nova-upload.service";import*as i4 from"@ionic/angular";const Parse=FmodeParse.with("nova");export class ImagineService{constructor(e,t,i,
|
|
8
|
+
import{HttpClient}from"@angular/common/http";import{Injectable}from"@angular/core";import{NovaCloudService}from"../../../nova-cloud/nova-cloud.service";import{FmodeParse}from"../../../core/parse";import{NovaUploadService}from"../../../storage/service-upload/nova-upload.service";import{drawDalle,getJimengImg,getJimengT_v,getJimengV_data,getJimengI_v,getDataByTask,getClothesV2,getImgV4,getVideoV3_720p,getVideoV3_1080p,getActor,getOhIdentifyMain,getOhDetectMain,getOmniHuman,getOhDateByTask}from"./imagine-func";import{ToastController}from"@ionic/angular";import*as i0 from"@angular/core";import*as i1 from"@angular/common/http";import*as i2 from"../../../nova-cloud/nova-cloud.service";import*as i3 from"../../../storage/service-upload/nova-upload.service";import*as i4 from"@ionic/angular";const Parse=FmodeParse.with("nova");export class ImagineService{constructor(e,t,i,a){this.http=e,this.ncloud=t,this.uploadServ=i,this.toastCtrl=a,this.taskDetailMap={},this.newWorkList=[],this.myWorkList=[]}async drawDalle(e){let t=await drawDalle(e);return t?.id&&this.newWorkList.unshift(t),t}priceDalle(e){let t=[{model:"dall-e-3",quality:null,size:"1024x1024",credit:6.4},{model:"dall-e-3",quality:null,size:"1024x1792",credit:12.8},{model:"dall-e-3",quality:null,size:"1792x1024",credit:12.8},{model:"dall-e-3",quality:"hd",size:"1024x1024",credit:12.8},{model:"dall-e-3",quality:"hd",size:"1024x1792",credit:19.2},{model:"dall-e-3",quality:"hd",size:"1792x1024",credit:19.2},{model:"dall-e-2",quality:null,size:"1024x1024",credit:3.2},{model:"dall-e-2",quality:null,size:"512x512",credit:2.88},{model:"dall-e-2",quality:null,size:"256x256",credit:2.56}].find((t=>t.model==e.model&&t.quality==e.quality&&t.size==e.size));return t?.credit||19.2}priceStableDiffusion(e){let t=e.width*e.height,i=763e-9*t*e.steps+2278e-8*t*(e?.upscale||0)+(e?.hrSteps||0)*t*(e?.hrScale||0)*(e?.hrScale||0)*763e-9+(e?.faceFix?2:0)+(e?.imgOptions?.removeBackground?2:0)+(e?.imgOptions?.redrawBackground?2:0)+(e?.imgOptions?.facePreservation?2:0)+(e?.imgOptions?.genderDetect?1:0)+2*(e?.controlnet?.units?.length||0);return i=.3*i*e.batchSize,i}b64DataToBase64Image(e){let t=atob(e),i=new Blob([t],{type:"image/webp"});new Promise((e=>{let t=new FileReader;t.onloadend=function(){let i=t.result;console.log(i),e(i)},t.readAsDataURL(i)}))}async draw(e){let t=await this.ncloud.apig("aigc/sdapi/v1/draw",e),i=t?.paintingSign;return i&&setTimeout((async()=>{let e=new Parse.Query("ImagineWork");e.equalTo("taskId",i);let t=await e.first();console.log(t),t?.id&&this.newWorkList.unshift(t)}),1e3),t}async taskDetail(e){let t=await this.ncloud.apig("aigc/sdapi/v1/task/detail",{taskId:e});return console.log(t),this.taskDetailMap[e]=t,t}getMyWorkQuery(){let e=Parse.User.current();if(!e?.id)return;let t=this.getWorkQuery();return t.include("model","module","user"),t.equalTo("user",e.toPointer()),t}getWorkQuery(){new Date((new Date).getTime()-6e4);let e=Parse.Query.fromJSON("ImagineWork",{where:{}});return e.include("model","module","user"),e.notEqualTo("isDeleted",!0),e.notEqualTo("isFailed",!0),e.doesNotExist("respData.error"),e.doesNotExist("respData.data.taskLimitCount"),e.addDescending("createdAt"),e}getimg(){return new Promise(((e,t)=>{let i=document.createElement("input");i.type="file",i.click();let handleChange=async()=>{if(i.removeEventListener("change",handleChange),i.files&&i.files.length>0){let t=i.files[0],a=await this.uploadServ.upload(t,(e=>{console.log(e),e.total.percent.toFixed(2)}));e(a.url)}else t("未选择文件")};i.addEventListener("change",handleChange)}))}async getJimengImg(e){let t=new Parse.Object("ImagineWork");t.set("__pending",!0),t.set("__id",Symbol()),t.set("images",[""]),this.newWorkList.unshift(t);try{let i=await getJimengImg(e),a=this.newWorkList?.findIndex((e=>e?.get("__id")===t?.get("__id")));if(-1==a)return;if(!i?.id)return void this.newWorkList.splice(a,1);this.newWorkList.splice(a,1,i)}catch(e){let i=this.newWorkList?.findIndex((e=>e?.get("__id")===t?.get("__id")));if(-1==i)return;this.newWorkList.splice(i,1)}}async getJimengVideo(e,t){let i=new Parse.Object("ImagineWork");i.set("__pending",!0),i.set("__id",Symbol()),i.set("provider","volcengine"),i.set("taskId","1"),this.newWorkList.unshift(i);try{let a;a="i_v"==t?await getJimengI_v(e):await getJimengT_v(e);let r=this.newWorkList?.findIndex((e=>e?.get("__id")===i?.get("__id")));if(-1==r)return;if(!a?.id)return this.newWorkList.splice(r,1),void this.setToast("创建有误,请稍后再试");this.newWorkList.splice(r,1,a)}catch(e){let t=this.newWorkList?.findIndex((e=>e?.get("__id")===i?.get("__id")));if(-1==t)return;this.newWorkList.splice(t,1)}}async getJimengVideoData(e,t){try{let i=await getJimengV_data({video_by:e,workId:t});if(console.log("请求结果",i),i?.error)return void this.setToast(i?.error?.message||i?.error?.msg||i?.err?.message||i?.err?.msg||"请求错误");if(1!==i?.get("progress")||i?.get("videos")?.length<=0)return;let a=this.newWorkList?.findIndex((e=>e?.id===t));if(-1==a)return;return i?.id?(this.newWorkList.splice(a,1,i),i):void this.newWorkList.splice(a,1)}catch(e){let i=this.newWorkList?.findIndex((e=>e?.id===t));if(-1==i)return;this.newWorkList.splice(i,1)}}async setToast(e){(await this.toastCtrl.create({duration:1e3,message:e||"请求错误",color:"primary",icon:"information-circle",position:"top"})).present()}async getDataByTask(e){try{return await getDataByTask(e)}catch(e){this.setToast(e?.message||e)}}async getClothesV2(e){try{return await getClothesV2(e)}catch(e){this.setToast(e?.message||e)}}async getImgV4(e){try{return await getImgV4(e)}catch(e){this.setToast(e?.message||e)}}async getVideoV3_720p(e){try{return await getVideoV3_720p(e)}catch(e){this.setToast(e?.message||e)}}async getVideoV3_1080p(e){try{return await getVideoV3_1080p(e)}catch(e){this.setToast(e?.message||e)}}async getActor(e){try{return await getActor(e)}catch(e){this.setToast(e?.message||e)}}async getOhIdentifyMain(e){try{return await getOhIdentifyMain(e)}catch(e){this.setToast(e?.message||e)}}async getOhDetectMain(e){try{return await getOhDetectMain(e)}catch(e){this.setToast(e?.message||e)}}async getOmniHuman(e){try{return await getOmniHuman(e)}catch(e){this.setToast(e?.message||e)}}async getOhDateByTask(e){try{return await getOhDateByTask(e)}catch(e){this.setToast(e?.message||e)}}static{this.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:ImagineService,deps:[{token:i1.HttpClient},{token:i2.NovaCloudService},{token:i3.NovaUploadService},{token:i4.ToastController}],target:i0.ɵɵFactoryTarget.Injectable})}static{this.ɵprov=i0.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:ImagineService,providedIn:"root"})}}i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:ImagineService,decorators:[{type:Injectable,args:[{providedIn:"root"}]}],ctorParameters:()=>[{type:i1.HttpClient},{type:i2.NovaCloudService},{type:i3.NovaUploadService},{type:i4.ToastController}]});
|
|
9
9
|
var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi9haWdjL3NlcnZpY2UtZm1haS9zZXJ2aWNlLWltYWdpbmUvaW1hZ2luZS5zZXJ2aWNlLm1qcw==`
|
|
10
10
|
|
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
* 保留所有权利 All Rights Reserved.
|
|
6
6
|
* /home/ryan/workspace/nova/nova-admin/dist/fmode-ng/esm2022/lib/core/parse/fmode.cloud.mjs
|
|
7
7
|
*/
|
|
8
|
-
export class FmodeCloud{static{this._singletonInstance=null}constructor(){this._cloudFunctions=new Map}static getInstance(){return this._singletonInstance||(this._singletonInstance=new FmodeCloud),this._singletonInstance}static{this._instance=null}static bindInstance(e){this._instance=e}get currentConfig(){const e=FmodeCloud._instance;if(!e)throw new Error("FmodeCloud not initialized. Call FmodeParse.initialize() first.");return e.config}static get instance(){return this._instance}define(e,t){this._cloudFunctions.set(e,t)}async run(e,t={},n={}){const
|
|
8
|
+
export class FmodeCloud{static{this._singletonInstance=null}constructor(){this._cloudFunctions=new Map}static getInstance(){return this._singletonInstance||(this._singletonInstance=new FmodeCloud),this._singletonInstance}static{this._instance=null}static bindInstance(e){this._instance=e}get currentConfig(){const e=FmodeCloud._instance;if(!e)throw new Error("FmodeCloud not initialized. Call FmodeParse.initialize() first.");return e.config}static get instance(){return this._instance}define(e,t){this._cloudFunctions.set(e,t)}async run(e,t={},n={}){const o=this.currentConfig,s=`${o.serverURL}/functions/${e}`,r={...t,_ApplicationId:o.appId,_InstallationId:n.installationId||this.generateInstallationId()},a=o.sessionToken;a&&(r._SessionToken=a);try{console.log(s);const e=await fetch(s,{method:"POST",headers:{"Content-Type":"application/json","X-Parse-Application-Id":o.appId,...o.javascriptKey&&{"X-Parse-JavaScript-Key":o.javascriptKey},...o.masterKey&&{"X-Parse-Master-Key":o.masterKey},...a&&{"X-Parse-Session-Token":a}},body:JSON.stringify(r)});if(!e.ok)throw new Error(`HTTP error! status: ${e.status}`);const t=await e.json();if(t.error)throw new Error(t.error.message||"Cloud function error");return t.result}catch(t){throw console.error(`Cloud function ${e} failed:`,t),t}}async function(e={},t={}){const n=this.currentConfig,o=`${n.serverURL}/../api/functions`,s={...e,_ApplicationId:n.appId,_InstallationId:t.installationId||this.generateInstallationId()},r=n.sessionToken;r&&(s._SessionToken=r);try{console.log(o);const e=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json","X-Parse-Application-Id":n.appId,...n.javascriptKey&&{"X-Parse-JavaScript-Key":n.javascriptKey},...n.masterKey&&{"X-Parse-Master-Key":n.masterKey},...r&&{"X-Parse-Session-Token":r}},body:JSON.stringify(s)});if(!e.ok)throw new Error(`HTTP error! status: ${e.status}`);const t=await e.json();if(t.error)throw new Error(t.error.message||"Cloud function error");return t}catch(e){throw console.error("Cloud function failed:",e),e}}async afterDelete(e,t){this.define(`afterDelete_${e}`,t)}async afterSave(e,t){this.define(`afterSave_${e}`,t)}async beforeDelete(e,t){this.define(`beforeDelete_${e}`,t)}async beforeSave(e,t){this.define(`beforeSave_${e}`,t)}async beforeFind(e,t){this.define(`beforeFind_${e}`,t)}async afterFind(e,t){this.define(`afterFind_${e}`,t)}async job(e,t){this.define(`job_${e}`,t)}generateInstallationId(){return"undefined"!=typeof crypto&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){const t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}))}}export const Cloud=FmodeCloud.getInstance();export default Cloud;
|
|
9
9
|
var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi9jb3JlL3BhcnNlL2Ztb2RlLmNsb3VkLm1qcw==`
|
|
10
10
|
|
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
* 保留所有权利 All Rights Reserved.
|
|
6
6
|
* /home/ryan/workspace/nova/nova-admin/dist/fmode-ng/esm2022/lib/core/parse/fmode.parse.mjs
|
|
7
7
|
*/
|
|
8
|
-
import{FmodeACL}from"./datatype/acl";import{FmodeFile}from"./datatype/file";import{FmodeGeoPoint}from"./datatype/geopoint";import{FmodeRelation}from"./datatype/relation";import{FmodeObject}from"./fmode.object";import{FmodeQuery}from"./fmode.query";import{FmodeUser}from"./fmode.user";import{FmodeCloud}from"./fmode.cloud";class FmodeParse{static{this._instances={}}static{this._defaultInstance=null}constructor(e){this.config=e,this.Object=this.createObjectFactory(),this.Query=this.createQueryFactory(),this.User=this.createUserFactory(),this.GeoPoint=FmodeGeoPoint,this.File=FmodeFile,this.ACL=FmodeACL,this.Relation=FmodeRelation,this.Cloud=this.createCloudFactory(),FmodeObject._instance||FmodeObject.bindInstance(this),FmodeQuery._instance||FmodeQuery.bindInstance(this),FmodeUser._instance||FmodeUser.bindInstance(this),FmodeGeoPoint._instance||FmodeGeoPoint.bindInstance(this),FmodeRelation._instance||FmodeRelation.bindInstance(this),FmodeFile._instance||FmodeFile.bindInstance(this),FmodeACL._instance||FmodeACL.bindInstance(this)}createObjectFactory(){const e=this;return class Object extends FmodeObject{constructor(t){super(t),this._parseInstance=e}static extend(e){const t=class extends Object{constructor(){super(e)}};return t.extend=Object.extend,t.create=Object.create,t.fetchAll=Object.fetchAll,t.fromFile=Object.fromFile,t}static async create(e,t,s){const n=new this(e);return n.set(t),n.save(s)}static async fetchAll(t,s){if(!e)throw new Error("Not initialized");if(0===t.length)return[];const n={"Content-Type":"application/json","X-Parse-Application-Id":e.appId};if(s?.useMasterKey&&e.config.masterKey)n["X-Parse-Master-Key"]=e.config.masterKey;else{const t=e.sessionToken;t&&(n["X-Parse-Session-Token"]=t)}const r=`${e.serverURL}/batch`,o=t.map((e=>({method:"GET",path:`/classes/${e.className}/${e.id}`}))),i=await fetch(r,{method:"POST",headers:n,body:JSON.stringify({requests:o})}),a=await i.json();if(a.error)throw new Error(a.error);return a.map(((e,s)=>{const n=t[s];return n.set(e.success),n}))}static async fromFile(t,s,n){if(!e)throw new Error("Not initialized");const r=new FormData;r.append("file",s,t);const o={"X-Parse-Application-Id":e.appId},i=e.sessionToken;i&&(o["X-Parse-Session-Token"]=i);const a=`${e.serverURL}/files/${t}`,c=await fetch(a,{method:"POST",headers:o,body:r}),d=await c.json();if(d.error)throw new Error(d.error);return{__type:"File",name:d.name,url:d.url}}}}createQueryFactory(){const e=this;return class Query extends FmodeQuery{constructor(t){super(t),this._parseInstance=e}static get instance(){return e}static bindInstance(e){}}}createUserFactory(){const e=this;return class User extends FmodeUser{constructor(t){super(t),this._parseInstance=e}static get instance(){return e}static{this.instanceKey=()=>"Parse/"+e.appId+"/currentUser"}static bindInstance(e){}static async logIn(t,s){const n=`${e.serverURL}/login`,r=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json","X-Parse-Application-Id":e.appId},body:JSON.stringify({username:t,password:s})}),o=await r.json();if(o.error)throw o;const i=new this({...o,username:t,password:s});return i._saveToCache(),i}static async become(t){const s=`${e.serverURL}/users/me`;let n={"X-Parse-Session-Token":t,"X-Parse-Application-Id":e.appId};const r=await fetch(s,{headers:n}),o=await r.json();if(o.error)throw o.error;const i=new this({...o,sessionToken:t});return i._saveToCache(),i}static async signUp(e,t,s={}){return new this({...s,username:e,password:t}).signUp()}static async logOut(){if(this.current())try{await fetch(`${e.serverURL}/logout`,{method:"POST",headers:{"X-Parse-Session-Token":this.current().sessionToken,"X-Parse-Application-Id":e.appId}})}finally{this._clearCurrentUser()}}static async requestPasswordReset(t){const s=`${e.serverURL}/requestPasswordReset`,n=await fetch(s,{method:"POST",headers:{"Content-Type":"application/json","X-Parse-Application-Id":e.appId},body:JSON.stringify({email:t})}),r=await n.json();if(r.error)throw r}static{this._currentUser=null}static current(){if(this._currentUser)return this._currentUser;try{const t=localStorage.getItem(this.instanceKey());if(!t)return null;const s=JSON.parse(t);if(!s.sessionToken)return null;const n=new this(s);return this._currentUser=n,n.sessionToken&&e&&(e.sessionToken=n.sessionToken),n}catch(e){return console.warn("Failed to restore user from cache",e),null}}static _clearCurrentUser(){this._currentUser=null,e&&(e.sessionToken=void 0),localStorage.removeItem(this.instanceKey())}_saveToCache(){if(!this.sessionToken)return;this.constructor._currentUser=this;const e=this._parseInstance||this.constructor.instance;e&&(e.sessionToken=this.sessionToken),localStorage.setItem(this.constructor.instanceKey(),JSON.stringify(this.toJSONForCache()))}}}createCloudFactory(){const e=this;return new class Cloud extends FmodeCloud{constructor(){super(),this._parseInstance=e}get currentConfig(){return e.config}static get instance(){return e}static bindInstance(e){}}}static initialize(e){let t;if("string"==typeof e){let s="http://dev.fmode.cn:1337/parse";"undefined"!=typeof location&&"https:"===location.protocol&&(s="https://dev.fmode.cn/parse"),t=new FmodeParse({appId:e,serverURL:s}),this._defaultInstance=t,this._instances.default=t}else t=new FmodeParse(e),e.config&&(this._instances[e.config]=t),e.config&&"default"!==e.config||(this._defaultInstance=t);return t}static with(e){if(!this._instances.nova){let e=new FmodeParse({appId:"ncloudmaster",serverURL:"https://server.fmode.cn/parse"});this._instances.nova=e}if(!this._instances.dev){let e=new FmodeParse({appId:"dev",serverURL:"https://dev.fmode.cn/parse"});this._instances.dev=e}"dev"!=e||this._defaultInstance||(this._defaultInstance=this._instances.dev),"default"!=e||this._instances.default||(this._instances.default=this._instances.dev,this._defaultInstance=this._instances.dev);const t=this._instances[e]||this._defaultInstance;return FmodeObject.bindInstance(t),FmodeQuery.bindInstance(t),FmodeUser.bindInstance(t),FmodeFile.bindInstance(t),FmodeACL.bindInstance(t),FmodeGeoPoint.bindInstance(t),FmodeRelation.bindInstance(t),t}static getAllInstances(){return{...this._instances}}static getInstanceConfigs(){const e={};return Object.entries(this._instances).forEach((([t,s])=>{e[t]=s.config})),e}get serverURL(){return this.config.serverURL}set serverURL(e){this.config.serverURL=e}get appId(){return this.config.appId}get sessionToken(){if(this.config.sessionToken)return this.config.sessionToken;const e=this.User.current();return e?.sessionToken}set sessionToken(e){this.config.sessionToken=e}}!function(e){e.Object=FmodeObject,e.Query=FmodeQuery,e.User=FmodeUser,e.File=FmodeFile,e.Relation=FmodeRelation,e.ACL=FmodeACL,e.GeoPoint=FmodeGeoPoint,e.Cloud=FmodeCloud.getInstance()}(FmodeParse||(FmodeParse={}));const defaultExport=new Proxy(FmodeParse,{apply:(e,t,s)=>FmodeParse.initialize.apply(e,s),get:(e,t)=>t in e?e[t]:t in FmodeParse?FmodeParse[t]:FmodeParse.with("default")[t]});export{FmodeParse as default,defaultExport as FmodeParse};
|
|
8
|
+
import{FmodeACL}from"./datatype/acl";import{FmodeFile}from"./datatype/file";import{FmodeGeoPoint}from"./datatype/geopoint";import{FmodeRelation}from"./datatype/relation";import{FmodeObject}from"./fmode.object";import{FmodeQuery}from"./fmode.query";import{FmodeUser}from"./fmode.user";import{FmodeCloud}from"./fmode.cloud";import{FmodeSchema}from"./fmode.schema";class FmodeParse{static{this._instances={}}static{this._defaultInstance=null}constructor(e){this.config=e,this.Object=this.createObjectFactory(),this.Query=this.createQueryFactory(),this.User=this.createUserFactory(),this.GeoPoint=FmodeGeoPoint,this.File=FmodeFile,this.ACL=FmodeACL,this.Relation=FmodeRelation,this.Cloud=this.createCloudFactory(),this.Schema=this.createSchemaFactory(),FmodeObject._instance||FmodeObject.bindInstance(this),FmodeQuery._instance||FmodeQuery.bindInstance(this),FmodeUser._instance||FmodeUser.bindInstance(this),FmodeGeoPoint._instance||FmodeGeoPoint.bindInstance(this),FmodeRelation._instance||FmodeRelation.bindInstance(this),FmodeFile._instance||FmodeFile.bindInstance(this),FmodeACL._instance||FmodeACL.bindInstance(this),FmodeSchema._instance||FmodeSchema.bindInstance(this)}createObjectFactory(){const e=this;return class Object extends FmodeObject{constructor(t){super(t),this._parseInstance=e}static extend(e){const t=class extends Object{constructor(){super(e)}};return t.extend=Object.extend,t.create=Object.create,t.fetchAll=Object.fetchAll,t.fromFile=Object.fromFile,t}static async create(e,t,s){const n=new this(e);return n.set(t),n.save(s)}static async fetchAll(t,s){if(!e)throw new Error("Not initialized");if(0===t.length)return[];const n={"Content-Type":"application/json","X-Parse-Application-Id":e.appId};if(s?.useMasterKey&&e.config.masterKey)n["X-Parse-Master-Key"]=e.config.masterKey;else{const t=e.sessionToken;t&&(n["X-Parse-Session-Token"]=t)}const r=`${e.serverURL}/batch`,o=t.map((e=>({method:"GET",path:`/classes/${e.className}/${e.id}`}))),i=await fetch(r,{method:"POST",headers:n,body:JSON.stringify({requests:o})}),a=await i.json();if(a.error)throw new Error(a.error);return a.map(((e,s)=>{const n=t[s];return n.set(e.success),n}))}static async fromFile(t,s,n){if(!e)throw new Error("Not initialized");const r=new FormData;r.append("file",s,t);const o={"X-Parse-Application-Id":e.appId},i=e.sessionToken;i&&(o["X-Parse-Session-Token"]=i);const a=`${e.serverURL}/files/${t}`,c=await fetch(a,{method:"POST",headers:o,body:r}),d=await c.json();if(d.error)throw new Error(d.error);return{__type:"File",name:d.name,url:d.url}}}}createQueryFactory(){const e=this;return class Query extends FmodeQuery{constructor(t){super(t),this._parseInstance=e}static get instance(){return e}static bindInstance(e){}}}createUserFactory(){const e=this;return class User extends FmodeUser{constructor(t){super(t),this._parseInstance=e}static get instance(){return e}static{this.instanceKey=()=>"Parse/"+e.appId+"/currentUser"}static bindInstance(e){}static async logIn(t,s){const n=`${e.serverURL}/login`,r=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json","X-Parse-Application-Id":e.appId},body:JSON.stringify({username:t,password:s})}),o=await r.json();if(o.error)throw o;const i=new this({...o,username:t,password:s});return i._saveToCache(),i}static async become(t){const s=`${e.serverURL}/users/me`;let n={"X-Parse-Session-Token":t,"X-Parse-Application-Id":e.appId};const r=await fetch(s,{headers:n}),o=await r.json();if(o.error)throw o.error;const i=new this({...o,sessionToken:t});return i._saveToCache(),i}static async signUp(e,t,s={}){return new this({...s,username:e,password:t}).signUp()}static async logOut(){if(this.current())try{await fetch(`${e.serverURL}/logout`,{method:"POST",headers:{"X-Parse-Session-Token":this.current().sessionToken,"X-Parse-Application-Id":e.appId}})}finally{this._clearCurrentUser()}}static async requestPasswordReset(t){const s=`${e.serverURL}/requestPasswordReset`,n=await fetch(s,{method:"POST",headers:{"Content-Type":"application/json","X-Parse-Application-Id":e.appId},body:JSON.stringify({email:t})}),r=await n.json();if(r.error)throw r}static{this._currentUser=null}static current(){if(this._currentUser)return this._currentUser;try{const t=localStorage.getItem(this.instanceKey());if(!t)return null;const s=JSON.parse(t);if(!s.sessionToken)return null;const n=new this(s);return this._currentUser=n,n.sessionToken&&e&&(e.sessionToken=n.sessionToken),n}catch(e){return console.warn("Failed to restore user from cache",e),null}}static _clearCurrentUser(){this._currentUser=null,e&&(e.sessionToken=void 0),localStorage.removeItem(this.instanceKey())}_saveToCache(){if(!this.sessionToken)return;this.constructor._currentUser=this;const e=this._parseInstance||this.constructor.instance;e&&(e.sessionToken=this.sessionToken),localStorage.setItem(this.constructor.instanceKey(),JSON.stringify(this.toJSONForCache()))}}}createCloudFactory(){const e=this;return new class Cloud extends FmodeCloud{constructor(){super(),this._parseInstance=e}get currentConfig(){return e.config}static get instance(){return e}static bindInstance(e){}}}createSchemaFactory(){const e=this;return class Schema extends FmodeSchema{constructor(t){super(t),this._parseInstance=e}static get instance(){return e}static bindInstance(e){}static async get(t,s){if(!e)throw new Error("Not initialized");const n=`${e.serverURL}/schemas/${t}`,r={"X-Parse-Application-Id":e.appId};if(s?.useMasterKey&&e.config.masterKey)r["X-Parse-Master-Key"]=e.config.masterKey;else{const t=e.sessionToken;t&&(r["X-Parse-Session-Token"]=t)}const o=await fetch(n,{method:"GET",headers:r}),i=await o.json();if(i.error)throw new Error(i.error);const a=new this(t);return i.fields&&(a._fields=i.fields),i.indexes&&(a._indexes=i.indexes),i.classLevelPermissions&&(a._clp=i.classLevelPermissions),a}static async all(t){if(!e)throw new Error("Not initialized");const s=`${e.serverURL}/schemas`,n={"X-Parse-Application-Id":e.appId};if(t?.useMasterKey&&e.config.masterKey)n["X-Parse-Master-Key"]=e.config.masterKey;else{const t=e.sessionToken;t&&(n["X-Parse-Session-Token"]=t)}const r=await fetch(s,{method:"GET",headers:n}),o=await r.json();if(o.error)throw new Error(o.error);console.log(o);return(o.results||o).map((e=>{const t=new this(e.className);return e.fields&&(t._fields=e.fields),e.indexes&&(t._indexes=e.indexes),e.classLevelPermissions&&(t._clp=e.classLevelPermissions),t}))}static async purge(t,s){if(!e)throw new Error("Not initialized");const n=`${e.serverURL}/purge/${t}`,r={"X-Parse-Application-Id":e.appId};if(s?.useMasterKey&&e.config.masterKey)r["X-Parse-Master-Key"]=e.config.masterKey;else{const t=e.sessionToken;t&&(r["X-Parse-Session-Token"]=t)}const o=await fetch(n,{method:"DELETE",headers:r});if(!o.ok){const e=await o.json();throw new Error(e.error||"Failed to purge schema")}}}}static initialize(e){let t;if("string"==typeof e){let s="http://dev.fmode.cn:1337/parse";"undefined"!=typeof location&&"https:"===location.protocol&&(s="https://dev.fmode.cn/parse"),t=new FmodeParse({appId:e,serverURL:s}),this._defaultInstance=t,this._instances.default=t}else t=new FmodeParse(e),e.config&&(this._instances[e.config]=t),e.config&&"default"!==e.config||(this._defaultInstance=t);return t}static with(e){if(!this._instances.nova){let e=new FmodeParse({appId:"ncloudmaster",serverURL:"https://server.fmode.cn/parse"});this._instances.nova=e}if(!this._instances.dev){let e=new FmodeParse({appId:"dev",serverURL:"https://dev.fmode.cn/parse"});this._instances.dev=e}"dev"!=e||this._defaultInstance||(this._defaultInstance=this._instances.dev),"default"!=e||this._instances.default||(this._instances.default=this._instances.dev,this._defaultInstance=this._instances.dev);const t=this._instances[e]||this._defaultInstance;return FmodeObject.bindInstance(t),FmodeQuery.bindInstance(t),FmodeUser.bindInstance(t),FmodeFile.bindInstance(t),FmodeACL.bindInstance(t),FmodeGeoPoint.bindInstance(t),FmodeRelation.bindInstance(t),FmodeSchema.bindInstance(t),t}static getAllInstances(){return{...this._instances}}static getInstanceConfigs(){const e={};return Object.entries(this._instances).forEach((([t,s])=>{e[t]=s.config})),e}get serverURL(){return this.config.serverURL}set serverURL(e){this.config.serverURL=e}get appId(){return this.config.appId}get sessionToken(){if(this.config.sessionToken)return this.config.sessionToken;const e=this.User.current();return e?.sessionToken}set sessionToken(e){this.config.sessionToken=e}}!function(e){e.Object=FmodeObject,e.Query=FmodeQuery,e.User=FmodeUser,e.File=FmodeFile,e.Relation=FmodeRelation,e.ACL=FmodeACL,e.GeoPoint=FmodeGeoPoint,e.Schema=FmodeSchema,e.Cloud=FmodeCloud.getInstance()}(FmodeParse||(FmodeParse={}));const defaultExport=new Proxy(FmodeParse,{apply:(e,t,s)=>FmodeParse.initialize.apply(e,s),get:(e,t)=>t in e?e[t]:t in FmodeParse?FmodeParse[t]:FmodeParse.with("default")[t]});export{FmodeParse as default,defaultExport as FmodeParse};
|
|
9
9
|
var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi9jb3JlL3BhcnNlL2Ztb2RlLnBhcnNlLm1qcw==`
|
|
10
10
|
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
|
|
2
|
+
/**
|
|
3
|
+
* @copyright © 未来飞马 © 未来全栈 www.fmode.cn
|
|
4
|
+
* 版权所有 © 未来飞马 © 江西脑控科技有限公司 Copyright © Fmode Technology Co., Ltd.
|
|
5
|
+
* 保留所有权利 All Rights Reserved.
|
|
6
|
+
* /home/ryan/workspace/nova/nova-admin/dist/fmode-ng/esm2022/lib/core/parse/fmode.schema.mjs
|
|
7
|
+
*/
|
|
8
|
+
export class FmodeSchema{static{this._instance=null}static bindInstance(e){this._instance=e}constructor(e){this._fields={},this._indexes={},this._clp={},this.className=e,this._parseInstance=FmodeSchema._instance}addField(e,s="String",t={}){return this._fields[e]={type:s,...t},this}addString(e,s={}){return this.addField(e,"String",s)}addNumber(e,s={}){return this.addField(e,"Number",s)}addBoolean(e,s={}){return this.addField(e,"Boolean",s)}addDate(e,s={}){return this.addField(e,"Date",s)}addFile(e,s={}){return this.addField(e,"File",s)}addGeoPoint(e,s={}){return this.addField(e,"GeoPoint",s)}addPolygon(e,s={}){return this.addField(e,"Polygon",s)}addArray(e,s={}){return this.addField(e,"Array",s)}addObject(e,s={}){return this.addField(e,"Object",s)}addPointer(e,s,t={}){return this.addField(e,"Pointer",{targetClass:s,...t})}addRelation(e,s,t={}){return this.addField(e,"Relation",{targetClass:s,...t})}deleteField(e){return this._fields[e]={type:"__op",__op:"Delete"},this}addIndex(e,s){return this._indexes[e]=s,this}deleteIndex(e){return this._indexes[e]={__op:"Delete"},this}setCLP(e){return this._clp=e,this}toJSON(){const e={className:this.className};return Object.keys(this._fields).length>0&&(e.fields=this._fields),Object.keys(this._indexes).length>0&&(e.indexes=this._indexes),Object.keys(this._clp).length>0&&(e.classLevelPermissions=this._clp),e}async save(e){const s=this._parseInstance||FmodeSchema._instance;if(!s)throw new Error("Not initialized");const t=`${s.serverURL}/schemas/${this.className}`,i={"Content-Type":"application/json","X-Parse-Application-Id":s.appId};if(e?.useMasterKey&&s.config.masterKey)i["X-Parse-Master-Key"]=s.config.masterKey;else{const e=s.sessionToken;e&&(i["X-Parse-Session-Token"]=e)}const n=this.toJSON();delete n.className;const a=await fetch(t,{method:"POST",headers:i,body:JSON.stringify(n)}),r=await a.json();if(r.error)throw new Error(r.error);return r.fields&&(this._fields=r.fields),r.indexes&&(this._indexes=r.indexes),r.classLevelPermissions&&(this._clp=r.classLevelPermissions),this}async update(e){const s=this._parseInstance||FmodeSchema._instance;if(!s)throw new Error("Not initialized");const t=`${s.serverURL}/schemas/${this.className}`,i={"Content-Type":"application/json","X-Parse-Application-Id":s.appId};if(e?.useMasterKey&&s.config.masterKey)i["X-Parse-Master-Key"]=s.config.masterKey;else{const e=s.sessionToken;e&&(i["X-Parse-Session-Token"]=e)}const n=this.toJSON();delete n.className;const a=await fetch(t,{method:"PUT",headers:i,body:JSON.stringify(n)}),r=await a.json();if(r.error)throw new Error(r.error);return r.fields&&(this._fields=r.fields),r.indexes&&(this._indexes=r.indexes),r.classLevelPermissions&&(this._clp=r.classLevelPermissions),this}async delete(e){const s=this._parseInstance||FmodeSchema._instance;if(!s)throw new Error("Not initialized");const t=`${s.serverURL}/schemas/${this.className}`,i={"X-Parse-Application-Id":s.appId};if(e?.useMasterKey&&s.config.masterKey)i["X-Parse-Master-Key"]=s.config.masterKey;else{const e=s.sessionToken;e&&(i["X-Parse-Session-Token"]=e)}const n=await fetch(t,{method:"DELETE",headers:i});if(!n.ok){const e=await n.json();throw new Error(e.error||"Failed to delete schema")}}async get(e,s){if(!FmodeSchema._instance)throw new Error("Not initialized");e=e||this.className;const t=`${FmodeSchema._instance.serverURL}/schemas/${e}`,i={"X-Parse-Application-Id":FmodeSchema._instance.appId};if(s?.useMasterKey&&FmodeSchema._instance.config.masterKey)i["X-Parse-Master-Key"]=FmodeSchema._instance.config.masterKey;else{const e=FmodeSchema._instance.sessionToken;e&&(i["X-Parse-Session-Token"]=e)}const n=await fetch(t,{method:"GET",headers:i}),a=await n.json();if(a.error)throw new Error(a.error);const r=new FmodeSchema(e);return a.fields&&(r._fields=a.fields),a.indexes&&(r._indexes=a.indexes),a.classLevelPermissions&&(r._clp=a.classLevelPermissions),r}static async all(e){if(!FmodeSchema._instance)throw new Error("Not initialized");const s=`${FmodeSchema._instance.serverURL}/schemas`,t={"X-Parse-Application-Id":FmodeSchema._instance.appId};if(e?.useMasterKey&&FmodeSchema._instance.config.masterKey)t["X-Parse-Master-Key"]=FmodeSchema._instance.config.masterKey;else{const e=FmodeSchema._instance.sessionToken;e&&(t["X-Parse-Session-Token"]=e)}const i=await fetch(s,{method:"GET",headers:t}),n=await i.json();if(n.error)throw new Error(n.error);const a=n.results||n;return console.log("schemas",a),a.map((e=>{const s=new this(e.className);return e.fields&&(s._fields=e.fields),e.indexes&&(s._indexes=e.indexes),e.classLevelPermissions&&(s._clp=e.classLevelPermissions),s}))}static async purge(e,s){if(!FmodeSchema._instance)throw new Error("Not initialized");const t=`${FmodeSchema._instance.serverURL}/purge/${e}`,i={"X-Parse-Application-Id":FmodeSchema._instance.appId};if(s?.useMasterKey&&FmodeSchema._instance.config.masterKey)i["X-Parse-Master-Key"]=FmodeSchema._instance.config.masterKey;else{const e=FmodeSchema._instance.sessionToken;e&&(i["X-Parse-Session-Token"]=e)}const n=await fetch(t,{method:"DELETE",headers:i});if(!n.ok){const e=await n.json();throw new Error(e.error||"Failed to purge schema")}}assertFieldExists(e){if(!this._fields[e])throw new Error(`Field ${e} does not exist`)}getField(e){return this._fields[e]}getFields(){return{...this._fields}}getIndexes(){return{...this._indexes}}getCLP(){return{...this._clp}}}
|
|
9
|
+
var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi9jb3JlL3BhcnNlL2Ztb2RlLnNjaGVtYS5tanM=`
|
|
10
|
+
|
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
* 保留所有权利 All Rights Reserved.
|
|
6
6
|
* /home/ryan/workspace/nova/nova-admin/dist/fmode-ng/esm2022/lib/core/parse/index.mjs
|
|
7
7
|
*/
|
|
8
|
-
export*from"./fmode.parse";export*from"./fmode.object";export*from"./fmode.user";export*from"./fmode.query";export*from"./datatype/geopoint";
|
|
8
|
+
export*from"./fmode.parse";export*from"./fmode.object";export*from"./fmode.user";export*from"./fmode.query";export*from"./fmode.schema";export*from"./datatype/geopoint";
|
|
9
9
|
var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi9jb3JlL3BhcnNlL2luZGV4Lm1qcw==`
|
|
10
10
|
|
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
* 保留所有权利 All Rights Reserved.
|
|
6
6
|
* /home/ryan/workspace/nova/nova-admin/dist/fmode-ng/esm2022/lib/core/storage/nova-storage.mjs
|
|
7
7
|
*/
|
|
8
|
-
import{QiniuProvider}from"./qiniu.provider";import{FmodeParse}from"../parse";import{calcFileMd5}from"./util-file-md5";import{getFileMetadata}from"./util-file-metadata";import{genFileKey}from"./gen-file-key";const Parse=FmodeParse.with(
|
|
8
|
+
import{QiniuProvider}from"./qiniu.provider";import{FmodeParse}from"../parse";import{calcFileMd5}from"./util-file-md5";import{getFileMetadata}from"./util-file-metadata";import{genFileKey}from"./gen-file-key";let appId=localStorage.getItem("PARSE_APP_ID")||"nova";const Parse=FmodeParse.with(appId);export class NovaStorage{constructor(e){this.provider=e}setProvider(e){this.provider=e}async initByCid(e,t){this.cid=e,this.provider=await this.selectProvider(e,t)}static async withCid(e,t){const i=new NovaStorage;return await i.initByCid(e,t),i}async selectProvider(e,t){if("hwobs"===t)throw new Error("Hwobs requires explicit configuration. Use setProvider(new HwobsProvider(conf)).");const i=await this.fetchQiniuConf(e);return new QiniuProvider(i)}async fetchQiniuConf(e){const t=await Parse.Cloud.run("qiniu_uptoken",{company:e});if(!t?.uptoken||!t?.domain)throw new Error("qiniu_uptoken returned invalid config");return{uptoken:t.uptoken,domain:t.domain,useCdnDomain:!0,forceDirect:!0}}async upload(e,t){if(!this.provider)throw new Error("NovaStorage provider is not set");let i=await calcFileMd5(e),a=await getFileMetadata(e),r={id:"",name:"",type:"",size:0,key:"",url:""},o=await this.getAttachmentByMd5(i);if(o?.id)return r.id=o?.id,r.url=o?.get("url"),r.name=o?.get("name"),r.md5=o?.get("md5"),r.type=o?.get("mime"),r.size=o?.get("size"),r.metadata=o?.get("metadata"),r;const n={...t};!n.key&&e?.name&&(n.key=genFileKey(e.name,this.cid||"",n.prefixKey)),console.log(n);let s=await this.provider.upload(e,n);return s.md5=i,s.metadata=a,o=await this.saveAttachment(s),s.id=o.id,s}async getAttachmentByMd5(e){if(!e)return null;const t=new Parse.Query("Attachment");t.equalTo("md5",e),t.addDescending("createdAt");return await t.first()}async saveAttachment(e,t,i,a,r){const o=e.md5||(r?await calcFileMd5(r):void 0);let n=e.url||"";n&&!n.startsWith("http")&&(n=(t||"")+n),n=n.replace(/undefined\//,"");const s=Parse.User.current(),d=new Parse.Object("Attachment");d.set("size",e.size),d.set("url",n),d.set("name",e.name),d.set("mime",e.type),o&&d.set("md5",o),e.metadata&&d.set("metadata",e.metadata);const c=a||this.cid||localStorage.getItem("company")||void 0;c&&d.set("company",{__type:"Pointer",className:"Company",objectId:c}),i&&d.set("category",{__type:"Pointer",className:"Category",objectId:i}),s?.id&&d.set("user",s.toPointer?s.toPointer():{__type:"Pointer",className:"_User",objectId:s.id});return await d.save()}}
|
|
9
9
|
var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi9jb3JlL3N0b3JhZ2Uvbm92YS1zdG9yYWdlLm1qcw==`
|
|
10
10
|
|