正在显示
8 个修改的文件
包含
78 行增加
和
12 行删除
| @@ -10,6 +10,7 @@ const cors = require('koa-cors'); | @@ -10,6 +10,7 @@ const cors = require('koa-cors'); | ||
| 10 | 10 | ||
| 11 | const index = require('./routes/index') | 11 | const index = require('./routes/index') |
| 12 | const users = require('./routes/users') | 12 | const users = require('./routes/users') |
| 13 | +const meeting = require('./routes/meeting') | ||
| 13 | const filterUrl = require(__dirname+'/util/filterUrl') | 14 | const filterUrl = require(__dirname+'/util/filterUrl') |
| 14 | var tokenUtil = require('./util/tokenUtil'); | 15 | var tokenUtil = require('./util/tokenUtil'); |
| 15 | const _ = require('lodash'); | 16 | const _ = require('lodash'); |
| @@ -41,6 +42,9 @@ app.use(async (ctx, next) => { | @@ -41,6 +42,9 @@ app.use(async (ctx, next) => { | ||
| 41 | status.catchError(ctx,400,'请登录'); | 42 | status.catchError(ctx,400,'请登录'); |
| 42 | }else{ | 43 | }else{ |
| 43 | let isToken = await tokenUtil.prverifySession(ctx.header.token); | 44 | let isToken = await tokenUtil.prverifySession(ctx.header.token); |
| 45 | + ctx.request.userID = isToken.id; | ||
| 46 | + ctx.request.userName = isToken.userName; | ||
| 47 | + ctx.request.userRole = isToken.userRole; | ||
| 44 | await next(); | 48 | await next(); |
| 45 | } | 49 | } |
| 46 | const ms = new Date() - start; | 50 | const ms = new Date() - start; |
| @@ -53,5 +57,7 @@ app.use(async (ctx, next) => { | @@ -53,5 +57,7 @@ app.use(async (ctx, next) => { | ||
| 53 | // routes | 57 | // routes |
| 54 | app.use(index.routes(), index.allowedMethods()) | 58 | app.use(index.routes(), index.allowedMethods()) |
| 55 | app.use(users.routes(), users.allowedMethods()) | 59 | app.use(users.routes(), users.allowedMethods()) |
| 60 | +app.use(meeting.routes(), meeting.allowedMethods()) | ||
| 61 | + | ||
| 56 | 62 | ||
| 57 | module.exports = app | 63 | module.exports = app |
| 1 | var userModel = require('../model/userModel'); | 1 | var userModel = require('../model/userModel'); |
| 2 | var saitMd5 = require('../util/saltMD5') | 2 | var saitMd5 = require('../util/saltMD5') |
| 3 | var status = require('../util/resTemplate') | 3 | var status = require('../util/resTemplate') |
| 4 | +const meetingService = require('../services/meetingService') | ||
| 4 | const uuid = require('../util/UuidUtil') | 5 | const uuid = require('../util/UuidUtil') |
| 5 | 6 | ||
| 6 | 7 | ||
| @@ -11,8 +12,47 @@ const uuid = require('../util/UuidUtil') | @@ -11,8 +12,47 @@ const uuid = require('../util/UuidUtil') | ||
| 11 | meetingController.prototype.createMeeting = async(ctx,next)=>{ | 12 | meetingController.prototype.createMeeting = async(ctx,next)=>{ |
| 12 | try { | 13 | try { |
| 13 | 14 | ||
| 15 | + let meetingbody = ctx.request.body; | ||
| 16 | + if(!meetingbody.presenterPassword){ | ||
| 17 | + return status.paramError('meetingName'); | ||
| 18 | + }else if(!meetingbody.meetingName){ | ||
| 19 | + return status.paramError('meetingName','不能为空'); | ||
| 20 | + } | ||
| 21 | + let num = JSON.stringify(Math.floor(Math.random() * 99999) + 1000) | ||
| 22 | + let meeting = { | ||
| 23 | + meetingNumber:num, //课堂序号 | ||
| 24 | + meetingName:meetingbody.meetingName, //课堂名字 | ||
| 25 | + meetingContent:meetingbody.meetingContent, //课堂描述 | ||
| 26 | + create_user:ctx.request.userName, //创建用户名 | ||
| 27 | + presenterPassword:meetingbody.presenterPassword, //主讲人密码 | ||
| 28 | + beginTime:new Date(meetingbody.beginTime), //开始时间 | ||
| 29 | + endTime:new Date(meetingbody.endTime), // 结束时间 | ||
| 30 | + isPublic:meetingbody.isPublic, //是否公开课 | ||
| 31 | + repeatmode:meetingbody.repeatmode, //是否重复周期 | ||
| 32 | + meetingType:meetingbody.meetingType, //课堂类型 | ||
| 33 | + h5Module:meetingbody.h5Module, // 是否支持H5 | ||
| 34 | + attendeePassword:meetingbody.attendeePassword, //学生密码 | ||
| 35 | + videoModule:meetingbody.videoModule, //视频是否启用 | ||
| 36 | + chatInterval:meetingbody.chatInterval, //聊天延时时间 | ||
| 37 | + aheadTime:meetingbody.aheadTime, // 提前进入课堂时间 | ||
| 38 | + maxVideoChannels:meetingbody.maxVideoChannels, //最大视频路数 | ||
| 39 | + max_audioChannels:meetingbody.max_audioChannels, // 最大音频路数 | ||
| 40 | + video_quality:meetingbody.video_quality, //视频画质 | ||
| 41 | + pagenaviUserprivilege:meetingbody.pagenaviUserprivilege, //换页权限是否开启 | ||
| 42 | + markerUserprivilege:meetingbody.markerUserprivilege, // 批注权限是否开启 | ||
| 43 | + chatToNormalUserprivilege:meetingbody.chatToNormalUserprivilege, //与参会者聊天权限是否开启 | ||
| 44 | + chatToHostUserprivilege:meetingbody.chatToHostUserprivilege, //与主持人聊天权限是否开启 | ||
| 45 | + docModule:meetingbody.docModule, //文档共享是否开启 | ||
| 46 | + screenModule:meetingbody.screenModule, //屏幕共享是否开启 | ||
| 47 | + mediaModule:meetingbody.mediaModule, //媒体共享是否开启 | ||
| 48 | + whiteboardModule:meetingbody.whiteboardModule, //白板共享是否开启 | ||
| 49 | + recordModule:meetingbody.recordModule, //录制是否启用 | ||
| 50 | + chatModule:meetingbody.chatModule, //聊天模式是否启用 | ||
| 51 | + } | ||
| 52 | + let backMeeting = await meetingService.createMeeting(meeting); | ||
| 53 | + return backMeeting; | ||
| 14 | } catch (error) { | 54 | } catch (error) { |
| 15 | - | 55 | + throw error; |
| 16 | } | 56 | } |
| 17 | } | 57 | } |
| 18 | 58 |
| @@ -25,7 +25,7 @@ userController.prototype.addUser = async(ctx, next) =>{ | @@ -25,7 +25,7 @@ userController.prototype.addUser = async(ctx, next) =>{ | ||
| 25 | return status.paramError('loginName'); | 25 | return status.paramError('loginName'); |
| 26 | }else if(!params.password){ | 26 | }else if(!params.password){ |
| 27 | return status.paramError('password','不能为空'); | 27 | return status.paramError('password','不能为空'); |
| 28 | - }if(params.password.length < 6){ | 28 | + }else if(params.password.length < 6){ |
| 29 | return status.paramError('password','不得小于6位'); | 29 | return status.paramError('password','不得小于6位'); |
| 30 | } | 30 | } |
| 31 | 31 |
| @@ -35,7 +35,6 @@ var user = sequelize.define('3m_meeting', { | @@ -35,7 +35,6 @@ var user = sequelize.define('3m_meeting', { | ||
| 35 | }, | 35 | }, |
| 36 | beginTime:{ | 36 | beginTime:{ |
| 37 | type:Sequelize.DATE, | 37 | type:Sequelize.DATE, |
| 38 | - defaultValue:Sequelize.NOW, | ||
| 39 | field: "begin_time" | 38 | field: "begin_time" |
| 40 | }, | 39 | }, |
| 41 | endTime:{ | 40 | endTime:{ |
| 1 | const router = require('koa-router')() | 1 | const router = require('koa-router')() |
| 2 | -var userModel = require('../model/userModel'); | ||
| 3 | -var saitMd5 = require('../util/saltMD5') | ||
| 4 | var meetingContoller = require('../controller/meetingController') | 2 | var meetingContoller = require('../controller/meetingController') |
| 5 | var status = require('../util/resTemplate') | 3 | var status = require('../util/resTemplate') |
| 6 | 4 | ||
| @@ -11,10 +9,9 @@ router.prefix('/meeting') | @@ -11,10 +9,9 @@ router.prefix('/meeting') | ||
| 11 | router.post('/createMeeting', async (ctx, next) => { | 9 | router.post('/createMeeting', async (ctx, next) => { |
| 12 | try{ | 10 | try{ |
| 13 | var data = await meetingContoller.createMeeting(ctx, next); | 11 | var data = await meetingContoller.createMeeting(ctx, next); |
| 14 | - status.successTemp(200,data); | 12 | + status.successTemp(ctx,200,data); |
| 15 | }catch(e){ | 13 | }catch(e){ |
| 16 | - const err = {code:0,msg:e.message} | ||
| 17 | - status.catchError(400,e.message); | 14 | + status.catchError(ctx,400,e.message); |
| 18 | } | 15 | } |
| 19 | }) | 16 | }) |
| 20 | 17 |
services/meetingService.js
0 → 100644
| 1 | +var meetingModel = require('../model/meetingModel'); | ||
| 2 | +var status = require('../util/resTemplate'); | ||
| 3 | +var saitMd5 = require('../util/saltMD5'); | ||
| 4 | +var sequelize = require('../config'); | ||
| 5 | +var tokenUtil = require('../util/tokenUtil'); | ||
| 6 | +var co = require('co'); | ||
| 7 | + | ||
| 8 | +function meetingService(){ | ||
| 9 | +} | ||
| 10 | + | ||
| 11 | +meetingService.prototype.createMeeting = async(meetingInfo) =>{ | ||
| 12 | + try { | ||
| 13 | + let backMeeting = meetingModel.create(meetingInfo); | ||
| 14 | + return backMeeting | ||
| 15 | + } catch (error) { | ||
| 16 | + throw error | ||
| 17 | + } | ||
| 18 | +} | ||
| 19 | + | ||
| 20 | + | ||
| 21 | + | ||
| 22 | +module.exports = new meetingService(); |
| @@ -46,7 +46,7 @@ userService.prototype.login = async(name,pw) => { | @@ -46,7 +46,7 @@ userService.prototype.login = async(name,pw) => { | ||
| 46 | userService.prototype.getStu = async(type)=>{ | 46 | userService.prototype.getStu = async(type)=>{ |
| 47 | try { | 47 | try { |
| 48 | let sql = `SELECT | 48 | let sql = `SELECT |
| 49 | - u.*, ug.name | 49 | + u.*, ug.name groupName |
| 50 | FROM | 50 | FROM |
| 51 | 3m_user u | 51 | 3m_user u |
| 52 | LEFT JOIN 3m_user_group ug ON ug.id = u.group_id` | 52 | LEFT JOIN 3m_user_group ug ON ug.id = u.group_id` |
| @@ -15,11 +15,12 @@ module.exports = new JwtSession() ; | @@ -15,11 +15,12 @@ module.exports = new JwtSession() ; | ||
| 15 | * @param cb | 15 | * @param cb |
| 16 | */ | 16 | */ |
| 17 | JwtSession.prototype.getSession = (users) =>{ | 17 | JwtSession.prototype.getSession = (users) =>{ |
| 18 | - var expiresIn = 60 * 60 * 2; | 18 | + console.log(users) |
| 19 | + var expiresIn = 60 * 60 * 1000; | ||
| 19 | var payload = {}; | 20 | var payload = {}; |
| 20 | payload.id = users.id; | 21 | payload.id = users.id; |
| 21 | - payload.name = users.loginName; | ||
| 22 | - payload.code =users.userType; | 22 | + payload.name = users.userName; |
| 23 | + payload.userRole =users.userRole; | ||
| 23 | var options = { | 24 | var options = { |
| 24 | "expiresIn": expiresIn | 25 | "expiresIn": expiresIn |
| 25 | }; | 26 | }; |
| @@ -39,6 +40,7 @@ JwtSession.prototype.getSession = (users) =>{ | @@ -39,6 +40,7 @@ JwtSession.prototype.getSession = (users) =>{ | ||
| 39 | JwtSession.prototype.prverifySession = async(token) => { | 40 | JwtSession.prototype.prverifySession = async(token) => { |
| 40 | try { | 41 | try { |
| 41 | let back =jwt.verify(token, '3mang'); | 42 | let back =jwt.verify(token, '3mang'); |
| 43 | + return back; | ||
| 42 | } catch (error) { | 44 | } catch (error) { |
| 43 | throw new Error(error) | 45 | throw new Error(error) |
| 44 | } | 46 | } |
-
请 注册 或 登录 后发表评论