2 lines
9.0 KiB
JavaScript
2 lines
9.0 KiB
JavaScript
import{V as e,_ as a,$ as l,a9 as s,aa as r,a3 as t,ab as o,o as d,k as n,l as c,m as i,w as u,n as p,r as m,aZ as v,a_ as g,q as h,H as f,a$ as y,an as b,v as w,a6 as x,a7 as C,ao as k,E as T}from"./vendor.7d62357a.js";/* empty css *//* empty css */const V={baseURL:"https://api.buzhiyushu.cn",timeout:1e4},I=e=>{const{baseURL:a}=V;return`${a}${e}`};const _=e=>(x("data-v-296b700e"),e=e(),C(),e),N={class:"register-page"},z={class:"page-container"},M={class:"left-section"},U=_((()=>c("div",{class:"section-title"},[c("h1",null,"未注册用户请在下方注册")],-1))),S={class:"register-form"},E=_((()=>c("div",{class:"form-header"},[c("h2",null,"与书同行")],-1))),j={class:"captcha-row"},P=["src"],q={class:"right-section"},$=_((()=>c("div",{class:"section-title"},[c("h1",null,"已注册用户请到浏览器打开后台管理系统")],-1))),B={class:"login-info"},R={class:"login-url"},A=_((()=>c("p",{class:"url-label"},"后台管理系统地址:",-1))),L={class:"url-box"},O=_((()=>c("span",{class:"url-text"},"https://erp.buzhiyushu.cn/",-1))),H=_((()=>c("h3",null,"操作流程图",-1))),J=[_((()=>c("img",{src:"/flow-chart.png",alt:"操作流程图",class:"flow-image"},null,-1))),_((()=>c("div",{class:"click-tip"},"点击查看大图",-1)))],G=_((()=>c("h3",null,"操作流程图",-1))),Z=_((()=>c("div",{class:"image-viewer-content"},[c("img",{src:"/flow-chart.png",alt:"操作流程图",class:"full-image"})],-1))),D={__name:"index",setup(x){const C=e(),V=a(!1),_=a(),D=a(""),F=a(!0),K=a({pddMallId:"",pddMallName:"",type:"",accessToken:"",skuSpec:""}),Q=a({username:"",phoneNumber:"",password:"",confirmPassword:"",inviteCode:"",code:"",uuid:"",clientId:"e5cd7e4891bf95d1d19206ce24a7b32e",grantType:"password",tenantId:"000000",userType:"sys_user"}),W={username:[{required:!0,message:"请输入用户名",trigger:"blur"},{min:2,max:20,message:"用户名长度在2到20个字符",trigger:"blur"}],phoneNumber:[{required:!0,message:"请输入手机号",trigger:"blur"},{pattern:/^1[3-9]\d{9}$/,message:"请输入正确的手机号",trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:"blur"},{min:5,max:20,message:"密码长度在5到20个字符",trigger:"blur"}],confirmPassword:[{required:!0,message:"请确认密码",trigger:"blur"},{validator:(e,a,l)=>{a!==Q.value.password?l(new Error("两次输入密码不一致")):l()},trigger:"blur"}],code:[{required:!0,message:"请输入验证码",trigger:"blur",validator:(e,a,l)=>{F.value?a?l():l(new Error("请输入验证码")):l()}}]},X=async()=>{try{const e=await fetch(I("/auth/code"),{method:"GET",headers:{"Content-Type":"application/json"}});if(e.ok){const a=e.headers.get("content-type");if(a&&a.includes("application/json")){const a=await e.json();if(200===a.code){const{data:e}=a;F.value=void 0===e.captchaEnabled||e.captchaEnabled,F.value?(Q.value.uuid=e.uuid,D.value="data:image/gif;base64,"+e.img):(Q.value.uuid="",D.value="")}else{let e=a.msg||"获取验证码失败";"Captcha error"===a.msg?e="验证码生成失败,请重试":("Captcha invalid"===a.msg||a.msg&&(a.msg.includes("Captcha")||a.msg.includes("captcha")))&&(e="验证码服务异常,请重试"),k.error(e)}}else{await e.text();k.error("服务器响应格式错误,请检查API接口")}}else k.error(`获取验证码失败 (${e.status}),请重试`)}catch(e){"SyntaxError"===e.name&&e.message.includes("JSON")?k.error("服务器响应格式错误,请检查API接口"):k.error("网络错误,获取验证码失败")}},Y=async()=>{try{if(!(await _.value.validate()))return;V.value=!0;const e={username:Q.value.username,password:Q.value.password,phoneNumber:Q.value.phoneNumber,inviteCode:Q.value.inviteCode,clientId:Q.value.clientId,grantType:Q.value.grantType,tenantId:Q.value.tenantId,userType:Q.value.userType,pddMallId:K.value.pddMallId,pddMallName:K.value.pddMallName,pddType:K.value.type,accessToken:K.value.accessToken,skuSpec:K.value.skuSpec};F.value&&(e.code=Q.value.code,e.uuid=Q.value.uuid);const a=await fetch(I("/auth/register"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),l=await a.json();if(200===l.code)ee();else{let e=l.msg||"注册失败,请重试";"Captcha error"===l.msg?e="验证码错误,请重新输入":"Captcha invalid"===l.msg?e="验证码无效,请重新输入":l.msg&&(l.msg.includes("Captcha")||l.msg.includes("captcha")||l.msg.includes("验证码"))&&(e="验证码错误,请重新输入"),k.error(e),F.value&&l.msg&&("Captcha error"===l.msg||"Captcha invalid"===l.msg||l.msg.includes("Captcha")||l.msg.includes("captcha")||l.msg.includes("验证码"))&&(X(),Q.value.code="")}}catch(e){console.error("注册失败:",e),k.error("注册失败,请重试")}finally{V.value=!1}},ee=()=>{const e="https://erp.buzhiyushu.cn/";T({title:"注册成功!",message:`\n <div style="text-align: center;">\n <p style="margin-bottom: 15px; color: #67C23A; font-size: 16px;">🎉 恭喜您注册成功!</p>\n <p style="margin-bottom: 15px; color: #606266;">请复制以下链接进行登录:</p>\n <div style="background: #f5f7fa; padding: 10px; border-radius: 4px; margin-bottom: 15px; word-break: break-all;">\n ${e}\n </div>\n </div>\n `,dangerouslyUseHTMLString:!0,showCancelButton:!0,confirmButtonText:"复制链接",cancelButtonText:"关闭",confirmButtonClass:"el-button--primary",cancelButtonClass:"el-button--default",center:!0}).then((async()=>{try{await navigator.clipboard.writeText(e),k.success("链接已复制到剪贴板!")}catch(a){try{const a=document.createElement("textarea");a.value=e,document.body.appendChild(a),a.select(),document.execCommand("copy"),document.body.removeChild(a),k.success("链接已复制到剪贴板!")}catch(l){k.error("复制失败,请手动复制链接")}}})).catch((()=>{console.log("用户关闭了弹窗")}))},ae=async()=>{const e="https://erp.buzhiyushu.cn/";try{await navigator.clipboard.writeText(e),k.success("链接已复制到剪贴板!")}catch(a){try{const a=document.createElement("textarea");a.value=e,document.body.appendChild(a),a.select(),document.execCommand("copy"),document.body.removeChild(a),k.success("链接已复制到剪贴板!")}catch(l){k.error("复制失败,请手动复制链接")}}},le=a(!1),se=()=>{le.value=!0},re=()=>{le.value=!1};return l((()=>{(()=>{const e=C.query;K.value={pddMallId:e.pddMallId||"",pddMallName:decodeURIComponent(e.pddMallName||""),type:e.type||"",accessToken:e.accessToken||"",skuSpec:decodeURIComponent(e.skuSpec||"")},K.value.pddMallId&&(Q.value.username="pdd"+K.value.pddMallId)})(),X()})),(e,a)=>{const l=s,x=r,C=t,k=o;return d(),n("div",N,[c("div",z,[c("div",M,[U,c("div",S,[E,i(k,{ref_key:"formRef",ref:_,model:Q.value,rules:W,"label-width":"0"},{default:u((()=>[i(x,{prop:"username"},{default:u((()=>[i(l,{modelValue:Q.value.username,"onUpdate:modelValue":a[0]||(a[0]=e=>Q.value.username=e),placeholder:"用户名",size:"large","prefix-icon":p(m),disabled:""},null,8,["modelValue","prefix-icon"])])),_:1}),i(x,{prop:"phoneNumber"},{default:u((()=>[i(l,{modelValue:Q.value.phoneNumber,"onUpdate:modelValue":a[1]||(a[1]=e=>Q.value.phoneNumber=e),placeholder:"手机号",size:"large","prefix-icon":p(v)},null,8,["modelValue","prefix-icon"])])),_:1}),i(x,{prop:"password"},{default:u((()=>[i(l,{modelValue:Q.value.password,"onUpdate:modelValue":a[2]||(a[2]=e=>Q.value.password=e),type:"password",placeholder:"密码",size:"large","prefix-icon":p(g),"show-password":""},null,8,["modelValue","prefix-icon"])])),_:1}),i(x,{prop:"confirmPassword"},{default:u((()=>[i(l,{modelValue:Q.value.confirmPassword,"onUpdate:modelValue":a[3]||(a[3]=e=>Q.value.confirmPassword=e),type:"password",placeholder:"确认密码",size:"large","prefix-icon":p(g),"show-password":""},null,8,["modelValue","prefix-icon"])])),_:1}),i(x,{prop:"inviteCode"},{default:u((()=>[i(l,{modelValue:Q.value.inviteCode,"onUpdate:modelValue":a[4]||(a[4]=e=>Q.value.inviteCode=e),placeholder:"邀请码(非必填)",size:"large","prefix-icon":p(h)},null,8,["modelValue","prefix-icon"])])),_:1}),F.value?(d(),f(x,{key:0,prop:"code"},{default:u((()=>[c("div",j,[i(l,{modelValue:Q.value.code,"onUpdate:modelValue":a[5]||(a[5]=e=>Q.value.code=e),placeholder:"验证码",size:"large","prefix-icon":p(y)},null,8,["modelValue","prefix-icon"]),c("div",{class:"captcha-image",onClick:X},[D.value?(d(),n("img",{key:0,src:D.value,alt:"验证码"},null,8,P)):b("",!0)])])])),_:1})):b("",!0),i(x,null,{default:u((()=>[i(C,{type:"primary",size:"large",class:"register-btn",onClick:Y,loading:V.value},{default:u((()=>[w(" 注册 ")])),_:1},8,["loading"])])),_:1})])),_:1},8,["model"])])]),c("div",q,[$,c("div",B,[c("div",R,[A,c("div",L,[O,i(C,{type:"primary",size:"small",onClick:ae,class:"copy-btn"},{default:u((()=>[w(" 复制链接 ")])),_:1})])]),c("div",{class:"flow-chart"},[H,c("div",{class:"chart-container",onClick:se},J)])])])]),le.value?(d(),n("div",{key:0,class:"image-viewer-overlay",onClick:re},[c("div",{class:"image-viewer-container"},[c("div",{class:"image-viewer-header"},[G,c("button",{class:"close-btn",onClick:re},"×")]),Z])])):b("",!0)])}},__scopeId:"data-v-296b700e"};export{D as default};
|