+
+ Current Count: {{ counter.count }}
+
+```
+
+#### 更真实的示例
+这是一个更完整的 Pinia API 示例,在 JavaScript 中也使用了类型提示。对于某些开发者来说,可能足以在不进一步阅读的情况下直接开始阅读本节内容,但我们仍然建议你先继续阅读文档的其余部分,甚至跳过此示例,在阅读完所有核心概念之后再回来。
+
+```
+js
+import { defineStore } from 'pinia'
+
+export const useTodos = defineStore('todos', {
+ state: () => ({
+ /** @type {{ text: string, id: number, isFinished: boolean }[]} */
+ todos: [],
+ /** @type {'all' | 'finished' | 'unfinished'} */
+ filter: 'all',
+ // 类型将自动推断为 number
+ nextId: 0,
+ }),
+ getters: {
+ finishedTodos(state) {
+ // 自动补全! ✨
+ return state.todos.filter((todo) => todo.isFinished)
+ },
+ unfinishedTodos(state) {
+ return state.todos.filter((todo) => !todo.isFinished)
+ },
+ /**
+ * @returns {{ text: string, id: number, isFinished: boolean }[]}
+ */
+ filteredTodos(state) {
+ if (this.filter === 'finished') {
+ // 调用其他带有自动补全的 getters ✨
+ return this.finishedTodos
+ } else if (this.filter === 'unfinished') {
+ return this.unfinishedTodos
+ }
+ return this.todos
+ },
+ },
+ actions: {
+ // 接受任何数量的参数,返回一个 Promise 或不返回
+ addTodo(text) {
+ // 你可以直接变更该状态
+ this.todos.push({ text, id: this.nextId++, isFinished: false })
+ },
+ },
+})
+```
\ No newline at end of file
diff --git "a/\351\231\210\345\237\271\346\235\260/20240514-20.API\345\222\214REST.md" "b/\351\231\210\345\237\271\346\235\260/20240514-20.API\345\222\214REST.md"
new file mode 100644
index 0000000000000000000000000000000000000000..fff961c3560f7a8ec7b1c62f5b1a3ebc9c99448f
--- /dev/null
+++ "b/\351\231\210\345\237\271\346\235\260/20240514-20.API\345\222\214REST.md"
@@ -0,0 +1,30 @@
+## API和REST
+
+### API
+
+Application Programming Interface(应用程序接口)是它的全称。简单的理解就是,API是一个接口
+
+### REST
+
+HTTP总共包含八种方法:
+
+```
+GET
+POST
+PUT
+DELETE
+OPTIONS
+HEAD
+TRACE
+CONNECT
+```
+
+● 2xx = Success(成功)
+
+● 3xx = Redirect(重定向)
+
+● 4xx = User error(客户端错误)
+
+● 5xx = Server error(服务器端错误)
+
+我们常见的是200(请求成功)、404(未找到)、401(未授权)、500(服务器错误)...
\ No newline at end of file
diff --git "a/\351\231\210\345\237\271\346\235\260/20240516-\350\267\257\347\224\261\345\272\224\347\224\250.md" "b/\351\231\210\345\237\271\346\235\260/20240516-\350\267\257\347\224\261\345\272\224\347\224\250.md"
new file mode 100644
index 0000000000000000000000000000000000000000..6189ab644105f579262a317de033628dc800624d
--- /dev/null
+++ "b/\351\231\210\345\237\271\346\235\260/20240516-\350\267\257\347\224\261\345\272\224\347\224\250.md"
@@ -0,0 +1,28 @@
+### 通过路由方式实现增删改查
+#### 思路:
+1. 配置路由:
+~~~js
+// src/router/router.js
+ import { createRouter, createWebHistory } from 'vue-router';
+ import Home from './components/Home.vue';
+ import ManageItem from './components/Edit.vue';
+ const router = createRouter({
+ history: createWebHistory(),
+ routes:[
+ {path:'/home',component:Home},
+ { path: '/edit/:id?',
+ name: 'Edit',
+ component: Edit,
+ },
+ {path:'/',component:App},
+ // 这里也可以加上redirect:'/home' 表示一打开就跳转到列表页,但是不推荐
+ ]
+ } );
+ export default router;
+~~~
+2. 配置入口文件:
+~~~js
+ import router from '.Router/router';
+ const app = createApp(App);
+ app.use(router);
+~~~
\ No newline at end of file