12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- const express = require('express');
- const request = require('superagent');
- const utils = require('../utils/utils');
- const router = express.Router();
- const base = 'http://jisutqybmf.market.alicloudapi.com/weather/query';
- const APPCODE = process.env.APPCODE ;
- router.get('/*', function(req, res, next) {
- getWeather(req, res, next);
- });
- router.post('/*', function(req, res, next) {
- getWeather(req, res, next);
- });
- let getWeather = (req, res, next) => {
- let params = utils.convert(req,res,next,base);
- let config = params[0];
- let protocol = params[1];
- let host = params[2];
- let cb = params[3];
- let _params = params[4];
- let output = {
- data: {},
- status: {
- code: -1,
- message: '请确定你的请求方式像这样:/weather?city=番禺'
- }
- };
- let referer = config['headers']['referer']
- let origin = config['headers']['origin']
- if((referer && referer.indexOf('180.169.17.10')>-1) || (origin && origin.indexOf('180.169.17.10')>-1)){
- output = {
- status: {
- code: -2,
- message: '很抱歉,由于您的使用量过大,现已停止您的数据请求,如需商务合作请联系hi@big.moe'
- }
- }
- cb && res.jsonp(output) || res.send(output);
- return
- }
- if(_params['city']){
- config['headers'] = {
- "Host":"jisutqybmf.market.alicloudapi.com",
- "X-Ca-Timestamp":Date.now(),
- "gateway_channel":"http",
- "X-Ca-Request-Mode":"debug",
- "X-Ca-Key":"24605515",
- "X-Ca-Stage":"RELEASE",
- "Content-Type":"application/json; charset=utf-8",
- "Authorization":`APPCODE ${APPCODE}`
- }
- //config['gzip'] = '';
- utils.createServer(config).then(ret => {
- cb && res.jsonp(ret) || res.send(ret);
- }).catch(ex => {
- output = {
- status: {
- code: -2,
- message: Object.keys(ex).length>0 ? ex : 'unknow error, please checked your city name'
- }
- }
- console.log(`cb:${cb}`)
- cb && res.jsonp(output) || res.json(output);
- });
- }else{
- cb && res.jsonp(output) || res.json(output);
- }
- }
- module.exports = router;
|