2 lines
9.0 KiB
JavaScript
2 lines
9.0 KiB
JavaScript
import{d as e,r as a,a1 as l,u as t,H as o,a2 as s,J as r,G as n,a3 as u,b as c,a4 as d,a5 as i,a6 as p,a7 as f,x as m,l as g,w as v,F as x,a8 as y,a9 as h,aa as _,ab as b,P as k,k as w,ac as C,ad as V,o as $,p as L,Q as U,c as S,t as j,D as T,ae as q,q as F,z as G,v as D,R as I,af as N,ag as A,ah as O,_ as P}from"./index-DO_7qdmW.js";import{u as R}from"./useLockFn.Cn6TiIpT.js";const W=P(e({__name:"login",setup(e){const P=a(!0);P.value=l();const W=V(),z=C(),B=t(),H=o(),J=a(!1),Q=s(),E=a("");a(!1);const K=a(!1),M=a(!1),X=r({scene:1,account:"",password:"",code:""}),Y=a(!1),Z=a(),ee=e=>{E.value=e};n(()=>H.getWebsiteConfig);const ae=r({phone:"",code:""}),le=async()=>{var e,a;if(!X.account)return uni.$u.toast("请输入手机号码");if(null==(e=Q.value)?void 0:e.canGetCode)try{const e=await A({mobile:X.account,scene:"login"}),l=e.phone,t=e.code;ae.phone=l,ae.code=t,h.set("sms_verify_info",{phone:l,code:t,mobile:X.account}),X.code=t,null==(a=Q.value)||a.start(),M.value=!0}catch(l){uni.$u.toast(l||"获取验证信息失败")}},te=e=>{X.scene=e},oe=e=>{var a;return null==(a=H.getLoginConfig.login_way)?void 0:a.includes(String(e))},se=n(()=>H.getLoginConfig.wechat_auth),re=n(()=>1==H.getLoginConfig.login_agreement),ne=n(()=>1==H.getLoginConfig.third_auth),ue=n(()=>1==H.getLoginConfig.coerce_mobile),ce=async e=>{const{token:a,mobile:l}=e;if(!l&&ue.value)return B.temToken=a,z.navigateTo("/pages/bind_mobile/bind_mobile"),void f();B.login(e.token),await B.getUser(),uni.$u.toast("登录成功"),f();const t=y();if(t.length>1){const e=t[t.length-2];await z.navigateBack();const{onLoad:a,options:l}=e;a&&a(l)}else if(h.get(_))try{z.redirectTo(h.get(_))}catch(o){z.switchTab(h.get(_))}else z.reLaunch("/pages/index/index");h.remove(_)},{lockFn:de}=R(async()=>{if(!K.value&&re.value)return J.value=!0;if(1==X.scene){if(!X.account)return uni.$u.toast("请输入账号/手机号码");if(!X.password)return uni.$u.toast("请输入密码")}if(2==X.scene){if(!X.account)return uni.$u.toast("请输入手机号码");if(!X.code)return uni.$u.toast("请输入验证码")}p({title:"请稍后..."});try{const e=await O(X);ce(e)}catch(e){f(),uni.$u.toast(e)}}),ie=async(e={getUrl:!0})=>{const{code:a,getUrl:l}=e;if(!l){return await b({code:a})}return await d.getUrl(i.LOGIN),Promise.reject()},pe=async()=>{if(!K.value&&re.value)return J.value=!0,void console.log(J.value);P.value&&ie()};u(()=>H.getLoginConfig,e=>{e.login_way&&(X.scene=e.login_way[0])},{immediate:!0});const fe=n(()=>!(1!=X.scene||!X.account||!X.password)||!(2!=X.scene||!X.account||!X.code));return c(async()=>{const e=d.getAuthData();try{if(e.code&&e.scene===i.LOGIN){p({title:"请稍后..."});const a=await ie(e);a&&(Z.value=a,ce(Z.value))}}catch(a){(()=>{const e=W.query;e.code&&e.state&&(delete e.code,delete e.state,z.redirectTo({path:W.path,query:e}))})()}finally{f(),d.setAuthData()}}),(e,a)=>{const l=k("page-meta"),t=L,o=w,s=k("u-button"),r=k("u-input"),n=q,u=k("u-verification-code"),c=F,d=k("u-checkbox"),i=k("u-modal");return $(),m(x,null,[g(l,{"page-style":e.$theme.pageStyle},null,8,["page-style"]),g(o,{class:"bg-white login min-h-full flex flex-col items-center px-[40rpx] pt-[120rpx] box-border"},{default:v(()=>[g(o,null,{default:v(()=>[g(t,{src:U(H).getWebsiteConfig.shop_logo,mode:"widthFix",class:"w-[160rpx] h-[160rpx] rounded-full"},null,8,["src"])]),_:1}),g(o,{class:"w-full mt-[140rpx] pb-[60rpx]"},{default:v(()=>[Y.value?T("",!0):($(),m(x,{key:0},[ne.value&&P.value&&se.value?($(),S(o,{key:0},{default:v(()=>[g(s,{type:"primary",onClick:pe,customStyle:{height:"100rpx"},"hover-class":"none"},{default:v(()=>[j(" 用户一键登录 ")]),_:1})]),_:1})):T("",!0),g(o,{class:"mt-[40rpx]"},{default:v(()=>[g(s,{type:"default",plain:!1,shape:"square",onClick:a[0]||(a[0]=e=>Y.value=!Y.value),customStyle:{height:"100rpx"},"hover-class":"none"},{default:v(()=>[j(" 手机号登录 ")]),_:1})]),_:1})],64)),Y.value?($(),m(x,{key:1},[1==X.scene&&oe(1)?($(),m(x,{key:0},[g(o,{class:"px-[18rpx] border border-solid border-lightc border-light rounded-[10rpx] h-[100rpx] items-center flex"},{default:v(()=>[g(r,{class:"flex-1",modelValue:X.account,"onUpdate:modelValue":a[1]||(a[1]=e=>X.account=e),border:!1,placeholder:"输入账号"},null,8,["modelValue"])]),_:1}),g(o,{class:"px-[18rpx] py-[10rpx] border border-solid border-light rounded-[10rpx] flex h-[100rpx] items-center mt-[40rpx]"},{default:v(()=>[g(r,{class:"flex-1",modelValue:X.password,"onUpdate:modelValue":a[2]||(a[2]=e=>X.password=e),type:"password",placeholder:"输入密码",border:!1},null,8,["modelValue"]),g(n,{url:"/pages/forget_pwd/forget_pwd","hover-class":"none"},{default:v(()=>[g(o,{class:"border-l border-solid border-0 border-light pl-3 text-muted leading-4 ml-3"},{default:v(()=>[j(" 忘记密码? ")]),_:1})]),_:1})]),_:1})],64)):T("",!0),2==X.scene&&oe(2)?($(),m(x,{key:1},[g(o,{class:"px-[18rpx] border border-solid border-lightc border-light rounded-[10rpx] h-[100rpx] items-center flex"},{default:v(()=>[g(r,{class:"flex-1",modelValue:X.account,"onUpdate:modelValue":a[3]||(a[3]=e=>X.account=e),border:!1,placeholder:"请输入手机号码"},null,8,["modelValue"])]),_:1}),g(o,{class:"px-[18rpx] border border-solid border-lightc border-light rounded-[10rpx] h-[100rpx] items-center flex mt-[40rpx]"},{default:v(()=>[g(r,{class:"flex-1",modelValue:X.code,"onUpdate:modelValue":a[4]||(a[4]=e=>X.code=e),placeholder:"请输入验证码",border:!1},null,8,["modelValue"]),g(o,{class:"border-l border-solid border-0 border-light pl-3 leading-4 ml-3 w-[180rpx]",onClick:le},{default:v(()=>[g(u,{ref_key:"uCodeRef",ref:Q,seconds:60,onChange:ee,"change-text":"x秒"},null,512),g(c,{class:G(X.account?"text-primary":"text-muted")},{default:v(()=>[j(D("获取验证码"===E.value?"发送验证码":E.value),1)]),_:1},8,["class"])]),_:1})]),_:1})],64)):T("",!0)],64)):T("",!0),re.value?($(),S(o,{key:2,class:"mt-[40rpx]"},{default:v(()=>[g(d,{modelValue:K.value,"onUpdate:modelValue":a[7]||(a[7]=e=>K.value=e),shape:"circle"},{default:v(()=>[g(o,{class:"text-xs flex"},{default:v(()=>[j(" 已阅读并同意 "),g(o,{onClick:a[5]||(a[5]=I(()=>{},["stop"]))},{default:v(()=>[g(n,{class:"text-primary","hover-class":"none",url:"/pages/agreement/agreement?type=service"},{default:v(()=>[j(" 《服务协议》 ")]),_:1})]),_:1}),j(" 和 "),g(o,{onClick:a[6]||(a[6]=I(()=>{},["stop"]))},{default:v(()=>[g(n,{class:"text-primary","hover-class":"none",url:"/pages/agreement/agreement?type=privacy"},{default:v(()=>[j(" 《隐私协议》 ")]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})):T("",!0),Y.value?($(),m(x,{key:3},[g(o,{class:"mt-[60rpx]"},{default:v(()=>[g(s,{type:"primary",onClick:a[8]||(a[8]=e=>U(de)(X.scene)),customStyle:{height:"100rpx",opacity:fe.value?"1":"0.5"},"hover-class":"none"},{default:v(()=>[j(" 登录 ")]),_:1},8,["customStyle"])]),_:1}),g(o,{class:"flex justify-between mt-[40rpx]"},{default:v(()=>[g(o,null,{default:v(()=>[j("已有账号,使用 "),2==X.scene&&oe(1)?($(),m("span",{key:0,class:"text-primary",onClick:a[9]||(a[9]=e=>te(1))},"密码登录")):T("",!0),1==X.scene&&oe(2)?($(),m("span",{key:1,class:"text-primary",onClick:a[10]||(a[10]=e=>te(2))},"验证码登录")):T("",!0)]),_:1}),g(n,{url:"/pages/register/register","hover-class":"none"},{default:v(()=>[j("注册账号")]),_:1})]),_:1})],64)):T("",!0)]),_:1}),g(i,{modelValue:J.value,"onUpdate:modelValue":a[11]||(a[11]=e=>J.value=e),"show-cancel-button":"","show-title":!1,"confirm-color":"var(--color-primary)",onConfirm:a[12]||(a[12]=e=>{K.value=!0,J.value=!1}),onCancel:a[13]||(a[13]=e=>J.value=!1)},{default:v(()=>[g(o,{class:"text-center px-[70rpx] py-[60rpx]"},{default:v(()=>[g(o,null,{default:v(()=>[j(" 请先阅读并同意 ")]),_:1}),g(o,{class:"flex justify-center"},{default:v(()=>[g(n,{"data-theme":"",url:"/pages/agreement/agreement?type=service"},{default:v(()=>[g(o,{class:"text-primary"},{default:v(()=>[j("《服务协议》")]),_:1})]),_:1}),j(" 和 "),g(n,{url:"/pages/agreement/agreement?type=privacy"},{default:v(()=>[g(o,{class:"text-primary"},{default:v(()=>[j("《隐私协议》")]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),M.value?($(),S(o,{key:0,class:"verify-modal-mask",onClick:a[16]||(a[16]=I(()=>{},["stop"]))},{default:v(()=>[g(o,{class:"verify-modal-card"},{default:v(()=>[g(o,{class:"verify-modal-title"},{default:v(()=>[j("发送验证短信")]),_:1}),g(o,{class:"verify-modal-text"},{default:v(()=>[j("请联系 "+D(ae.phone),1)]),_:1}),g(o,{class:"verify-modal-code"},{default:v(()=>[j("短信内容:"+D(ae.code),1)]),_:1}),g(o,{class:"verify-modal-actions"},{default:v(()=>[g(o,{class:"verify-modal-btn verify-modal-btn-call",onClick:a[14]||(a[14]=e=>{return a=ae.phone,M.value=!1,void(a?N({phoneNumber:a,fail:()=>{uni.$u.toast("无法发起拨号")}}):uni.$u.toast("号码不能为空"));var a})},{default:v(()=>[j("打电话 ")]),_:1}),g(o,{class:"verify-modal-btn verify-modal-btn-sms",onClick:a[15]||(a[15]=e=>{return a=ae.phone,l=ae.code,M.value=!1,void(window.location.href=`sms:${a}?body=${l}`);var a,l})},{default:v(()=>[j("发短信")]),_:1})]),_:1})]),_:1})]),_:1})):T("",!0)]),_:1})],64)}}}),[["__scopeId","data-v-00d3d320"]]);export{W as default};
|