let wait = 60;  // 倒计时总时长（60秒）

function time(o) {
    if (wait == 0) {
        // 倒计时结束：恢复按钮状态
        o.removeAttribute("disabled");
        o.value = "获取验证码";
        wait = 60
        return false
    } else {
        o.setAttribute("disabled", true);
        o.value = "重新发送(" + wait + ")";
        wait--;
        // 1秒后再次调用time函数，实现倒计时循环
        setTimeout(function () {
                time(o)
            },
            1000)
    }
}
// 给id为"btn"的按钮绑定点击事件
document.getElementById("btn").onclick = function () {
    let id_email = $("#id_email")  // 获取输入邮箱的DOM元素（jQuery选择器）
    let token = $("*[name='csrfmiddlewaretoken']").val()
    let ts = this // 保存当前按钮的引用（后续传给倒计时函数）
    let myErr = $("#myErr") // 获取错误提示元素
    // 发送AJAX请求到后端
    $.ajax(
        {
            url: "/forget_password_code/",
            type: "POST",
            data: {
                "email": id_email.val(),
                "csrfmiddlewaretoken": token
            },
            success: function (result) {
                // 后端响应成功的处理
                if (result != "ok") {
                    // 后端返回错误信息（如邮箱格式错误）
                    myErr.remove()
                    id_email.after("<ul className='errorlist' id='myErr'><li>" + result + "</li></ul>")
                    // 在邮箱输入框后添加新的错误提示
                    return
                }
                // 后端返回"ok"（验证码发送成功）
                myErr.remove() // 清除可能存在的错误提示
                time(ts) // 调用倒计时函数，让按钮进入倒计时状态
            },
            error: function (e) {
                // 请求失败的处理（如网络错误）
                alert("发送失败,请重试")
            }
        }
    );
}
