var loginUser;
loadCurrUserInfo();
function loadCurrUserInfo() {
    $.ajax({
        url:"/api/user/getCurrentUserInfo",
        type:"get",
        success:function (data) {
            data = eval(data);
            if (data.success){
                loginUser = data.data;
                $("#curr-user-photo").attr("src", loginUser.photo);
                $("#username").text(loginUser.userName);
            } else {
                if (data.code === 101400) {
                    // 未登录
                    location.href = "/auth"
                } else {
                    layer.msg(data.msg);
                }
            }
        },error:function () {
            location.href="/auth";
        }
    })
}

const photoElem = document.getElementById("curr-user-photo");
const photoInput = document.getElementById("photoInput");

// 为上传按钮添加点击事件监听器
photoElem.addEventListener('click', function() {
    // 触发文件输入框的点击事件，以打开文件选择对话框
    photoInput.click();
});

// 为文件输入框添加变化事件监听器，以便在文件选择后上传
photoInput.addEventListener('change', function() {
    // 检查是否选择了文件
    if (this.files.length > 0) {
        const file = this.files[0]; // 获取选择的文件
        updatePhoto(file); // 调用上传文件的函数
    }
});

// 上传头像的函数
function updatePhoto(file) {
    const formData = new FormData();
    formData.append('file', file); // 将文件添加到FormData对象中
    fetch('/api/file/chat/upload', { // 发送POST请求到服务器的/upload端点
        method: 'POST',
        body: formData,
    })
        .then(response => response.json()) // 处理响应文本
        .then(data => {
            if (data.success) {
                var file = data.data;
                var newPhotoUrl = file.url;
                $("#curr-user-photo").attr('src', newPhotoUrl);
                // 头像上传成功直接修改
                this.updateUserInfo(newPhotoUrl, '');
            } else {
                layer.msg(data.msg);
            }
        })
        .catch(error => {
            console.error('上传失败:', error); // 处理上传错误
        });
}
<!-- 修改个人资料 -->
$("#update-user-info-btn").on('click', function () {

})

/**
 * 调用接口修改用户信息
 *
 *
 * @param photo
 * @param userName
 */
function updateUserInfo(photo, userName) {
    if (photo == '' && userName == '') {
        layer.msg("参数为空");
        return;
    }
    $.ajax({
        url:"/api/user/update",
        type: "post",
        dataType: "json",
        contentType: "application/json;charset=utf-8",
        data: JSON.stringify({
            userName: userName,
            photo: photo
        }),
        success:function (data) {
            data = eval(data);
            if (data.success) {
                layer.msg("修改成功！");
            } else {
                // 修改失败，抛出服务端报错的具体原因
                layer.msg(data.msg);
            }
        },error:function () {

        }
    })

}