修改页面

This commit is contained in:
wangxiaowei
2025-06-06 18:03:22 +08:00
parent 022c640d89
commit 47d06ae355
68 changed files with 11600 additions and 4438 deletions

View File

@ -1,117 +1,118 @@
<template>
<view @tap.stop="handleSendVerCode">
<template v-if="timer">
{{ `${time}s ${afterText}` }}
</template>
<template v-else>
{{ beforeText }}
</template>
</view>
<view @tap.stop="handleSendVerCode">
<template v-if="timer">
{{ `${time}s ${afterText}` }}
</template>
<template v-else>
{{ beforeText }}
</template>
</view>
</template>
<script>
import md5 from '@/common/md5.js'
import { validate } from '@/common/utils/index'
import { IS_DEV } from '@/common/config.js'
export default {
name: 'benben-send-verification-code',
props: {
phone: {
//发送短信的验证码
type: [String, Number],
default: '',
},
type: {
//发送短信类型
type: [String, Number],
default: 1,
},
afterText: {
//发送成功后展示的文本
type: [String, Number],
default: '后重新获取',
},
beforeText: {
//未发送时展示的文本
type: [String, Number],
default: '请发送验证码',
},
},
computed: {},
data() {
return {
time: 60, // 倒计时60S,@Number
timer: null, // 计时器,@Function
}
},
methods: {
async handleSendVerCode() {
// 从this里结构出来phone
let { type, phone } = this
// 验证手机号strat
if (!phone) {
this.$message.info(global.i18n.t('请输入手机号'))
return false
}
let noPhone = !validate(phone, 'phone')
let noemail = !validate(phone, 'email')
if (noPhone && noemail) {
return this.$message.info(global.i18n.t('请输入正确手机号'))
}
// 验证手机号 end
// 如果有倒计时return false
if (this.flag) return false
this.flag = true
uni.showLoading({
title: '发送中...',
mask: true,
})
/**
* @desc 请求验证码接口
* @param {Object} {} - 参数
* @param {Boolean} {}.is_test - 是否是测试环境
* @param {String} {}.mobile - 手机号
* @param {String} {}.type - 类型
*/
try {
console.log('global.apiUrls=', global.apiUrls)
let res = await this.$api.post(global.apiUrls.GetVerifyCode, {
is_test: IS_DEV != 0 ? 1 : 0,
mobile: phone,
type: type,
})
uni.hideLoading()
if (res.data.code != 1) {
this.$message.info(res.data.msg)
this.flag = false
return
}
// 清除倒计时,防抖作用
this.timer && clearInterval(this.timer)
this.timer = setInterval(() => {
if (this.time == 1) {
//倒计时结束就清楚这个倒计时
clearInterval(this.timer)
this.timer = null
this.flag = false
this.time = 60 // 倒计时60s
return
}
this.time--
}, 1000)
// 向用户发送提示
if (IS_DEV != 0) {
this.$message.info(res.data.data.code)
} else {
this.$message.info(global.i18n.t('验证码发送成功'))
}
} catch (error) {
this.flag = false
uni.hideLoading()
// 接口错误打印错误
console.log(error)
}
},
},
created() {},
name: 'benben-send-verification-code',
props: {
phone: {
//发送短信的验证码
type: [String, Number],
default: '',
},
type: {
//发送短信类型
type: [String, Number],
default: 1,
},
afterText: {
//发送成功后展示的文本
type: [String, Number],
default: '后重新获取',
},
beforeText: {
//未发送时展示的文本
type: [String, Number],
default: '请发送验证码',
},
},
computed: {},
data() {
return {
time: 60, // 倒计时60S,@Number
timer: null, // 计时器,@Function
}
},
methods: {
async handleSendVerCode() {
// 从this里结构出来phone
let { type, phone } = this
// 验证手机号strat
if (!phone) {
this.$message.info(global.i18n.t('请输入手机号'))
return false
}
let noPhone = !validate(phone, 'phone')
let noemail = !validate(phone, 'email')
if (noPhone && noemail) {
return this.$message.info(global.i18n.t('请输入正确手机号'))
}
// 验证手机号 end
// 如果有倒计时return false
if (this.flag) return false
this.flag = true
uni.showLoading({
title: '发送中...',
mask: true,
})
/**
* @desc 请求验证码接口
* @param {Object} {} - 参数
* @param {Boolean} {}.is_test - 是否是测试环境
* @param {String} {}.mobile - 手机号
* @param {String} {}.type - 类型
*/
try {
let res = await this.$api.post(global.apiUrls.GetVerifyCode, {
is_test: IS_DEV != 0 ? 1 : 0,
mobile: phone,
type: type,
salts: md5(phone + 'sjwj2025')
})
uni.hideLoading()
if (res.data.code != 1) {
this.$message.info(res.data.msg)
this.flag = false
return
}
// 清除倒计时,防抖作用
this.timer && clearInterval(this.timer)
this.timer = setInterval(() => {
if (this.time == 1) {
//倒计时结束就清楚这个倒计时
clearInterval(this.timer)
this.timer = null
this.flag = false
this.time = 60 // 倒计时60s
return
}
this.time--
}, 1000)
// 向用户发送提示
if (IS_DEV != 0) {
this.$message.info(res.data.data.code)
} else {
this.$message.info(global.i18n.t('验证码发送成功'))
}
} catch (error) {
this.flag = false
uni.hideLoading()
// 接口错误打印错误
console.log(error)
}
},
},
created() { },
}
</script>