|
|
import express from 'express'; |
|
|
import { render } from '@antv/gpt-vis-ssr'; |
|
|
|
|
|
const app = express(); |
|
|
app.use(express.json()); |
|
|
|
|
|
app.post('/api/chart', async (req, res) => { |
|
|
try { |
|
|
const options = req.body; |
|
|
const vis = await render(options); |
|
|
const buffer = vis.toBuffer(); |
|
|
res.setHeader('Content-Type', 'image/png'); |
|
|
res.send(buffer); |
|
|
} catch (err) { |
|
|
res.status(400).json({ error: err.message }); |
|
|
} |
|
|
}); |
|
|
|
|
|
const port = process.env.PORT || 7860; |
|
|
app.listen(port, () => { |
|
|
console.log('API running on port ' + port); |
|
|
}); |