GeoEngineDS-API Middleware
import GeoEngineDS from 'GeoEngineDS'
import bodyParser from 'body-parser'
import express from 'express'
import path from 'path'
const app = express()
const logFolder = path.join(__dirname, '../logs')
const config = {
host: 'GeoEngineDS host',
token: 'GeoEngineDS token',
DEBUG: false,
logFolder: logFolder,
logLevels: ['info', 'error'],
dsMap: {
test: 12,
traffic: 13
}
apiList : {
test: [
{
ds: 'test',
path: '/api/getTest1',
sql : async (req) => "select * from tableName where xx='123'",
type: 'origin',
token: 'abc'
}
],
traffic: [
{
ds: 'traffic',
path: '/api/getTest2',
sql: async (req) => {
const sql = "SELECT * FROM ?? WHERE ?? = ?"
const { useId } = req.query
return context.format(sql, ['users', 'id', userId])
},
type: 'geojson',
token: 'bcd'
},
{
ds: 'traffic',
path: '/api/getTest3',
sql: async (req) => {
const sql = "SELECT * FROM ?? WHERE ?? = ?"
const { useId } = req.query
return context.format(sql, ['users', 'id', userId])
},
dataFormater: async data => data,
beforeSend: async (req, res) => { console.log('before send request') },
afterSend: async (req, res, data) => { console.log('after send request') },
onError: async (req, res, error) => { console.error('got error=', error)},
type: 'geojson',
token: 'aaa'
}
]
}
}
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(GeoEngineDS(app, config))
const server = app.listen(3000, 'localhost', function () {
console.log(server.address());
const host = server.address().address
const port = server.address().port
console.log("应用实例,访问地址为 http://%s:%s", host, port)
})