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.

165 lines
4.8 KiB

1 month ago
import { toast,modal } from '../../utils/extendApi'
import { getStorage, setStorage } from '../../utils/storage'
//导入ComponentWithStore方法
import { ComponentWithStore } from 'mobx-miniprogram-bindings'
import { userStore } from '../../stores/userstore'
ComponentWithStore({
storeBindings: {
store: userStore,
fields: ['id', 'identify'],//从Store中获取id和identify存放在页面的data里
actions: []
},
data:{
IsStudent:1,
Lesson_list:[],
Show:0,
status:0
},
methods:{
//IsStudent应该在页面加载时就进行更新
onRefresh:function(){
wswx.showLoading({
title: '刷新中...',
})
if(this.data.identify === 1){
this.MyLearn()
}else if(this.data.identify === 2){
this.MyTeach()
}
},
MyTeach(){
if(!this.data.IsStudent){
//获取授课信息
wx.request({
url: `http://172.20.10.2:8600/teacher-api/teacher/getteacherlessonlist/${getStorage('id')}`, // teacher_id在onload函数里面getStore获取或者User
success: (res) => {
if (res.data.code === 200) {
console.log('获取课程列表信息成功', res.data);
this.setData({
Lesson_list: res.data.data , //将课程信息拉取到本地包括:"id","lesson_name""teacher_id": 0"status": 0
// setStorage('')
Show:1
})
//提示信息
toast({ title: '授课信息已刷新', icon: 'success' })
} else {
console.error('获取课程列表信息失败,系统出错:', res.data);
toast({ title: '系统出错', icon: 'error' });
}
},
fail(err) {
console.error('请求失败:', err);
}
});
} else {
this.setData({
Show:0
})
toast({ title: '无授课信息', icon: 'error' })
}
},
//新建课程
AddNewLesson(){
//先进行权限判断,再跳转到新建课程页面,
if(getStorage('identify') === 2 ) {
wx.navigateTo({
url: '/pages/addlesson/addlesson',
})
} else{
toast({
title:'没有权限!',
icon:'error'
})
}
},
//
MyLearn(){
if(this.data.IsStudent){
wx.request({
url: `http://172.20.10.2:8600/student-api/student/lessonlist/${getStorage('id')}`, // id在onload函数里面getStore获取
success: (res) => {
if (res.data.code === 200) {
console.log('获取课程列表信息成功', res.data);
this.setData({
Lesson_list: res.data.data, //将课程信息拉取到本地包括:"id","lesson_name""teacher_id": 0"status": 0
Show : 1
})
//提示信息
toast({ title: '课程信息已刷新', icon: 'success' })
} else {
console.error('获取课程列表信息失败,系统出错:', res.data);
toast({ title: '系统出错', icon: 'error' });
}
},
fail(err) {
console.error('请求失败:', err);
}
});
} else {
this.setData({
Show:0
})
toast({ title: '无听课信息', icon: 'error' })
}
},
GetInLesson_Teacher: function(event) {
const index = event.currentTarget.dataset.index;
const item = this.data.Lesson_list[index];
// 获取课程ID和名称并保存至Storage进入教师上课界面upteach;
setStorage('LessonId',item.id)
setStorage('LessonName',item.lesson_name)
wx.navigateTo({
url: '/pages/upteach/upteach',
})
//
console.log('获取课程名称成功', getStorage('LessonName'));
// 这里可以添加你的逻辑,如进入课程等
},
GetInLesson_Student: function(event) {
const index = event.currentTarget.dataset.index;
const item = this.data.Lesson_list[index];
setStorage('LessonId',item.id);
setStorage('LessonName',item.lesson_name);
this.setData({
status:item.status
});
if(this.data.status === 1){
wx.navigateTo({
url: '/pages/attend/attend',
})
} else {
toast({title:'还未上课,无法进入',icon:'error'})
}
//
console.log('获取课程名称成功', getStorage('LessonName'));
// 这里可以添加你的逻辑,如进入课程等
},
onLoad(){
setStorage('id',getStorage('id'))
if(getStorage('identify') === 1){
// setStorage('identify',1)
this.setData({
IsStudent:1
})
} else if(getStorage('identify') === 2){
// setStorage('identify',2)
this.setData({
IsStudent:0
})
}
}
}
})