| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- const API = require('../../../../lib/API.js')
- const { BaseStdResponse } = require('../../../../BaseStdResponse.js')
- const AccessControl = require('../../../../lib/AccessControl.js')
- const QgProxyManager = require('../../../../lib/Lepao/QgProxyManager')
- /**
- * 青果通道提取 [查询资源地区](https://www.qg.net/doc/1850.html)(GET /resources)
- */
- class AdminLepaoProxyResources extends API {
- constructor() {
- super()
- this.setPath('/Admin/Lepao/Proxy/Resources')
- this.setMethod('GET')
- }
- async onRequest(req, res) {
- const { uuid, session } = req.query
- if ([uuid, session].some(v => v === '' || v == null))
- return res.json({ ...BaseStdResponse.MISSING_PARAMETER })
- if (!await AccessControl.checkSession(uuid, session))
- return res.status(401).json({ ...BaseStdResponse.ACCESS_DENIED })
- const permission = await AccessControl.getPermission(uuid)
- if (!permission.includes('admin') && !permission.includes('service'))
- return res.json({ ...BaseStdResponse.PERMISSION_DENIED })
- if (!QgProxyManager.hasExtractCredentials()) {
- return res.json({ ...BaseStdResponse.ERR, msg: '未在后端 config 配置 qgChannelProxy.extractKey,无法查询资源' })
- }
- try {
- const list = await QgProxyManager.fetchResourceAreas()
- return res.json({
- ...BaseStdResponse.OK,
- data: list || []
- })
- } catch (e) {
- this.logger?.error?.(`AdminLepaoProxyResources: ${e.stack || e}`)
- return res.json({ ...BaseStdResponse.ERR, msg: e.message || '查询青果资源失败' })
- }
- }
- }
- module.exports.AdminLepaoProxyResources = AdminLepaoProxyResources
|