--- title: database-team11-project image: https://i3.read01.com/SIG=1n8sj6l/304f70713475676f4759.jpg --- # Database-Team11-Project ## 前端需要的API ### login ==*done*==   * status 200 登陸成功 json({name:'xxxx'}) * status 404 該用戶不存在 json(null) * status 406 錯誤的密碼 json(null) * status 500 尚未登入 (前端使用) ``` [post] localhost:3000/api/login?username=xxx&password=xxx ``` * 提供帳密資料 * 需要後端確認登入 * 登入成功修改state裡的Username(預設null) * 失敗回傳錯誤(可能需要? ### logout ==*done*==   ``` [post] localhost:3000/api/logout ``` * 和後端說要登出 * 把Username改回預設null * (應該不會失敗吧...? ### loadEvent ==*done*==   ``` [get] localhost:3000/api/event?start=xxx&end=xxx&username=xxx ``` * 給Start & End的date資料 * 修改state裡的event列表成有在start~end這段時間內的event * event屬性(如messenger裡的圖) ### addStuff ==*done*==   ``` [post] localhost:3000/api/stuff?title=xxx&content=xxx&username=xxx ``` * 給title和content * 把資料塞進資料庫 ### loadStuff ==*done*==   ``` [get] localhost:3000/api/stuff ``` * 修改state的stuff列表 * 照撰寫時間順序排(最舊的最前 * stuff屬性title content ID ==測試OK、後端要輸出console.log說有成功== ### addEvent ==*done*==   ``` [post] localhost:3000/api/event?id=1&title=xxx&content=xxx&startDate=xxxx-xx-xx&startTime=xx:xx:xx&endDate=xxxx-xx-xx&endTime=xx:xx:xx&username=xxx ``` * event_data ### addProject ==*Done*==   ``` [post] localhost:3000/api/project?username=testuser&deadline_date="2021-06-23"&deadline_time="00:00:00"&importance=7&title=321&tag=11 321&intro=321321 ``` * taskList加入方式要談好 * 跨表搜尋? ``` taskList = [ { destination: xxx }] ``` ``` addProject在進去的時候 應該會呼叫n個addTask (你想要的話可以合成一個) loadProject的時候 會先load其他project資料 然後拿projectID去查詢Task table 把返還資料改成[{'value', ...}, ...] 把project資料和task資料合併 ``` ### addTask ==*done*==   ``` [POST] localhost:3000/api/task?username=XXX&destination=XXXX&id=XXX ``` * 此id為project id ### deleteStuff ==*done*==   ``` [delete] localhost:3000/api/stuff?stuff_ID=xxx ``` * 成功: `status` `200` * 失敗: `status` `403` ### register ==*done*==   ``` [post] localhost:3000/api/register?username=xxx&password=xxx&name=xxx ``` * 成功:`status` `200` * 失敗:`status` `404` ### loadProject ==*Done*==   * 失敗: `status` `404` * project為空: `status` `403` * project不為空但無結果: `status` * 成功: `status` `200` ``` localhost:3000/api/project?username=xxx&tag=xx ``` * 照搜尋框裡的字串,有空格拆分,每段(XXX)去搜尋tag符合%XXX%的project,任一段符合即列出 * 修改state的project列表 * 照deadline時間順序排 ### addHighlighted ==*Done*==   * 失敗: `status` `404` * 有資料但不允許的操作: `status` `403` * 成功: `status` `200` ``` [put] localhost:3000/api/project/addhighlight?id=xxx&username=xxx ``` * 給一個projectID * 如果highlighted < (taskList.length - 1) -> highlighted++ * 要修改資料庫裡的資料也要修改state。 ### subHighlighted ==*Done*==   * 失敗: `status` `404` * 有資料但不允許的操作: `status` `403` * 成功: `status` `200` ``` [put] localhost:3000/api/project/subhighlight?id=xxx&username=xxx ``` * 上面那個東西的反轉 * highlighted > 0 -> highlighted\-\- ### finishProject ==*Done*==   ``` localhost:3000/api/project?id=x&username=xxx ``` * 給projectID,讓他finish * 改status(建議) ## Home 頁面API ### addStuff ==*Done*== * 同addStuff in Memo ### loadEvent ==*Done*== * 可沿用loadEvent in Calendar * start end 都是今天 ### loadProject ==*Done*== * 類似loadProject in Project * 但是只拿前三項 #### 目前更新Login Calendar Memo Project介面要求 ## 檔案 * ./node.js/conf.ini ```ini [server] host='your host ip'(XXX.XXX.XXX.XXX) user='your user name' (teamXX) password='your password' port=XXXX ``` ## 其他 - vuex * state是全域變數 * getter是取值函式 * action和mutation是改值函式 - e.g. Account function * get VAR username from vuex * send the data to backend then get the feedback via axios * update the Var username of the vuex - 彈出視窗warning - 檢查 memo.vue 是否是兔子版本 - 檢查 後端&接口 是否有動到 - 前端無error,pull有可能沒刪到東西
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up