@rolatech/angular-account 17.2.5 → 17.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/avatar-update-dialog/avatar-update-dialog.component.mjs +3 -3
- package/esm2022/lib/components/forgot-password/forgot-password.component.mjs +3 -3
- package/esm2022/lib/components/login/login-wechat/login-wechat.component.mjs +4 -8
- package/esm2022/lib/components/logout/logout.component.mjs +3 -3
- package/esm2022/lib/components/passwordreset/passwordreset.component.mjs +3 -3
- package/esm2022/lib/components/topbar-login/topbar-login.component.mjs +3 -3
- package/esm2022/lib/components/user-item/user-item.component.mjs +7 -5
- package/esm2022/lib/pages/accounts/signin/signin.component.mjs +21 -9
- package/esm2022/lib/pages/accounts/signup/signup.component.mjs +5 -5
- package/esm2022/lib/pages/myaccount/email/email.component.mjs +14 -14
- package/esm2022/lib/pages/myaccount/email-verification/email-verification.component.mjs +3 -3
- package/esm2022/lib/pages/myaccount/gender/gender.component.mjs +15 -16
- package/esm2022/lib/pages/myaccount/home/home.component.mjs +45 -10
- package/esm2022/lib/pages/myaccount/personal-info/info.component.mjs +10 -17
- package/esm2022/lib/pages/myaccount/personal-info/profile/profile.component.mjs +22 -16
- package/esm2022/lib/pages/myaccount/personal-info/username/username.component.mjs +12 -14
- package/esm2022/lib/pages/myaccount/phone/phone.component.mjs +19 -24
- package/esm2022/lib/pages/myaccount/security/security-faceid/security-faceid.component.mjs +3 -3
- package/esm2022/lib/pages/myaccount/security/security-index/security-index.component.mjs +3 -3
- package/esm2022/lib/pages/myaccount/security/security-password/security-password.component.mjs +8 -11
- package/esm2022/lib/pages/myaccount/security/security-verification/security-verification.component.mjs +6 -6
- package/esm2022/lib/services/wechat-login.service.mjs +9 -6
- package/fesm2022/{rolatech-angular-account-email-verification.component-D9e--XMc.mjs → rolatech-angular-account-email-verification.component-Wgkfs9Lk.mjs} +4 -4
- package/fesm2022/{rolatech-angular-account-email-verification.component-D9e--XMc.mjs.map → rolatech-angular-account-email-verification.component-Wgkfs9Lk.mjs.map} +1 -1
- package/fesm2022/{rolatech-angular-account-email.component-DC8qYVOJ.mjs → rolatech-angular-account-email.component-OZQWgvRq.mjs} +14 -14
- package/fesm2022/rolatech-angular-account-email.component-OZQWgvRq.mjs.map +1 -0
- package/fesm2022/{rolatech-angular-account-gender.component-DWdWJiQW.mjs → rolatech-angular-account-gender.component-et-tBTIn.mjs} +15 -16
- package/fesm2022/rolatech-angular-account-gender.component-et-tBTIn.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account-home.component-CLpbrgbY.mjs +77 -0
- package/fesm2022/rolatech-angular-account-home.component-CLpbrgbY.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account-info.component-BylW4MU8.mjs +98 -0
- package/fesm2022/rolatech-angular-account-info.component-BylW4MU8.mjs.map +1 -0
- package/fesm2022/{rolatech-angular-account-login.routes-DWwDcOM9.mjs → rolatech-angular-account-login.routes-Ck2VnoP1.mjs} +6 -10
- package/fesm2022/rolatech-angular-account-login.routes-Ck2VnoP1.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account-phone.component-Y1-PQ88s.mjs +68 -0
- package/fesm2022/rolatech-angular-account-phone.component-Y1-PQ88s.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account-profile.component-qPo6AqKP.mjs +50 -0
- package/fesm2022/rolatech-angular-account-profile.component-qPo6AqKP.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account-rolatech-angular-account-OPsV8YM0.mjs +444 -0
- package/fesm2022/rolatech-angular-account-rolatech-angular-account-OPsV8YM0.mjs.map +1 -0
- package/fesm2022/{rolatech-angular-account-security.routes-Dag8RZ38.mjs → rolatech-angular-account-security.routes-oSrz_UlJ.mjs} +14 -15
- package/fesm2022/rolatech-angular-account-security.routes-oSrz_UlJ.mjs.map +1 -0
- package/fesm2022/{rolatech-angular-account-username.component-BL2F5fnx.mjs → rolatech-angular-account-username.component-aqWzvFh7.mjs} +12 -14
- package/fesm2022/rolatech-angular-account-username.component-aqWzvFh7.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account.mjs +2 -2
- package/lib/pages/myaccount/email/email.component.d.ts +5 -4
- package/lib/pages/myaccount/gender/gender.component.d.ts +4 -1
- package/lib/pages/myaccount/home/home.component.d.ts +8 -4
- package/lib/pages/myaccount/personal-info/info.component.d.ts +2 -4
- package/lib/pages/myaccount/personal-info/profile/profile.component.d.ts +2 -2
- package/lib/pages/myaccount/personal-info/username/username.component.d.ts +2 -2
- package/lib/pages/myaccount/phone/phone.component.d.ts +2 -2
- package/lib/pages/myaccount/security/security-verification/security-verification.component.d.ts +1 -1
- package/lib/services/wechat-login.service.d.ts +3 -1
- package/package.json +5 -5
- package/themes/_default.scss +1 -1
- package/fesm2022/rolatech-angular-account-email.component-DC8qYVOJ.mjs.map +0 -1
- package/fesm2022/rolatech-angular-account-gender.component-DWdWJiQW.mjs.map +0 -1
- package/fesm2022/rolatech-angular-account-home.component-DOQ-USiX.mjs +0 -41
- package/fesm2022/rolatech-angular-account-home.component-DOQ-USiX.mjs.map +0 -1
- package/fesm2022/rolatech-angular-account-info.component-DNi4eTxV.mjs +0 -105
- package/fesm2022/rolatech-angular-account-info.component-DNi4eTxV.mjs.map +0 -1
- package/fesm2022/rolatech-angular-account-login.routes-DWwDcOM9.mjs.map +0 -1
- package/fesm2022/rolatech-angular-account-phone.component-r9dWPfEL.mjs +0 -73
- package/fesm2022/rolatech-angular-account-phone.component-r9dWPfEL.mjs.map +0 -1
- package/fesm2022/rolatech-angular-account-profile.component-CJfmQ3Ba.mjs +0 -44
- package/fesm2022/rolatech-angular-account-profile.component-CJfmQ3Ba.mjs.map +0 -1
- package/fesm2022/rolatech-angular-account-rolatech-angular-account-CMkF3BmF.mjs +0 -429
- package/fesm2022/rolatech-angular-account-rolatech-angular-account-CMkF3BmF.mjs.map +0 -1
- package/fesm2022/rolatech-angular-account-security.routes-Dag8RZ38.mjs.map +0 -1
- package/fesm2022/rolatech-angular-account-username.component-BL2F5fnx.mjs.map +0 -1
package/themes/_default.scss
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.right-0{right:0}.top-0{top:0}.z-20{z-index:20}.z-30{z-index:30}.-m-1{margin:-.25rem}.m-3{margin:.75rem}.m-auto{margin:auto}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-bottom:.5rem;margin-top:.5rem}.my-3{margin-bottom:.75rem;margin-top:.75rem}.-ml-2{margin-left:-.5rem}.-mt-4{margin-top:-1rem}.mb-12{margin-bottom:3rem}.mb-14{margin-bottom:3.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-24{margin-left:6rem}.ml-3{margin-left:.75rem}.ml-\[40px\]{margin-left:40px}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-6{margin-right:1.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-\[6px\]{margin-top:6px}.box-border{box-sizing:border-box}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.hidden{display:none}.aspect-video{aspect-ratio:16/9}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-20{height:5rem}.h-24{height:6rem}.h-32{height:8rem}.h-4{height:1rem}.h-9{height:2.25rem}.h-\[190px\]{height:190px}.h-\[1px\]{height:1px}.h-\[256px\]{height:256px}.h-auto{height:auto}.h-full{height:100%}.max-h-32{max-height:8rem}.min-h-11{min-height:2.75rem}.min-h-\[214px\]{min-height:214px}.min-h-\[320px\]{min-height:320px}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-20{width:5rem}.w-24{width:6rem}.w-32{width:8rem}.w-4{width:1rem}.w-9{width:2.25rem}.w-\[100px\]{width:100px}.w-\[128px\]{width:128px}.w-\[190px\]{width:190px}.w-\[256px\]{width:256px}.w-full{width:100%}.min-w-\[190px\]{min-width:190px}.min-w-\[256px\]{min-width:256px}.min-w-\[320px\]{min-width:320px}.max-w-\[1120px\]{max-width:1120px}.max-w-\[128px\]{max-width:128px}.max-w-\[500px\]{max-width:500px}.max-w-\[820px\]{max-width:820px}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.flex-1{flex:1 1 0%}.scale-90{--tw-scale-x:.9;--tw-scale-y:.9}.scale-90,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-dashed{border-style:dashed}.border-black{--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.bg-orange-300{--tw-bg-opacity:1;background-color:rgb(253 186 116/var(--tw-bg-opacity))}.bg-orange-600{--tw-bg-opacity:1;background-color:rgb(234 88 12/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-fixed{background-attachment:fixed}.fill-current{fill:currentColor}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.py-8{padding-bottom:2rem;padding-top:2rem}.pb-6{padding-bottom:1.5rem}.pl-2{padding-left:.5rem}.pl-4{padding-left:1rem}.pl-8{padding-left:2rem}.pt-3{padding-top:.75rem}.pt-6{padding-top:1.5rem}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-thin{font-weight:100}.leading-3{line-height:.75rem}.leading-none{line-height:1}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity))}.text-transparent{color:transparent}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-gray-300{--tw-shadow-color:#d1d5db;--tw-shadow:var(--tw-shadow-colored)}.outline{outline-style:solid}.outline-4{outline-width:4px}.outline-transparent{outline-color:transparent}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover\:bg-black:hover{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-gray-300:hover{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.hover\:bg-orange-700:hover{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow:hover{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.hover\:shadow-lg:hover,.hover\:shadow:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.hover\:shadow-gray-400:hover{--tw-shadow-color:#9ca3af;--tw-shadow:var(--tw-shadow-colored)}.hover\:outline-gray-200:hover{outline-color:#e5e7eb}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}@media (min-width:640px){.sm\:w-1\/3{width:33.333333%}.sm\:w-\[600px\]{width:600px}.sm\:flex-row{flex-direction:row}.sm\:justify-center{justify-content:center}.sm\:gap-10{gap:2.5rem}.sm\:border{border-width:1px}.sm\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.sm\:px-16{padding-left:4rem;padding-right:4rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:768px){.md\:w-1\/4{width:25%}.md\:justify-center{justify-content:center}.md\:shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}}@media (min-width:1024px){.lg\:w-1\/6{width:16.666667%}.lg\:w-\[600px\]{width:600px}.lg\:flex-row{flex-direction:row}.lg\:p-11{padding:2.75rem}}@media (min-width:1280px){.xl\:w-\[800px\]{width:800px}.xl\:max-w-\[1024px\]{max-width:1024px}}@media (min-width:1536px){.\32xl\:max-w-\[1280px\]{max-width:1280px}}
|
|
1
|
+
.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.right-0{right:0}.top-0{top:0}.z-20{z-index:20}.z-30{z-index:30}.-m-1{margin:-.25rem}.m-3{margin:.75rem}.m-auto{margin:auto}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-bottom:.5rem;margin-top:.5rem}.my-3{margin-bottom:.75rem;margin-top:.75rem}.-mt-4{margin-top:-1rem}.mb-12{margin-bottom:3rem}.mb-14{margin-bottom:3.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-24{margin-left:6rem}.ml-3{margin-left:.75rem}.ml-\[40px\]{margin-left:40px}.ml-\[56px\]{margin-left:56px}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-6{margin-right:1.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-\[6px\]{margin-top:6px}.box-border{box-sizing:border-box}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.hidden{display:none}.aspect-video{aspect-ratio:16/9}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-20{height:5rem}.h-24{height:6rem}.h-32{height:8rem}.h-4{height:1rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[190px\]{height:190px}.h-\[256px\]{height:256px}.h-auto{height:auto}.h-full{height:100%}.max-h-32{max-height:8rem}.max-h-8{max-height:2rem}.min-h-11{min-height:2.75rem}.min-h-14{min-height:3.5rem}.min-h-\[214px\]{min-height:214px}.min-h-\[320px\]{min-height:320px}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-32{width:8rem}.w-4{width:1rem}.w-9{width:2.25rem}.w-\[128px\]{width:128px}.w-\[190px\]{width:190px}.w-\[256px\]{width:256px}.w-full{width:100%}.min-w-\[256px\]{min-width:256px}.min-w-\[320px\]{min-width:320px}.max-w-\[1120px\]{max-width:1120px}.max-w-\[128px\]{max-width:128px}.max-w-\[500px\]{max-width:500px}.max-w-\[820px\]{max-width:820px}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.flex-1{flex:1 1 0%}.scale-90{--tw-scale-x:.9;--tw-scale-y:.9}.scale-90,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.overflow-x-scroll{overflow-x:scroll}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre{white-space:pre}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-dashed{border-style:dashed}.border-black{--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-orange-600{--tw-bg-opacity:1;background-color:rgb(234 88 12/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-fixed{background-attachment:fixed}.fill-current{fill:currentColor}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.py-8{padding-bottom:2rem;padding-top:2rem}.pb-6{padding-bottom:1.5rem}.pl-2{padding-left:.5rem}.pl-4{padding-left:1rem}.pl-8{padding-left:2rem}.pt-3{padding-top:.75rem}.pt-6{padding-top:1.5rem}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-thin{font-weight:100}.leading-3{line-height:.75rem}.leading-none{line-height:1}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity))}.text-transparent{color:transparent}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-gray-300{--tw-shadow-color:#d1d5db;--tw-shadow:var(--tw-shadow-colored)}.outline{outline-style:solid}.outline-4{outline-width:4px}.outline-transparent{outline-color:transparent}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover\:bg-black:hover{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-gray-300:hover{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:outline-gray-200:hover{outline-color:#e5e7eb}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}@media (min-width:640px){.sm\:mb-1{margin-bottom:.25rem}.sm\:mr-0{margin-right:0}.sm\:h-full{height:100%}.sm\:w-1\/3{width:33.333333%}.sm\:w-\[600px\]{width:600px}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:items-start{align-items:flex-start}.sm\:justify-center{justify-content:center}.sm\:gap-10{gap:2.5rem}.sm\:border{border-width:1px}.sm\:bg-gray-100{background-color:rgb(243 244 246/var(--tw-bg-opacity))}.sm\:bg-gray-100,.sm\:bg-white{--tw-bg-opacity:1}.sm\:bg-white{background-color:rgb(255 255 255/var(--tw-bg-opacity))}.sm\:px-16{padding-left:4rem;padding-right:4rem}.sm\:text-lg{font-size:1.125rem}.sm\:text-lg,.sm\:text-xl{line-height:1.75rem}.sm\:text-xl{font-size:1.25rem}}@media (min-width:768px){.md\:w-1\/4{width:25%}.md\:justify-center{justify-content:center}}@media (min-width:1024px){.lg\:w-1\/6{width:16.666667%}.lg\:w-\[600px\]{width:600px}.lg\:flex-row{flex-direction:row}.lg\:p-11{padding:2.75rem}}@media (min-width:1280px){.xl\:w-\[800px\]{width:800px}.xl\:max-w-\[1024px\]{max-width:1024px}}@media (min-width:1536px){.\32xl\:max-w-\[1280px\]{max-width:1280px}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rolatech-angular-account-email.component-DC8qYVOJ.mjs","sources":["../../../../libs/angular-account/src/lib/pages/myaccount/email/email.component.ts","../../../../libs/angular-account/src/lib/pages/myaccount/email/email.component.html"],"sourcesContent":["import { Component, OnInit, inject } from '@angular/core';\nimport { AuthUserService } from '@rolatech/angular-auth';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { AngularComponentsModule, BaseComponent } from '@rolatech/angular-components';\nimport { BackButtonDirective } from '@rolatech/angular-services';\nimport { Observable } from 'rxjs';\n\n@Component({\n standalone: true,\n imports: [AngularCommonModule, AngularComponentsModule, BackButtonDirective],\n selector: 'rolatech-account-email',\n templateUrl: './email.component.html',\n styleUrls: ['./email.component.scss'],\n})\nexport class EmailComponent extends BaseComponent implements OnInit {\n authUserService = inject(AuthUserService);\n user$!: Observable<any>;\n email = '';\n\n ngOnInit(): void {\n this.authUserService.me().subscribe({\n next: (res) => {\n this.email = res.email;\n },\n });\n }\n\n save() {\n this.authUserService.update({ email: this.email }).subscribe({\n next: (res) => {\n this.snackBarService.open('修改成功');\n },\n error: (error) => {\n this.snackBarService.open(error.message);\n },\n });\n }\n}\n","<div class=\"max-w-[1120px] m-auto\">\n <div class=\"max-w-[820px] p-4\">\n <div class=\"flex flex-col justify-center items-center p-3 mb-12\">\n <p class=\"text-3xl\">修改邮箱</p>\n <p class=\"text-md\">您可以通过邮箱获得更多我们的产品信息</p>\n </div>\n <div class=\"flex flex-col\">\n <mat-form-field appearance=\"fill\">\n <input matInput [(ngModel)]=\"email\" />\n </mat-form-field>\n </div>\n <div class=\"flex justify-end items-center mt-3\">\n <button mat-button rolatechBackButton>取消</button>\n <button\n class=\"bg-orange-600 shadow shadow-gray-300 cursor-pointer w-20 p-2 text-white rounded text-center ml-3\"\n (click)=\"save()\"\n >\n 保存\n </button>\n </div>\n </div>\n</div>\n"],"names":[],"mappings":";;;;;;;;;;;AAcM,MAAO,cAAe,SAAQ,aAAa,CAAA;AAPjD,IAAA,WAAA,GAAA;;AAQE,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;QAE1C,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;AAoBZ,KAAA;IAlBC,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC;AAClC,YAAA,IAAI,EAAE,CAAC,GAAG,KAAI;AACZ,gBAAA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;aACxB;AACF,SAAA,CAAC,CAAC;KACJ;IAED,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC;AAC3D,YAAA,IAAI,EAAE,CAAC,GAAG,KAAI;AACZ,gBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACnC;AACD,YAAA,KAAK,EAAE,CAAC,KAAK,KAAI;gBACf,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aAC1C;AACF,SAAA,CAAC,CAAC;KACJ;8GAtBU,cAAc,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,yGCd3B,w3BAsBA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDbY,mBAAmB,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,uBAAuB,mvBAAE,mBAAmB,EAAA,QAAA,EAAA,sBAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAKhE,cAAc,EAAA,UAAA,EAAA,CAAA;kBAP1B,SAAS;iCACI,IAAI,EAAA,OAAA,EACP,CAAC,mBAAmB,EAAE,uBAAuB,EAAE,mBAAmB,CAAC,EAAA,QAAA,EAClE,wBAAwB,EAAA,QAAA,EAAA,w3BAAA,EAAA,CAAA;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rolatech-angular-account-gender.component-DWdWJiQW.mjs","sources":["../../../../libs/angular-account/src/lib/pages/myaccount/gender/gender.component.ts","../../../../libs/angular-account/src/lib/pages/myaccount/gender/gender.component.html"],"sourcesContent":["import { Component, OnInit, inject } from '@angular/core';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { AuthUserService } from '@rolatech/angular-auth';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { AngularComponentsModule, BaseComponent } from '@rolatech/angular-components';\nimport { BackButtonDirective } from '@rolatech/angular-services';\nimport { UserGender } from '../../../contant/user';\n\n@Component({\n standalone: true,\n imports: [AngularCommonModule, AngularComponentsModule, MatRadioModule, BackButtonDirective],\n selector: 'rolatech-account-gender',\n templateUrl: './gender.component.html',\n styleUrls: ['./gender.component.scss'],\n})\nexport class GenderComponent extends BaseComponent implements OnInit {\n authUserService = inject(AuthUserService);\n\n genders: string[] = ['男', '女', '不公开'];\n gender: any = UserGender;\n selectedGender = '';\n\n ngOnInit(): void {\n this.authUserService.me().subscribe({\n next: (res) => {\n this.selectedGender = this.gender[res.gender];\n },\n });\n }\n\n save() {\n this.authUserService.update({ gender: this.gender[this.selectedGender] }).subscribe({\n next: (res) => {\n this.snackBarService.open('修改成功');\n },\n error: (error) => {\n this.snackBarService.open(error.message);\n },\n });\n }\n}\n","<div>\n <div class=\"px-3 max-w-[1120px] m-auto\">\n <div class=\"flex items-center\">\n <div class=\"flex items-center justify-center w-11 h-11 cursor-pointer\" rolatechBackButton>\n <mat-icon>arrow_back</mat-icon>\n </div>\n <span class=\"text-xl font-medium\">设置性别</span>\n </div>\n </div>\n <div class=\"px-4\">\n <mat-divider></mat-divider>\n </div>\n <div class=\"max-w-[1120px] m-auto p-4\">\n <label class=\"px-2\">性别选择</label>\n <mat-radio-group class=\"flex flex-col\" color=\"primary\" [(ngModel)]=\"selectedGender\">\n @for (gender of genders; track gender) {\n <mat-radio-button [value]=\"gender\">{{ gender }}</mat-radio-button>\n }\n </mat-radio-group>\n <div class=\"flex justify-end items-center mt-3\">\n <button mat-button rolatechBackButton>取消</button>\n <button\n class=\"bg-orange-600 shadow shadow-gray-300 cursor-pointer w-20 p-2 text-white rounded text-center ml-3\"\n (click)=\"save()\"\n >\n 保存\n </button>\n </div>\n </div>\n</div>\n"],"names":["i3","i4"],"mappings":"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"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, Component } from '@angular/core';
|
|
3
|
-
import { AuthUserService } from '@rolatech/angular-auth';
|
|
4
|
-
import { BaseComponent, AngularComponentsModule, SpinnerComponent, TabsComponent, TabComponent, ToolbarComponent } from '@rolatech/angular-components';
|
|
5
|
-
import { AngularCommonModule } from '@rolatech/angular-common';
|
|
6
|
-
import { U as UserItemComponent } from './rolatech-angular-account-rolatech-angular-account-CMkF3BmF.mjs';
|
|
7
|
-
import * as i1 from '@angular/common';
|
|
8
|
-
import '@angular/material/snack-bar';
|
|
9
|
-
import '@angular/router';
|
|
10
|
-
import '@angular/forms';
|
|
11
|
-
import '@angular/platform-browser';
|
|
12
|
-
import '@angular/material/form-field';
|
|
13
|
-
import '@angular/material/input';
|
|
14
|
-
import '@angular/material/button';
|
|
15
|
-
|
|
16
|
-
class HomeComponent extends BaseComponent {
|
|
17
|
-
constructor() {
|
|
18
|
-
super();
|
|
19
|
-
this.authUserService = inject(AuthUserService);
|
|
20
|
-
}
|
|
21
|
-
ngOnInit() {
|
|
22
|
-
this.user$ = this.authUserService.me();
|
|
23
|
-
}
|
|
24
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: HomeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.3", type: HomeComponent, isStandalone: true, selector: "rolatech-account-home", usesInheritance: true, ngImport: i0, template: "@if (user$ | async; as user) {\n <div class=\"max-w-[1120px] m-auto\">\n <div class=\"max-w-[820px] m-3\">\n <!-- <rolatech-spinner></rolatech-spinner> -->\n <div class=\"flex flex-col justify-center items-center p-3 mb-12\">\n <div class=\"p-3 mb-3\">\n <div class=\"w-20 h-20 rounded-full bg-orange-600\">\n @if (user.avatar) {\n <img class=\"w-20 h-20 rounded-full object-cover\" [src]=\"user.avatar\" />\n }\n </div>\n </div>\n <p class=\"text-3xl\">\u6B22\u8FCE\u56DE\u6765, {{ user.name }}</p>\n <p class=\"text-md\">\u7528\u6237\u4E2D\u5FC3, \u65B9\u4FBF\u60A8\u7EF4\u62A4\u4E2A\u4EBA\u4FE1\u606F, \u8FD9\u4F1A\u6709\u4E00\u4E2A\u5F88\u597D\u7684\u4F53\u9A8C</p>\n </div>\n </div>\n </div>\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AngularComponentsModule }] }); }
|
|
26
|
-
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: HomeComponent, decorators: [{
|
|
28
|
-
type: Component,
|
|
29
|
-
args: [{ standalone: true, imports: [
|
|
30
|
-
AngularCommonModule,
|
|
31
|
-
AngularComponentsModule,
|
|
32
|
-
SpinnerComponent,
|
|
33
|
-
UserItemComponent,
|
|
34
|
-
TabsComponent,
|
|
35
|
-
TabComponent,
|
|
36
|
-
ToolbarComponent,
|
|
37
|
-
], selector: 'rolatech-account-home', template: "@if (user$ | async; as user) {\n <div class=\"max-w-[1120px] m-auto\">\n <div class=\"max-w-[820px] m-3\">\n <!-- <rolatech-spinner></rolatech-spinner> -->\n <div class=\"flex flex-col justify-center items-center p-3 mb-12\">\n <div class=\"p-3 mb-3\">\n <div class=\"w-20 h-20 rounded-full bg-orange-600\">\n @if (user.avatar) {\n <img class=\"w-20 h-20 rounded-full object-cover\" [src]=\"user.avatar\" />\n }\n </div>\n </div>\n <p class=\"text-3xl\">\u6B22\u8FCE\u56DE\u6765, {{ user.name }}</p>\n <p class=\"text-md\">\u7528\u6237\u4E2D\u5FC3, \u65B9\u4FBF\u60A8\u7EF4\u62A4\u4E2A\u4EBA\u4FE1\u606F, \u8FD9\u4F1A\u6709\u4E00\u4E2A\u5F88\u597D\u7684\u4F53\u9A8C</p>\n </div>\n </div>\n </div>\n}\n" }]
|
|
38
|
-
}], ctorParameters: () => [] });
|
|
39
|
-
|
|
40
|
-
export { HomeComponent };
|
|
41
|
-
//# sourceMappingURL=rolatech-angular-account-home.component-DOQ-USiX.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rolatech-angular-account-home.component-DOQ-USiX.mjs","sources":["../../../../libs/angular-account/src/lib/pages/myaccount/home/home.component.ts","../../../../libs/angular-account/src/lib/pages/myaccount/home/home.component.html"],"sourcesContent":["import { Observable } from 'rxjs';\nimport { Component, effect, inject, OnInit, signal } from '@angular/core';\nimport { AuthUserService } from '@rolatech/angular-auth';\nimport {\n AngularComponentsModule,\n BaseComponent,\n SpinnerComponent,\n TabComponent,\n TabsComponent,\n ToolbarComponent,\n} from '@rolatech/angular-components';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { UserItemComponent } from '../../../components';\nimport { map } from 'lodash';\n\n@Component({\n standalone: true,\n imports: [\n AngularCommonModule,\n AngularComponentsModule,\n SpinnerComponent,\n UserItemComponent,\n TabsComponent,\n TabComponent,\n ToolbarComponent,\n ],\n selector: 'rolatech-account-home',\n templateUrl: './home.component.html',\n styleUrls: ['./home.component.scss'],\n})\nexport class HomeComponent extends BaseComponent implements OnInit {\n user$!: Observable<any>;\n authUserService = inject(AuthUserService);\n constructor() {\n super();\n }\n ngOnInit(): void {\n this.user$ = this.authUserService.me();\n }\n}\n","@if (user$ | async; as user) {\n <div class=\"max-w-[1120px] m-auto\">\n <div class=\"max-w-[820px] m-3\">\n <!-- <rolatech-spinner></rolatech-spinner> -->\n <div class=\"flex flex-col justify-center items-center p-3 mb-12\">\n <div class=\"p-3 mb-3\">\n <div class=\"w-20 h-20 rounded-full bg-orange-600\">\n @if (user.avatar) {\n <img class=\"w-20 h-20 rounded-full object-cover\" [src]=\"user.avatar\" />\n }\n </div>\n </div>\n <p class=\"text-3xl\">欢迎回来, {{ user.name }}</p>\n <p class=\"text-md\">用户中心, 方便您维护个人信息, 这会有一个很好的体验</p>\n </div>\n </div>\n </div>\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AA8BM,MAAO,aAAc,SAAQ,aAAa,CAAA;AAG9C,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE,CAAC;AAFV,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;KAGzC;IACD,QAAQ,GAAA;QACN,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC;KACxC;8GARU,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,EC9B1B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,uyBAkBA,EDAI,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,mFACnB,uBAAuB,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAWd,aAAa,EAAA,UAAA,EAAA,CAAA;kBAfzB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,EACP,OAAA,EAAA;wBACP,mBAAmB;wBACnB,uBAAuB;wBACvB,gBAAgB;wBAChB,iBAAiB;wBACjB,aAAa;wBACb,YAAY;wBACZ,gBAAgB;AACjB,qBAAA,EAAA,QAAA,EACS,uBAAuB,EAAA,QAAA,EAAA,uyBAAA,EAAA,CAAA;;;;;"}
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, output, Component, Inject } from '@angular/core';
|
|
3
|
-
import { AuthUserService } from '@rolatech/angular-auth';
|
|
4
|
-
import { AngularCommonModule } from '@rolatech/angular-common';
|
|
5
|
-
import { AngularComponentsModule, SpinnerComponent } from '@rolatech/angular-components';
|
|
6
|
-
import { MatDialogRef, MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';
|
|
7
|
-
import { U as UserGender } from './rolatech-angular-account-user-CK_zEFn_.mjs';
|
|
8
|
-
import { CommonModule } from '@angular/common';
|
|
9
|
-
import * as i2 from '@angular/material/button';
|
|
10
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
11
|
-
import * as i3 from '@angular/material/icon';
|
|
12
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
13
|
-
import { SnackBarService } from '@rolatech/angular-services';
|
|
14
|
-
import * as i1 from '@angular/router';
|
|
15
|
-
import * as i2$1 from '@angular/material/divider';
|
|
16
|
-
import * as i4 from '@angular/material/list';
|
|
17
|
-
|
|
18
|
-
class AvatarUpdateDialogComponent {
|
|
19
|
-
constructor(data) {
|
|
20
|
-
this.data = data;
|
|
21
|
-
this.dialogRef = inject(MatDialogRef);
|
|
22
|
-
this.authUserService = inject(AuthUserService);
|
|
23
|
-
this.snackBarService = inject(SnackBarService);
|
|
24
|
-
this.avatar = '';
|
|
25
|
-
this.save = output();
|
|
26
|
-
this.avatar = data.avatar;
|
|
27
|
-
}
|
|
28
|
-
cancel() {
|
|
29
|
-
this.dialogRef.close();
|
|
30
|
-
}
|
|
31
|
-
onSave() {
|
|
32
|
-
this.save.emit(this.avatar);
|
|
33
|
-
}
|
|
34
|
-
onUpload(event) {
|
|
35
|
-
const file = event.target.files[0];
|
|
36
|
-
if (file) {
|
|
37
|
-
const reader = new FileReader();
|
|
38
|
-
reader.readAsDataURL(file);
|
|
39
|
-
reader.onload = () => {
|
|
40
|
-
this.avatar = reader.result;
|
|
41
|
-
// this.isUploading = true;
|
|
42
|
-
const formData = new FormData();
|
|
43
|
-
formData.append('file', file);
|
|
44
|
-
this.authUserService.uploadAvatar(formData).subscribe({
|
|
45
|
-
next: (res) => {
|
|
46
|
-
this.snackBarService.open('更新成功');
|
|
47
|
-
// this.isUploading = false;
|
|
48
|
-
},
|
|
49
|
-
error: (e) => {
|
|
50
|
-
// this.isUploading = false;
|
|
51
|
-
// this.snackBar.open('上传失败: ' + e.message);
|
|
52
|
-
},
|
|
53
|
-
});
|
|
54
|
-
};
|
|
55
|
-
reader.onerror = (error) => {
|
|
56
|
-
// this.isUploading = false;
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: AvatarUpdateDialogComponent, deps: [{ token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
61
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.3", type: AvatarUpdateDialogComponent, isStandalone: true, selector: "rolatech-account-avatar-update-dialog", outputs: { save: "save" }, ngImport: i0, template: "<div class=\"flex flex-col p-3 max-w-[500px] mx-auto\">\n <div class=\"text-xl font-bold p-3\">\u4FEE\u6539\u5934\u50CF</div>\n <!-- <div class=\"w-[256px] h-[256px] mx-auto flex justify-center items-center\">\n <img [src]=\"avatar\" />\n </div> -->\n <div class=\"px-3 py-8\">\n <div\n class=\"bg-orange-600 w-[256px] h-[256px] rounded-full cursor-pointer hover:outline-gray-200 outline outline-transparent outline-4\"\n >\n @if (avatar) {\n <div class=\"w-[256px] h-[256px]\">\n <img [src]=\"avatar\" class=\"w-[256px] h-[256px] rounded-full object-cover\" />\n </div>\n }\n </div>\n </div>\n\n <!-- <div class=\"p-3 flex justify-end items-center gap-3\">\n <button mat-button (click)=\"cancel()\">\u53D6\u6D88</button>\n <button mat-flat-button color=\"primary\" (click)=\"onSave()\">\u4FDD\u5B58</button>\n </div> -->\n <div class=\"py-3\">\n <input style=\"display: none\" type=\"file\" accept=\"image/*\" (change)=\"onUpload($event)\" #fileInput />\n <button mat-flat-button (click)=\"fileInput.click()\">\n <mat-icon>edit</mat-icon>\n <span>\u66F4\u6362\u5934\u50CF</span>\n </button>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
|
|
62
|
-
}
|
|
63
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: AvatarUpdateDialogComponent, decorators: [{
|
|
64
|
-
type: Component,
|
|
65
|
-
args: [{ selector: 'rolatech-account-avatar-update-dialog', standalone: true, imports: [CommonModule, MatButtonModule, MatIconModule], template: "<div class=\"flex flex-col p-3 max-w-[500px] mx-auto\">\n <div class=\"text-xl font-bold p-3\">\u4FEE\u6539\u5934\u50CF</div>\n <!-- <div class=\"w-[256px] h-[256px] mx-auto flex justify-center items-center\">\n <img [src]=\"avatar\" />\n </div> -->\n <div class=\"px-3 py-8\">\n <div\n class=\"bg-orange-600 w-[256px] h-[256px] rounded-full cursor-pointer hover:outline-gray-200 outline outline-transparent outline-4\"\n >\n @if (avatar) {\n <div class=\"w-[256px] h-[256px]\">\n <img [src]=\"avatar\" class=\"w-[256px] h-[256px] rounded-full object-cover\" />\n </div>\n }\n </div>\n </div>\n\n <!-- <div class=\"p-3 flex justify-end items-center gap-3\">\n <button mat-button (click)=\"cancel()\">\u53D6\u6D88</button>\n <button mat-flat-button color=\"primary\" (click)=\"onSave()\">\u4FDD\u5B58</button>\n </div> -->\n <div class=\"py-3\">\n <input style=\"display: none\" type=\"file\" accept=\"image/*\" (change)=\"onUpload($event)\" #fileInput />\n <button mat-flat-button (click)=\"fileInput.click()\">\n <mat-icon>edit</mat-icon>\n <span>\u66F4\u6362\u5934\u50CF</span>\n </button>\n </div>\n</div>\n" }]
|
|
66
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
67
|
-
type: Inject,
|
|
68
|
-
args: [MAT_DIALOG_DATA]
|
|
69
|
-
}] }] });
|
|
70
|
-
|
|
71
|
-
class InfoComponent {
|
|
72
|
-
constructor() {
|
|
73
|
-
this.authUserService = inject(AuthUserService);
|
|
74
|
-
this.dialog = inject(MatDialog);
|
|
75
|
-
this.gender = UserGender;
|
|
76
|
-
}
|
|
77
|
-
ngOnInit() {
|
|
78
|
-
this.user$ = this.authUserService.me();
|
|
79
|
-
this.user$.subscribe({
|
|
80
|
-
next: (user) => {
|
|
81
|
-
this.user = user;
|
|
82
|
-
},
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
updateAvatar() {
|
|
86
|
-
const dialogRef = this.dialog.open(AvatarUpdateDialogComponent, {
|
|
87
|
-
data: {
|
|
88
|
-
avatar: this.user.avatar,
|
|
89
|
-
},
|
|
90
|
-
});
|
|
91
|
-
dialogRef.afterClosed().subscribe((result) => {
|
|
92
|
-
console.log(result);
|
|
93
|
-
location.reload();
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: InfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
97
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.3", type: InfoComponent, isStandalone: true, selector: "rolatech-account-info", ngImport: i0, template: "<div class=\"max-w-[1120px] m-auto\">\n <div class=\"max-w-[820px] m-3\">\n <rolatech-spinner></rolatech-spinner>\n @if (user) {\n <div>\n <div class=\"flex flex-col justify-center items-center p-3 mb-12\">\n <p class=\"text-3xl\">\u4E2A\u4EBA\u4FE1\u606F</p>\n <p class=\"text-md\">\u7528\u6237\u4FE1\u606F\u7684\u5168\u90E8\u5185\u5BB9</p>\n </div>\n <div class=\"border border-grap-400 rounded px-3 pt-3 mb-14\">\n <div class=\"p-3 text-xl\">\u57FA\u672C\u8BBE\u7F6E</div>\n <mat-nav-list>\n <mat-list-item (click)=\"updateAvatar()\" class=\"h-16\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center\">\n <span class=\"w-24 text-sm font-thin\">\u5934\u50CF</span>\n <span class=\"w-24 text-sm\">\u8D26\u6237\u7684\u5934\u50CF</span>\n </div>\n <div\n class=\"mr-6 bg-orange-600 w-9 h-9 rounded-full cursor-pointer hover:outline-gray-200 outline outline-transparent outline-4\"\n >\n @if (user.avatar) {\n <div class=\"w-9 h-9\">\n <img [src]=\"user.avatar\" class=\"w-9 h-9 rounded-full object-cover\" />\n </div>\n }\n </div>\n </div>\n </mat-list-item>\n <mat-divider class=\"mx-3\"></mat-divider>\n <mat-list-item routerLink=\"../profile\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center\">\n <span class=\"w-24 text-sm font-thin\">\u59D3\u540D</span>\n <span>{{ user?.name }}</span>\n </div>\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n <mat-divider class=\"mx-3\"></mat-divider>\n <mat-list-item routerLink=\"../gender\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center\">\n <span class=\"w-24 text-sm font-thin\">\u6027\u522B</span>\n <span>{{ gender[user.gender] || '\u672A\u8BBE\u7F6E' }}</span>\n </div>\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n <mat-divider class=\"mx-3\"></mat-divider>\n <mat-list-item routerLink=\"../username\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center\">\n <span class=\"w-24 text-sm font-thin\">\u7528\u6237\u540D</span>\n <span>{{ user.username }}</span>\n </div>\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n </mat-nav-list>\n </div>\n <!-- contact -->\n <div class=\"border border-grap-400 rounded px-3 pt-3\">\n <div class=\"p-3 text-xl\">\u8054\u7CFB\u65B9\u5F0F</div>\n <mat-nav-list>\n <mat-list-item routerLink=\"../email\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center\">\n <span class=\"w-24 text-sm font-thin\">\u90AE\u7BB1</span>\n <span>{{ user.email || '\u672A\u8BBE\u7F6E' }}</span>\n </div>\n <!-- <mat-icon mat-list-icon>arrow_drop_down</mat-icon> -->\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n <mat-divider class=\"mx-3\"></mat-divider>\n <mat-list-item routerLink=\"../phone\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center\">\n <span class=\"w-24 text-sm font-thin\">\u7535\u8BDD</span>\n <span>{{ user.phone || '\u672A\u8BBE\u7F6E' }}</span>\n </div>\n <!-- <mat-icon mat-list-icon>arrow_drop_down</mat-icon> -->\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n </mat-nav-list>\n </div>\n </div>\n }\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: i2$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i4.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "component", type: SpinnerComponent, selector: "rolatech-spinner", inputs: ["title"] }] }); }
|
|
98
|
-
}
|
|
99
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: InfoComponent, decorators: [{
|
|
100
|
-
type: Component,
|
|
101
|
-
args: [{ standalone: true, imports: [AngularCommonModule, AngularComponentsModule, SpinnerComponent], selector: 'rolatech-account-info', template: "<div class=\"max-w-[1120px] m-auto\">\n <div class=\"max-w-[820px] m-3\">\n <rolatech-spinner></rolatech-spinner>\n @if (user) {\n <div>\n <div class=\"flex flex-col justify-center items-center p-3 mb-12\">\n <p class=\"text-3xl\">\u4E2A\u4EBA\u4FE1\u606F</p>\n <p class=\"text-md\">\u7528\u6237\u4FE1\u606F\u7684\u5168\u90E8\u5185\u5BB9</p>\n </div>\n <div class=\"border border-grap-400 rounded px-3 pt-3 mb-14\">\n <div class=\"p-3 text-xl\">\u57FA\u672C\u8BBE\u7F6E</div>\n <mat-nav-list>\n <mat-list-item (click)=\"updateAvatar()\" class=\"h-16\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center\">\n <span class=\"w-24 text-sm font-thin\">\u5934\u50CF</span>\n <span class=\"w-24 text-sm\">\u8D26\u6237\u7684\u5934\u50CF</span>\n </div>\n <div\n class=\"mr-6 bg-orange-600 w-9 h-9 rounded-full cursor-pointer hover:outline-gray-200 outline outline-transparent outline-4\"\n >\n @if (user.avatar) {\n <div class=\"w-9 h-9\">\n <img [src]=\"user.avatar\" class=\"w-9 h-9 rounded-full object-cover\" />\n </div>\n }\n </div>\n </div>\n </mat-list-item>\n <mat-divider class=\"mx-3\"></mat-divider>\n <mat-list-item routerLink=\"../profile\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center\">\n <span class=\"w-24 text-sm font-thin\">\u59D3\u540D</span>\n <span>{{ user?.name }}</span>\n </div>\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n <mat-divider class=\"mx-3\"></mat-divider>\n <mat-list-item routerLink=\"../gender\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center\">\n <span class=\"w-24 text-sm font-thin\">\u6027\u522B</span>\n <span>{{ gender[user.gender] || '\u672A\u8BBE\u7F6E' }}</span>\n </div>\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n <mat-divider class=\"mx-3\"></mat-divider>\n <mat-list-item routerLink=\"../username\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center\">\n <span class=\"w-24 text-sm font-thin\">\u7528\u6237\u540D</span>\n <span>{{ user.username }}</span>\n </div>\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n </mat-nav-list>\n </div>\n <!-- contact -->\n <div class=\"border border-grap-400 rounded px-3 pt-3\">\n <div class=\"p-3 text-xl\">\u8054\u7CFB\u65B9\u5F0F</div>\n <mat-nav-list>\n <mat-list-item routerLink=\"../email\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center\">\n <span class=\"w-24 text-sm font-thin\">\u90AE\u7BB1</span>\n <span>{{ user.email || '\u672A\u8BBE\u7F6E' }}</span>\n </div>\n <!-- <mat-icon mat-list-icon>arrow_drop_down</mat-icon> -->\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n <mat-divider class=\"mx-3\"></mat-divider>\n <mat-list-item routerLink=\"../phone\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center\">\n <span class=\"w-24 text-sm font-thin\">\u7535\u8BDD</span>\n <span>{{ user.phone || '\u672A\u8BBE\u7F6E' }}</span>\n </div>\n <!-- <mat-icon mat-list-icon>arrow_drop_down</mat-icon> -->\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n </mat-nav-list>\n </div>\n </div>\n }\n </div>\n</div>\n" }]
|
|
102
|
-
}] });
|
|
103
|
-
|
|
104
|
-
export { InfoComponent };
|
|
105
|
-
//# sourceMappingURL=rolatech-angular-account-info.component-DNi4eTxV.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rolatech-angular-account-info.component-DNi4eTxV.mjs","sources":["../../../../libs/angular-account/src/lib/components/avatar-update-dialog/avatar-update-dialog.component.ts","../../../../libs/angular-account/src/lib/components/avatar-update-dialog/avatar-update-dialog.component.html","../../../../libs/angular-account/src/lib/pages/myaccount/personal-info/info.component.ts","../../../../libs/angular-account/src/lib/pages/myaccount/personal-info/info.component.html"],"sourcesContent":["import { Component, Inject, inject, input, output } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { MatButtonModule } from '@angular/material/button';\nimport { AuthUserService } from '@rolatech/angular-auth';\nimport { MatIconModule } from '@angular/material/icon';\nimport { SnackBarService } from '@rolatech/angular-services';\n\n@Component({\n selector: 'rolatech-account-avatar-update-dialog',\n standalone: true,\n imports: [CommonModule, MatButtonModule, MatIconModule],\n templateUrl: './avatar-update-dialog.component.html',\n styleUrl: './avatar-update-dialog.component.scss',\n})\nexport class AvatarUpdateDialogComponent {\n dialogRef = inject(MatDialogRef);\n authUserService = inject(AuthUserService);\n snackBarService = inject(SnackBarService);\n avatar: any = '';\n save = output<any>();\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: { avatar: string }) {\n this.avatar = data.avatar;\n }\n\n cancel() {\n this.dialogRef.close();\n }\n onSave() {\n this.save.emit(this.avatar);\n }\n onUpload(event: any) {\n const file = event.target.files[0];\n if (file) {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => {\n this.avatar = reader.result;\n // this.isUploading = true;\n const formData = new FormData();\n formData.append('file', file);\n\n this.authUserService.uploadAvatar(formData).subscribe({\n next: (res: any) => {\n this.snackBarService.open('更新成功');\n // this.isUploading = false;\n },\n error: (e) => {\n // this.isUploading = false;\n // this.snackBar.open('上传失败: ' + e.message);\n },\n });\n };\n reader.onerror = (error) => {\n // this.isUploading = false;\n };\n }\n }\n}\n","<div class=\"flex flex-col p-3 max-w-[500px] mx-auto\">\n <div class=\"text-xl font-bold p-3\">修改头像</div>\n <!-- <div class=\"w-[256px] h-[256px] mx-auto flex justify-center items-center\">\n <img [src]=\"avatar\" />\n </div> -->\n <div class=\"px-3 py-8\">\n <div\n class=\"bg-orange-600 w-[256px] h-[256px] rounded-full cursor-pointer hover:outline-gray-200 outline outline-transparent outline-4\"\n >\n @if (avatar) {\n <div class=\"w-[256px] h-[256px]\">\n <img [src]=\"avatar\" class=\"w-[256px] h-[256px] rounded-full object-cover\" />\n </div>\n }\n </div>\n </div>\n\n <!-- <div class=\"p-3 flex justify-end items-center gap-3\">\n <button mat-button (click)=\"cancel()\">取消</button>\n <button mat-flat-button color=\"primary\" (click)=\"onSave()\">保存</button>\n </div> -->\n <div class=\"py-3\">\n <input style=\"display: none\" type=\"file\" accept=\"image/*\" (change)=\"onUpload($event)\" #fileInput />\n <button mat-flat-button (click)=\"fileInput.click()\">\n <mat-icon>edit</mat-icon>\n <span>更换头像</span>\n </button>\n </div>\n</div>\n","import { Component, inject, OnInit } from '@angular/core';\nimport { AuthUserService } from '@rolatech/angular-auth';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { AngularComponentsModule, SpinnerComponent } from '@rolatech/angular-components';\nimport { Observable } from 'rxjs';\nimport { MatDialog } from '@angular/material/dialog';\nimport { UserGender } from '../../../contant/user';\nimport { AvatarUpdateDialogComponent } from '../../../components/avatar-update-dialog/avatar-update-dialog.component';\n\n@Component({\n standalone: true,\n imports: [AngularCommonModule, AngularComponentsModule, SpinnerComponent],\n selector: 'rolatech-account-info',\n templateUrl: './info.component.html',\n styleUrls: ['./info.component.scss'],\n})\nexport class InfoComponent implements OnInit {\n user$!: Observable<any>;\n authUserService = inject(AuthUserService);\n dialog = inject(MatDialog);\n user: any;\n gender: any = UserGender;\n\n ngOnInit(): void {\n this.user$ = this.authUserService.me();\n this.user$.subscribe({\n next: (user) => {\n this.user = user;\n },\n });\n }\n updateAvatar() {\n const dialogRef = this.dialog.open(AvatarUpdateDialogComponent, {\n data: {\n avatar: this.user.avatar,\n },\n });\n dialogRef.afterClosed().subscribe((result) => {\n console.log(result);\n location.reload();\n });\n }\n}\n","<div class=\"max-w-[1120px] m-auto\">\n <div class=\"max-w-[820px] m-3\">\n <rolatech-spinner></rolatech-spinner>\n @if (user) {\n <div>\n <div class=\"flex flex-col justify-center items-center p-3 mb-12\">\n <p class=\"text-3xl\">个人信息</p>\n <p class=\"text-md\">用户信息的全部内容</p>\n </div>\n <div class=\"border border-grap-400 rounded px-3 pt-3 mb-14\">\n <div class=\"p-3 text-xl\">基本设置</div>\n <mat-nav-list>\n <mat-list-item (click)=\"updateAvatar()\" class=\"h-16\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center\">\n <span class=\"w-24 text-sm font-thin\">头像</span>\n <span class=\"w-24 text-sm\">账户的头像</span>\n </div>\n <div\n class=\"mr-6 bg-orange-600 w-9 h-9 rounded-full cursor-pointer hover:outline-gray-200 outline outline-transparent outline-4\"\n >\n @if (user.avatar) {\n <div class=\"w-9 h-9\">\n <img [src]=\"user.avatar\" class=\"w-9 h-9 rounded-full object-cover\" />\n </div>\n }\n </div>\n </div>\n </mat-list-item>\n <mat-divider class=\"mx-3\"></mat-divider>\n <mat-list-item routerLink=\"../profile\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center\">\n <span class=\"w-24 text-sm font-thin\">姓名</span>\n <span>{{ user?.name }}</span>\n </div>\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n <mat-divider class=\"mx-3\"></mat-divider>\n <mat-list-item routerLink=\"../gender\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center\">\n <span class=\"w-24 text-sm font-thin\">性别</span>\n <span>{{ gender[user.gender] || '未设置' }}</span>\n </div>\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n <mat-divider class=\"mx-3\"></mat-divider>\n <mat-list-item routerLink=\"../username\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center\">\n <span class=\"w-24 text-sm font-thin\">用户名</span>\n <span>{{ user.username }}</span>\n </div>\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n </mat-nav-list>\n </div>\n <!-- contact -->\n <div class=\"border border-grap-400 rounded px-3 pt-3\">\n <div class=\"p-3 text-xl\">联系方式</div>\n <mat-nav-list>\n <mat-list-item routerLink=\"../email\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center\">\n <span class=\"w-24 text-sm font-thin\">邮箱</span>\n <span>{{ user.email || '未设置' }}</span>\n </div>\n <!-- <mat-icon mat-list-icon>arrow_drop_down</mat-icon> -->\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n <mat-divider class=\"mx-3\"></mat-divider>\n <mat-list-item routerLink=\"../phone\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center\">\n <span class=\"w-24 text-sm font-thin\">电话</span>\n <span>{{ user.phone || '未设置' }}</span>\n </div>\n <!-- <mat-icon mat-list-icon>arrow_drop_down</mat-icon> -->\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n </mat-nav-list>\n </div>\n </div>\n }\n </div>\n</div>\n"],"names":["i2"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rolatech-angular-account-login.routes-DWwDcOM9.mjs","sources":["../../../../libs/angular-account/src/lib/components/login/login-wechat/login-wechat.component.ts","../../../../libs/angular-account/src/lib/components/login/login-wechat/login-wechat.component.html","../../../../libs/angular-account/src/lib/components/login/login.routes.ts"],"sourcesContent":["import { isPlatformBrowser } from '@angular/common';\nimport { Component, OnInit, PLATFORM_ID, inject } from '@angular/core';\nimport { AuthService } from '@rolatech/angular-auth';\nimport { APP_CONFIG, AngularCommonModule } from '@rolatech/angular-common';\nimport { AngularComponentsModule, BaseComponent } from '@rolatech/angular-components';\nimport { WeChatLoginService } from '../../../services/wechat-login.service';\n\n@Component({\n standalone: true,\n imports: [AngularCommonModule, AngularComponentsModule],\n selector: 'rolatech-account-login-wechat',\n templateUrl: './login-wechat.component.html',\n styleUrls: ['./login-wechat.component.scss'],\n})\nexport class LoginWechatComponent extends BaseComponent implements OnInit {\n authService = inject(AuthService);\n environment = inject(APP_CONFIG);\n platformId = inject(PLATFORM_ID);\n wechtLoginService = inject(WeChatLoginService);\n\n ngOnInit(): void {\n this.route.queryParams.subscribe({\n next: (params: any) => {\n this.wechatLogin(params.code, params.state);\n },\n });\n }\n wechatLogin(code: string, state: string) {\n window.parent.postMessage({ code: 23 }, this.environment.accountsUrl);\n\n this.authService.wechatLogin(code, state).subscribe({\n next: (res) => {\n if (res.name) {\n window.parent.postMessage({ code: 200 }, this.environment.accountsUrl);\n }\n // if (isPlatformBrowser(this.platformId) && res.code === 200) {\n // window.parent.postMessage({ code: res.code }, this.environment.myaccountUrl);\n // }\n },\n });\n }\n}\n","<div>loading...</div>\n","import { Routes } from '@angular/router';\nimport { LoginWechatComponent } from './login-wechat/login-wechat.component';\n\nconst loginRoutes: Routes = [{ path: '', component: LoginWechatComponent }];\nexport default loginRoutes;\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAcM,MAAO,oBAAqB,SAAQ,aAAa,CAAA;AAPvD,IAAA,WAAA,GAAA;;AAQE,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAClC,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AACjC,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AACjC,QAAA,IAAA,CAAA,iBAAiB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAuBhD,KAAA;IArBC,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC;AAC/B,YAAA,IAAI,EAAE,CAAC,MAAW,KAAI;gBACpB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;aAC7C;AACF,SAAA,CAAC,CAAC;KACJ;IACD,WAAW,CAAC,IAAY,EAAE,KAAa,EAAA;AACrC,QAAA,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAEtE,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC;AAClD,YAAA,IAAI,EAAE,CAAC,GAAG,KAAI;AACZ,gBAAA,IAAI,GAAG,CAAC,IAAI,EAAE;AACZ,oBAAA,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;iBACxE;;;;aAIF;AACF,SAAA,CAAC,CAAC;KACJ;8GA1BU,oBAAoB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,ECdjC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,+BAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,yBACA,EDQY,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,8BAAE,uBAAuB,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAK3C,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAPhC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,WACP,CAAC,mBAAmB,EAAE,uBAAuB,CAAC,YAC7C,+BAA+B,EAAA,QAAA,EAAA,yBAAA,EAAA,CAAA;;;AEP3C,MAAM,WAAW,GAAW,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,oBAAoB,EAAE;;;;"}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, Component } from '@angular/core';
|
|
3
|
-
import { AuthUserService } from '@rolatech/angular-auth';
|
|
4
|
-
import { AngularCommonModule } from '@rolatech/angular-common';
|
|
5
|
-
import { BaseComponent, AngularComponentsModule } from '@rolatech/angular-components';
|
|
6
|
-
import { BackButtonDirective } from '@rolatech/angular-services';
|
|
7
|
-
import * as i1 from '@angular/common';
|
|
8
|
-
import * as i1$1 from '@angular/forms';
|
|
9
|
-
import * as i2 from '@angular/material/button';
|
|
10
|
-
import * as i2$1 from '@angular/material/divider';
|
|
11
|
-
import * as i3 from '@angular/material/icon';
|
|
12
|
-
import * as i3$1 from '@angular/material/form-field';
|
|
13
|
-
import * as i4 from '@angular/material/input';
|
|
14
|
-
|
|
15
|
-
class PhoneComponent extends BaseComponent {
|
|
16
|
-
constructor() {
|
|
17
|
-
super(...arguments);
|
|
18
|
-
this.authUserService = inject(AuthUserService);
|
|
19
|
-
this.phone = '';
|
|
20
|
-
this.code = '';
|
|
21
|
-
this.countDown = false;
|
|
22
|
-
this.countDownTime = 60;
|
|
23
|
-
this.showButtonText = '发送验证码';
|
|
24
|
-
}
|
|
25
|
-
ngOnInit() {
|
|
26
|
-
this.authUserService.me().subscribe({
|
|
27
|
-
next: (res) => {
|
|
28
|
-
this.phone = res.phone;
|
|
29
|
-
},
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
sendSMSCode() {
|
|
33
|
-
this.countDown = true;
|
|
34
|
-
const start = setInterval(() => {
|
|
35
|
-
if (this.countDownTime >= 0) {
|
|
36
|
-
this.showButtonText = `${this.countDownTime--}秒重发`;
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
clearInterval(start);
|
|
40
|
-
this.showButtonText = '重新发送';
|
|
41
|
-
this.countDown = false;
|
|
42
|
-
this.countDownTime = 60;
|
|
43
|
-
}
|
|
44
|
-
}, 1000);
|
|
45
|
-
this.authUserService.sendSMSCode('+86', this.phone).subscribe({
|
|
46
|
-
next: (res) => {
|
|
47
|
-
this.snackBarService.open('发送成功');
|
|
48
|
-
},
|
|
49
|
-
error: (error) => {
|
|
50
|
-
this.snackBarService.open(error.message);
|
|
51
|
-
},
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
save() {
|
|
55
|
-
this.authUserService.changePhone(this.phone, this.code).subscribe({
|
|
56
|
-
next: (res) => {
|
|
57
|
-
this.snackBarService.open('修改成功');
|
|
58
|
-
},
|
|
59
|
-
error: (error) => {
|
|
60
|
-
this.snackBarService.open(error.message);
|
|
61
|
-
},
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PhoneComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
65
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: PhoneComponent, isStandalone: true, selector: "rolatech-account-phone", usesInheritance: true, ngImport: i0, template: "<div>\n <div class=\"px-3 max-w-[1120px] m-auto\">\n <div class=\"flex items-center\">\n <div class=\"flex items-center justify-center w-11 h-11 cursor-pointer\" rolatechBackButton>\n <mat-icon>arrow_back</mat-icon>\n </div>\n <span class=\"text-xl font-medium\">\u4FEE\u6539\u624B\u673A\u53F7</span>\n </div>\n </div>\n <div class=\"px-4\">\n <mat-divider></mat-divider>\n </div>\n\n <div class=\"max-w-[1120px] m-auto px-6\">\n <p class=\"text-md my-3\">\u624B\u673A\u53F7\u662F\u60A8\u5728\u672C\u7AD9\u7684\u552F\u4E00\u6807\u8BC6, \u66F4\u6539\u540E\u5C06\u540C\u65F6\u66F4\u6539\u7B2C\u4E09\u65B9\u7ED1\u5B9A\u7684\u624B\u673A\u53F7</p>\n <div class=\"flex flex-col mt-3\">\n <mat-form-field appearance=\"fill\">\n <mat-label> \u624B\u673A\u53F7 </mat-label>\n <input matInput [(ngModel)]=\"phone\" required />\n </mat-form-field>\n <div class=\"flex justify-between items-start gap-3\">\n <mat-form-field appearance=\"fill\">\n <mat-label> \u9A8C\u8BC1\u7801 </mat-label>\n <input matInput [(ngModel)]=\"code\" required />\n </mat-form-field>\n <button\n (click)=\"sendSMSCode()\"\n [disabled]=\"countDown\"\n [ngClass]=\"countDown ? 'bg-orange-300' : 'bg-orange-600 shadow shadow-gray-300 cursor-pointer'\"\n class=\"w-[128px] p-2 mt-2 text-white rounded text-center\"\n >\n <span class=\"text-sm\">{{ showButtonText }}</span>\n </button>\n </div>\n </div>\n\n <div class=\"flex justify-end items-center mt-3\">\n <button mat-button rolatechBackButton>\u53D6\u6D88</button>\n <button\n class=\"bg-orange-600 shadow shadow-gray-300 cursor-pointer w-[128px] p-2 text-white rounded text-center ml-3\"\n (click)=\"save()\"\n >\n \u4FDD\u5B58\n </button>\n </div>\n </div>\n</div>\n", styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: BackButtonDirective, selector: "[rolatechBackButton]" }] }); }
|
|
66
|
-
}
|
|
67
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PhoneComponent, decorators: [{
|
|
68
|
-
type: Component,
|
|
69
|
-
args: [{ standalone: true, imports: [AngularCommonModule, AngularComponentsModule, BackButtonDirective], selector: 'rolatech-account-phone', template: "<div>\n <div class=\"px-3 max-w-[1120px] m-auto\">\n <div class=\"flex items-center\">\n <div class=\"flex items-center justify-center w-11 h-11 cursor-pointer\" rolatechBackButton>\n <mat-icon>arrow_back</mat-icon>\n </div>\n <span class=\"text-xl font-medium\">\u4FEE\u6539\u624B\u673A\u53F7</span>\n </div>\n </div>\n <div class=\"px-4\">\n <mat-divider></mat-divider>\n </div>\n\n <div class=\"max-w-[1120px] m-auto px-6\">\n <p class=\"text-md my-3\">\u624B\u673A\u53F7\u662F\u60A8\u5728\u672C\u7AD9\u7684\u552F\u4E00\u6807\u8BC6, \u66F4\u6539\u540E\u5C06\u540C\u65F6\u66F4\u6539\u7B2C\u4E09\u65B9\u7ED1\u5B9A\u7684\u624B\u673A\u53F7</p>\n <div class=\"flex flex-col mt-3\">\n <mat-form-field appearance=\"fill\">\n <mat-label> \u624B\u673A\u53F7 </mat-label>\n <input matInput [(ngModel)]=\"phone\" required />\n </mat-form-field>\n <div class=\"flex justify-between items-start gap-3\">\n <mat-form-field appearance=\"fill\">\n <mat-label> \u9A8C\u8BC1\u7801 </mat-label>\n <input matInput [(ngModel)]=\"code\" required />\n </mat-form-field>\n <button\n (click)=\"sendSMSCode()\"\n [disabled]=\"countDown\"\n [ngClass]=\"countDown ? 'bg-orange-300' : 'bg-orange-600 shadow shadow-gray-300 cursor-pointer'\"\n class=\"w-[128px] p-2 mt-2 text-white rounded text-center\"\n >\n <span class=\"text-sm\">{{ showButtonText }}</span>\n </button>\n </div>\n </div>\n\n <div class=\"flex justify-end items-center mt-3\">\n <button mat-button rolatechBackButton>\u53D6\u6D88</button>\n <button\n class=\"bg-orange-600 shadow shadow-gray-300 cursor-pointer w-[128px] p-2 text-white rounded text-center ml-3\"\n (click)=\"save()\"\n >\n \u4FDD\u5B58\n </button>\n </div>\n </div>\n</div>\n", styles: ["mat-form-field{width:100%}\n"] }]
|
|
70
|
-
}] });
|
|
71
|
-
|
|
72
|
-
export { PhoneComponent };
|
|
73
|
-
//# sourceMappingURL=rolatech-angular-account-phone.component-r9dWPfEL.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rolatech-angular-account-phone.component-r9dWPfEL.mjs","sources":["../../../../libs/angular-account/src/lib/pages/myaccount/phone/phone.component.ts","../../../../libs/angular-account/src/lib/pages/myaccount/phone/phone.component.html"],"sourcesContent":["import { Component, OnInit, inject } from '@angular/core';\nimport { AuthUserService } from '@rolatech/angular-auth';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { AngularComponentsModule, BaseComponent } from '@rolatech/angular-components';\nimport { BackButtonDirective } from '@rolatech/angular-services';\nimport { Observable } from 'rxjs';\n\n@Component({\n standalone: true,\n imports: [AngularCommonModule, AngularComponentsModule, BackButtonDirective],\n selector: 'rolatech-account-phone',\n templateUrl: './phone.component.html',\n styleUrls: ['./phone.component.scss'],\n})\nexport class PhoneComponent extends BaseComponent implements OnInit {\n authUserService = inject(AuthUserService);\n user$!: Observable<any>;\n phone = '';\n code = '';\n countDown = false;\n countDownTime = 60;\n showButtonText = '发送验证码';\n\n ngOnInit(): void {\n this.authUserService.me().subscribe({\n next: (res) => {\n this.phone = res.phone;\n },\n });\n }\n\n sendSMSCode() {\n this.countDown = true;\n const start = setInterval(() => {\n if (this.countDownTime >= 0) {\n this.showButtonText = `${this.countDownTime--}秒重发`;\n } else {\n clearInterval(start);\n this.showButtonText = '重新发送';\n this.countDown = false;\n this.countDownTime = 60;\n }\n }, 1000);\n\n this.authUserService.sendSMSCode('+86', this.phone).subscribe({\n next: (res) => {\n this.snackBarService.open('发送成功');\n },\n error: (error) => {\n this.snackBarService.open(error.message);\n },\n });\n }\n save() {\n this.authUserService.changePhone(this.phone, this.code).subscribe({\n next: (res) => {\n this.snackBarService.open('修改成功');\n },\n error: (error) => {\n this.snackBarService.open(error.message);\n },\n });\n }\n}\n","<div>\n <div class=\"px-3 max-w-[1120px] m-auto\">\n <div class=\"flex items-center\">\n <div class=\"flex items-center justify-center w-11 h-11 cursor-pointer\" rolatechBackButton>\n <mat-icon>arrow_back</mat-icon>\n </div>\n <span class=\"text-xl font-medium\">修改手机号</span>\n </div>\n </div>\n <div class=\"px-4\">\n <mat-divider></mat-divider>\n </div>\n\n <div class=\"max-w-[1120px] m-auto px-6\">\n <p class=\"text-md my-3\">手机号是您在本站的唯一标识, 更改后将同时更改第三方绑定的手机号</p>\n <div class=\"flex flex-col mt-3\">\n <mat-form-field appearance=\"fill\">\n <mat-label> 手机号 </mat-label>\n <input matInput [(ngModel)]=\"phone\" required />\n </mat-form-field>\n <div class=\"flex justify-between items-start gap-3\">\n <mat-form-field appearance=\"fill\">\n <mat-label> 验证码 </mat-label>\n <input matInput [(ngModel)]=\"code\" required />\n </mat-form-field>\n <button\n (click)=\"sendSMSCode()\"\n [disabled]=\"countDown\"\n [ngClass]=\"countDown ? 'bg-orange-300' : 'bg-orange-600 shadow shadow-gray-300 cursor-pointer'\"\n class=\"w-[128px] p-2 mt-2 text-white rounded text-center\"\n >\n <span class=\"text-sm\">{{ showButtonText }}</span>\n </button>\n </div>\n </div>\n\n <div class=\"flex justify-end items-center mt-3\">\n <button mat-button rolatechBackButton>取消</button>\n <button\n class=\"bg-orange-600 shadow shadow-gray-300 cursor-pointer w-[128px] p-2 text-white rounded text-center ml-3\"\n (click)=\"save()\"\n >\n 保存\n </button>\n </div>\n </div>\n</div>\n"],"names":["i2"],"mappings":"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"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, Component } from '@angular/core';
|
|
3
|
-
import { AuthUserService } from '@rolatech/angular-auth';
|
|
4
|
-
import { AngularCommonModule } from '@rolatech/angular-common';
|
|
5
|
-
import { BaseComponent, AngularComponentsModule } from '@rolatech/angular-components';
|
|
6
|
-
import { BackButtonDirective } from '@rolatech/angular-services';
|
|
7
|
-
import * as i1 from '@angular/forms';
|
|
8
|
-
import * as i2 from '@angular/material/button';
|
|
9
|
-
import * as i3 from '@angular/material/form-field';
|
|
10
|
-
import * as i4 from '@angular/material/input';
|
|
11
|
-
|
|
12
|
-
class ProfileComponent extends BaseComponent {
|
|
13
|
-
constructor() {
|
|
14
|
-
super(...arguments);
|
|
15
|
-
this.authUserService = inject(AuthUserService);
|
|
16
|
-
this.name = '';
|
|
17
|
-
}
|
|
18
|
-
ngOnInit() {
|
|
19
|
-
this.authUserService.me().subscribe({
|
|
20
|
-
next: (res) => {
|
|
21
|
-
this.name = res.name;
|
|
22
|
-
},
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
save() {
|
|
26
|
-
this.authUserService.changeName(this.name).subscribe({
|
|
27
|
-
next: (res) => {
|
|
28
|
-
this.snackBarService.open('修改成功');
|
|
29
|
-
},
|
|
30
|
-
error: (error) => {
|
|
31
|
-
this.snackBarService.open(error.message);
|
|
32
|
-
},
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ProfileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
36
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: ProfileComponent, isStandalone: true, selector: "rolatech-account-profile", usesInheritance: true, ngImport: i0, template: "<div class=\"max-w-[1120px] m-auto\">\n <div class=\"max-w-[820px] p-4\">\n <div class=\"flex flex-col justify-center items-center p-3 mb-12\">\n <p class=\"text-3xl\">\u4FEE\u6539\u59D3\u540D</p>\n <p class=\"text-md\">\u7528\u6237\u540D\u662F\u60A8\u5728\u672C\u7AD9\u7684\u7B80\u79F0, \u53EF\u4EE5\u662F\u771F\u5B9E\u59D3\u540D, \u4E5F\u53EF\u4EE5\u662F\u6635\u79F0</p>\n </div>\n <div class=\"flex flex-col\">\n <mat-form-field appearance=\"fill\">\n <input matInput [(ngModel)]=\"name\" />\n </mat-form-field>\n </div>\n <div class=\"flex justify-end items-center mt-3\">\n <button mat-button rolatechBackButton>\u53D6\u6D88</button>\n <button\n class=\"bg-orange-600 shadow shadow-gray-300 cursor-pointer w-20 p-2 text-white rounded text-center ml-3\"\n (click)=\"save()\"\n >\n \u4FDD\u5B58\n </button>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: BackButtonDirective, selector: "[rolatechBackButton]" }] }); }
|
|
37
|
-
}
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ProfileComponent, decorators: [{
|
|
39
|
-
type: Component,
|
|
40
|
-
args: [{ standalone: true, imports: [AngularCommonModule, AngularComponentsModule, BackButtonDirective], selector: 'rolatech-account-profile', template: "<div class=\"max-w-[1120px] m-auto\">\n <div class=\"max-w-[820px] p-4\">\n <div class=\"flex flex-col justify-center items-center p-3 mb-12\">\n <p class=\"text-3xl\">\u4FEE\u6539\u59D3\u540D</p>\n <p class=\"text-md\">\u7528\u6237\u540D\u662F\u60A8\u5728\u672C\u7AD9\u7684\u7B80\u79F0, \u53EF\u4EE5\u662F\u771F\u5B9E\u59D3\u540D, \u4E5F\u53EF\u4EE5\u662F\u6635\u79F0</p>\n </div>\n <div class=\"flex flex-col\">\n <mat-form-field appearance=\"fill\">\n <input matInput [(ngModel)]=\"name\" />\n </mat-form-field>\n </div>\n <div class=\"flex justify-end items-center mt-3\">\n <button mat-button rolatechBackButton>\u53D6\u6D88</button>\n <button\n class=\"bg-orange-600 shadow shadow-gray-300 cursor-pointer w-20 p-2 text-white rounded text-center ml-3\"\n (click)=\"save()\"\n >\n \u4FDD\u5B58\n </button>\n </div>\n </div>\n</div>\n" }]
|
|
41
|
-
}] });
|
|
42
|
-
|
|
43
|
-
export { ProfileComponent };
|
|
44
|
-
//# sourceMappingURL=rolatech-angular-account-profile.component-CJfmQ3Ba.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rolatech-angular-account-profile.component-CJfmQ3Ba.mjs","sources":["../../../../libs/angular-account/src/lib/pages/myaccount/personal-info/profile/profile.component.ts","../../../../libs/angular-account/src/lib/pages/myaccount/personal-info/profile/profile.component.html"],"sourcesContent":["import { Component, OnInit, inject } from '@angular/core';\nimport { AuthUserService } from '@rolatech/angular-auth';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { AngularComponentsModule, BaseComponent } from '@rolatech/angular-components';\nimport { BackButtonDirective } from '@rolatech/angular-services';\nimport { Observable } from 'rxjs';\n\n@Component({\n standalone: true,\n imports: [AngularCommonModule, AngularComponentsModule, BackButtonDirective],\n selector: 'rolatech-account-profile',\n templateUrl: './profile.component.html',\n styleUrls: ['./profile.component.scss'],\n})\nexport class ProfileComponent extends BaseComponent implements OnInit {\n authUserService = inject(AuthUserService);\n user$!: Observable<any>;\n name = '';\n\n ngOnInit(): void {\n this.authUserService.me().subscribe({\n next: (res) => {\n this.name = res.name;\n },\n });\n }\n\n save() {\n this.authUserService.changeName(this.name).subscribe({\n next: (res) => {\n this.snackBarService.open('修改成功');\n },\n error: (error) => {\n this.snackBarService.open(error.message);\n },\n });\n }\n}\n","<div class=\"max-w-[1120px] m-auto\">\n <div class=\"max-w-[820px] p-4\">\n <div class=\"flex flex-col justify-center items-center p-3 mb-12\">\n <p class=\"text-3xl\">修改姓名</p>\n <p class=\"text-md\">用户名是您在本站的简称, 可以是真实姓名, 也可以是昵称</p>\n </div>\n <div class=\"flex flex-col\">\n <mat-form-field appearance=\"fill\">\n <input matInput [(ngModel)]=\"name\" />\n </mat-form-field>\n </div>\n <div class=\"flex justify-end items-center mt-3\">\n <button mat-button rolatechBackButton>取消</button>\n <button\n class=\"bg-orange-600 shadow shadow-gray-300 cursor-pointer w-20 p-2 text-white rounded text-center ml-3\"\n (click)=\"save()\"\n >\n 保存\n </button>\n </div>\n </div>\n</div>\n"],"names":[],"mappings":";;;;;;;;;;;AAcM,MAAO,gBAAiB,SAAQ,aAAa,CAAA;AAPnD,IAAA,WAAA,GAAA;;AAQE,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;QAE1C,IAAI,CAAA,IAAA,GAAG,EAAE,CAAC;AAoBX,KAAA;IAlBC,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC;AAClC,YAAA,IAAI,EAAE,CAAC,GAAG,KAAI;AACZ,gBAAA,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;aACtB;AACF,SAAA,CAAC,CAAC;KACJ;IAED,IAAI,GAAA;QACF,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC;AACnD,YAAA,IAAI,EAAE,CAAC,GAAG,KAAI;AACZ,gBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACnC;AACD,YAAA,KAAK,EAAE,CAAC,KAAK,KAAI;gBACf,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aAC1C;AACF,SAAA,CAAC,CAAC;KACJ;8GAtBU,gBAAgB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,2GCd7B,+5BAsBA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDbY,mBAAmB,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,uBAAuB,mvBAAE,mBAAmB,EAAA,QAAA,EAAA,sBAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAKhE,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAP5B,SAAS;iCACI,IAAI,EAAA,OAAA,EACP,CAAC,mBAAmB,EAAE,uBAAuB,EAAE,mBAAmB,CAAC,EAAA,QAAA,EAClE,0BAA0B,EAAA,QAAA,EAAA,+5BAAA,EAAA,CAAA;;;;;"}
|