(function(){ const TAG = 'spz-custom-reset-password-tips'; class SpzCustomResetPassWordTips extends SPZ.BaseElement { constructor(element) { super(element); this.templates_ = SPZServices.templatesForDoc(); this.passwordTipsApi = "/api/vitaminworld/customer/v2/password_tips"; } buildCallback = () => { this.action_ = SPZServices.actionServiceForDoc(this.element); this.xhr_ = SPZServices.xhrFor(this.win); } mountCallback() { this.setupAction_() } isLayoutSupported = (layout) => { return layout == SPZCore.Layout.CONTAINER; } getHasResetPdData() { const formEl = document.getElementById("login-form-1539137349999") let formData = new FormData(formEl); let email = formData.get('email'); return fetch(`${this.passwordTipsApi}?email=${email}`).then((res)=>{ return res.json(); }).then((data)=> { return data; }) } handleResetPasswordStatus() { const formEl = document.getElementById("reset-password-email-form") const formData = new FormData(formEl); const email = formData.get('email'); const paramsFormData = new FormData(); paramsFormData.append('email', email); fetch(this.passwordTipsApi, { method: 'put', mode: 'cors', body: paramsFormData }).then((data) => { }) } triggerEvent_ = (name, data) => { const event = SPZUtils.Event.create(this.win, `${TAG}.${name}`, data || {}); this.action_.trigger(this.element, name, event); } setupAction_ = () => { this.registerAction('handleResetPasswordTips', async (invocation) => { const data = await this.getHasResetPdData(); if(data.is_show_tips) { this.triggerEvent_('showResetTips', data); setTimeout(()=>{ window.location.href = "/account/resetpw" },3000); } }); this.registerAction('updateResetPasswordStatus', async (invocation) => { this.handleResetPasswordStatus(); }); } } SPZ.defineElement(TAG, SpzCustomResetPassWordTips) })();

Sign in

Login for more discounts