43 lines
1.4 KiB
JavaScript
43 lines
1.4 KiB
JavaScript
const express = require('express')
|
|
const path = require('path')
|
|
const cors = require('cors')
|
|
const bodyParser = require('body-parser')
|
|
const fs = require('fs')
|
|
|
|
const app = express()
|
|
const port = 433
|
|
|
|
app.use(cors())
|
|
|
|
app.get('/api/list', (req, res) => {
|
|
fs.readdir('./assets/', (err, items) => {
|
|
result = items.map(el => 'image/' + el)
|
|
const pageSize = req.query.size || 3;
|
|
const pagesAmount = Math.ceil(items.length / pageSize );
|
|
const page = (req.query.page > pagesAmount) ? pagesAmount : req.query.page || 1;
|
|
console.log(`Page=${page}, server acessed`)
|
|
res.json({
|
|
"page": page,
|
|
"pagesAmount": pagesAmount,
|
|
"list": result.slice(page * pageSize - pageSize, page * pageSize),
|
|
})
|
|
})
|
|
})
|
|
app.get('/image/:name.:subname', (req, res) => {
|
|
res.sendFile(__dirname + '/assets/' + req.params.name + '.' + req.params.subname, (err) => {
|
|
console.log(__dirname + '/assets/' + req.params.name + '.' + req.params.subname)
|
|
if (err) {
|
|
next(err)
|
|
} else {
|
|
console.log('Sent:', req.query.path)
|
|
}
|
|
})
|
|
})
|
|
|
|
app.use(express.static(path.join(__dirname, '../build')));
|
|
|
|
app.get('*', function(req, res) {
|
|
res.sendFile(path.join(__dirname, '../build', 'index.html'));
|
|
});
|
|
|
|
app.listen(port, () => console.log(`Example app listening on port ${port}!`)) |