一.apifox配置

1.前置脚本

写在项目根目录

// 定义发送登录接口请求方法
function sendLoginRequest() {
 
    // 登录用户名和密码从环境变量获取
    const username = "admin"
    const password = "admin123"
    const code = "7"; // 这里是您提供的验证码
    const uuid = "56f58ec2cb8e407d8d6299eee6bcaf1f"; // 这里是您提供的 UUID

    // 构造一个 POST 请求
    const loginRequest = {
        url:  "http://localhost/dev-api/login",
        method: "POST",
        header: {
            "Content-Type": "application/json;charset=UTF-8",
        },
        body: {
            mode: 'raw',
            raw: JSON.stringify({
                username: username,
                password: password,
                code: code,
                uuid: uuid,
            }),
        },
    };

    // 发送请求
    pm.sendRequest(loginRequest, function(err, res) {
        if (err) {
            console.log(err);
        } else {
            const jsonData = res.json();
            // 检查 token 是否存在
            if (jsonData.token) {
                // 将 token 写入环境变量 ACCESS_TOKEN
                pm.environment.set("ACCESS_TOKEN", jsonData.token);
                console.log("Access Token:", jsonData.token);
            } else {
                console.error("Token not found in response:", jsonData);
            }
        }
    });
}

// 获取环境变量里的 ACCESS_TOKEN
const accessToken = pm.environment.get("ACCESS_TOKEN");

// 如果 ACCESS_TOKEN 没有值,则执行发送登录接口请求
if (!accessToken) {
    sendLoginRequest();
}

2.全局变量加入ACCESS_TOKEN和ACCESS_TOKEN_EXPIRI

3.根目录写入校验规则

二.后台若依设置

这里的话我也不是很熟悉若依的安全框架,我看了一下源码,我不清楚那个验证码自动校验怎么用脚本去写(估计和这个登录差不多,先再登录之前伪造一个获取验证码请求,然后再把拿到的验证码写入登录参数),这里我赶时间就不研究了,我直接把后台验证码校验关了