提交 09bfcce3 authored 作者: 詹银鑫's avatar 詹银鑫

feat: 修改TS类型bug

上级 25bf8bff
......@@ -16,7 +16,9 @@ export const useImageVerify = (width = 120, height = 40) => {
function getImgCode() {
if (!domRef.value) return;
imgCode.value = draw(domRef.value, width, height);
draw(domRef.value, width, height).then(code => {
imgCode.value = code;
});
}
onMounted(() => {
......@@ -42,22 +44,24 @@ function randomColor(min: number, max: number) {
const b = randomNum(min, max);
return `rgb(${r},${g},${b})`;
}
function draw(dom: HTMLCanvasElement, width: number, height: number) {
function draw(
dom: HTMLCanvasElement,
width: number,
height: number
): Promise<string> {
return new Promise(resolve => {
let imgCode = "";
let captchaCode = "";
const now = new Date().getTime().toString();
getCaptcha(now).then(res => {
if (res.code === "0") {
captchaCode = res.data;
const captchaCode = res.data;
useUserStoreHook().SET_VERIFYCODE(captchaCode);
useUserStoreHook().SET_CAPTCHATIME(now);
const ctx = dom.getContext("2d");
if (!ctx) return imgCode;
if (!ctx) return resolve(imgCode);
ctx.fillStyle = randomColor(180, 230);
ctx.fillRect(0, 0, width, height);
for (let i = 0; i < captchaCode.length; i += 1) {
// const text = NUMBER_STRING[randomNum(0, NUMBER_STRING.length)];
const text = captchaCode[i];
imgCode += text;
const fontSize = randomNum(18, 41);
......@@ -86,9 +90,10 @@ function draw(dom: HTMLCanvasElement, width: number, height: number) {
ctx.fillStyle = randomColor(150, 200);
ctx.fill();
}
return imgCode as string;
resolve(imgCode);
} else {
return "";
resolve("");
}
});
});
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论