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

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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
})
}
}
}
})