const API = require("../../../lib/API"); const AccessControl = require("../../../lib/AccessControl"); const ic = require("../../../lib/IC/IC").IC; const { BaseStdResponse } = require("../../../BaseStdResponse"); class GetOpenScope extends API { constructor() { super(); this.setPath('/IC/GetOpenScope') this.setMethod('GET') } async onRequest(req, res) { let { uuid, session, username, roomId } = req.query if ([uuid, session, username, roomId].some(value => value === '' || value === null || value === undefined)) return res.json({ ...BaseStdResponse.MISSING_PARAMETER }) // 检查 session if (!await AccessControl.checkSession(uuid, session)) return res.status(401).json({ ...BaseStdResponse.ACCESS_DENIED }) const password = await AccessControl.checkJwAccount(uuid, username) if(!password) return res.json({ ...BaseStdResponse.ERR, msg: '教务系统账号未绑定或未激活' }) try { const cookie = await ic.getCookie(username, password) const data = await ic.getOpenScope(cookie, roomId) res.json({ ...BaseStdResponse.OK, data }) } catch (error) { res.json({ ...BaseStdResponse.ERR, msg: error.message || '获取位置信息失败!请稍后再试' }) } } } module.exports.GetOpenScope = GetOpenScope;