<template>
    <div class="DemoApi">
        DemoApi
    </div>
</template>
<script setup>
import { schoolTree, schoolAdd, schoolItem, schoolUpdate, schoolDelete } from "../../api/admin/school";
import { courseList, courseAdd, courseDetail, courseUpdate, courseDelete } from "../../api/admin/course";
import { userList, userAdd } from "../../api/admin/user";

/**
 * 获取学校全部结构
 */
const schoolTreeEvent = () => {

    let submit = {
        // 默认优先去顶级所有，传 0 。 否则你要看到 学院， 专业 ，班级 的列表，这里固定就传 学院这个的id值
        // "schoolId" : 0,
        "schoolId" : "1385276315258720256",
    };

    schoolTree(submit)
    .then(response => {

        let data = response?.data?.data;
        console.log(
            "schoolTreeEvent response", response, data
        );

    }).catch(error => {
        
    });

}

schoolTreeEvent();

/**
 * 学校新增
 */
const schoolAddEvent = () => {

    // // 新增顶级数据
    // let submit = {
    //     // 名称
    //     "name": "学校名称新增调试",
    //     // 0 表示学校 1 表示学院 2表示专业，3 表示班级
    //     "type": 0,
    //     // 备注
    //     "remark": "自定义备注内容",
    //     // 上级id，默认顶级是 0
    //     "parentId": 0,
    //     // 新增时传入0即可，修改则传入原始值。如果新增父级，则该参数传跟 parentId 一样的参数
    //     "schoolId": 0
    // };

    // // 新增 学院 案例
    // let submit = {
    //     // 名称
    //     "name": "学院6",
    //     // 0 表示学校 1 表示学院 2表示专业，3 表示班级
    //     "type": 1,
    //     // 备注
    //     "remark": "自定义备注内容",
    //     // 上级id，默认顶级是 0
    //     "parentId": "1385276315258720256",
    //     // 新增时传入0即可，修改则传入原始值。如果新增父级，则该参数传跟 parentId 一样的参数
    //     "schoolId": "1385276315258720256",
    // };

    // // 新增 专业 案例
    // let submit = {
    //     // 名称
    //     "name": "专业3",
    //     // 0 表示学校 1 表示学院 2表示专业，3 表示班级
    //     "type": 2,
    //     // 备注
    //     "remark": "自定义备注内容",
    //     // 上级id，默认顶级是 0
    //     "parentId": "1385283374981189632",
    //     // 新增时传入0即可，修改则传入原始值。如果新增父级，则该参数传跟 parentId 一样的参数
    //     "schoolId": "1385283374981189632",
    // };

    // 新增 班级 案例
    let submit = {
        // 名称
        "name": "班级3",
        // 0 表示学校 1 表示学院 2表示专业，3 表示班级
        "type": 3,
        // 备注
        "remark": "自定义备注内容",
        // 上级id，默认顶级是 0
        "parentId": "1385286956841308160",
        // 新增时传入0即可，修改则传入原始值。如果新增父级，则该参数传跟 parentId 一样的参数
        "schoolId": "1385286956841308160",
    };

    schoolAdd(submit)
    .then(response => {

        let data = response?.data?.data;
        console.log(
            "schoolAddEvent response", response, data
        );

    }).catch(error => {
        
    });

}

// schoolAddEvent();

/**
 * 学校获取指定id的数据
 */
const schoolItemEvent = () => {

    let submit = {
        // 选校全部结构返回里面的id值
        "id" : "1385276315258720256",
    };

    schoolItem(submit)
    .then(response => {

        let data = response?.data?.data;
        console.log(
            "schoolItemEvent response", response, data
        );

        schoolUpdateEvent(data);

    }).catch(error => {
        
    });


}

// schoolItemEvent();


/**
 * 学校更新指定id的数据
 * json     这里的json数据，就通过 schoolItem 先得到，然后根据这些数据，来更新对应的数据
 */
const schoolUpdateEvent = (json) => {

    console.log("schoolUpdateEvent json", json);

    let thisTime = new Date().getTime();

    let submit = {
        // 通过 schoolItem 接口得到的 id 值，是什么就传什么
        "id" : json["id"],
        // 名称
        "name": "学校名称新增调试_更新数据实时_" + thisTime,
        // 0 表示学校 1 表示学院 2表示专业，3 表示班级， 通过 schoolItem 接口得到的 type 值，是什么就传什么
        "type": json["type"],
        // 备注
        "remark": "自定义备注内容_" + thisTime,
        // 上级id，默认顶级是 0， 通过 schoolItem 接口得到的 parentId 值，是什么就传什么
        "parentId": json["parentId"],
        // 新增时传入0即可，修改则传入原始值， 通过 schoolItem 接口得到的 schoolId 值，是什么就传什么
        "schoolId": json["schoolId"],
    };

    console.log("schoolUpdateEvent submit", submit);

    schoolUpdate(submit)
    .then(response => {

        let data = response?.data?.data;
        console.log(
            "schoolUpdateEvent response", response, data
        );

    }).catch(error => {
        
    });

}


/**
 * 学校删除指定id的数据
 */
const schoolDeleteEvent = () => {

    let submit = {
        // 选校全部结构返回里面的id值
        "id" : "1385276391280480256",
    };

    schoolDelete(submit)
    .then(response => {

        let data = response?.data?.data;
        console.log(
            "schoolDeleteEvent response", response, data
        );
        
    }).catch(error => {
        
    });

}

// schoolDeleteEvent();

/**
 * 获取课程列表
 */
const courseListEvent = () => {

    let submit = {
        // "dto" : JSON.stringify({
        //     // 第几页
        //     "pageNum": 1,
        //     // 每页显示多少数据
        //     "pageSize": 3,
        //     // 搜索的名称
        //     "name": ""
        // })
        // 第几页
        "pageNum": 1,
        // 每页显示多少数据
        "pageSize": 5,
        // 搜索的名称
        "name": ""
    };

    courseList(submit)
    .then(response => {

        let data = response?.data?.data;
        console.log(
            "courseListEvent response", response, data
        );
        
    }).catch(error => {
        
    });


}

courseListEvent();

/**
 * 课程新增
 */
const courseAddEvent = () => {

    let submit = {
        // 课程名称
        "name": "新增自定义课程名称",
        // 可以传多个班级的id
        // "classIds": [],
        "classIds": [
            "1385288575779737600",
            "1385288584269008896",
        ],
    };
    
    courseAdd(submit)
    .then(response => {

        let data = response?.data?.data;
        console.log(
            "courseAddEvent response", response, data
        );

    }).catch(error => {
        
    });

}

// courseAddEvent();

/**
 * 课程获取详情
 */
const courseDetailEvent = () => {
    
    let submit = {
        id : "1385294195928993792",
    };

    courseDetail(submit)
    .then(response => {

        let data = response?.data?.data;
        console.log(
            "courseDetailEvent response", response, data
        );

        courseUpdateEvent(data);
        
    }).catch(error => {
        
    });
    
}

// courseDetailEvent();

/**
 * 课程更新
 * json     这里的json数据，就通过 courseDetail 先得到，然后根据这些数据，来更新对应的数据
 */
const courseUpdateEvent = (json) => {

    console.log("courseUpdateEvent json", json);
    
    let submit = {
        "id": json["id"],
        "name": "新的课程123",
        "classIds": [
            "1385288575779737600",
            "1385288584269008896",
        ],
    };

    console.log("courseUpdateEvent submit", submit);
    
    courseUpdate(submit)
    .then(response => {

        let data = response?.data?.data;
        console.log(
            "courseUpdateEvent response", response, data
        );
        
    }).catch(error => {
        
    });
    
}

/**
 * 课程删除
 */
const courseDeleteEvent = () => {

    let submit = {
        // "id": "1385293956300017664",
        "id": "1385294204263075840",
    };
    
    courseDelete(submit)
    .then(response => {

        let data = response?.data?.data;
        console.log(
            "courseDeleteEvent response", response, data
        );
        
    }).catch(error => {
        
    });

}

// courseDeleteEvent();

/**
 * 用户列表
 */
const userListEvent = () => {

    let submit = {
        // 第几页
        "pageNum": 1,
        // 每页显示多少数据
        "pageSize": 5,
        // 账号
        "userName": "",
    };
    
    userList(submit)
    .then(response => {

        let data = response?.data?.data;
        console.log(
            "userListEvent response", response, data
        );
        
    }).catch(error => {
        
    });

}

userListEvent();

/**
 * 用户新增
 */
const userAddEvent = () => {

    let submit = {
        // 账号
        "userName": "test001",
        // 0 表示教师，1表示学生
        "userType": 0,
        // 昵称
        "nickName": "测试账号",
        // 用户分配到的班级数组，可以是多个
        "classInfo": [
            {
                "id": 0,
                "name": "",
                "remark": "",
                "schoolId": 0
            }
        ],
        // 密码
        "password": "123456",
        //确认密码
        "password2": "123456"
    };

    // console.log(
    //     "userAdd", submit
    // );

    userAdd(submit)
    .then(response => {

        let data = response?.data?.data;
        console.log(
            "userAddEvent response", response, data
        );
        
    }).catch(error => {
        
    });

}

// userAddEvent();


</script>
<style lang="scss" scoped>

</style>
