|
|
// 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 }); // 隐藏弹窗
|
|
|
// 可选:处理取消选择的逻辑
|
|
|
},
|
|
|
}); |