meetingController.js 4.1 KB
var userModel =  require('../model/userModel');
var saitMd5 = require('../util/saltMD5')
var status = require('../util/resTemplate') 
const meetingService = require('../services/meetingService')
const uuid = require('../util/UuidUtil')
const emailUtil = require('../util/emailUtil')



 function meetingController(){

};

meetingController.prototype.createMeeting = async(ctx,next)=>{
    try {
        let meetingbody = ctx.request.body;
        if(!meetingbody.presenterPassword){
            return status.paramError('meetingName');
        }else if(!meetingbody.meetingName){
            return status.paramError('meetingName','不能为空');        
        }
        let num = JSON.stringify(Math.floor(Math.random() * 99999) + 1000)
        let meeting = {
            id:uuid.db32(),
            meetingNumber:num, //课堂序号
            meetingName:meetingbody.meetingName, //课堂名字
            meetingContent:meetingbody.meetingContent, //课堂描述
            create_user:ctx.request.userName,  //创建用户名
            presenterPassword:meetingbody.presenterPassword, //主讲人密码            
            beginTime:meetingbody.beginTime ? new Date(meetingbody.beginTime):null, //开始时间
            endTime:meetingbody.endTime ? new Date(meetingbody.endTime):null, // 结束时间
            isPublic:meetingbody.isPublic,  //是否公开课
            repeatmode:meetingbody.repeatmode, //是否重复周期
            meetingType:meetingbody.meetingType, //课堂类型
            h5Module:meetingbody.h5Module, // 是否支持H5
            attendeePassword:meetingbody.attendeePassword, //学生密码
            videoModule:meetingbody.videoModule, //视频是否启用
            chatInterval:meetingbody.chatInterval, //聊天延时时间
            aheadTime:meetingbody.aheadTime, // 提前进入课堂时间
            maxVideoChannels:meetingbody.maxVideoChannels, //最大视频路数
            max_audioChannels:meetingbody.max_audioChannels, // 最大音频路数
            video_quality:meetingbody.video_quality, //视频画质
            pagenaviUserprivilege:meetingbody.pagenaviUserprivilege, //换页权限是否开启
            markerUserprivilege:meetingbody.markerUserprivilege, // 批注权限是否开启
            chatToNormalUserprivilege:meetingbody.chatToNormalUserprivilege, //与参会者聊天权限是否开启
            chatToHostUserprivilege:meetingbody.chatToHostUserprivilege, //与主持人聊天权限是否开启
            docModule:meetingbody.docModule, //文档共享是否开启
            screenModule:meetingbody.screenModule, //屏幕共享是否开启
            mediaModule:meetingbody.mediaModule, //媒体共享是否开启 
            whiteboardModule:meetingbody.whiteboardModule, //白板共享是否开启
            recordModule:meetingbody.recordModule, //录制是否启用
            chatModule:meetingbody.chatModule, //聊天模式是否启用
        }
        let backMeeting = await meetingService.createMeeting(meeting);
        return backMeeting;
    } catch (error) {
        throw error;
    }
}

meetingController.prototype.getMeeting = async(ctx,next) =>{
    try {
        let meetingbody = ctx.request.body;
        let page = ctx.header.page ? Number(ctx.header.page):ctx.header.page;
        let pageno = ctx.header.pageno;
        let meetingData = await meetingService.getMeeting(meetingbody,page,pageno);
        return meetingData;        
    } catch (error) {
        throw error;
    }
}

meetingController.prototype.delMeeting = async(ctx,next) =>{
    try {
        const meetingId =  ctx.params.meetingId;
        let delMeetingData = await meetingService.delMeeting(meetingId); 
        return delMeetingData       
    } catch (error) {
        throw error;
    }
}
meetingController.prototype.updateMeeting = async(ctx,next) =>{
    try {
        let e = await emailUtil.sendMail('1401289819@qq.com','这是测试邮件', 'Hi Amor,这是一封测试邮件')
        console.log(e)
        return e
    } catch (error) {
        console.log(error)
        throw error
    }
}

module.exports = new meetingController()