fmode-ng 0.0.75 → 0.0.76
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/agent/fm-agent-task/fm-agent-task.component.mjs +10 -0
- package/esm2022/lib/aigc/agent/index.mjs +1 -1
- package/esm2022/lib/aigc/chat/chat-list/chat-list.component.mjs +1 -1
- package/esm2022/lib/aigc/chat/chat-modal-input/modal-input.component.mjs +1 -1
- package/esm2022/lib/aigc/service-fmai/service-chat/chat-class.mjs +1 -1
- package/esm2022/lib/aigc/voice/stream.player.mjs +1 -1
- package/esm2022/lib/aigc/voice/tts/fmode-tts-class.mjs +1 -1
- package/esm2022/lib/core/agent/chat/completion/fmode-completion.mjs +10 -0
- package/esm2022/lib/core/agent/chat/completion/index.mjs +10 -0
- package/esm2022/lib/core/agent/chat/fmode-chat.mjs +10 -0
- package/esm2022/lib/core/agent/chat/index.mjs +10 -0
- package/esm2022/lib/core/agent/chat/interface.mjs +10 -0
- package/esm2022/lib/core/agent/index.mjs +10 -0
- package/esm2022/lib/core/agent/prompt/agent.prompt.mjs +10 -0
- package/esm2022/lib/core/agent/prompt/index.mjs +10 -0
- package/esm2022/lib/core/agent/prompt/prompt-util.mjs +10 -0
- package/esm2022/lib/core/agent/story/agent.story.mjs +10 -0
- package/esm2022/lib/core/agent/story/index.mjs +10 -0
- package/esm2022/lib/core/agent/task/agent.task.mjs +10 -0
- package/esm2022/lib/core/agent/task/index.mjs +10 -0
- package/esm2022/lib/core/voice/tts/index.mjs +10 -0
- package/esm2022/lib/storage/service-upload/nova-upload.service.mjs +1 -1
- package/esm2022/lib/user/login/auth.service.mjs +1 -1
- package/esm2022/lib/user/login/login.component.mjs +1 -1
- package/esm2022/lib/user/modal-user-login/modal-user-login.component.mjs +1 -1
- package/fesm2022/fmode-ng.mjs +1 -1
- package/fesm2022/fmode-ng.mjs.map +1 -1
- package/lib/aigc/agent/fm-agent-task/fm-agent-task.component.d.ts +34 -0
- package/lib/aigc/agent/index.d.ts +2 -1
- package/lib/aigc/chat/chat-list/chat-list.component.d.ts +3 -2
- package/lib/aigc/chat/chat-message-card/comp-message-card.component.d.ts +2 -1
- package/lib/aigc/chat/chat-modal-input/modal-input.component.d.ts +6 -4
- package/lib/aigc/chat/chat-panel/chat-panel.component.d.ts +2 -1
- package/lib/aigc/service-fmai/service-chat/chat-class.d.ts +1 -199
- package/lib/aigc/voice/stream.player.d.ts +1 -1
- package/lib/core/agent/chat/completion/fmode-completion.d.ts +29 -0
- package/lib/core/agent/chat/completion/index.d.ts +1 -0
- package/lib/core/agent/chat/fmode-chat.d.ts +137 -0
- package/lib/core/agent/chat/index.d.ts +3 -0
- package/lib/core/agent/chat/interface.d.ts +35 -0
- package/lib/core/agent/index.d.ts +4 -0
- package/lib/{aigc/agent → core/agent/prompt}/agent.prompt.d.ts +1 -4
- package/lib/core/agent/prompt/index.d.ts +1 -0
- package/lib/core/agent/prompt/prompt-util.d.ts +3 -0
- package/lib/core/agent/story/agent.story.d.ts +12 -0
- package/lib/core/agent/story/index.d.ts +1 -0
- package/lib/core/agent/task/agent.task.d.ts +51 -0
- package/lib/core/agent/task/index.d.ts +1 -0
- package/lib/core/voice/tts/index.d.ts +1 -0
- package/lib/storage/service-upload/nova-upload.service.d.ts +5 -1
- package/lib/user/login/auth.service.d.ts +10 -1
- package/lib/user/login/login.component.d.ts +9 -3
- package/lib/user/modal-user-login/modal-user-login.component.d.ts +9 -4
- package/package.json +1 -1
- package/esm2022/lib/aigc/agent/agent.prompt.mjs +0 -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/agent/story/index.mjs
|
|
7
|
+
*/
|
|
8
|
+
export*from"./agent.story";
|
|
9
|
+
var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi9jb3JlL2FnZW50L3N0b3J5L2luZGV4Lm1qcw==`
|
|
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/agent/task/agent.task.mjs
|
|
7
|
+
*/
|
|
8
|
+
import{concatMap,delay,interval,map,of,take}from"rxjs";export class AgentTaskStep{restart(){this.parentIndex&&this.parentComp?.startTask&&this.parentComp?.startTask(this.parentIndex),this.limitStart=!1}get progress(){return this._progress||this._simProgress}set progress(s){this._progress=s}constructor(s){this.shareData={},this.data={},this.buttons=[],this.restartButtonShow=!1,this.limitStart=!1,this.cancelAll=!1,this.progressHidden=!1,this._simProgress=0,this._progress=0,this.message="",this.error="",this.logList=[],this.title=s?.title,this.shareData=s?.shareData,this.progressHidden=s?.progressHidden||!1,this.handle=s?.handle}simulatorProgress(){return this.progressSub$?.unsubscribe(),this.restartButtonShow=!1,new Promise((s=>{let t=function progressHandlerIncreasingSpeed(s,t){return interval(t/(s-1)).pipe(take(s),map((s=>s+1)),concatMap((s=>{const t=100*Math.exp(s/30);return of(s).pipe(delay(t))})))}(80,1e4);this.progressSub$=t.subscribe({next:s=>{this.progress=s},complete:()=>{this.progressSub$?.unsubscribe(),s(!0)}})}))}}
|
|
9
|
+
var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi9jb3JlL2FnZW50L3Rhc2svYWdlbnQudGFzay5tanM=`
|
|
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/agent/task/index.mjs
|
|
7
|
+
*/
|
|
8
|
+
export*from"./agent.task";
|
|
9
|
+
var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi9jb3JlL2FnZW50L3Rhc2svaW5kZXgubWpz`
|
|
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/voice/tts/index.mjs
|
|
7
|
+
*/
|
|
8
|
+
export*from"../../../aigc/voice/tts";
|
|
9
|
+
var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi9jb3JlL3ZvaWNlL3R0cy9pbmRleC5tanM=`
|
|
10
|
+
|
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
* 保留所有权利 All Rights Reserved.
|
|
6
6
|
* /home/ryan/workspace/nova/nova-admin/dist/fmode-ng/esm2022/lib/storage/service-upload/nova-upload.service.mjs
|
|
7
7
|
*/
|
|
8
|
-
import{DatePipe}from"@angular/common";import{Injectable}from"@angular/core";import{Platform}from"@ionic/angular";import{Camera,CameraResultType,CameraSource}from"@capacitor/camera";import{Capacitor}from"@capacitor/core";import{Filesystem}from"@capacitor/filesystem";import{FilesystemWeb}from"@capacitor/filesystem/dist/esm/web.js";import*as qiniu from"qiniu-js";import Parse from"parse";import{Diagnostic}from"@awesome-cordova-plugins/diagnostic/ngx";import CryptoJS from"crypto-js";import{MediaCapture}from"@awesome-cordova-plugins/media-capture/ngx";import{calcFileMd5}from"./util-file-md5";import*as i0 from"@angular/core";import*as i1 from"@ionic/angular";import*as i2 from"@awesome-cordova-plugins/diagnostic/ngx";export class NovaUploadService{constructor(e,
|
|
8
|
+
import{DatePipe}from"@angular/common";import{Injectable}from"@angular/core";import{Platform}from"@ionic/angular";import{Camera,CameraResultType,CameraSource}from"@capacitor/camera";import{Capacitor}from"@capacitor/core";import{Filesystem}from"@capacitor/filesystem";import{FilesystemWeb}from"@capacitor/filesystem/dist/esm/web.js";import*as qiniu from"qiniu-js";import Parse from"parse";import{Diagnostic}from"@awesome-cordova-plugins/diagnostic/ngx";import CryptoJS from"crypto-js";import{MediaCapture}from"@awesome-cordova-plugins/media-capture/ngx";import{calcFileMd5}from"./util-file-md5";import*as i0 from"@angular/core";import*as i1 from"@ionic/angular";import*as i2 from"@awesome-cordova-plugins/diagnostic/ngx";export class NovaUploadService{constructor(e,t){this.platform=e,this.diagnostic=t,this.maxSize=5242880,this.getUptoken(!0),this.requestPermission(),this.queryDomain()}async upload(e,t){let i,a=e.type,o=e.name?.split("."),s=o[o.length-1],n={id:"",name:"",type:"",size:0,key:"",url:""},r=await this.getFileMd5(e),l=await this.getAttachByMd5(r);if(l?.id)n.url=l?.get("url"),n.name=l?.get("name"),n.type=l?.get("type"),n.size=l?.get("size"),t&&t({total:{loaded:n.size,size:n.size,percent:100}});else{let i=this.fileToBlob(e);n=a.indexOf("image")>-1?await this.saveQiniuImageFile(i,s,null,t):await this.saveQiniuMediaFile(e,i,null,t)}return n?.url?.indexOf("undefined")>-1&&(n.url=(this.qiniuDomain||"https://file-cloud.fmode.cn/")+n.url.replace("undefined/","")),n?.url&&(i=await this.saveAttachment(n,this.qiniuDomain,null,this.getCompanyId(),e)),i?.id&&(n.id=i?.id),n.attachment=i,n}async getAttachByMd5(e){if(!e)return null;let t=new Parse.Query("Attachment");return t.equalTo("md5",e),t.addDescending("createdAt"),await t.first()}isCapacitor(){return this.platform.is("capacitor")||this.platform.is("cordova")}async getFileMd5(e){let t;try{t=await calcFileMd5(e),console.log("md5File",t)}catch(e){console.error(e)}return t}async requestPermission(){this.isCapacitor()&&(await this.requestStoagePermission(),await this.requestCameraPermission())}async requestStoagePermission(){let e=await this.diagnostic.isExternalStorageAuthorized();if(console.log("permisson_STORAGE:",e),!e){await this.diagnostic.requestExternalStorageAuthorization()}}async requestCameraPermission(){let e=await this.diagnostic.isCameraAuthorized();if(console.log("permisson_Camera:",e),!e){await this.diagnostic.requestCameraAuthorization()}}async getUptoken(e=!1){if(console.log("getUptoken"),this.qiniuConf||e)try{console.log(this.getCompanyId());let e=await Parse.Cloud.run("qiniu_uptoken",{company:this.getCompanyId()});console.log(e),this.qiniuConf=e}catch(e){console.error(e)}}genFileKey(e,t){let i=new Date,a=new DatePipe("en");t||(t=this.getCompanyId());let o="storage/company/"+t+"/";return this.store?.id&&this.store?.id,o+""+(a.transform(i,"yMMdd")+"/"+String(e.id).substr(20,6)+a.transform(i,"hhmmssSSS")+/\.[^\.]+/.exec(e.name))}getCompanyId(){if(this.company)return this.company;return localStorage.getItem("company")}async queryDomain(){let e=new Parse.Query("Company"),t=await e.get(this.getCompanyId());t.get("configQiniu")&&t.get("configQiniu").domain?(console.log(t.get("configQiniu").domain),this.qiniuDomain=t.get("configQiniu").domain):this.qiniuDomain="https://file-cloud.fmode.cn"}async saveAttachment(e,t,i,a,o){e.md5=await this.getFileMd5(o);let s=e.url;s.startsWith("http")||(s=t+s),s=s.replace(/undefined\//,""),a||(a=localStorage.getItem("company"));let n,r=Parse.User.current();if(n?.id)return console.log("fast upload"),n;return n=new(Parse.Object.extend("Attachment")),n.set("size",e.size),n.set("url",s),n.set("name",e.name),n.set("mime",e.type),n.set("md5",e?.md5),this.store?.id&&n.set("store",this.store.toPointer()),r?.id&&n.set("user",r.toPointer()),a&&n.set("company",{__type:"Pointer",className:"Company",objectId:localStorage.getItem("company")}),i&&n.set("category",{__type:"Pointer",className:"Category",objectId:i}),await n.save()}async captureVideo(e){if(this.qiniuConf=e,!this.isCapacitor())return;let t=await this.cameraCaptureVideoFile(),i=await this.getMediaFileDataString(t);return await this.saveQiniuMediaFile(t,i)}async cameraCaptureVideoFile(){let e=MediaCapture,t=await e.captureVideo({limit:1});return t?.length>0?t[0]:null}async getMediaFileDataString(e){new FilesystemWeb,e.fullPath.replaceAll("///","//");let t=await Filesystem.stat({path:e.fullPath}),i=Capacitor.convertFileSrc(t.uri),a=await fetch(i),o=await a.blob();if(console.log(o.size),console.log(JSON.stringify(t)),console.log(JSON.stringify(a)),console.log(JSON.stringify(Object.keys(a))),o)return o;throw"读取文件失败"}async takePicture(e){if(this.qiniuConf=e,!this.isCapacitor())return;await this.getUptoken();let t=await this.cameraTakePictureDataUrl();if(!t?.dataUrl)return;let i=await this.base64ToBlob(t?.dataUrl),a=await this.saveQiniuImageFile(i,t?.format);return console.log(JSON.stringify(a)),a}async cameraTakePictureDataUrl(){if(!this.isCapacitor())return;return await Camera.getPhoto({quality:90,allowEditing:!1,source:CameraSource.Camera,resultType:CameraResultType.DataUrl})}async saveQiniuImageFile(e,t,i,a){let o=this.maxSize;if(e.size>o)throw await console.log("照片过大,超出限制5MB"),"超出文件大小";let s=new DatePipe("en").transform(new Date,"yyyyMMddHHmmss"),n=`${s}.${t}`,r=e.type,l={fname:n,params:{},mimeType:e.type},c={useCdnDomain:!0,forceDirect:!0};console.log(this.qiniuConf);let m=this.genFileKey({id:s,name:n});return console.log("图片上传前"),console.log(m,e,t),new Promise(((t,i)=>{console.log("进入了上传"),qiniu.upload(e,m,this.qiniuConf?.uptoken,l,c).subscribe({next:e=>{console.log(e),a&&a(e)},error:async e=>{console.log(e)},complete:i=>{console.log("上传完成"),console.log(`${this.qiniuConf?.domain}${i.key}`),i.url=`${this.qiniuConf?.domain}${i.key}`,i.name=n,i.type=r,i.size=e.size,t(i)}})}))}async saveQiniuMediaFile(e,t,i,a){let o=e.name,s=e.type;if(e.size>(this.maxSize||104857600))throw console.log("视频过大,超出限制100MB"),"超出文件大小";let n=new DatePipe("en").transform(new Date,"yyyyMMddHHmmss"),r={fname:o,params:{},mimeType:s},l={useCdnDomain:!0,forceDirect:!0},c=this.genFileKey({id:n,name:o});return console.log("图片上传前"),console.log(e.name,t.size),console.log(t.size),console.log(t.size/1024/1024),new Promise(((i,o)=>{console.log("进入了上传"),qiniu.upload(t,c,this.qiniuConf?.uptoken,r,l).subscribe({next:e=>{console.log("主要用来展示进度"),a&&a(e),console.log(JSON.stringify(e))},error:async e=>{console.log("上传失败"),console.log(JSON.stringify(e))},complete:t=>{console.log("上传完成"),console.log(JSON.stringify(t)),e.key=t.key,console.log(e.type),e.url=`${this.qiniuConf?.domain}${t.key}`,console.log(e.url),i(e)}})}))}async base64ToBlobType(e,t){let i=await fetch(`data:${t};base64,${e}`);return await i.blob()}async base64ToBlob(e){let t=await fetch(e);return await t.blob()}fileToBlob(e){const t=e.slice(0,e.size,e.type);return new Blob([t],{type:e.type})}genMd5(e){return CryptoJS.MD5(e).toString()}static{this.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:NovaUploadService,deps:[{token:i1.Platform},{token:i2.Diagnostic}],target:i0.ɵɵFactoryTarget.Injectable})}static{this.ɵprov=i0.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:NovaUploadService,providedIn:"root"})}}i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:NovaUploadService,decorators:[{type:Injectable,args:[{providedIn:"root"}]}],ctorParameters:()=>[{type:i1.Platform},{type:i2.Diagnostic}]});
|
|
9
9
|
var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi9zdG9yYWdlL3NlcnZpY2UtdXBsb2FkL25vdmEtdXBsb2FkLnNlcnZpY2UubWpz`
|
|
10
10
|
|
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
* 保留所有权利 All Rights Reserved.
|
|
6
6
|
* /home/ryan/workspace/nova/nova-admin/dist/fmode-ng/esm2022/lib/user/login/auth.service.mjs
|
|
7
7
|
*/
|
|
8
|
-
import{Injectable}from"@angular/core";import Parse from"parse";import{Router}from"@angular/router";import{NovaCloudService}from"../../nova-cloud";import{HttpClient}from"@angular/common/http";import{ToastController}from"@ionic/angular/standalone";import*as i0 from"@angular/core";import*as i1 from"@angular/router";import*as i2 from"@ionic/angular/standalone";import*as i3 from"../../nova-cloud";import*as i4 from"@angular/common/http";Parse.applicationId||(Parse.initialize("ncloudmaster"),Parse.serverURL=(Parse.serverURL?.split("parse")?.[0]||"https://server.fmode.cn/")+"parse");export class AuthService{isGuardLock(e){let t=!0,o=Parse.User.current();return t=!o?.id&&this.guardMap[e],t}get loginTypeCount(){return Object.values(this.loginOptions)?.filter((e=>e))?.length}get logoUrl(){return localStorage.getItem("LOGO_URL")||this._logoUrl||"https://file.yuban.co/img/logo-feima.png"}set logoUrl(e){localStorage.setItem("LOGO_URL",e),this._logoUrl=this._logoUrl}getCompanyId(){let e=localStorage.getItem("company");return e=this.company||e,e}constructor(e,t,o,r){this.router=e,this.toastCtrl=t,this.novaCloud=o,this.http=r,this.guardMap={},this.isModalShow=!1,this.showBackHome=!0,this.activeButton="账号密码",this.loginOptions={userpwd:!0,mobilepwd:!0,mobilecode:!0,wechat:!0},this._logoUrl="https://file.yuban.co/img/logo-feima.png",this.wechatUrl="https://file-cloud.fmode.cn/E4KpGvTEto/20230822/hv1tsm115258608.jpg",this.isLoggedIn=!1,this.LoginPage="/pcuser/login",this.mobileUserMap={},this.enabledLocalCode=!1}async toast(e){e.position=e?.position||"top",e.duration=e?.duration||1500,e.color=e?.color||"primary",(await this.toastCtrl.create(e)).present()}init(e){this.company=e.company,this.guardType=e.guardType,this.saveParamsInvite()}checkLoginLock(){let e=Parse.User.current();return!!e?.id||(this.isModalShow=!0,this.isLoggedIn=!1,!1)}checkLogin(e){this.guardMap[e]=!0;let t=Parse.User.current();return console.log("currentUser",t),t&&t.id?(this.setAccount(t),this.isLoggedIn=!0,!0):this.guardType&&"page"!=this.guardType?"modal"==this.guardType?(this.isModalShow=!0,this.isLoggedIn=!1,!0):void 0:(this.redirectUrl=e,this.router.navigate([this.LoginPage]),!1)}async setAccount(e){if(this.account?.id)return;let t=Parse.Object.extend("Account"),o=e?.get("company")||{__type:"Pointer",className:"Company",objectId:this.getCompanyId()}||null,r=new Parse.Query("Account");r.equalTo("user",e.toPointer());let i=await r.first();return i?.id||(i=new t,i.set({user:e.toPointer(),company:o}),i=await i.save()),this.account=i,i}login(e,t){return new Promise(((o,r)=>{Parse.User.logIn(e,t).then((async e=>{if(this.bindInvite(e),this.setCurrentUserLocalStorage(e),"modal"==this.guardType)return await this.refreshPage(),void o(!0);let t=new Parse.Query("Company");t.select("rootPage"),t.equalTo("objectId",e?.get("company")?.id);let r=await t.first(),i=r?.get("rootPage");this.redirectUrl=this.redirectUrl||i||"/project/dashboard";let a=this.redirectUrl;a=decodeURIComponent(a),this.router.navigate([a])})).catch((e=>{console.error(e),r({message:"无此用户信息,请先在小程序登录"})}))}))}refreshPage(){return new Promise((e=>{let t=this.router.url;Parse.User.current()?.id&&(this.isModalShow=!1),this.router.navigateByUrl("/",{skipLocationChange:!0}).then((()=>{this.router.navigateByUrl(t).then((()=>{e(!0)}))}))}))}setCurrentUserLocalStorage(e){e.get("company")?.id&&localStorage.setItem("company",e.get("company")?.id)}logout(e,t){let o=localStorage.getItem("company"),r=localStorage.getItem("WECHAT_APP_ID"),i=localStorage.getItem("LOGO_URL"),a=localStorage.getItem("NOVA_APIG_SERVER");localStorage.clear(),localStorage.setItem("company",o),localStorage.setItem("WECHAT_APP_ID",r),localStorage.setItem("LOGO_URL",i),localStorage.setItem("NOVA_APIG_SERVER",a),Parse.User.logOut().then((e=>{})),this.router.navigate([t||"/pcuser/login"])}async loginMobilePassword(e,t,o){let r=await this.getMobileUser(e);r?this.login(r,t).then((async e=>{this.isModalShow=!1})).catch((e=>{console.log(e),o.create("error","错误的用户名或密码")})):o.create("error","用户不存在,请尝试其他登录方式")}signMobilePassword(e,t){return new Promise((async(o,r)=>{o(await this.signUpAndUpdate(e,t))}))}async getMobileUser(e){let t=this.getCompanyId(),o=t+e;if(this.mobileUserMap[o])return this.mobileUserMap[o];let r=await this.novaCloud.api("/auth/getusername",{company:t,mobile:e});return r?.username&&(this.mobileUserMap[o]=r?.username),this.mobileUserMap[o]}signUpAndUpdate(e,t){return t=t||e+"pwd666",new Promise((o=>{Parse.User.signUp(this.getCompanyId()+"-"+e,t,"").then((async t=>{t.id&&(console.log(t),t.set("company",{__type:"Pointer",className:"Company",objectId:this.getCompanyId()}),t.set("mobile",e),t.set("type","user"),this.bindInvite(t),t=await t.save(),o(t))})).catch((e=>{o(void 0)}))}))}async getMobileCodeToken(e,t){return new Promise(((o,r)=>{let i=Parse.serverURL?.split("parse")?.[0]||"https://server.fmode.cn/";this.http.get(i+`api/auth/mobile?company=${this.company}&mobile=${e}&code=${t}`).toPromise().then((e=>{o(e)})).catch((e=>{r(e)}))}))}async loginCode(e,t,o,r){if(t)try{let o=await this.getMobileCodeToken(e,t);if(200==o?.code){console.log(200,o);let e=await Parse.User.become(o.data.token);if(console.log(e,e?.id),e?.id){console.log(e,e?.id);try{await this.bindInvite(e)}catch(e){console.error("bind err b",e)}return!0}}}catch(o){if(console.log("error1",o),!(o?.error?.mess?.indexOf("用户不存在")>-1))return void this.toast({message:o?.error?.mess});{let o=await this.signUpAndUpdate(e);if(o?.id)return await this.loginCode(e,t)}}else this.toast({color:"primary",message:"请填写有效验证码"})}saveParamsInvite(){let e=this.novaCloud.searchParse();console.log("saveParamsInvite",e);let t=e?.get("invite");console.log(t),t&&localStorage.setItem("invite",t)}async bindInvite(e){if(!(e=e||Parse.User.current()))return;if(e?.get("invite")?.id)return;let t,o=localStorage.getItem("invite");if(o&&e?.id!=o)try{t=await this.novaCloud.api("/auth/invite",{current:e?.id,invite:o,type:"code"}),console.log("bind",t)}catch(e){console.error("bind err",e)}}static{this.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:AuthService,deps:[{token:i1.Router},{token:i2.ToastController},{token:i3.NovaCloudService},{token:i4.HttpClient}],target:i0.ɵɵFactoryTarget.Injectable})}static{this.ɵprov=i0.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:AuthService,providedIn:"root"})}}i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:AuthService,decorators:[{type:Injectable,args:[{providedIn:"root"}]}],ctorParameters:()=>[{type:i1.Router},{type:i2.ToastController},{type:i3.NovaCloudService},{type:i4.HttpClient}]});
|
|
8
|
+
import{Injectable}from"@angular/core";import Parse from"parse";import{Router}from"@angular/router";import{NovaCloudService}from"../../nova-cloud";import{HttpClient}from"@angular/common/http";import{ToastController}from"@ionic/angular/standalone";import*as i0 from"@angular/core";import*as i1 from"@angular/router";import*as i2 from"@ionic/angular/standalone";import*as i3 from"../../nova-cloud";import*as i4 from"@angular/common/http";Parse.applicationId||(Parse.initialize("ncloudmaster"),Parse.serverURL=(Parse.serverURL?.split("parse")?.[0]||"https://server.fmode.cn/")+"parse");export class AuthService{isGuardLock(e){let t=!0,o=Parse.User.current();return t=!o?.id&&this.guardMap[e],t}get loginTypeCount(){return Object.values(this.loginOptions)?.filter((e=>e))?.length}get logoUrl(){return localStorage.getItem("LOGO_URL")||this._logoUrl||"https://file.yuban.co/img/logo-feima.png"}set logoUrl(e){localStorage.setItem("LOGO_URL",e),this._logoUrl=this._logoUrl}getCompanyId(){let e=localStorage.getItem("company");return e=this.company||e,e}constructor(e,t,o,r){this.router=e,this.toastCtrl=t,this.novaCloud=o,this.http=r,this.guardMap={},this.modalType="fullscreen",this.isModalShow=!1,this.showBackHome=!0,this.activeButton="账号密码",this.loginOptions={userpwd:!0,mobilepwd:!0,mobilecode:!0,wechat:!0},this._logoUrl="https://file.yuban.co/img/logo-feima.png",this.wechatUrl="https://file-cloud.fmode.cn/E4KpGvTEto/20230822/hv1tsm115258608.jpg",this.isLoggedIn=!1,this.message={success:e=>{this.toast({color:"success",message:e})},create:(e,t)=>{"error"==e&&(e="danger"),this.toast({color:e,message:t})},info:e=>{this.toast({message:e})},error:e=>{this.toast({color:"danger",message:e})}},this.LoginPage="/pcuser/login",this.mobileUserMap={},this.enabledLocalCode=!1}async toast(e){e.position=e?.position||"top",e.duration=e?.duration||1500,e.color=e?.color||"primary",(await this.toastCtrl.create(e)).present()}init(e){this.company=e.company,this.guardType=e.guardType,this.modalType=e.modalType,this.saveParamsInvite()}checkLoginLock(){let e=Parse.User.current();return!!e?.id||(this.isModalShow=!0,this.isLoggedIn=!1,!1)}async checkLogin(e){await this.checkAndLoginWithToken(),this.guardMap[e]=!0;let t=Parse.User.current();return console.log("currentUser",t),t&&t.id?(this.setAccount(t),this.isLoggedIn=!0,!0):this.guardType&&"page"!=this.guardType?"modal"==this.guardType?(this.isModalShow=!0,this.isLoggedIn=!1,!0):void 0:(this.redirectUrl=e,this.router.navigate([this.LoginPage]),!1)}async checkAndLoginWithToken(){console.log("checkAndLoginWithToken");const e=new URLSearchParams(window.location.search),t=e.get("token");if(t){e.delete("token");let o=window.location.pathname+(e.toString()?"?"+e.toString():"")+window.location.hash;o=decodeURIComponent(o),console.log("newUrl",o),window.history.replaceState({},"",o),setTimeout((()=>{window.history.replaceState({},"",o)}),1e3);let r=Parse.User.current();if(!r?.id)try{r=await Parse.User.become(t)}catch(e){}}}async setAccount(e){if(this.account?.id)return;let t=Parse.Object.extend("Account"),o=e?.get("company")||{__type:"Pointer",className:"Company",objectId:this.getCompanyId()}||null,r=new Parse.Query("Account");r.equalTo("user",e.toPointer());let i=await r.first();return i?.id||(i=new t,i.set({user:e.toPointer(),company:o}),i=await i.save()),this.account=i,i}login(e,t){return new Promise(((o,r)=>{Parse.User.logIn(e,t).then((async e=>{if(this.bindInvite(e),this.setCurrentUserLocalStorage(e),"modal"==this.guardType)return await this.refreshPage(),void o(!0);let t=new Parse.Query("Company");t.select("rootPage"),t.equalTo("objectId",e?.get("company")?.id);let r=await t.first(),i=r?.get("rootPage");this.redirectUrl=this.redirectUrl||i||"/project/dashboard";let a=this.redirectUrl;a=decodeURIComponent(a),this.router.navigate([a])})).catch((e=>{console.error(e),r({message:"无此用户信息,请先在小程序登录"})}))}))}refreshPage(){return new Promise((e=>{let t=this.router.url;Parse.User.current()?.id&&(this.isModalShow=!1),this.router.navigateByUrl("/",{skipLocationChange:!0}).then((()=>{this.router.navigateByUrl(t).then((()=>{e(!0)}))}))}))}setCurrentUserLocalStorage(e){e.get("company")?.id&&localStorage.setItem("company",e.get("company")?.id)}logout(e,t){let o=localStorage.getItem("company"),r=localStorage.getItem("WECHAT_APP_ID"),i=localStorage.getItem("LOGO_URL"),a=localStorage.getItem("NOVA_APIG_SERVER");localStorage.clear(),localStorage.setItem("company",o),localStorage.setItem("WECHAT_APP_ID",r),localStorage.setItem("LOGO_URL",i),localStorage.setItem("NOVA_APIG_SERVER",a),Parse.User.logOut().then((e=>{})),this.router.navigate([t||"/pcuser/login"])}async loginMobilePassword(e,t,o){let r=await this.getMobileUser(e);r?this.login(r,t).then((async e=>{this.isModalShow=!1})).catch((e=>{console.log(e),o.create("error","错误的用户名或密码")})):o.create("error","用户不存在,请尝试其他登录方式")}signMobilePassword(e,t){return new Promise((async(o,r)=>{o(await this.signUpAndUpdate(e,t))}))}async getMobileUser(e){let t=this.getCompanyId(),o=t+e;if(this.mobileUserMap[o])return this.mobileUserMap[o];let r=await this.novaCloud.api("/auth/getusername",{company:t,mobile:e});return r?.username&&(this.mobileUserMap[o]=r?.username),this.mobileUserMap[o]}signUpAndUpdate(e,t){return t=t||e+"pwd666",new Promise((o=>{Parse.User.signUp(this.getCompanyId()+"-"+e,t,"").then((async t=>{t.id&&(console.log(t),t.set("company",{__type:"Pointer",className:"Company",objectId:this.getCompanyId()}),t.set("mobile",e),t.set("type","user"),this.bindInvite(t),t=await t.save(),o(t))})).catch((e=>{o(void 0)}))}))}async getMobileCodeToken(e,t){return new Promise(((o,r)=>{let i=Parse.serverURL?.split("parse")?.[0]||"https://server.fmode.cn/";this.http.get(i+`api/auth/mobile?company=${this.company}&mobile=${e}&code=${t}`).toPromise().then((e=>{o(e)})).catch((e=>{r(e)}))}))}async loginCode(e,t,o,r){if(t)try{let o=await this.getMobileCodeToken(e,t);if(200==o?.code){console.log(200,o);let e=await Parse.User.become(o.data.token);if(console.log(e,e?.id),e?.id){console.log(e,e?.id);try{await this.bindInvite(e)}catch(e){console.error("bind err b",e)}return!0}}}catch(o){if(console.log("error1",o),!(o?.error?.mess?.indexOf("用户不存在")>-1))return void this.toast({message:o?.error?.mess});{let o=await this.signUpAndUpdate(e);if(o?.id)return await this.loginCode(e,t)}}else this.toast({color:"primary",message:"请填写有效验证码"})}saveParamsInvite(){let e=this.novaCloud.searchParse();console.log("saveParamsInvite",e);let t=e?.get("invite");console.log(t),t&&localStorage.setItem("invite",t)}async bindInvite(e){if(!(e=e||Parse.User.current()))return;if(e?.get("invite")?.id)return;let t,o=localStorage.getItem("invite");if(o&&e?.id!=o)try{t=await this.novaCloud.api("/auth/invite",{current:e?.id,invite:o,type:"code"}),console.log("bind",t)}catch(e){console.error("bind err",e)}}static{this.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:AuthService,deps:[{token:i1.Router},{token:i2.ToastController},{token:i3.NovaCloudService},{token:i4.HttpClient}],target:i0.ɵɵFactoryTarget.Injectable})}static{this.ɵprov=i0.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:AuthService,providedIn:"root"})}}i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:AuthService,decorators:[{type:Injectable,args:[{providedIn:"root"}]}],ctorParameters:()=>[{type:i1.Router},{type:i2.ToastController},{type:i3.NovaCloudService},{type:i4.HttpClient}]});
|
|
9
9
|
var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi91c2VyL2xvZ2luL2F1dGguc2VydmljZS5tanM=`
|
|
10
10
|
|