模板

Todo 應用程式後端模板
Vue - 模式、API 與 AI 指南

可生產的 Vue Todo 後端模式和 Starter Kit on Back4app:ER 圖、資料辭典、JSON 結構圖、API playground、程式碼範例,以及可在幾分鐘內部署的一鍵式 AI Agent提示。

主要心得

在此頁面中,您將獲得一個生產就緒的模式、一鍵式 AI 提示,以及逐步的 Vue代碼 - 因此,您無需建立後端,就可以發佈 Todo 應用程式。

  1. 在幾分鐘內部署貼上 AI Agent 提示,並取得包含前端、後端和資料庫的執行應用程式。
  2. 預設安全行層級 ACL 可確保每個使用者只能看到自己的待辦事項。
  3. Vue-native SDK類型的物件、async/await、離線 pinning 以及 Live Queries 開箱即用。
  4. rest + __brand0__這兩個 API 都是自動產生的,不需要撰寫自訂端點。
  5. 兩個班級_User (內建認證) 和 Todo (具有標題、已完成、到期日、優先順序、所有者的任務)。

什麼是 Vue Todo App 後端模板?

Back4app 是 Todo 應用程式理想的後端即服務 (BaaS):管理後端、認證、即時和 13 種以上技術的 SDK。Vue Todo 應用程式後端範本是一個預先建置、可立即投入生產的後端模式,託管於 Back4app。它為您提供兩個資料庫類別(_UserTodo )、基於所有權的 ACL、REST 和 GraphQL API,以及一鍵式 AI Agent 提示 - 因此您可以連接 Vue 前端,並在幾分鐘而不是幾天內傳送一個可用的 Todo 應用程式。

最適合

應用程式開發人員快速原型製作黑客研討會學習後端開發MVP 推出選擇 BaaS而非自訂後端的團隊

概述

Todo 應用程式是學習後端開發最常見的起點之一。它需要使用者註冊、任務 CRUD、基於所有權的存取控制,以及可選擇的即時同步。

下面的模式定義了兩個類別 - _User(內建)和 Todo,它們由一個 Pointer 連接。使用 Back4app Vue SDK,您可以從應用程式與此後端互動 - 查詢、建立、更新及刪除物件 - 而無需撰寫自訂 API 層。

为什么使用 Back4app 构建您的 Vue Todo 后端?

Back4app為您提供了一個就緒的後端和類型化的 SDK,因此您可以建立您的 Todo 應用程式,而無需自行撰寫 REST 程式或管理 auth。

  • SDK 與類型安全: SDK 保持 Todo 和 User 的類型安全,並處理 JSON,因此您可以少寫一些模板。
  • 非同步與可選的離線: 使用 async/await;支援的 SDK 提供本機釘選功能,因此您的清單可以離線運作,並在重新連線時進行同步。
  • __品牌0__: 訂閱 Todo 變更,讓使用者介面透過 WebSockets 即時更新。

每個堆疊都有相同的模式和 API - 稍後可切換用戶端,而無需變更後端。

核心優勢

生產就緒的 Todo 後端,讓您可以更快速地出貨並專注於您的應用程式。

出貨速度更快,無需後端程式碼

REST 和 GraphQL API 以及即用型模式 - 連接您的應用程式即可使用。

預設安全

ACL 和類別層級權限,讓使用者只能存取自己的資料。

即時更新

透過 WebSockets Live Queries 即時更新使用者介面。

內建認證

使用者註冊、登入及會話處理功能開箱即用 - 無須自訂 auth 層。

離線工作

本機釘選功能可保持資料離線可用,並在您重新連線時進行同步。

在幾分鐘內部署

使用 AI Agent 從此範本建立並部署您的 Todo 應用程式。

準備好試試了嗎?

讓 Back4app AI Agent 創建您的 Todo 應用程式後端,連接 Vue 前端,並進行部署 - 所有這一切只需單一提示即可完成。

免費開始 - 每月 50 個 AI 代理提示,無需信用卡

技術堆疊

此 Todo 應用程式範本的所有功能一目了然。

前端
Vue______________________。
後端
__品牌0__
資料庫
MongoDB
認證
認證與存取控制
API
休息 & __brand0__
部署
AI 代理/儀表板

ER 圖

Vue Todo 應用程式資料模型的實體關係圖。

檢視圖表來源
Mermaid
erDiagram
    _User {
        String objectId PK
        String username
        String email
        String password
        Date createdAt
        Date updatedAt
    }

    Todo {
        String objectId PK
        String title
        Boolean done
        Date dueDate
        Number priority
        Pointer owner FK
        Date createdAt
        Date updatedAt
    }

    _User ||--o{ Todo : "owns"

整合流程

Auth-to-CRUD 序列:您的 Vue 應用程式如何與 Back4app 對話 - 登入,然後查詢和建立待辦事項。

檢視圖表來源
Mermaid
sequenceDiagram
  participant User
  participant App as Vue App
  participant Back4app as Back4app Cloud

  User->>App: Login
  App->>Back4app: Parse.User.logIn(username, password)
  Back4app-->>App: Session token
  App-->>User: Logged in

  User->>App: Load todos
  App->>Back4app: new Parse.Query('Todo').find()
  Back4app-->>App: List of Todo
  App-->>User: Show list

  User->>App: Create todo
  App->>Back4app: todo.save()
  Back4app-->>App: Todo (objectId)
  App-->>User: Updated list

資料詞典

模式中每個類別的完整欄位參考。

現場類型說明必須
objectIdStringAuto-generated unique identifier自動
titleStringShort description of the task
doneBooleanWhether the task is completed
dueDateDateOptional deadline for the task
priorityNumberPriority level (1 = high, 3 = low)
ownerPointer<_User>User who owns this task
createdAtDateAuto-generated creation timestamp自動
updatedAtDateAuto-generated last-update timestamp自動

Todo中的8字段

安全性與權限

擁有權、ACL 及類別層級權限如何保護此模式中的資料。

行層級 ACL

每個 Todo 都有一個與擁有者綁定的 ACL。只有建立者可以讀取、更新或刪除自己的任務。

等級權限

CLP 限制哪些角色或使用者可以在類別層級建立、讀取、更新或刪除物件,這是您的第一道防線。

指針型所有權

所有者指標 (owner Pointer) 會將每個 Todo 連結至其 _使用者。雲端程式碼觸發器可自動設定所有權,並強制執行儲存的 ACL。

模式 (JSON)

原始 JSON 方案定義 - 複製並在您的 Back4app 應用程式中使用,或透過 API 匯入。

JSON
{
  "classes": [
    {
      "className": "Todo",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "title": {
          "type": "String",
          "required": true
        },
        "done": {
          "type": "Boolean",
          "required": false,
          "defaultValue": false
        },
        "dueDate": {
          "type": "Date",
          "required": false
        },
        "priority": {
          "type": "Number",
          "required": false,
          "defaultValue": 3
        },
        "owner": {
          "type": "Pointer",
          "targetClass": "_User",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "_User",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "username": {
          "type": "String",
          "required": true
        },
        "email": {
          "type": "String",
          "required": true
        },
        "password": {
          "type": "String",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    }
  ]
}

使用 AI Agent 建立

使用 Back4app AI Agent 從這個範本建立一個真正的 Todo 應用程式:它會建立前端、後端(此模式、認證和 API),並部署它 - 無須手動設定。下面的提示描述了這個 Todo 堆疊,因此 Agent 可以一次產生一個可供生產的應用程式。

AI 代理商
準備建造
請使用以下確切的架構與行為在 Back4app 上建立 Todo 應用程式。

架構:
1. _User(使用 Back4app 內建):username(字串,必填)、email(字串,必填)、password(字串,必填);objectId、createdAt、updatedAt(系統)。
2. Todo:title(字串,必填)、done(布林,預設:false)、dueDate(日期,選填)、priority(數字,預設:3;1=高,2=中,3=低)、owner(指向 _User 的指標;建立時設為目前使用者);objectId、createdAt、updatedAt(系統)。

安全性:
- 為每個 Todo 設定 ACL,僅允許擁有者讀寫。不開放公開讀寫。
- 建立時將 Todo.owner 設為目前使用者(例如透過 Cloud Code beforeSave 或用戶端)。
- 使用類別層級權限,僅允許已驗證使用者建立/讀取/更新/刪除 Todo。

認證:
- 註冊(username、email、password)與登入;支援登出/工作階段。
- 登入後,應用程式應僅顯示並允許目前使用者之 todo 的 CRUD。

行為:
- Todo 完整 CRUD:建立、列表(僅擁有者)、取得單一、更新(切換 done、編輯標題、dueDate、priority)、刪除。
- 列出 todo 並排序(例如依 priority 再 dueDate 或 createdAt)。新 todo 的預設 priority:3(低)。

交付:
- 使用上述架構、ACL 及所需 Cloud Code(例如在 Todo 的 beforeSave 設定 owner)建立 Back4app 應用程式。
- 產生前端並連接到此後端;部署使應用程式可端對端執行。

按下下面的按鈕,即可開啟預先填入此範本提示的 Agent。

在幾分鐘內部署每月 50 個免費提示無需信用卡

API 遊樂場

請嘗試 Todo 方案的 REST 和 GraphQL 端點。來自上述範例資料的回應 - 不需要 Back4app 帳戶。

正在載入遊樂場...

使用與此模板相同的 Todo 模式。

分步式 Vue 整合

使用 Back4app Vue SDK 從 Vue 應用程式連接至您的 Back4app 後端。

  1. 步驟 1: 安裝 Back4app Vue SDK

    為您的堆疊加入 Back4app SDK (例如 npm、pubspec 或套件管理員)。

    Bash
    npm install parse pinia
  2. 步驟 2:在應用程式中初始化 Back4app

    在應用程式啟動時,使用您的應用程式 ID 和伺服器 URL 來初始化 Back4app SDK。

    JavaScript
    // main.ts
    import { createApp } from 'vue';
    import { createPinia } from 'pinia';
    import Parse from 'parse';
    import App from './App.vue';
    
    Parse.initialize(
      import.meta.env.VITE_PARSE_APP_ID,
      import.meta.env.VITE_PARSE_JS_KEY,
      { serverURL: 'https://parseapi.back4app.com' }
    );
    Parse.serverURL = 'https://parseapi.back4app.com';
    
    createApp(App).use(createPinia()).mount('#app');
  3. 步驟 3:查詢所有待辦事項

    使用 SDK 取得所有 Todo 物件,並依優先順序排序。

    JavaScript
    // In component or store
    async function getTodos() {
      const query = new Parse.Query('Todo');
      query.ascending('priority');
      return await query.find();
    }
  4. 步驟 4:建立待辦事項

    建立有標題、已完成和優先順序的新 Todo,然後儲存。

    JavaScript
    async function createTodo(title: string, priority = 3) {
      const Todo = Parse.Object.extend('Todo');
      const todo = new Todo();
      todo.set('title', title);
      todo.set('done', false);
      todo.set('priority', priority);
      await todo.save();
      return todo;
    }
  5. 步驟 5:更新和刪除待辦事項

    更新欄位並儲存,或刪除物件。

    JavaScript
    async function markDone(objectId: string) {
      const query = new Parse.Query('Todo');
      const todo = await query.get(objectId);
      todo.set('done', true);
      await todo.save();
    }
    async function deleteTodo(objectId: string) {
      const query = new Parse.Query('Todo');
      const todo = await query.get(objectId);
      await todo.destroy();
    }

狀態管理整合

將 Back4app SDK 與您應用程式的狀態層 (例如 context、store 或 services) 整合。

完整資料模型

複製完整的 Todo 模型進行類型安全序列化 (例如類別、介面或類型定義)。

JavaScript
// types/todo.ts
interface Todo {
  objectId?: string;
  title: string;
  done: boolean;
  dueDate?: string;
  priority: number;
  owner?: { __type: string; className: string; objectId: string };
  createdAt?: string;
  updatedAt?: string;
}

function toTodo(obj: Parse.Object): Todo {
  return {
    objectId: obj.id,
    title: obj.get('title'),
    done: obj.get('done') ?? false,
    dueDate: obj.get('dueDate')?.toISOString?.() ?? undefined,
    priority: obj.get('priority') ?? 3,
    owner: obj.get('owner'),
    createdAt: obj.get('createdAt')?.toISOString?.() ?? undefined,
    updatedAt: obj.get('updatedAt')?.toISOString?.() ?? undefined,
  };
}

常見問題

有關 Todo 應用程式後端模板的常見問題。

什麼是 Back4app?
為什麼要在 Vue Todo 應用程式中使用 Back4app ?
在 Vue Todo 應用程式中,Todo 類別是什麼?
我如何用 Back4app強制執行 Vue中的所有權?
我可以为我的 Vue 应用程序扩展 Todo 模式吗?
如何在 Vue 中按優先順序查詢 todos?
實時同步是否適用於 Vue?
如何在 Vue 中添加類別或標籤?

受到全球開發人員的信賴

加入打造應用程式未來的社群

G2 Users Love Us Badge

準備好建立您的 Todo App 嗎?

在幾分鐘內開始您的 Vue 專案。無需信用卡。

使用 AI Agent 建立