You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

104 lines
2.9 KiB

import city from './geographic/city.json';
import province from './geographic/province.json';
import area from './geographic/area.json';
function getProvince(req: any, res: any) {
const currentPage: number = req.query.currentPage ? Number(req.query.currentPage) : 1;
const pageSize: number = req.query.pageSize ? Number(req.query.pageSize) : 100;
const items = [];
console.log('getProvince...');
console.log(currentPage);
let i: number;
for (
i = (currentPage - 1) * pageSize;
i < (Number(currentPage) - 1) * Number(pageSize) + Number(pageSize);
) {
if (province.hasOwnProperty(i)) {
// console.log((Number(currentPage) - 1) * Number(pageSize) + Number(pageSize));
items.push(province[i]);
}
i += 1;
}
return res.json({
list: items,
pagination: {
total: 34,
pageSize: Number(req.query.pageSize) || 100,
current: Number(req.query.currentPage) || 1,
},
});
}
function getCity(req: any, res: any) {
const currentPage: number = req.query.currentPage ? Number(req.query.currentPage) : 1;
const pageSize: number = req.query.pageSize ? Number(req.query.pageSize) : 100;
const items = [];
console.log('getCity...');
console.log(currentPage);
let i: number;
console.log('getCity:');
// console.log(req.params.province);
// console.log(city[req.params.province]);
// console.log((Number(currentPage) - 1) * Number(pageSize) + Number(pageSize))
for (
i = (currentPage - 1) * pageSize;
i < (Number(currentPage) - 1) * Number(pageSize) + Number(pageSize);
) {
if (city[req.params.province].hasOwnProperty(i)) {
// console.log((Number(currentPage) - 1) * Number(pageSize) + Number(pageSize));
console.log(i);
items.push(city[req.params.province][i]);
}
i += 1;
}
console.log(items);
return res.json({
list: items,
pagination: {
total: 34,
pageSize: Number(req.query.pageSize) || 100,
current: Number(req.query.currentPage) || 1,
},
});
}
function getArea(req: any, res: any) {
const currentPage: number = req.query.currentPage ? Number(req.query.currentPage) : 1;
const pageSize: number = req.query.pageSize ? Number(req.query.pageSize) : 100;
const items = [];
console.log('getArea...');
console.log(currentPage);
let i: number;
for (
i = (currentPage - 1) * pageSize;
i < (Number(currentPage) - 1) * Number(pageSize) + Number(pageSize);
) {
if (area[req.params.city].hasOwnProperty(i)) {
// console.log((Number(currentPage) - 1) * Number(pageSize) + Number(pageSize));
items.push(area[req.params.city][i]);
}
i += 1;
}
return res.json({
list: items,
pagination: {
total: 34,
pageSize: Number(req.query.pageSize) || 100,
current: Number(req.query.currentPage) || 1,
},
});
}
export default {
'GET /api/geographic/province': getProvince,
'GET /api/geographic/city/:province': getCity,
'GET /api/geographic/area/:city': getArea,
};