正在显示
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 | } |
-
请 注册 或 登录 后发表评论