小编ven*_*nir的帖子

Dart 函数框架的使用

我是 Dart 函数框架的新手。我的目标是使用这个包创建多个函数并将它们部署到 Cloud Run(与 Firebase 结合使用,但我想这与这个问题无关)。

我已经运行了快速启动,并且已经阅读了文档中的所有内容。

快速入门一次只提到一个函数(例如Hello WorldCloud Events等),如下所示:

import 'package:functions_framework/functions_framework.dart';
import 'package:shelf/shelf.dart';

@CloudFunction()
Response function(Request request) {
    return Response.ok('Hello, World!');
}
Run Code Online (Sandbox Code Playgroud)

但正如您在快速入门中看到的那样,项目中一次仅处理一个功能。我想部署多个功能怎么样?我是不是该:

  1. 在同一个项目/文件中编写多个函数,以便函数框架自行编译“server.dart”

或者

  1. 为每个函数创建不同的? functions_framework

让我说得更具体一些。我应该执行以下操作(选项 1 - 这对我来说更有意义):

import 'dart:math';

import 'package:functions_framework/functions_framework.dart';
import 'package:shelf/shelf.dart';

@CloudFunction()
Response function(Request request) {
    return Response.ok('Hello, World!');
}

@CloudFunction()
Response function2(Request request) {
  if (Random().nextBool()) {
    return Response.ok('Hello, World!');
  } else {
    return Response.internalServerError();
  }
}
Run Code Online (Sandbox Code Playgroud)

build_runner或者我应该通过为项目中需要的 …

dart google-cloud-functions google-cloud-run functions-framework

6
推荐指数
1
解决办法
261
查看次数

如何将两个类似浮动的 Sliver 放入具有类似 SliverAppBar 行为的 CustomScrollView 中?

假设我们有以下简单的内容CustomScrollView

  • ASliverAppBar
  • 小工具1
  • 小工具2
  • 小工具3

前面的示例必须能够满足以下要求:

  1. 必须SliverAppBarfloating: true,所以当我们再次向上滚动时它就会出现。够简单的;
  2. 小部件 1 和小部件 2 的行为应该类似于 SliverAppBar. 让我详细说明一下:
    1. 这两个小部件不是AppBar,这意味着不应在它们上绘制任何抽屉,不应保留任何插图或其他任何内容。它们是普通的小部件,我想在那里使用我自己的实现;
    2. 当我向下滚动时,我希望这两个小部件能够滚动并消失……同样,很简单;
    3. 但是,当我再次向上滚动时,这两个小部件应该在屏幕上一个接一个地出现,如下所示:SliverAppBar -> Widget 1 -> Widget 2,而不需要滚动到顶部,即行为就像SliverAppBar使用选项一样floating:true他们必须遵守上述滚动顺序。
  3. 小部件 1 和小部件 2是可隐藏的:参见下面的示例;
  4. 小部件 3 只是实际内容,其行为类似于普通的可滚动小部件。

这是我现在拥有的代码。我尝试用不同的方法实现 Widget 1 和 Widget 2:

    import 'package:flutter/material.dart';
    
    void main() {
      runApp(const MyApp());
    }
    
    class MyApp extends StatefulWidget {
      const MyApp({Key? key}) : super(key: key); …
Run Code Online (Sandbox Code Playgroud)

dart flutter

5
推荐指数
0
解决办法
686
查看次数