提交 a4214c60 authored 作者: zyx's avatar zyx

新增 添加 获取和设置 云课堂直播地址,数据存服务器目录一个文件里

上级 4d113b49
const fs = require('fs')
const path = require('path')
const com = require('@god/node-com')
const _mkdir = com.Tool.Directory.mkdir
const getTable = (req, res) => {
let path1 = path.resolve(process.cwd(), '../node-server-data/cloud-class.json')
if (!fs.existsSync(path1)) {
_mkdir(path1.replace(/\/[^\/]*?$/gi, ''), () => {
fs.writeFileSync(path1, JSON.stringify({}), 'utf8')
})
res.status(200).json({ 'msg': '文件不存在,创建文件' })
return
}
let _json = JSON.parse(fs.readFileSync(path1).toString() || '{}')
res.status(200).json(_json)
}
const setTable = (req, res) => {
let path1 = path.resolve(process.cwd(), '../node-server-data/cloud-class.json')
if (!fs.existsSync(path1)) {
_mkdir(path1)
res.status(200).json({ 'msg': '文件不存在,创建文件' })
return
}
let _json = JSON.parse(fs.readFileSync(path1).toString() || '{}')
_json[req.body.chapterId] = req.body.url
fs.writeFileSync(path1, JSON.stringify(_json), 'utf8')
res.status(200).json(_json)
}
module.exports = {
getTable: getTable,
setTable: setTable
}
......@@ -9,18 +9,35 @@ const _test = require('../controller/TestMonitor')
const _wx = require('../controller/WxMonitor')
const _mfm = require('../controller/MixedFlowMonitor')
const _rtmp = require('../controller/RTMPMonitor')
const _sccm = require('../controller/setCloudClassMonitor')
router.use(bodyParser.json({ limit: '60mb' }))
router.use(bodyParser.urlencoded({ extended: true, limit: '60mb' }))
router.use(bodyParser.text({ limit: '60mb' }))
router.use((req, res, next) => {
let origin = req.headers.origin
res.header('Access-Control-Allow-Origin', origin) // 设置允许哪些外域访问此服务器。如果你要发送cookies,不要将其赋值为'*'
res.header('Access-Control-Allow-Methods', 'PUT, GET, POST, DELETE, OPTIONS') // 设置允许那些方法访问此服务器。可选值:PUT, GET, POST, DELETE, OPTIONS
res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept') // 设置允许那些头文件访问此服务器。可选值:Origin, X-Requested-With, Content-Type, Accept
res.header('Access-Control-Allow-Credentials', 'true') // 设置允许发送cookies。可选值:true,如果不允许就省略此字段
/* 设置允许哪些外域访问此服务器。如果你要发送cookies,不要将其赋值为'*' */
res.header('Access-Control-Allow-Origin', req.headers.origin || '*')
/* 设置允许发送cookies。可选值:true,如果不允许就省略此字段 */
res.header('Access-Control-Allow-Credentials', 'true')
if (req.method === 'OPTIONS') {
/* 设置允许那些方法访问此服务器 */
res.header('Access-Control-Allow-Methods', 'PUT, GET, POST, DELETE, OPTIONS')
/* 设置允许那些头文件访问此服务器,数组中可以设置一些自定义首部 */
let strArr = ['token', 'tenant']
for (let k in req.headers) { strArr.push(k) }
res.header('Access-Control-Allow-Headers', strArr.join(', '))
/* 设置单个接口 OPTIONS 的最大有效时长 */
res.header('Access-Control-Max-Age', 600)
/* 以下设置OPTIONS返回并给空内容 */
res.header('Content-Type', 'text/plain charset=UTF-8')
res.header('Content-Length', 0)
res.status(204).end()
return
}
next()
})
router.post('/api/test', upload.any(), _test.isRun)
// 重新获取token 在分享
router.post('/share/getsignature', _wx.wxGetsignature)
......@@ -32,6 +49,10 @@ router.post('/getInfo', _wx.wxGetInfo)
router.post('/set/mixed-flow', _mfm.getFlow)
// 推流回调
router.post('/get/rtmp/callback', _rtmp.callback)
// 获取云课堂对照表
router.get('/get/cloud-class', _sccm.getTable)
// 设置云课堂对照表 - 添加key-value
router.post('/set/cloud-class', _sccm.setTable)
router.use('/api/*', upload.any(), (req, res) => { res.send('暂无该接口') })
router.use('*', upload.any(), (req, res) => { res.send('接口未定义') })
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论