Commit f903f9ae authored by 陈帅's avatar 陈帅

support_firebase

parent 16cf4ce2
/functions/mock
\ No newline at end of file
{
"projects": {
"default": "antd-pro"
}
}
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
# dependencies # dependencies
/node_modules node_modules
# roadhog-api-doc ignore # roadhog-api-doc ignore
/src/utils/request-temp.js /src/utils/request-temp.js
_roadhog-api-doc _roadhog-api-doc
...@@ -20,11 +20,9 @@ yarn-error.log ...@@ -20,11 +20,9 @@ yarn-error.log
yarn.lock yarn.lock
package-lock.json package-lock.json
*bak *bak
<<<<<<< HEAD
jsconfig.json jsconfig.json
.vscode .vscode
=======
# visual studio code # visual studio code
.history .history
>>>>>>> master *.log
{
"hosting": {
"public": "dist",
"rewrites": [{ "source": "/api/**", "function": "api" }],
"ignore": ["firebase.json", "**/.*", "**/node_modules/**"]
}
}
// [START functionsimport]
const functions = require('firebase-functions');
const express = require('express');
const mock = require('./mock/index');
const app = express();
const sendData = (body, req, res) => {
if (!body) {
res.send('test');
return '';
}
if ('$body' in body) {
res.send(body.$body);
return;
}
if (typeof body === 'function') {
body(req, res);
}
res.send(body);
};
app.get('/api', (req, res) => {
const html = Object.keys(mock).map(url => {
return `<li><code>${url}</code></li>`;
});
res.send(`<ul>${html.join('')}</ul>`);
});
Object.keys(mock).forEach(url => {
const body = mock[url];
const urlParams = url.split(' ');
const path = urlParams[1];
const send = (req, res) => {
sendData(body, req, res);
};
if (urlParams[0] === 'GET') {
app.get(path, send);
}
if (urlParams[0] === 'POST') {
app.post(path, send);
}
});
exports.api = functions.https.onRequest(app);
This diff is collapsed.
function getJson(infoType) {
const json = require(`${__dirname}/${infoType}.json`);
return JSON.parse(json);
}
export function getProvince(req, res) {
res.json(getJson('province'));
}
export function getCity(req, res) {
res.json(getJson('city')[req.params.province]);
}
export default {
getProvince,
getCity,
};
[
{
"name": "北京市",
"id": "110000"
},
{
"name": "天津市",
"id": "120000"
},
{
"name": "河北省",
"id": "130000"
},
{
"name": "山西省",
"id": "140000"
},
{
"name": "内蒙古自治区",
"id": "150000"
},
{
"name": "辽宁省",
"id": "210000"
},
{
"name": "吉林省",
"id": "220000"
},
{
"name": "黑龙江省",
"id": "230000"
},
{
"name": "上海市",
"id": "310000"
},
{
"name": "江苏省",
"id": "320000"
},
{
"name": "浙江省",
"id": "330000"
},
{
"name": "安徽省",
"id": "340000"
},
{
"name": "福建省",
"id": "350000"
},
{
"name": "江西省",
"id": "360000"
},
{
"name": "山东省",
"id": "370000"
},
{
"name": "河南省",
"id": "410000"
},
{
"name": "湖北省",
"id": "420000"
},
{
"name": "湖南省",
"id": "430000"
},
{
"name": "广东省",
"id": "440000"
},
{
"name": "广西壮族自治区",
"id": "450000"
},
{
"name": "海南省",
"id": "460000"
},
{
"name": "重庆市",
"id": "500000"
},
{
"name": "四川省",
"id": "510000"
},
{
"name": "贵州省",
"id": "520000"
},
{
"name": "云南省",
"id": "530000"
},
{
"name": "西藏自治区",
"id": "540000"
},
{
"name": "陕西省",
"id": "610000"
},
{
"name": "甘肃省",
"id": "620000"
},
{
"name": "青海省",
"id": "630000"
},
{
"name": "宁夏回族自治区",
"id": "640000"
},
{
"name": "新疆维吾尔自治区",
"id": "650000"
},
{
"name": "台湾省",
"id": "710000"
},
{
"name": "香港特别行政区",
"id": "810000"
},
{
"name": "澳门特别行政区",
"id": "820000"
}
]
This diff is collapsed.
{
"name": "functions",
"description": "Cloud Functions for Firebase",
"scripts": {
"serve": "firebase serve --only functions",
"shell": "firebase functions:shell",
"start": "npm run shell",
"deploy": "firebase deploy --only functions",
"logs": "firebase functions:log"
},
"dependencies": {
"cors": "^2.8.1",
"express": "^4.16.3",
"firebase-admin": "^5.12.1",
"firebase-functions": "^1.0.3",
"mockjs": "^1.0.1-beta3",
"moment": "^2.22.2"
},
"private": true
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment