首页 > 解决方案 > 如何通过 JSON 操作查询的数据?

问题描述

我正在使用第三方 API(到目前为止一切顺利,我得到了结果),但是由于我是新手,我很难为前端(EJS)处理这些结果** ...

系统应该做的是:

该站点是一个图形面板,我在其中使用第三方 API(如果被前端使用,它会阻止源)并使用名为 (CHARTJS) 的图形插件填充以 JSON 接收的数据。问题就在那里,因为一旦访问页面并在消费后填充图形就应该使用 API,但是对于我来说要使用这个 JSON,我需要传递一些 QS ......当访问第一个图形的页面时,这些 QS 已经是自动的并且可以通过包含相同页面的表单进行操作,以便能够执行其他查询..

我完全迷路了,我希望得到一些帮助和解释..

控制器/登录/登录.JS

module.exports.index = (_application, _request, _response) => {
    _response.render('login/index');
}

module.exports.check_login =  (_application, _request, _response) => {
    const JSON_MODEL = new _application.app.models.jsonDAO('fatVenda.xsjs', '\'BSC\'', '201807', 'vendaabs,vendam2');
    JSON_MODEL.request();

    console.log(JSON_MODEL.jsonData)

    const VENDA_MODEL = new _application.app.models.vendaDAO('', '', '', '');

    _response.render('home/home');

}

路线/登录/登录.JS

module.exports = (_application) => {
    _application.get('/login', (_request, _response) => {
        _application.app.controllers.login.login.index(_application, _request, _response);
    });

    _application.post('/check_login', (_request, _response) => {
        _application.app.controllers.login.login.check_login(_application, _request, _response);
    });
}

模型/JSONDAO.JS

const REQUEST = require('request');

class JsonRequestDAO {
    constructor(_xjs, _shoppingID, _periodUntil, _kpi){
        this.xjs         = _xjs;
        this.shoppingID  = _shoppingID;
        this.periodUntil = _periodUntil;
        this.kpi         = _kpi;
    }

    request(){
        REQUEST.get({
            uri: `URL${this.xjs}`,
            json: true,
            qs: {
                Shop:       this.shoppingID,
                PeriodoAte: this.periodUntil,
                Kpi:        this.kpi
            },
            headers: {
                Authorization:   'Basic KEY',
                ApiKey:          'KEY', 
                'Cache-Control': 'no-cache',
                'Content-Type':  'application/json',
            }
        }, (_error, _response) => {
           (_response.statusCode == 200) ? _response.body : console.log(_error);
        });
    }
}

module.exports = () => { return JsonRequestDAO; }

模型/VENDADAO.JS

class VendaDAO {
    constructor(_shoppingName, _yearMonth, _competence, _sale, _salePercentage, _saleSquareMeter, _salePercentageSquareMeter){
        this.shoppingName              = _shoppingName;
        this.yearMonth                 = _yearMonth;
        this.competence                = _competence;
        this.sale                      = _sale;
        this.salePercentage            = _salePercentage;
        this.saleSquareMeter           = _saleSquareMeter;
        this.salePercentageSquareMeter = _salePercentageSquareMeter;
    }

    static get shoppingName()              { return this.shoppingName;              }
    static get yearMonth()                 { return this.yearMonth;                 }
    static get competence()                { return this.competence;                }
    static get sale()                      { return this.sale;                      }
    static get salePercentage()            { return this.salePercentage;            }
    static get saleSquareMeter()           { return this.saleSquareMeter;           }
    static get salePercentageSquareMeter() { return this.salePercentageSquareMeter; }
}

module.exports = () => {
    return VendaDAO;
}

在此处输入图像描述

标签: node.js

解决方案


推荐阅读