import{_ as q,b as i,d as J,c as L,h as r,a as t,j as k,k as R,e as l,r as o,u as c,n as U,L as j,g as _,M as z,N as $,x as G,t as C,E as u,z as H,o as y}from"./index-BZ-MVW6h.js";const K={class:"credential-container"},Q={class:"card-header"},W={__name:"Credential",setup(X){const d=i(),b=i(!1),m=i(!1),n=i(null),s=i({app_id:"",app_secret:""}),S={app_id:[{required:!0,message:"请输入AppID",trigger:"blur"},{min:1,max:50,message:"AppID长度在 1 到 50 个字符",trigger:"blur"}],app_secret:[{required:!0,message:"请输入AppSecret",trigger:"blur"},{min:1,max:100,message:"AppSecret长度在 1 到 100 个字符",trigger:"blur"}]},D=a=>a?new Date(a).toLocaleString():"",V=a=>{if(!a)return"";if(a.length<=8)return a.replace(/./g,"*");const e=a.substring(0,4),x=a.substring(a.length-4),f="*".repeat(a.length-8);return e+f+x},h=()=>{try{const a=localStorage.getItem("wechat_credentials");if(a){const e=JSON.parse(a);n.value=e,s.value.app_id=e.app_id,s.value.app_secret=""}}catch(a){console.error("加载凭证失败:",a),u.error("加载凭证失败")}},B=a=>{try{const e={...a,updated_at:new Date().toISOString()};return localStorage.setItem("wechat_credentials",JSON.stringify(e)),n.value=e,!0}catch(e){return console.error("保存凭证失败:",e),!1}},F=()=>{try{return localStorage.removeItem("wechat_credentials"),n.value=null,!0}catch(a){return console.error("清除凭证失败:",a),!1}},N=async()=>{d.value&&await d.value.validate(async a=>{if(a){b.value=!0;try{await new Promise(e=>setTimeout(e,500)),B(s.value)?u.success("凭证配置保存成功!"):u.error("凭证保存失败,请检查浏览器存储权限")}catch(e){u.error("保存失败:"+e.message)}finally{b.value=!1}}else return console.log("表单验证失败"),!1})},E=()=>{d.value&&(d.value.resetFields(),n.value&&(s.value.app_id=n.value.app_id))},M=()=>{H.confirm("确定要清除当前的微信凭证吗?此操作不可恢复。","清除确认",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{F()?(s.value={app_id:"",app_secret:""},u.success("凭证已清除")):u.error("清除凭证失败")}).catch(()=>{u.info("已取消清除")})};return J(()=>{h()}),(a,e)=>{const x=o("el-alert"),f=o("el-input"),w=o("el-form-item"),p=o("el-icon"),g=o("el-button"),T=o("el-form"),I=o("el-card"),O=o("el-tag"),A=o("el-descriptions-item"),P=o("el-descriptions");return y(),L("div",K,[e[11]||(e[11]=r("h2",null,"微信凭证配置",-1)),e[12]||(e[12]=r("p",{class:"page-description"}," 请配置您的微信公众号开发者凭证,这些凭证用于调用微信公众号API,发布文章、管理媒体等操作。 ",-1)),t(x,{title:"安全提示",type:"warning",closable:!1,class:"security-alert"},{default:l(()=>[...e[3]||(e[3]=[r("div",null,[r("p",null,"1. 微信凭证包含AppID和AppSecret,是调用微信API的重要凭证"),r("p",null,"2. 请勿将这些凭证泄露给他人,以免造成不必要的损失"),r("p",null,"3. 建议定期更换AppSecret,保障账号安全"),r("p",null,"4. 凭证将加密存储在本地,不会上传到任何服务器")],-1)])]),_:1}),t(I,{class:"credential-card"},{default:l(()=>[t(T,{model:s.value,rules:S,ref_key:"credentialFormRef",ref:d,"label-width":"120px"},{default:l(()=>[t(w,{label:"AppID",prop:"app_id"},{default:l(()=>[t(f,{modelValue:s.value.app_id,"onUpdate:modelValue":e[0]||(e[0]=v=>s.value.app_id=v),placeholder:"请输入微信公众号AppID",maxlength:"50","show-word-limit":"",clearable:""},null,8,["modelValue"]),e[4]||(e[4]=r("div",{class:"form-help-text"}," 微信公众号的唯一标识,可在微信公众平台开发者中心获取 ",-1))]),_:1}),t(w,{label:"AppSecret",prop:"app_secret"},{default:l(()=>[t(f,{modelValue:s.value.app_secret,"onUpdate:modelValue":e[2]||(e[2]=v=>s.value.app_secret=v),placeholder:"请输入微信公众号AppSecret",maxlength:"100","show-word-limit":"",type:m.value?"text":"password",clearable:""},{append:l(()=>[t(g,{onClick:e[1]||(e[1]=v=>m.value=!m.value),type:"text"},{default:l(()=>[m.value?(y(),k(p,{key:0},{default:l(()=>[t(c(U))]),_:1})):(y(),k(p,{key:1},{default:l(()=>[t(c(j))]),_:1}))]),_:1})]),_:1},8,["modelValue","type"]),e[5]||(e[5]=r("div",{class:"form-help-text"}," 微信公众号的密钥,可在微信公众平台开发者中心获取,请注意保密 ",-1))]),_:1}),t(w,null,{default:l(()=>[t(g,{type:"primary",onClick:N,loading:b.value},{default:l(()=>[t(p,null,{default:l(()=>[t(c(z))]),_:1}),e[6]||(e[6]=_(" 保存配置 ",-1))]),_:1},8,["loading"]),t(g,{onClick:E},{default:l(()=>[t(p,null,{default:l(()=>[t(c($))]),_:1}),e[7]||(e[7]=_(" 重置 ",-1))]),_:1}),t(g,{type:"danger",onClick:M},{default:l(()=>[t(p,null,{default:l(()=>[t(c(G))]),_:1}),e[8]||(e[8]=_(" 清除凭证 ",-1))]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),n.value?(y(),k(I,{key:0,class:"status-card"},{header:l(()=>[r("div",Q,[e[10]||(e[10]=r("span",null,"当前凭证状态",-1)),t(O,{type:"success"},{default:l(()=>[...e[9]||(e[9]=[_("已配置",-1)])]),_:1})])]),default:l(()=>[t(P,{column:1,border:""},{default:l(()=>[t(A,{label:"AppID"},{default:l(()=>[r("code",null,C(n.value.app_id),1)]),_:1}),t(A,{label:"AppSecret"},{default:l(()=>[r("code",null,C(V(n.value.app_secret)),1)]),_:1}),t(A,{label:"保存时间"},{default:l(()=>[_(C(D(n.value.updated_at)),1)]),_:1})]),_:1})]),_:1})):R("",!0)])}}},Z=q(W,[["__scopeId","data-v-ed4b8580"]]);export{Z as default};