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
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,
|
|
};
|