// pages/classManagement/classManagement.js Page({ data: { index: -1, //创建索引,知道此时选中哪个班级 showModal1: false, // 控制弹窗显示 showModal2: false, showElement: false, className: "", // 绑定输入框的值 classList: [ { name: '班级1' ,id:1}, { name: '班级2' ,id:2}, { name: '班级3' ,id:3} ] }, onLoad: function(options) { // 发起网络请求以获取classList数据 wx.request({ url: 'http://192.168.152.1:8090/clazz/list', // 请替换为你的实际后端接口地址 method: 'GET', // 根据你的后端接口要求选择请求方法 success: (res) => { // 请求成功的回调函数 if (res.statusCode === 200) { try { // 后端返回的数据格式{ "data": [{ "name": "" }, ...] } // 小程序 SDK 会自动解析 JSON 字符串为对象,所以这里直接使用 res.data const responseData = { data:res.data } if (Array.isArray(responseData.data)) { // 如果返回的数据中包含data数组,则将其赋值给classList this.setData({ classList: responseData.data }); } else { // 如果返回的数据格式不正确,则输出错误信息 console.error('返回的数据格式不正确,期望包含data数组', responseData); } } catch (error) { // 如果解析JSON时出错,则输出错误信息 console.error('解析JSON数据时出错', error); } } else { // 如果请求失败(状态码不是200),则输出错误信息 console.error('请求失败,状态码:', res.statusCode); } }, fail: (err) => { // 请求失败的回调函数 console.error('请求出错', err); } }); }, showElement: function() { this.setData({ showElement: !this.data.showElement // 切换showElement的值 }); }, // 显示弹窗 showModal1: function() { this.setData({ showModal1: true }); }, // 隐藏弹窗 hideModal1: function() { this.setData({ showModal1: false }); }, // 输入班级名称 inputChange: function(e) { this.setData({ className: e.detail.value }); }, // 添加班级 addClass: function() { if (this.data.className.trim() === "") { wx.showToast({ title: '班级名称不能为空', icon: 'none' }); return; } //将班级名称加入后端 wx.request({ url: 'http://192.168.152.1:8090/clazz/save', method: 'POST', data:{ name: this.data.className }, success: function(res) { // 处理后端返回的响应 console.log('添加成功', res.data); // 根据需要更新小程序页面的数据或执行其他操作 }, fail: function(err) { // 处理请求失败的情况 console.error('添加失败', err); // 可以向用户显示错误信息或执行其他错误处理操作 } }) // 将班级名称添加到页面的列表中 const newClassList = this.data.classList.concat({ name: this.data.className }); this.setData({ classList: newClassList, // 更新班级列表 className: "", // 清空输入框 showModal1: false // 隐藏弹窗 }); wx.showToast({ title: '班级添加成功', icon: 'success' }); }, goToadd_stu:function(){ const Name = this.data.classList[this.data.index].name const queryString = `className=${Name}`; wx.navigateTo({ url: `/pages/add_stu/add_stu?${queryString}`,//构造包含数据的url success: function(res) { // 跳转成功的回调 }, fail: function(err) { // 跳转失败的回调 console.error('跳转失败', err); } }); }, goToclass_message:function(){ const Name = this.data.classList[this.data.index].name const queryString = `className=${Name}`; wx.navigateTo({ url: `/pages/class_message/class_message?${queryString}`,//构造包含数据的url success: function(res) { // 跳转成功的回调 }, fail: function(err) { // 跳转失败的回调 console.error('跳转失败', err); } }) }, showAndGet: function(event) { //显示元素 this.showElement(); // 从事件对象中获取data-index属性的值 const index = event.currentTarget.dataset.index; // 成功获取console.log(index); this.setData({ index: index }); }, delete_class: function(){ //将删除班级传入后端 //取得要删除的班级名字 const className = this.data.classList[this.data.index]; const nameUsingDot = `${className.name}`; console.log(nameUsingDot); // const url = `https://your-backend-server.com/api/classes/className=${className}`; wx.request({ url: `http://192.168.152.1:8090/clazz/${nameUsingDot}`, method: 'DELETE', // 使用DELETE方法请求删除资源 header: { 'Content-Type': 'application/json', // 根据后端要求设置请求头 // 如果后端需要身份验证,您可能还需要在这里添加Authorization头 }, success: function(res) { // 处理后端返回的响应 if (res.statusCode === 200 || res.statusCode === 204) { // 200表示成功,204表示成功且无内容返回 console.log('班级删除成功'); // 根据需要执行后续操作,如更新页面上的班级列表等 } else { console.error('班级删除失败,状态码:', res.statusCode); // 可以向用户显示错误信息或执行其他错误处理操作 } }, fail: function(err) { // 处理请求失败的情况 console.error('请求失败', err); // 可以向用户显示错误信息或执行其他错误处理操作 } }); //删除自己页面内的数据 // const newClassList = this.data.classList.splice(this.data.index, 1); this.data.classList.splice(this.data.index, 1); this.setData({ classList: this.data.classList, // 更新班级列表 className: "", // 清空输入框 showModal1: false, // 隐藏弹窗 showElement: false, index: -1 }); console.log(this.data.classList); }, change_name:function(){ if (this.data.className.trim() === "") { wx.showToast({ title: '班级名称不能为空', icon: 'none' }); return; } //记录原名字 const id = this.data.classList[this.data.index].id //记录要修改名字* const name = this.data.className; console.log(id); console.log(name); wx.request({ url: `http://192.168.152.1:8090/clazz/update`, method: 'PUT', data: { id: id, name: name }, success(res) { // 处理后端返回的成功响应 console.log('班级名字更新成功', res.data); }, fail(err) { // 处理请求失败的情况 console.error('更新班级名字失败', err); } }) // 班级名称修改页面的列表中 this.data.classList[this.data.index].name = this.data.className; this.setData({ classList: this.data.classList, // 更新班级列表 className: "", // 清空输入框 showModal2: false // 隐藏弹窗 }); wx.showToast({ title: '班级修改成功', icon: 'success' }); }, showModal2: function() { this.setData({ showModal2: true }); }, // 隐藏弹窗 hideModal2: function() { this.setData({ showModal2: false }); }, });