`

Firebase Function Sample

 
阅读更多
Sample for Express

var functions = require("firebase-functions");
const express = require("express");

//Set up ExpressJS Server
const expressRouter = new express.Router();
//expressRouter.get('*', (req: any, res: { send: (arg0: string) => void; }) => {
//   res.send(`Hello *`); 
//});

expressRouter.get('/Test/:id', (req: any, res: any) => {
  //functions.console.log(req.params.id);
  
  res.send(`Hello Test`); 
});

expressRouter.get('/GetVersion', (req: any, res: any) => {
  res.send(`Hello GetVersion`); 
});

expressRouter.get('/*', (req: any, res: any) => {
  res.send(`NULL`); 
});

//Cloud Function
exports.express = functions.https.onRequest(expressRouter);



Sample Code2
var functions = require("firebase-functions");
const express = require('express');
const cors = require('cors');
const app = express();


//Init the session to the target firbease project
var admin = require("firebase-admin");
var serviceAccount = require("../Res/multimanagementsystem.json");
admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),
  databaseURL: `https://${serviceAccount.project_id}-default-rtdb.firebaseio.com`
});
const db = admin.firestore();

// Automatically allow cross-origin requests
app.use(cors({ origin: true }));

// Add middleware to authenticate requests
//app.use(myMiddleware);

//Added by Jacky
const strVerion = "01.0001.20210315";

//
app.get('/getCurVersion', (request, response) => {
  response.json( {version:strVerion} );
})

//
app.get('/getUser', async(request, response) => {
  response.json( {version:strVerion} );
})


app.get('/:id/:name', async(request, response) => {
    functions.logger.info(request.params.id);
    functions.logger.info(request.params.name);

    const user = db.collection('users').doc(request.params.id);
    const doc = user.get();
    if (!doc.exists) {
    console.log('No such document!');
    } else {
    console.log('Document data:', doc.data());
    }

    response.json({version:strVerion});
});

/*
router.get('/getUser/:id',  (req, rsp)=>{
    functions.logger.info(req.params.id);

    const user = db.collection('users').doc(req.params.id);
    const doc = user.get();
    if (!doc.exists) {
    console.log('No such document!');
    } else {
    console.log('Document data:', doc.data());
    }

    rsp.json({version:strVerion});
});
*/

async function writeDBFunction() {
    const docRef = db.collection('users').doc('alovelace');
    await docRef.set({
        first: 'Ada',
        last: 'Lovelace',
        born: 1815
        });
}

app.get('/writeDB', async(request, response) => {
    writeDBFunction();
    response.send("Succeed to write DB!");
  });


async function readDBFunction() {
    const snapshot = await db.collection('users').get();
    functions.logger.info(snapshot, {structuredData: true});
}

app.get('/readDB', async(request, response) => {
    readDBFunction();
    response.send("Succeed to read DB!");
  });

// build multiple CRUD interfaces:
app.get('/:id', (req, res) => {
  res.send(req.params.id);
});

app.get('/', (req, res) => {
  res.send('list()');
});

app.get('/Test/:id', (req, res) => {
  //functions.console.log(req.params.id);  
  res.send(`Hello Test`); 
});

app.get('/GetVersion', (req, res) => {
  res.send(`Hello GetVersion`); 
});

app.get('/*', (req, res) => {
  res.send(`NULL`); 
});

/*
app.post('/', (req, res) => {
  res.send('create()');
});

app.put('/:id', (req, res) => {
  res.send(req.params.id + req.body);
});

app.delete('/:id', (req, res) => {
  res.send(req.params.id);
});
*/

// Expose Express API as a single Cloud Function:
// exports.managmentapi = functions.https.onRequest(app);

export const mainCloudFunctions = functions.region("europe-west3"); //Set region if necessary
export const managmentapi = mainCloudFunctions.https.onRequest(app);


{
  "compilerOptions": {
    "module": "commonjs",
    "noImplicitReturns": true,
    "noUnusedLocals": true,
    "outDir": "lib",
    "sourceMap": true,
    "strict": true,
    "target": "es2017",
    "noImplicitAny": false
  },
  "compileOnSave": true,
  "include": [
    "src"
  ]
}
分享到:
评论

相关推荐

    flutter_firebase_sample:flutter_firebase_sample

    flutter_firebase_sample 一个新的Flutter应用程序。 入门 该项目是Flutter应用程序的起点。 如果这是您的第一个Flutter项目,那么有一些资源可以帮助您入门: 要获得Flutter入门方面的帮助,请查看我们的,其中提供...

    Firebase_sample_2021_start:Firebase示例的起始版本

    Firebase Sample 2021 Start 是一个基于Java的项目,旨在提供Firebase的最新示例代码,帮助开发者理解和学习如何在2021年及以后有效利用Firebase平台。Firebase是一个全面的移动开发平台,由Google提供,它允许...

    firebase-sample-apps:用于Firebase集成的Quasar示例应用程序

    Quasar-Firebase示例应用程序: 一个工作库,用于突出并显示Quasar框架中Google Firebase服务的集成。 每个概念都将与自己的应用程序隔离,以专注于实现的范围。 如果某个示例在其范围内未突出显示需求或特定关注,...

    onsen-firebase-sample:使用 Onsen UI 和 Firebase 的示例 Hacker News 应用程序

    总之,这个"onsen-firebase-sample"项目展示了如何结合Onsen UI的前端能力与Firebase的后端服务,创建一个功能完备、数据实时更新的Hacker News阅读应用。通过学习这个示例,开发者可以了解到如何利用现代Web技术...

    quasar-firebase-sample-apps

    Quasar-Firebase示例应用程序: 一个工作库,用于突出并显示Quasar框架中Google Firebase服务的集成。 每个概念都将与自己的应用程序隔离,以专注于实现的范围。 如果某个示例在其范围内未突出显示需求或特定关注,...

    firebase-unity-sdk-11.6.0版本

    firebase_unity_sdk_11.6.0版本firebase_unity_sdk_11.6.0版本firebase_unity_sdk_11.6.0版本firebase_unity_sdk_11.6.0版本firebase_unity_sdk_11.6.0版本firebase_unity_sdk_11.6.0版本firebase_unity_sdk_11.6.0...

    firebase-sample-bulletinboard-vue:使用Vue和Firebase构建的示例微型应用程序

    使用Firebase和Vue.js构建的公告板示例应用程序演示版屏幕截图构建设置npm安装 # install dependenciesnpm install部署Firebase功能 cd functions# install dependenciesnpm install# deploy functionsfirebase ...

    cocos2dx-cpp-sample:Firebase Cocos2d-x样本

    介绍先决条件setup_firebase_sample.py脚本要求将Python安装在本地。 访问以获取更多信息。 如果在Mac上运行此脚本,则需要安装CocoaPods。 有关更多详细信息,请参见《 CocoaPods 。入门克隆Firebase Cocos2d-x示例...

    ReactJS-Firebase-Sample-Clicker-Game

    该项目是通过引导的。可用脚本在项目目录中,可以运行:npm start 在开发模式下运行应用程序。 打开在浏览器中查看它。 如果您进行编辑,则页面将重新加载。 您还将在控制台中看到任何棉绒错误。...

    bonfire-firebase-sample:讨论您最喜欢的表情符号的应用程序。 这是使用Firebase构建的示例应用程序

    Google IO 2016的重要公告之一是Firebase。 Firebase伞不再只是“数据库”,现在包括集成的Analytics(分析),崩溃报告,推送消息,动态链接,存储,托管等。 这个新平台适合您的所有项目吗? 您应该花时间学习...

    Laravel开发-firebase-laravel

    $this->app->singleton('firebase', function () { return (new Factory) ->withServiceAccount(config('services.firebase.serviceAccount')) ->withDatabaseUri(config('services.firebase.database.url')); ...

    FireBase Demo

    Firebase是Google提供的一款全方位的后端开发平台,用于构建高质量的移动应用。它包含了各种服务,如实时云数据库、身份验证、存储、消息推送等,为开发者提供了便捷的工具和功能,帮助他们快速构建功能丰富的应用...

    serverless-rest-api:使用Firebase Cloud Function,Firestore,Express和TypeScript构建RESTful Web API

    要求 您将需要一个Firebase项目和firebase工具cli npm install -g firebase-tools入门您可以按照指南进行操作,也可以克隆此存储库。克隆此存储库git clone git@github.com:dalenguyen/serverless-rest-api.git .您...

    Laravel开发-laravel-firebase-synchronization

    在本文中,我们将深入探讨如何在Laravel框架中实现与Firebase实时数据库的同步。Laravel是PHP的一个流行框架,以其优雅的语法和强大的功能而受到开发者喜爱。Firebase,另一方面,是Google提供的一项全面的后端服务...

    firebase4.zip

    Firebase是Google提供的一款全方位的移动开发平台,它可以帮助开发者轻松构建高质量的应用,提供了一系列服务,如实时云数据库、身份验证、存储、消息推送等。在Android Studio中,Firebase作为一个插件,可以方便...

    firebase-android-sdk,Firebase Android软件开发包.zip

    Firebase是Google提供的一项全面的后端服务,用于帮助开发者快速构建高质量的移动应用。Firebase Android SDK是Firebase服务在Android平台上的开发工具包,它包含了多种功能模块,如身份验证、实时数据库、云消息推...

    firebase3.6.1

    Firebase是Google提供的一款全方位的移动开发平台,它可以帮助开发者快速构建高质量的应用。Firebase3.6.1是该平台的一个版本,提供了丰富的服务和工具,涵盖了数据存储、身份验证、消息推送、应用分析等多个方面。...

    firebase-jetpack,示例应用程序显示firebase与android jetpack体系结构组件配合良好.zip

    在本示例中,Firebase 可能用于处理用户登录(Firebase Authentication)、数据存储(Firebase Realtime Database 或 Cloud Firestore)、推送通知(Firebase Cloud Messaging)以及应用性能监控(Firebase ...

    stuff用Firebase进行Crud操

    在IT行业中,Firebase是一款由Google提供的全面实时云平台,它为开发者提供了构建高质量移动应用所需的各种工具和服务。在这个“stuff用Firebase进行Crud操作”的主题中,我们将深入探讨如何使用Firebase来执行基本...

Global site tag (gtag.js) - Google Analytics