99AI/public/admin/assets/application-64b37dc5.js
2024-04-20 22:15:08 +08:00

10 lines
13 KiB
JavaScript

/**
* 由 Fantastic-admin 提供技术支持
* Powered by Fantastic-admin
* Gitee https://gitee.com/hooray/fantastic-admin
* Github https://github.com/hooray/fantastic-admin
*/
import{_ as ve}from"./index-fd8a5577.js";import{d as ye,r as g,Q as O,B as J,x as we,h as n,R as Ve,o as r,c as h,e as l,f as t,S as q,U as F,b as u,k as Ae,m as ke,l as p,w as Ie,I as i,t as y,a as T,J as v,V as xe,W as I,X as Pe,E as x,q as X}from"./index-e656eb90.js";import{u as De}from"./utcformatTime-e76e5157.js";import{A as he,Q as Te,M as ze}from"./index-d5406c70.js";const Ce={style:{maxWidth:"350px"}},Ue={style:{maxHeight:"50px",cursor:"pointer"}},Me={style:{maxWidth:"350px"}},Ge={style:{maxHeight:"50px",cursor:"pointer"}},qe=T("i",{class:"el-icon-refresh"},null,-1),Fe=["src"],Se={class:"flex justify-end mr-5"},Ne=ye({__name:"application",setup(Le){const K=g(),W=g(0),A=g(!1),U=g(!1),m=O({catId:"",name:"",status:"",role:"",page:1,size:10,isGPTs:0,gizmoID:"",isFixedModel:0,appModel:""}),Z=g("/api/upload/file"),S=g(),P=g(0),z=g(!1),Y=g(0),o=O({catId:"",name:"",preset:"",des:"",coverImg:"",demoData:"",order:100,status:0,isGPTs:0,gizmoID:"",isFixedModel:0,appModel:""}),E=O({catId:[{required:!0,message:"请选择App分类",trigger:"change"}],name:[{required:!0,message:"请填写App名称",trigger:"blur"}],preset:[{required:!1,message:"请填写App预设信息",trigger:"blur"}],des:[{required:!0,message:"请填写App描述",trigger:"blur"}],coverImg:[{required:!1,message:"请填写App封面图片地址",trigger:"blur"}],demoData:[{required:!1,message:"请填写App演示数据",trigger:"blur"}],isGPTs:[{required:!0,message:"是否GPTs",trigger:"blur"}],gizmoID:[{required:!1,message:"GPTs 的ID",trigger:"blur"}],order:[{required:!1,message:"请填写排序ID",trigger:"blur"}],status:[{required:!0,message:"请选择App状态",trigger:"change"}],isFixedModel:[{required:!0,message:"请选择App是否固定模型",trigger:"blur"}],appModel:[{required:!1,message:"请选择App使用的模型",trigger:"change"}]}),Q=g([]),N=g([]),ee=J(()=>P.value?"更新应用":"新增应用"),le=J(()=>P.value?"确认更新":"确认新增");async function _(){try{U.value=!0;const s=await I.queryApp(m),{rows:a,count:w}=s.data;U.value=!1,W.value=w,Q.value=a.sort((k,V)=>V.order-k.order)}catch{U.value=!1}}async function te(){const s=await I.queryCats({size:100}),{rows:a}=s.data;N.value=a}function ae(s){P.value=s.id,z.value=s.role==="user",Y.value=s.status;const{name:a,status:w,des:k,order:V,coverImg:D,catId:d,preset:b,demoData:c,isGPTs:M,gizmoID:C,isFixedModel:G,appModel:L}=s;Pe(()=>{Object.assign(o,{name:a,status:w,des:k,order:V,coverImg:D,catId:d,preset:b,demoData:c,isGPTs:M,gizmoID:C,isFixedModel:G,appModel:L})}),A.value=!0}function oe(s){P.value=0,s==null||s.resetFields()}async function se(s){await I.deleteApp({id:s.id}),x.success("删除分类成功"),_()}function re(s){s==null||s.resetFields(),_()}const ne=(s,a)=>{console.log("response: ",s.data),o.coverImg=s.data},de=s=>{if(["image/png","image/jpeg","image/gif","image/webp"].includes(s.type)){if(s.size/1024>300)return x.error("当前限制文件最大不超过 300KB!"),!1}else return x.error("当前系统仅支持 PNG、JPEG、GIF、和 WebP 格式的图片!"),!1};function ue(s){s==null||s.validate(async a=>{if(a){if(P.value){const w={id:P.value,...o};z.value&&Object.assign(w,{status:Y.value}),await I.updateApp(w),x({type:"success",message:"更新应用成功!"})}else await I.createApp(o),x({type:"success",message:"创建新的应用成功!"});A.value=!1,_()}})}async function ie(s){const a=await I.auditPassApp({id:s.id});x({type:"success",message:a.data}),_()}async function pe(s){const a=await I.auditFailApp({id:s.id});x({type:"success",message:a.data}),_()}return we(()=>{_(),te()}),(s,a)=>{const w=n("el-alert"),k=ve,V=n("el-option"),D=n("el-select"),d=n("el-form-item"),b=n("el-input"),c=n("el-button"),M=n("Plus"),C=n("el-icon"),G=n("el-form"),L=n("el-image"),f=n("el-table-column"),$=n("el-tag"),H=n("el-tooltip"),R=n("el-popconfirm"),me=n("el-table"),ce=n("el-pagination"),fe=n("el-row"),B=n("el-switch"),ge=n("el-upload"),_e=n("el-dialog"),be=Ve("loading");return r(),h("div",null,[l(k,null,{default:t(()=>[l(w,{closable:!1,"show-icon":"",title:"应用说明",description:"[由于各模型的使用不同、暂时关闭其他模型的应用使用、仅仅支持使用OpenAi的key使用、请配置了openAi的key之后再进行使用、如果没有配置将不能使用此功能、但用户可以自定义选择模型] ==== 应用一旦创建、可能会被多处使用后续将限制删除、请保持良好习惯、规范命名分类、后续尽量变更而不是删除。用户创建的应用我们不允许删除、但是可以做一定的变更和修改、审核通过的应用也将限制用户更改、一旦通过或者拒绝、将不允许再次对其状态进行变更、请知悉!",type:"success"})]),_:1}),l(k,null,{default:t(()=>[l(G,{ref_key:"formRef",ref:K,inline:!0,model:m},{default:t(()=>[l(d,{label:"App分类",prop:"catId"},{default:t(()=>[l(D,{modelValue:m.catId,"onUpdate:modelValue":a[0]||(a[0]=e=>m.catId=e),placeholder:"请选择App分类",clearable:""},{default:t(()=>[(r(!0),h(q,null,F(u(N),e=>(r(),i(V,{key:e.id,label:e.name,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(d,{label:"App名称",prop:"name"},{default:t(()=>[l(b,{modelValue:m.name,"onUpdate:modelValue":a[1]||(a[1]=e=>m.name=e),placeholder:"App名称[模糊搜索]",clearable:"",onKeydown:Ae(ke(_,["prevent"]),["enter"])},null,8,["modelValue","onKeydown"])]),_:1}),l(d,{label:"App角色",prop:"status"},{default:t(()=>[l(D,{modelValue:m.role,"onUpdate:modelValue":a[2]||(a[2]=e=>m.role=e),placeholder:"请选择App角色",clearable:""},{default:t(()=>[(r(!0),h(q,null,F(u(he),e=>(r(),i(V,{key:e.value,label:e.label,value:e.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(d,null,{default:t(()=>[l(c,{type:"primary",onClick:_},{default:t(()=>[p(" 查询 ")]),_:1}),l(c,{onClick:a[3]||(a[3]=e=>re(u(K)))},{default:t(()=>[p(" 重置 ")]),_:1})]),_:1}),l(c,{type:"success",style:{float:"right"},onClick:a[4]||(a[4]=e=>A.value=!0)},{default:t(()=>[p(" 创建应用 "),l(C,{class:"ml-3"},{default:t(()=>[l(M)]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),l(k,{style:{width:"100%"}},{default:t(()=>[Ie((r(),i(me,{border:"",data:u(Q),style:{width:"100%"},size:"large"},{default:t(()=>[l(f,{prop:"coverImg",label:"应用封面",width:"100"},{default:t(e=>[l(L,{style:{height:"50px"},src:e.row.coverImg,fit:"fill"},null,8,["src"])]),_:1}),l(f,{prop:"catName",label:"应用分类",width:"100"}),l(f,{prop:"name",label:"应用名称",width:"120"}),l(f,{prop:"status",label:"应用状态",width:"100"},{default:t(e=>[l($,{type:e.row.status===1?"success":"danger"},{default:t(()=>[p(y(u(Te)[e.row.status]),1)]),_:2},1032,["type"])]),_:1}),l(f,{prop:"public",label:"是否共享",width:"100"},{default:t(e=>[l($,{type:e.row.public?"success":""},{default:t(()=>[p(y(e.row.public?"共享":"私有"),1)]),_:2},1032,["type"])]),_:1}),l(f,{prop:"public",label:"应用创建角色",width:"120"},{default:t(e=>[l($,{type:e.row.role==="system"?"success":""},{default:t(()=>[p(y(e.row.role==="system"?"系统":"用户"),1)]),_:2},1032,["type"])]),_:1}),l(f,{prop:"order",label:"排序ID"}),p(" /> "),l(f,{prop:"preset",label:"预设信息",width:"400"},{default:t(e=>[l(H,{class:"box-item",effect:"dark",placement:"top-start"},{content:t(()=>[T("div",Ce,y(e.row.preset),1)]),default:t(()=>[T("div",Ue,y(e.row.preset),1)]),_:2},1024)]),_:1}),l(f,{prop:"des",label:"描述信息",width:"300"},{default:t(e=>[l(H,{class:"box-item",effect:"dark",placement:"top-start"},{content:t(()=>[T("div",Me,y(e.row.des),1)]),default:t(()=>[T("div",Ge,y(e.row.des),1)]),_:2},1024)]),_:1}),l(f,{prop:"createdAt",label:"创建时间",width:"120"},{default:t(e=>[p(y(u(De)(e.row.createdAt,"YYYY-MM-DD")),1)]),_:1}),l(f,{label:"操作",width:"200"},{default:t(e=>[e.row.role==="system"||e.row.public?(r(),i(c,{key:0,link:"",type:"primary",size:"small",onClick:j=>ae(e.row)},{default:t(()=>[p(" 编辑 ")]),_:2},1032,["onClick"])):v("",!0),e.row.role==="system"?(r(),i(R,{key:1,title:"确认删除此应用么?",width:"200","icon-color":"red",onConfirm:j=>se(e.row)},{reference:t(()=>[l(c,{link:"",type:"danger",size:"small"},{default:t(()=>[p(" 删除应用 ")]),_:1})]),_:2},1032,["onConfirm"])):v("",!0),e.row.role==="user"&&e.row.status===3?(r(),i(R,{key:2,title:"确认通过审核此应用么?",width:"200","icon-color":"red",onConfirm:j=>ie(e.row)},{reference:t(()=>[l(c,{link:"",type:"success",size:"small"},{default:t(()=>[p(" 通过审核 ")]),_:1})]),_:2},1032,["onConfirm"])):v("",!0),e.row.role==="user"&&e.row.status===3?(r(),i(R,{key:3,title:"确认拒绝通过此应用共享请求么?",width:"200","icon-color":"red",onConfirm:j=>pe(e.row)},{reference:t(()=>[l(c,{link:"",type:"danger",size:"small"},{default:t(()=>[p(" 拒绝审核 ")]),_:1})]),_:2},1032,["onConfirm"])):v("",!0)]),_:1})]),_:1},8,["data"])),[[be,u(U)]]),l(fe,{class:"flex justify-end mt-5"},{default:t(()=>[l(ce,{"current-page":m.page,"onUpdate:currentPage":a[5]||(a[5]=e=>m.page=e),"page-size":m.size,"onUpdate:pageSize":a[6]||(a[6]=e=>m.size=e),class:"mr-5","page-sizes":[10,20,30,50],layout:"total, sizes, prev, pager, next, jumper",total:u(W),onSizeChange:_,onCurrentChange:_},null,8,["current-page","page-size","total"])]),_:1})]),_:1}),l(_e,{modelValue:u(A),"onUpdate:modelValue":a[21]||(a[21]=e=>xe(A)?A.value=e:null),"close-on-click-modal":!1,title:u(ee),width:"570",onClose:a[22]||(a[22]=e=>oe(u(S)))},{footer:t(()=>[T("span",Se,[l(c,{onClick:a[19]||(a[19]=e=>A.value=!1)},{default:t(()=>[p("取消")]),_:1}),l(c,{type:"primary",onClick:a[20]||(a[20]=e=>ue(u(S)))},{default:t(()=>[p(y(u(le)),1)]),_:1})])]),default:t(()=>[l(G,{ref_key:"formPackageRef",ref:S,"label-position":"right","label-width":"100px",model:o,rules:E},{default:t(()=>[l(d,{label:"App分类",prop:"catId"},{default:t(()=>[l(D,{modelValue:o.catId,"onUpdate:modelValue":a[7]||(a[7]=e=>o.catId=e),placeholder:"请选择App分类",clearable:"",style:{width:"100%"}},{default:t(()=>[(r(!0),h(q,null,F(u(N),e=>(r(),i(V,{key:e.id,label:e.name,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(d,{label:"App名称",prop:"name"},{default:t(()=>[l(b,{modelValue:o.name,"onUpdate:modelValue":a[8]||(a[8]=e=>o.name=e),placeholder:"请填写App名称"},null,8,["modelValue"])]),_:1}),u(z)?v("",!0):(r(),i(d,{key:0,label:"App状态",prop:"status"},{default:t(()=>[l(B,{modelValue:o.status,"onUpdate:modelValue":a[9]||(a[9]=e=>o.status=e),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})),l(d,{label:"App描述",prop:"des"},{default:t(()=>[l(b,{modelValue:o.des,"onUpdate:modelValue":a[10]||(a[10]=e=>o.des=e),type:"textarea",placeholder:"请填写App介绍信息、用于对外展示...",rows:4},null,8,["modelValue"])]),_:1}),u(z)?v("",!0):(r(),i(d,{key:1,label:"启用GPTs",prop:"isGPTs"},{default:t(()=>[l(B,{modelValue:o.isGPTs,"onUpdate:modelValue":a[11]||(a[11]=e=>o.isGPTs=e),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})),Number(o.isGPTs)===1?(r(),i(d,{key:2,label:"gizmoID",prop:"gizmoID"},{default:t(()=>[l(b,{modelValue:o.gizmoID,"onUpdate:modelValue":a[12]||(a[12]=e=>o.gizmoID=e),placeholder:"请填写 GPTs 使用的 gizmoID"},null,8,["modelValue"])]),_:1})):v("",!0),Number(o.isGPTs)!==1?(r(),i(d,{key:3,label:"App预设",prop:"preset"},{default:t(()=>[l(b,{modelValue:o.preset,"onUpdate:modelValue":a[13]||(a[13]=e=>o.preset=e),type:"textarea",placeholder:"请填写App预设信息、用于给AI预设身份...",rows:4},null,8,["modelValue"])]),_:1})):v("",!0),!u(z)&&Number(o.isGPTs)!==1?(r(),i(d,{key:4,label:"固定模型",prop:"isFixedModel"},{default:t(()=>[l(B,{modelValue:o.isFixedModel,"onUpdate:modelValue":a[14]||(a[14]=e=>o.isFixedModel=e),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})):v("",!0),Number(o.isFixedModel)===1&&Number(o.isGPTs)!==1?(r(),i(d,{key:5,label:"使用模型",prop:"appModel"},{default:t(()=>[l(D,{modelValue:o.appModel,"onUpdate:modelValue":a[15]||(a[15]=e=>o.appModel=e),filterable:"","allow-create":"",placeholder:"请选择应用使用的模型",clearable:""},{default:t(()=>[(r(!0),h(q,null,F(u(ze),e=>(r(),i(V,{key:e,label:e,value:e},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})):v("",!0),l(d,{label:"示例内容",prop:"demoData"},{default:t(()=>[l(b,{modelValue:o.demoData,"onUpdate:modelValue":a[16]||(a[16]=e=>o.demoData=e),type:"textarea",placeholder:"请填写App的demo示例数据、每换行一次表示一个新的示例...",rows:4},null,8,["modelValue"])]),_:1}),l(d,{label:"Logo地址",prop:"coverImg"},{default:t(()=>[l(b,{modelValue:o.coverImg,"onUpdate:modelValue":a[17]||(a[17]=e=>o.coverImg=e),placeholder:"请填写应用Logo 或点击 上传按钮/图片预览 上传图片"},null,8,["modelValue"])]),_:1}),l(C,null,{default:t(()=>[qe]),_:1}),l(d,{label:"应用Logo",prop:"coverImg"},{default:t(()=>[l(ge,{class:"avatar-uploader",action:u(Z),"show-file-list":!1,"on-success":ne,"before-upload":de},{default:t(()=>[o.coverImg?(r(),h("img",{key:0,src:o.coverImg,style:{width:"100px"},class:"avatar"},null,8,Fe)):(r(),i(C,{key:1,class:"avatar-uploader-icon ml-3"},{default:t(()=>[l(M)]),_:1}))]),_:1},8,["action"])]),_:1}),l(d,{label:"排序ID",prop:"order"},{default:t(()=>[l(b,{modelValue:o.order,"onUpdate:modelValue":a[18]||(a[18]=e=>o.order=e),modelModifiers:{number:!0},placeholder:"请填写排序ID[数字越大越靠前]"},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue","title"])])}}});typeof X=="function"&&X(Ne);export{Ne as default};