...
|
...
|
@@ -5,9 +5,9 @@ |
|
|
</view>
|
|
|
<view class="phone-title">{{ Event?.type === 'editpassword' ? '修改密码' : '更换手机号' }}</view>
|
|
|
<view style="margin-bottom: 56rpx">
|
|
|
<up-input placeholder="请输入手机号" border="bottom" placeholderClass="placeholderClass" v-model="phone">
|
|
|
<up-input placeholder="请输入手机号" border="bottom" placeholderClass="placeholderClass" v-model="phone" disabled disabledColor="#fff">
|
|
|
<template #suffix>
|
|
|
<view class="phone-suffix" @click="startCountdown(clickGetCodeHandler)">{{ countdown === 60 ? '获取验证码' : `${countdown}秒后可重新获取` }}</view>
|
|
|
<view class="phone-suffix" @click="sendCodeHandler">{{ countdown === 60 ? '获取验证码' : `${countdown}秒后可重新获取` }}</view>
|
|
|
</template>
|
|
|
</up-input>
|
|
|
<template v-if="Event?.type === 'editphone'">
|
...
|
...
|
@@ -28,8 +28,9 @@ |
|
|
import { ref, getCurrentInstance, ComponentPublicInstance } from 'vue'
|
|
|
import useTimeHandler from '@/hooks/useTimeChange'
|
|
|
import { onLoad } from '@dcloudio/uni-app'
|
|
|
import { updateChange_phone, updateChange_pwd } from '../../api'
|
|
|
import { updateChange_phone, updateChange_pwd, getChangePhonePwdCode } from '../../api'
|
|
|
import { EditPhoneType, ChangePwdType } from '../../types'
|
|
|
import { DebounceBy } from '../../utils/debounceBy'
|
|
|
|
|
|
interface EventType {
|
|
|
type: string
|
...
|
...
|
@@ -55,7 +56,9 @@ const [countdown, startCountdown] = useTimeHandler() |
|
|
|
|
|
const phone = ref('')
|
|
|
|
|
|
const clickGetCodeHandler = () => {}
|
|
|
const clickGetCodeHandler = async () => await getChangePhonePwdCode({ type: { editphone: 1, editpassword: 2 }[Event.value?.type as string | number] as string | number })
|
|
|
|
|
|
const sendCodeHandler = DebounceBy(() => startCountdown(clickGetCodeHandler), 2000)
|
|
|
|
|
|
const loginAgainHandler = () => {
|
|
|
uni.clearStorageSync()
|
...
|
...
|
@@ -69,6 +72,10 @@ const loginAgainHandler = () => { |
|
|
|
|
|
const editPhoneHandler = async () => {
|
|
|
if (Event.value?.type === 'editphone') {
|
|
|
if ([''].includes(form.value.code as string)) return uni.$u.toast('请输入验证码')
|
|
|
|
|
|
if ([null, undefined, ''].includes(form.value.phone)) return uni.$u.toast('请输入新手机号码')
|
|
|
|
|
|
await updateChange_phone(form.value as EditPhoneType)
|
|
|
|
|
|
loginAgainHandler()
|
...
|
...
|
@@ -76,6 +83,12 @@ const editPhoneHandler = async () => { |
|
|
|
|
|
if (Event.value?.type === 'editpassword') {
|
|
|
try {
|
|
|
if ([''].includes(changePwdForm.value.code as string)) return uni.$u.toast('请输入验证码')
|
|
|
|
|
|
if ([null, undefined, ''].includes(changePwdForm.value.password) || [null, undefined, ''].includes(changePwdForm.value.repassword)) return uni.$u.toast('请输入新密码')
|
|
|
|
|
|
if (changePwdForm.value.password !== changePwdForm.value.repassword) return uni.$u.toast('输入两次密码不一致')
|
|
|
|
|
|
await updateChange_pwd({ ...changePwdForm.value, phone: phone.value })
|
|
|
|
|
|
loginAgainHandler()
|
...
|
...
|
|