TodoList
前端
- 使用vue-cli脚手架, vue+axio
- 实现的功能
(1) 单条添加todo
(2) 单条删除todo
(3) 双击编辑todo
(4) 单条todo已完成相应样式状态改变
(5) 全部todo是已完成相应样式状态改变
(6) 清除全部已完成todos
(7) 待办todos数量显示
(8) 所有todos,已完成todos,未完成todos筛选
- 接口展示
import axios from 'axios'
const baseUrl =
process.env.NODE_ENV === "development" ?
"https://nei.netease.com/api/apimock/f3e5d93d5eaceda5a624378374ad5cd7"
: "http://148.70.150.147:8080"
export const getAllTask = params => { return axios.get(`${baseUrl}/api/all`, {params: params}) }
export const addTask = params => { return axios.post(`${baseUrl}/api/add`, params).then(res => res.data) }
export const deleteTask = params => { return axios.post(`${baseUrl}/api/deletes`, params).then(res => res.data) }
export const updateTask = params => { return axios.post(`${baseUrl}/api/update`, params).then(res => res.data) }
export const updateManyTask = params => { return axios.post(`${baseUrl}/api/updateMany`, params).then(res => res.data) }
export const deleteCompletedTask = params => { return axios.post(`${baseUrl}/api/deletemany`, params) }
后端
1.后台由express + mongoodb
构建。
2.路由
module.exports = function(app) {
app.get('/api/all', TodoController.getAll);
app.post('/api/add', TodoController.newTodo);
app.post('/api/deletes', TodoController.deleteOne);
app.post('/api/deletemany', TodoController.deleteAllCompleted);
app.post('/api/update', TodoController.updateOne);
app.post('/api/updateMany', TodoController.updateMany);
....
项目启动
- clone 项目
- 进入项目,安装依赖
// 安装客户端依赖
cd client
npm install
// 安装服务器端依赖
cd server
npm install
- 启动项目
启动服务器:npm start
启动客户端:npm run dev(开发模式)
浏览器访问 [http://localhost:8080](http://localhost:8080)
完整代码点我, 有用的话给个star哦,谢谢!!