Todo 應用程式後端模板
Vue - 模式、API 與 AI 指南
可生產的 Vue Todo 後端模式和 Starter Kit on Back4app:ER 圖、資料辭典、JSON 結構圖、API playground、程式碼範例,以及可在幾分鐘內部署的一鍵式 AI Agent提示。
主要心得
在此頁面中,您將獲得一個生產就緒的模式、一鍵式 AI 提示,以及逐步的 Vue代碼 - 因此,您無需建立後端,就可以發佈 Todo 應用程式。
- 在幾分鐘內部署 — 貼上 AI Agent 提示,並取得包含前端、後端和資料庫的執行應用程式。
- 預設安全 — 行層級 ACL 可確保每個使用者只能看到自己的待辦事項。
- Vue-native SDK — 類型的物件、async/await、離線 pinning 以及 Live Queries 開箱即用。
- rest + __brand0__ — 這兩個 API 都是自動產生的,不需要撰寫自訂端點。
- 兩個班級 — _User (內建認證) 和 Todo (具有標題、已完成、到期日、優先順序、所有者的任務)。
什麼是 Vue Todo App 後端模板?
Back4app 是 Todo 應用程式理想的後端即服務 (BaaS):管理後端、認證、即時和 13 種以上技術的 SDK。Vue Todo 應用程式後端範本是一個預先建置、可立即投入生產的後端模式,託管於 Back4app。它為您提供兩個資料庫類別(_User 和 Todo )、基於所有權的 ACL、REST 和 GraphQL API,以及一鍵式 AI Agent 提示 - 因此您可以連接 Vue 前端,並在幾分鐘而不是幾天內傳送一個可用的 Todo 應用程式。
最適合
概述
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 應用程式範本的所有功能一目了然。
ER 圖
Vue Todo 應用程式資料模型的實體關係圖。
_User 類包含 objectId、username、email、password、 createdAt 及 updatedAt。Todo 類包含 objectId、title、done、dueDate、priority,以及指向 _User 的所有者指針,加上 createdAt 和 updatedAt。每個 _User 擁有零個或多個 Todo 項目。
檢視圖表來源
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 對話 - 登入,然後查詢和建立待辦事項。
檢視圖表來源
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資料詞典
模式中每個類別的完整欄位參考。
| 現場 | 類型 | 說明 | 必須 |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | 自動 |
| title | String | Short description of the task | |
| done | Boolean | Whether the task is completed | — |
| dueDate | Date | Optional deadline for the task | — |
| priority | Number | Priority level (1 = high, 3 = low) | — |
| owner | Pointer<_User> | User who owns this task | — |
| createdAt | Date | Auto-generated creation timestamp | 自動 |
| updatedAt | Date | Auto-generated last-update timestamp | 自動 |
Todo中的8字段
安全性與權限
擁有權、ACL 及類別層級權限如何保護此模式中的資料。
行層級 ACL
每個 Todo 都有一個與擁有者綁定的 ACL。只有建立者可以讀取、更新或刪除自己的任務。
等級權限
CLP 限制哪些角色或使用者可以在類別層級建立、讀取、更新或刪除物件,這是您的第一道防線。
指針型所有權
所有者指標 (owner Pointer) 會將每個 Todo 連結至其 _使用者。雲端程式碼觸發器可自動設定所有權,並強制執行儲存的 ACL。
模式 (JSON)
原始 JSON 方案定義 - 複製並在您的 Back4app 應用程式中使用,或透過 API 匯入。
{
"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 可以一次產生一個可供生產的應用程式。
請使用以下確切的架構與行為在 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。
API 遊樂場
請嘗試 Todo 方案的 REST 和 GraphQL 端點。來自上述範例資料的回應 - 不需要 Back4app 帳戶。
使用與此模板相同的 Todo 模式。
分步式 Vue 整合
使用 Back4app Vue SDK 從 Vue 應用程式連接至您的 Back4app 後端。
步驟 1: 安裝 Back4app Vue SDK
為您的堆疊加入 Back4app SDK (例如 npm、pubspec 或套件管理員)。
Bashnpm install parse pinia步驟 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:查詢所有待辦事項
使用 SDK 取得所有 Todo 物件,並依優先順序排序。
JavaScript// In component or store async function getTodos() { const query = new Parse.Query('Todo'); query.ascending('priority'); return await query.find(); }步驟 4:建立待辦事項
建立有標題、已完成和優先順序的新 Todo,然後儲存。
JavaScriptasync 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:更新和刪除待辦事項
更新欄位並儲存,或刪除物件。
JavaScriptasync 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 模型進行類型安全序列化 (例如類別、介面或類型定義)。
// 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 應用程式後端模板的常見問題。