小编Dab*_*bel的帖子

FireFlutter:在调试模式下启用应用程序检查

问题

App Check 在生产模式下工作正常,但在调试模式下出现错误:

401: Firebase App Check token is invalid.

我尝试了两件事:

  • 使用 Firebase 控制台生成调试令牌。
  • <script>self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;</script>通过插入到 来在应用程序中生成调试令牌index.html。然后将其作为调试令牌添加到 Firebase 控制台中。我还注意到,通过这种方式,每次应用程序重新启动时都会生成一个新的调试令牌。

代码

  if (kReleaseMode) {
    await FirebaseAppCheck.instance.activate(
      webRecaptchaSiteKey: LIVE_TOKEN,
    );
  } else {
    await FirebaseAppCheck.instance.activate(
      webRecaptchaSiteKey: DEBUG_TOKEN,
    );
  }
Run Code Online (Sandbox Code Playgroud)

问题

使用 FlutterFire,生成和使用 App Check 的调试令牌的正确方法是什么?遵循文档对我来说不起作用。

文档

https://firebase.google.com/docs/app-check/flutter/default-providers

https://firebase.flutter.dev/docs/app-check/debug-provider/#activating-the-debug-provider-web

debugging flutter-web firebase-app-check

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

将 Firebase 项目名称替换为带有操作 URL 的电子邮件模板中的自定义域

背景

Firebase 身份验证会发送用于注册、密码更改等的电子邮件。这些电子邮件包含带有我项目的内部 Firebase 名称的链接。

问题

我想用我的自定义域替换该内部名称,这似乎可以通过更改操作 URL 并使用动态链接来实现。

我不想使用自己的代码处理电子邮件操作,而只是将 Firebase 域替换为自定义域。它是关于发送包含带有自定义域的链接的电子邮件,因此看起来不错

现有答案

存在答案,但我不明白这到底是如何工作的。我无法发表评论,因为我的声誉太低了。

/sf/ask/3288053611/#:~:text=You%20just%20need%20to%20create ,动态%20Link%20和%20hit%20done

插图

自定义操作 URL

dns firebase firebase-authentication

3
推荐指数
1
解决办法
2319
查看次数

Angular-FormArray:从二维 Javascript 数组创建表格

  • 我需要使用 Angular 创建一个基于简单的二维数组数组的表格形式。
  • 数据结构很简单,但单元格中的数据是相互依赖的。单个单元格仅通过索引访问,例如row:1,,col:0
  • 需要在单元格级别定义自定义验证器。此外,可能还有行和列的验证器。

我尝试了各种方法来定义FormArray保存 s 数组FormControl。但我不确定如何FormControl在 Angular 模板中单独访问各自的行索引和列索引。

模型

[
  ['a', 'b'],
  ['c', 'd']
]
Run Code Online (Sandbox Code Playgroud)

表格组

  form = new FormGroup({
    rows: new FormArray([...])
  });
Run Code Online (Sandbox Code Playgroud)

预期结果

我尝试过各种类似的事情:

  <form [formGroup]="form"">
    <div formArrayName="rows">
      <div 
        *ngFor="let row of rows.controls; let rowIndex = index" [formGroupName]="rowIndex">
        <div formArrayName="cols">
          <div
            *ngFor="let col of form.get('cols').controls; let colIndex = index"
            [formGroupName]="colIndex">
            <input [formControlName]="colIndex" />
          </div>
        </div>
      </div>
    </div>
  </form>
Run Code Online (Sandbox Code Playgroud)

javascript arrays angular formarray

2
推荐指数
1
解决办法
2372
查看次数

Flutter:GestureHandler 和 Transform.scale 导致点击框较小

背景

尝试设置一个简单的图像编辑器,允许用户通过手势缩放和移动图像。

GestureDetector通过,Transform.scale和可以很好地进行缩放和移动Transform.rotate

问题

缩放后,用户仍然可以缩放已经缩放的图像。

但是:这GestureDetector不会改变执行命中测试的区域。

问题:用户只能使用原始的 hitbox 来操作图像。无法通过在扩展的外部形状上使用两指捏合手势来缩放图像。

图片

第一张图片演示了基本设置。

第二张图片演示了使用手势的结果。它显示了小的、未改变的内部碰撞箱。以及由此产生的缩放和旋转形状。

填充的框是碰撞框。外部矩形显示缩放后的图像。

在此输入图像描述 在此输入图像描述在此输入图像描述

期望的行为

在缩放后的外部形状上使用两指捏合手势应该允许进一步操作对象。

相反,内部打击盒可以单独使用。但用户期望使用缩放后的外部形状来进一步缩放和移动对象。

代码

import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      home: GestureTest(),
    );
  }
}

class DrawContainer {
  Color color;
  Offset offset;
  double scale;
  double angle;
  late double baseScaleFactor;

  DrawContainer(this.color, this.offset, this.scale, this.angle) {
    baseScaleFactor = scale;
  }

  onScaleStart() => …
Run Code Online (Sandbox Code Playgroud)

transform gesturedetector flutter

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