You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

119 lines
3.9 KiB

2 months ago
// pages/function/function.js
Page({
data: {
classSelectorVisible1: false, //随机点名
classSelectorVisible2: false, //积分记录
classList: [
{ name: "班级一" },
{ name: "班级二" },
{ name: "班级三" },
],
// ... 其他数据
},
//加载页面classList(可以与class_manage的接口复用)
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);
}
});
},
// 班级管理
goToclass_manage: function() {
wx.navigateTo({
url: '/pages/class_manage/class_manage'
});
},
// 随机点名
goTocall_roll: function() {
this.setData({ classSelectorVisible1: true });
},
// 考勤管理
goTorecord: function() {
this.setData({ classSelectorVisible2: true });
},
//随机点名
handleClassConfirm1(e) {
const className = e.detail.className;
// 这里可以处理选择后的逻辑,比如跳转到录音页面并传递 className
console.log(className)
this.setData({ classSelectorVisible: false }); // 隐藏弹窗
const queryString = `className=${className}`;
wx.navigateTo({
url: `/pages/call_roll/call_roll?${queryString}`,//构造包含数据的url
success: function(res) {
// 跳转成功的回调
},
fail: function(err) {
// 跳转失败的回调
console.error('跳转失败', err);
}
})
},
handleClassCancel1() {
this.setData({ classSelectorVisible: false }); // 隐藏弹窗
// 可选:处理取消选择的逻辑
},
//积分记录
handleClassConfirm2(e) {
const className = e.detail.className;
// 这里可以处理选择后的逻辑,比如跳转到录音页面并传递 className
console.log(className)
this.setData({ classSelectorVisible: false }); // 隐藏弹窗
//传参给记录页面
const queryString = `className=${className}`;
wx.navigateTo({
url: `/pages/record/record?${queryString}`,//构造包含数据的url
success: function(res) {
// 跳转成功的回调
},
fail: function(err) {
// 跳转失败的回调
console.error('跳转失败', err);
}
})
},
handleClassCancel2() {
this.setData({ classSelectorVisible: false }); // 隐藏弹窗
// 可选:处理取消选择的逻辑
},
});