feat(projects): 添加常用组件、composables函数

This commit is contained in:
Soybean
2021-12-12 17:28:39 +08:00
parent e755caabf2
commit 230a50a4cf
87 changed files with 5424 additions and 2071 deletions

View File

@ -1,4 +1,5 @@
import { computed } from 'vue';
import { REGEXP_PHONE } from '@/config';
import useCountDown from './useCountDown';
export default function useSmsCode() {
@ -7,9 +8,35 @@ export default function useSmsCode() {
const countingLabel = (second: number) => `${second}秒后重新获取`;
const label = computed(() => (isCounting.value ? countingLabel(counts.value) : initLabel));
/** 判断手机号码格式是否正确 */
function isPhoneValid(phone: string) {
let valid = true;
if (phone.trim() === '') {
window.$message?.error('手机号码不能为空!');
valid = false;
} else if (!REGEXP_PHONE.test(phone)) {
window.$message?.error('手机号码格式错误!');
valid = false;
}
return valid;
}
/**
* 获取短信验证码
* @param phone - 手机号
*/
async function getSmsCode(phone: string) {
const valid = isPhoneValid(phone);
if (!valid) return;
// 该处调用验证码接口
window.$message?.success('验证码发送成功!');
start();
}
return {
label,
start,
isCounting
isCounting,
getSmsCode
};
}