首页 > web前端 > js教程 > 将 ZingGrid 连接到 Supabase:在几分钟内添加后端

将 ZingGrid 连接到 Supabase:在几分钟内添加后端

DDD
发布: 2024-09-13 08:15:36
原创
1070 人浏览过

交叉发布我在 Zing 博客上的文章。

Supabase 是一个开源 Firebase 替代品。他们提供多种服务,但出于本文的目的,我们将深入探讨它如何充当网格的简单后端。

初始设置

在开始配置网格之前,我们需要在 Supabase 方面执行几个步骤。

1. 账户创建

我们首先需要创建我们将连接到的 Supabase 帐户。您可以使用此链接注册 Supabase。创建帐户并确认电子邮件后,请继续下一步。

2. 创建您的第一个项目

继续前往仪表板页面并创建一个新项目。请务必记下项目名称和数据库密码。

3.记下项目信息

此时您应该看到您的项目 URL 和 API 密钥。稍后我们需要在代码中将这两个数据提供给 ZingGrid,因此请确保将它们存储在安全的本地文件中。

4. 创建您的第一个表

从侧栏中单击“表编辑器”部分。从这里我们可以创建我们的第一个表

Connecting ZingGrid to Supabase: Add a Backend in Minutes

第一步是给我们的表命名,这里我将使用 demoTable

Connecting ZingGrid to Supabase: Add a Backend in Minutes

然后我们可以编辑列,在此示例中我将有两列。一个用于名字,一个用于姓氏。

Connecting ZingGrid to Supabase: Add a Backend in Minutes

5. 添加一些示例数据

Connecting ZingGrid to Supabase: Add a Backend in Minutes

6. 更新安全设置

我们将暂时禁用行级安全性,以便我们可以出于本演示的目的轻松地从表中读取和写入。在生产中,我们需要通过身份验证设置适当的角色。

⚠️ 注意:此设置更改仅用于此演示的目的,不适用于生产

Connecting ZingGrid to Supabase: Add a Backend in Minutes

Supabase 适配器 - REST API

ZingGrid 支持与 Supabase 交互的两种方式 - 通过 REST API 和客户端脚本。我们将首先使用 REST API。

使用下面的初始演示代码,确保替换以下内容:

  • ***链接*** - 您之前记下的项目 URL
  • ***tableName*** - 您刚刚创建的 Supabase 表的名称
  • ***apiKey*** - 您之前记下的 Supabase API 密钥
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <script src="/lib/zinggrid.js"></script>
  <title>Supabase</title>
</head>
<body>
  <zing-grid
    page-size="5"
    sort
    pager
    title="Supabase"
    editor-controls
    editor-disabled-fields="id"
    src="https://***link***.supabase.co/rest/v1/***tableName***"
  >
    <zg-data adapter="supabase">
      <zg-param
        name="headers"
        value='
          {
            "Authorization": "Bearer ***apiKey***",
            "apikey": "***apiKey***"
          }'
        ></zg-param>
    </zg-data>
  </zing-grid>
</body>
</html>
登录后复制

在浏览器中查看该页面时,您应该开始看到我们填充的初始数据!

Connecting ZingGrid to Supabase: Add a Backend in Minutes

SupabaseJS 适配器 - 客户端脚本

如果您的应用碰巧使用 Supabase JavaScript 客户端库(您可以在其文档网站上阅读更多相关信息),您可以将 Supabase 凭据存储在标记之外,从而更加灵活。

修改前面的示例,我们首先创建一个 Superbase 客户端对象(更多内容请参阅他们的文档)

const supabaseUrl = 'https://***link***.supabase.co/';
const supabaseKey = '***apiKey***';
const supabaseClient = supabase.createClient(supabaseUrl, supabaseKey);
登录后复制

然后向 ZingGrid 注册该客户端

ZingGrid.registerClient(supabaseClient);
登录后复制

最后我们将 zg-data 上的适配器属性设置为supabaseJS,我们有以下内容

<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Supabase</title>
  <!-- ZingGrid -->
  <script src="https://cdn.zinggrid.com/zinggrid.min.js"></script>
  <!-- Supabase Client Library -->
  <script src="https://cdn.jsdelivr.net/npm/@supabase/supabase-js@2"></script>
</head>
<body>
  <script>
    const supabaseUrl = 'https://***link***.supabase.co/';
    const supabaseKey = '***apiKey***';
    const supabaseClient = supabase.createClient(supabaseUrl, supabaseKey);
    ZingGrid.registerClient(supabaseClient);
  </script>
  <zing-grid
    page-size="5"
    sort
    pager
    title="SupabaseJS"
    editor-controls
    editor-disabled-fields="id"
  >
    <zg-data adapter="supabaseJS">
      <zg-param name="dataTable" value="***tableName***"></zg-param>
    </zg-data>
  </zing-grid>
</body>
</html>
登录后复制

和以前一样工作

Connecting ZingGrid to Supabase: Add a Backend in Minutes

以上是将 ZingGrid 连接到 Supabase:在几分钟内添加后端的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板