2 lines
14 KiB
JavaScript
2 lines
14 KiB
JavaScript
import{_ as t,e,X as a,an as s,ao as o,L as i,v as l,K as n,A as u,C as r,s as c,ad as m,r as d,a as h,a9 as f,c as p,w as g,E as _,i as b,a2 as C,o as y,h as k,j as x,k as v,l as I,F as w,q as D,t as T,a5 as A,x as j,N as S,O as M,Q as V,u as $,m as F,a0 as R,P as E}from"./index-CS85kPhe.js";import{_ as U}from"./uni-forms-item.g4VtziaR.js";import{_ as P}from"./uni-data-picker.DxvbsPEd.js";import{_ as O}from"./uni-forms.DHOpViDo.js";import{_ as G}from"./uni-media-library.DRBc3agv.js";import{_ as L}from"./uni-drawer.3RJTDF4B.js";import{E as z,a as W}from"./auto-save-mixin.CqnpJhZT.js";import{a as B,p as q,v as K}from"./parse-image-url.DMlxjna7.js";import"./uni-load-more.zWziKaqT.js";import"./uni-easyinput.DiCyKNZM.js";import"./uni-popup-dialog.Dbo35SmZ.js";import"./unicloud-db.CIw_Ucsr.js";import"./uni-tooltip.Bon-gzRk.js";import"./uni-dateformat.AFBZPd5V.js";import"./uni-link.BUO1IgE2.js";const N=e.database();N.command;function Q(t){let e={};for(let a in K)t.includes(a)&&(e[a]=K[a]);return e}const J=t({components:{EditorComponent:z},mixins:[W],data(){let t={user_id:e.getCurrentUserInfo().uid,category_id:"",title:"",content:{},excerpt:"",article_status:0,is_sticky:null,is_essence:null,comment_status:null,thumbnail:[{}],temp_id:"",p_type:""};return{formData:t,formOptions:{comment_status_localdata:[{value:0,text:"关闭"},{value:1,text:"开放"}]},rules:{...Q(Object.keys(t))},formats:{},wordCount:null,drawerWidth:0,autoGetCover:!0,thumbMode:1,currentTemplate:"",currentTemplateSrc:"/static/temp1.png",templateConfig:[],musicInfo:{},currentMusic:"",innerAudioContext:null,pItems:[{text:"空军",value:"1"},{text:"海军",value:"2"},{text:"陆军",value:"3"},{text:"地勤保障",value:"4"},{text:"武警",value:"5"}]}},async onReady(){let t=await N.collection("cms-temp").get();console.log(t.result.data);let e=[];for(let a=0;a<t.result.data.length;a++)e.push({value:t.result.data[a].temptele_name,_id:t.result.data[a]._id,src:t.result.data[a].temptele_src,checked:!1});e[0].checked=!0,this.templateConfig=e,this.currentTemplate=this.templateConfig[0]._id,this.currentTemplateSrc=this.templateConfig[0].src,this.$refs.form.setRules(this.rules)},mounted(){const t=a();this.drawerWidth=.8*t.windowWidth},methods:{openTemplate(){this.$refs.templ.open("bottom"),this.$nextTick((()=>{setTimeout((()=>{const t=document.getElementById(this.currentTemplate);t&&t.scrollIntoView({behavior:"smooth",block:"start",inline:"start"})}),10)}))},templateChange(t,e,a){this.currentTemplateSrc=e,this.currentTemplate=a;for(let s=0;s<this.templateConfig.length;s++)this.templateConfig[s].value===t?this.templateConfig[s].checked=!0:this.templateConfig[s].checked=!1},submitTemp(){for(let t=0;t<this.templateConfig.length;t++)!0===this.templateConfig[t].checked&&(this.currentTemplateSrc=this.templateConfig[t].src,this.currentTemplate=this.templateConfig[t]._id);this.$refs.templ.close()},openMusic(){this.$refs.musicRef.open("bottom")},chooseAudio(){s({count:1,type:"file",extension:["mp3","wav","aac"],success:t=>{console.log(t),console.log(this.musicInfo),this.musicInfo=t.tempFiles[0],console.log(this.musicInfo),console.log(this.musicInfo),this.uploadMusic(t.tempFiles[0])}})},toPlay(){if(this.musicInfo.playing=!this.musicInfo.playing,this.$forceUpdate(),this.innerAudioContext){const t=this.musicInfo.path;this.innerAudioContext.src=t}else{const t=this.musicInfo.path;this.innerAudioContext=o(),this.innerAudioContext.autoplay=!0,this.innerAudioContext.src=t,this.innerAudioContext.onPlay((()=>{})),this.innerAudioContext.onError((t=>{console.log(t.errMsg),console.log(t.errCode)}))}this.musicInfo.playing?this.innerAudioContext.pause():this.innerAudioContext.play(),console.log(this.musicInfo.playing)},async uploadMusic(t){try{console.log(t);const a=await e.uploadFile({filePath:t.path,cloudPath:`music/${Date.now()}_${t.name}`,onUploadProgress:t=>{console.log(`进度: ${Math.round(t.loaded/t.total*100)}%`)}});console.log("上传成功,文件地址:",a.fileID),console.log(this.musicInfo),this.musicInfo.music_url_id=a.fileID,console.log(this.musicInfo);const s=await e.getTempFileURL({fileList:[a.fileID]});console.log("可访问的 URL:",s.fileList[0].tempFileURL)}catch(a){console.error("上传失败:",a)}},thumbModeChange(t){const e=Number(t.detail.value);this.formData.thumbnail=Array.from(new Array(e)).map(((t,e)=>this.formData.thumbnail[e]?this.formData.thumbnail[e]:{})),this.thumbMode=e},onTextChange(t){this.wordCount=t.detail,this.autoGetEditorImage(),this.autoSaveContent&&this.autoSaveContent()},autoGetEditorImage(){this.autoGetCover&&0!==this.thumbMode&&(this.timer&&clearTimeout(this.timer),this.timer=setTimeout((()=>{this.editorCtx.getContents({success:t=>{const{delta:e}=t,a=[];if(e.ops.forEach((t=>{if(t.insert&&t.insert.image&&(!t.attributes||!t.attributes.class||-1===t.attributes.class.indexOf("uploading"))){const e=B(t);a.push(e[0])}})),a.length<=0)return;const s=[...this.formData.thumbnail];for(let o=0;o<s.length;o++){s[o]!==a[o].source&&(s[o]=a[o]||{})}this.formData.thumbnail=s},fail:t=>{console.error(t)}})}),1e3))},onEditorReady(t){t&&(this.editorCtx=t)},submit(t){if(!this.formData.title)return i(),l({icon:"none",title:"文章标题必填"});if(!this.formData.category_id)return i(),l({icon:"none",title:"分类必填"});if(this.formData.thumbnail)for(const e of this.formData.thumbnail)if(!e.source)return i(),l({icon:"none",title:"封面图必填"});this.$refs.form.validate().then((e=>{this.editorCtx.getContents({success:a=>{console.log(this.musicInfo.music_url_id),this.submitForm({...e,thumbnail:this.formData.thumbnail.map((t=>t.source)),article_status:t,title:this.formData.title.trim(),content:a.delta,publish_date:Date.now(),temp_id:this.currentTemplate,music_url_id:this.musicInfo})}})})).catch((t=>{console.error(t)}))},async submitForm(t){return n({mask:!0}),N.collection("uni-cms-articles").add(t).then((e=>{l({icon:"none",title:0===t.article_status?"保存成功":"发布成功"});try{this.getOpenerEventChannel().emit("refreshData")}catch(a){}this.clearAutoSaveStorage&&this.clearAutoSaveStorage(),setTimeout((()=>{0===t.article_status?u({url:"/uni_modules/uni-cms/pages/article/edit/edit?id="+e.result.id}):r()}),500)})).catch((t=>{c({content:t.message||"请求服务失败",showCancel:!1})})).finally((()=>{i()}))},navigateBack(){m().length>1?r(-1):u({url:"/uni_modules/uni-cms/pages/article/list/list"})},openInsertImageDrawer(t){this.$refs.insertImageDrawer.open(),this.coverIndex=t},async onInsertCover(t){const e=null!==this.coverIndex?this.coverIndex:0,a=t[0],s=[...this.formData.thumbnail],o=await q(a.src);s[e]=o[0],this.$refs.insertImageDrawer.close(),this.formData.thumbnail=s},removeThumbnail(t){const e=[...this.formData.thumbnail];e[t]={},this.formData.thumbnail=e,this.autoGetCover=!1}}},[["render",function(t,e,a,s,o,i){const l=d(h("uni-icons"),_),n=j,u=b,r=S,c=f("editor-component"),m=d(h("uni-forms-item"),U),z=M,W=V,B=$,q=d(h("uni-data-picker"),P),K=F,N=d(h("uni-forms"),O),Q=d(h("uni-media-library"),G),J=d(h("uni-drawer"),L),X=E,Y=d(h("uni-popup"),C);return y(),p(u,{class:"uni-container"},{default:g((()=>[k(u,{class:"header"},{default:g((()=>[k(u,{class:"back"},{default:g((()=>[k(u,{onClick:i.navigateBack,style:{"margin-left":"15px",display:"flex","align-items":"center"}},{default:g((()=>[k(l,{type:"back",size:"24"}),k(n,null,{default:g((()=>[x("返回")])),_:1})])),_:1},8,["onClick"])])),_:1})])),_:1}),k(N,{ref:"form","label-width":90,model:o.formData,validateTrigger:"submit","err-show-type":"toast"},{default:g((()=>[k(u,{class:"edit-box"},{default:g((()=>[k(u,{class:"title"},{default:g((()=>[k(r,{class:"uni-input",modelValue:o.formData.title,"onUpdate:modelValue":e[0]||(e[0]=t=>o.formData.title=t),"auto-height":"",onInput:e[1]||(e[1]=()=>t.autoSaveContent&&t.autoSaveContent()),placeholder:"文章标题"},null,8,["modelValue"])])),_:1}),k(c,{onTextchange:i.onTextChange,onReady:i.onEditorReady},null,8,["onTextchange","onReady"]),k(u,{class:"settings"},{default:g((()=>[k(m,{name:"excerpt",label:"文章摘要"},{default:g((()=>[k(r,{class:"excerpt",placeholder:"文章摘要","auto-height":"",modelValue:o.formData.excerpt,"onUpdate:modelValue":e[2]||(e[2]=t=>o.formData.excerpt=t),onInput:e[3]||(e[3]=()=>t.autoSaveContent&&t.autoSaveContent())},null,8,["modelValue"])])),_:1}),k(m,{name:"thumbnail",label:"封面",required:""},{default:g((()=>[k(u,{class:"thumb-mode"},{default:g((()=>[k(W,{onChange:i.thumbModeChange},{default:g((()=>[k(z,{value:"1",class:"mode",checked:1===o.thumbMode},{default:g((()=>[x("单图")])),_:1},8,["checked"]),k(z,{value:"3",class:"mode",checked:3===o.thumbMode},{default:g((()=>[x("三图")])),_:1},8,["checked"]),k(z,{value:"0",class:"mode",checked:0===o.thumbMode},{default:g((()=>[x("无封面图")])),_:1},8,["checked"])])),_:1},8,["onChange"])])),_:1}),o.thumbMode>0?(y(),p(u,{key:0,class:"thumbnail-list"},{default:g((()=>[(y(!0),v(w,null,I(o.formData.thumbnail,((t,e)=>(y(),p(u,{class:"thumbnail",key:t.source},{default:g((()=>[t.source?(y(),v(w,{key:0},[k(u,{class:"remove-thumbnail",onClick:()=>i.removeThumbnail(e)},{default:g((()=>[k(l,{type:"closeempty",size:"16",color:"#fff"})])),_:2},1032,["onClick"]),k(B,{src:t.src,mode:"aspectFill",style:{width:"150px",height:"150px"}},null,8,["src"])],64)):(y(),p(l,{key:1,onClick:()=>i.openInsertImageDrawer(e),class:"placeholder",type:"plusempty",size:"60",color:"#e8e8e8"},null,8,["onClick"]))])),_:2},1024)))),128))])),_:1})):D("",!0),o.thumbMode>0?(y(),p(u,{key:1,style:{color:"#999","font-size":"13px","margin-top":"10px"}},{default:g((()=>[k(n,null,{default:g((()=>[x("为了保证最佳效果展示;请上传16:9的封面图片")])),_:1})])),_:1})):D("",!0)])),_:1}),D("",!0),k(m,{name:"category_id",label:"分类"},{default:g((()=>[k(q,{modelValue:o.formData.category_id,"onUpdate:modelValue":e[5]||(e[5]=t=>o.formData.category_id=t),style:{width:"200px"},collection:"uni-cms-categories",field:"name as text, _id as value"},null,8,["modelValue"])])),_:1}),k(m,{name:"p_type",label:"兵种类型"},{default:g((()=>[k(q,{modelValue:o.formData.p_type,"onUpdate:modelValue":e[6]||(e[6]=t=>o.formData.p_type=t),style:{width:"200px"},localdata:o.pItems,field:"name as text, _id as value"},null,8,["modelValue","localdata"])])),_:1}),k(m,{name:"category_id",label:"模版"},{default:g((()=>[k(B,{src:o.currentTemplateSrc,alt:"",class:"img_item",mode:"widthFix",onClick:i.openTemplate},null,8,["src","onClick"])])),_:1}),k(m,{name:"category_id",label:"音乐"},{default:g((()=>[o.musicInfo.name?(y(),p(u,{key:0,class:"music-info",onClick:i.toPlay,title:"点击播放"},{default:g((()=>[x(T(o.musicInfo.playing)+" ",1),k(B,{src:"https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/music-a.png",mode:"",style:{width:"50px",height:"50px","margin-right":"14px"}}),x(" "+T(o.musicInfo.name)+" ",1),k(n,{class:"del",onClick:e[7]||(e[7]=t=>o.musicInfo={})},{default:g((()=>[x("×")])),_:1})])),_:1},8,["onClick"])):(y(),p(K,{key:1,class:"btn",onClick:i.chooseAudio},{default:g((()=>[x(" 选择音乐 ")])),_:1},8,["onClick"]))])),_:1})])),_:1}),k(u,{class:"uni-button-group m"},{default:g((()=>[k(K,{class:"uni-button",style:{width:"100px","margin-right":"10px"},onClick:e[8]||(e[8]=t=>i.submit(0))},{default:g((()=>[x("存为草稿")])),_:1}),k(K,{type:"primary",class:"uni-button",style:{width:"100px"},onClick:e[9]||(e[9]=t=>i.submit(1))},{default:g((()=>[x("发布")])),_:1})])),_:1})])),_:1})])),_:1},8,["model"]),k(u,{class:"footer"},{default:g((()=>[k(u,{class:"wrap"},{default:g((()=>[k(u,{class:"left"},{default:g((()=>[t.autoSave?(y(),p(n,{key:0,class:"auto-save"},{default:g((()=>[x(T(1===t.autoSave.status?"自动保存中...":"已自动保存"),1)])),_:1})):D("",!0),null!==o.wordCount?(y(),p(n,{key:1,class:"word-count"},{default:g((()=>[x("共 "+T(o.wordCount)+" 字",1)])),_:1})):D("",!0)])),_:1}),k(u,{class:"right"},{default:g((()=>[k(u,{class:"uni-button-group"},{default:g((()=>[k(K,{class:"uni-button",style:{width:"100px","margin-right":"10px"},onClick:e[10]||(e[10]=t=>i.submit(0))},{default:g((()=>[x("存为草稿")])),_:1}),k(K,{type:"primary",class:"uni-button",style:{width:"100px"},onClick:e[11]||(e[11]=t=>i.submit(1))},{default:g((()=>[x("发布")])),_:1})])),_:1})])),_:1})])),_:1})])),_:1}),o.drawerWidth?(y(),p(J,{key:0,class:"insert-image-drawer",ref:"insertImageDrawer",mode:"right",width:o.drawerWidth},{default:g((()=>[k(Q,{mode:"picker","selected-count":1,"media-tabs":["image"],onOnInsert:i.onInsertCover},null,8,["onOnInsert"])])),_:1},8,["width"])):D("",!0),k(Y,{ref:"templ","background-color":"#fff"},{default:g((()=>[k(u,{class:"temps-title"},{default:g((()=>[x("选择模版")])),_:1}),k(u,{class:"temps"},{default:g((()=>[k(W,{class:"grid"},{default:g((()=>[(y(!0),v(w,null,I(o.templateConfig,((t,e)=>(y(),p(X,{key:e,id:`temp_${e+1}`,class:R(["label",t.checked&&"radio-checked"]),onClick:e=>i.templateChange(t.value,t.src,t._id)},{default:g((()=>[k(u,{class:R(["img-area"])},{default:g((()=>[k(B,{src:t.src,alt:"",class:"img_item",mode:"widthFix"},null,8,["src"])])),_:2},1024),k(u,{class:"content"},{default:g((()=>[k(z,{value:t.value,checked:t.checked,class:"radio",activeBackgroundColor:"red",onClick:e=>i.templateChange(t.value,t.src,t._id)},null,8,["value","checked","onClick"]),x(" "+T(t.value),1)])),_:2},1024)])),_:2},1032,["id","class","onClick"])))),128))])),_:1})])),_:1}),k(u,{class:"temps-title"},{default:g((()=>[k(K,{type:"primary",class:"uni-button",style:{width:"100%"},onClick:i.submitTemp},{default:g((()=>[x("确定")])),_:1},8,["onClick"])])),_:1})])),_:1},512),k(Y,{ref:"musicRef","background-color":"#fff"},{default:g((()=>[k(u,{class:"music"},{default:g((()=>[k(u,{class:"btn-area"},{default:g((()=>[k(K,{class:"btn",onTouchend:A(i.chooseAudio,["stop"])},{default:g((()=>[x(" 选择音乐 ")])),_:1},8,["onTouchend"])])),_:1})])),_:1})])),_:1},512)])),_:1})}],["__scopeId","data-v-4b34fd69"]]);export{J as default};
|