diff --git a/code/VideoAccess-VCMP/api/.vscode/launch.json b/code/VideoAccess-VCMP/api/.vscode/launch.json index 5bef1ea..1507984 100644 --- a/code/VideoAccess-VCMP/api/.vscode/launch.json +++ b/code/VideoAccess-VCMP/api/.vscode/launch.json @@ -17,7 +17,8 @@ "-f http://localhost:4000", "-g postgres://postgres:123@10.8.30.32:5432/video_access", "--redisHost 127.0.0.1", - "--redisPort 6379" + "--redisPort 6379", + "--axyApiUrl http://127.0.0.1:4100" ] }, { diff --git a/code/VideoAccess-VCMP/api/app/lib/index.js b/code/VideoAccess-VCMP/api/app/lib/index.js index 64efb09..0ad68f8 100644 --- a/code/VideoAccess-VCMP/api/app/lib/index.js +++ b/code/VideoAccess-VCMP/api/app/lib/index.js @@ -3,11 +3,9 @@ const routes = require('./routes'); const redisConnect = require('./service/redis') const socketConect = require('./service/socket') +const paasRequest = require('./service/paasRequest'); const authenticator = require('./middlewares/authenticator'); // const apiLog = require('./middlewares/api-log'); -const paasRequest = require('./middlewares/paasRequest'); - - module.exports.entry = function (app, router, opts) { app.fs.logger.log('info', '[FS-AUTH]', 'Inject auth and api mv into router.'); diff --git a/code/VideoAccess-VCMP/api/app/lib/service/paasRequest.js b/code/VideoAccess-VCMP/api/app/lib/service/paasRequest.js new file mode 100644 index 0000000..7f91a9c --- /dev/null +++ b/code/VideoAccess-VCMP/api/app/lib/service/paasRequest.js @@ -0,0 +1,65 @@ +'use strict'; +const request = require('superagent') + +class paasRequest { + constructor(root) { + this.root = root; + } + + #buildUrl = (url) => { + return `${this.root}/${url}`; + } + + #resultHandler = (resolve, reject) => { + return (err, res) => { + if (err) { + reject(err); + } else { + resolve(res.body); + } + }; + } + + get = (url, { query, header = {} }) => { + return new Promise((resolve, reject) => { + request.get(this.#buildUrl(url)).set(header).query(query).end(this.#resultHandler(resolve, reject)); + }) + } + + post = (url, data, query) => { + return new Promise((resolve, reject) => { + request.post(this.#buildUrl(url, this.root)).set(header).query(query).send(data).end(this.#resultHandler(resolve, reject)); + }) + } + + put = (url, data) => { + return new Promise((resolve, reject) => { + request.put(this.#buildUrl(url)).set(setHeader()).send(data).end(this.#resultHandler(resolve, reject)); + }) + } + + delete = (url) => { + return new Promise((resolve, reject) => { + request.delete(this.#buildUrl(url)).set(setHeader()).end(this.#resultHandler(resolve, reject)); + }) + } +} + +function factory (app, opts) { + if (opts.pssaRequest) { + try { + for (let r of opts.pssaRequest) { + if (r.name && r.root) { + app.fs[r.name] = new paasRequest(r.root) + } else { + throw 'opts.pssaRequest 参数错误!' + } + } + } catch (error) { + console.error(error) + process.exit(-1); + } + } +} + +module.exports = factory; diff --git a/code/VideoAccess-VCMP/api/app/lib/service/request.js b/code/VideoAccess-VCMP/api/app/lib/service/request.js deleted file mode 100644 index 8a53915..0000000 --- a/code/VideoAccess-VCMP/api/app/lib/service/request.js +++ /dev/null @@ -1,45 +0,0 @@ -const request = require('superagent') - -module.exports = class paasRequest { - constructor(root, ctx) { - this.root = root; - } - - #buildUrl = (url) => { - return `${this.root}/${url}`; - } - - #resultHandler = (resolve, reject) => { - return (err, res) => { - if (err) { - reject(err); - } else { - resolve(res.body); - } - }; - } - - get = (url, { query, header = {} }) => { - return new Promise((resolve, reject) => { - request.get(this.#buildUrl(url)).set(header).query(query).end(this.#resultHandler(resolve, reject)); - }) - } - - post = (url, data, query) => { - return new Promise((resolve, reject) => { - request.post(this.#buildUrl(url, this.root)).set(header).query(query).send(data).end(this.#resultHandler(resolve, reject)); - }) - } - - put = (url, data) => { - return new Promise((resolve, reject) => { - request.put(this.#buildUrl(url)).set(setHeader()).send(data).end(this.#resultHandler(resolve, reject)); - }) - } - - delete = (url) => { - return new Promise((resolve, reject) => { - request.delete(this.#buildUrl(url)).set(setHeader()).end(this.#resultHandler(resolve, reject)); - }) - } -} \ No newline at end of file diff --git a/code/VideoAccess-VCMP/api/config.js b/code/VideoAccess-VCMP/api/config.js index 34ed24d..44b64ea 100644 --- a/code/VideoAccess-VCMP/api/config.js +++ b/code/VideoAccess-VCMP/api/config.js @@ -14,6 +14,7 @@ args.option(['f', 'fileHost'], '文件中心本地化存储: WebApi 服务器地 args.option('redisHost', 'redisHost'); args.option('redisPort', 'redisPort'); args.option('redisPswd', 'redisPassword'); +args.option('axyApiUrl', 'axyApiUrl'); // 安心云 api const flags = args.parse(process.argv); @@ -24,6 +25,8 @@ const IOTA_REDIS_SERVER_HOST = process.env.IOTA_REDIS_SERVER_HOST || flags.redis const IOTA_REDIS_SERVER_PORT = process.env.IOTA_REDIS_SERVER_PORT || flags.redisPort || "6379";//redis 端口 const IOTA_REDIS_SERVER_PWD = process.env.IOTA_REDIS_SERVER_PWD || flags.redisPswd || "";//redis 密码 +const AXY_API_URL = process.env.AXY_API_URL || flags.axyApiUrl; + if (!IOT_VIDEO_ACCESS_DB || !IOTA_REDIS_SERVER_HOST || !IOTA_REDIS_SERVER_PORT) { console.log('缺少启动参数,异常退出'); args.showHelp(); @@ -55,7 +58,7 @@ const product = { }, pssaRequest: [{ // name 会作为一个 request 出现在 ctx.app.fs name: 'axyRequest', - root: 'http://127.0.0.1:4100' + root: AXY_API_URL }] } }