# Web 開發 SOP <新增一頁要處理事項>
:::info
========= 大綱 ===============
前端:
* 前端頁面新增 (module , router ,component , 設定 menu , 設定router x3 , )
* 前端注意事項 : 確認欄位是否必填 , 確認欄位是否需驗證格式 (電話,EMail, 身份證字號)
後端 :
* 建立 DB Table
* 生成 Model , Repository
* 建立後端controler , Service
* 寫 API : Request , Response , 串DB
:::
======= 待處理事項 ===============
* 後端加 swagger
* Request , Response
*
* 前端 格式驗證
* 重設密碼 , 跳小視窗
* OK : UI 調整 : 底色
* OK : confirm dialog => 刪除功能
* 新增 file service
* OK : 建立團隊(公司) 同時加入本人進團隊(團隊owner id 待加入)
* 登入 : 若已有團隊同時傳出
* 基本 error code 定義 401 未登入 , excetion : 9007
* 定義 StatusCode 99: 完成
========================
Angular 指令
--- 新增一個目錄及一頁 ---
1: 建 module / routing / service / compoment
```
cd page
ng g m member --routing
cd member
ng g c member
ng g s service/member <非必要>
```
2: 設定 主Routes
```
於 src/app/app-routing.module.ts 加入
{ path: 'member', data: { breadcrumb: 'Member' }, loadChildren: () => import('./page/member/member.module').then(m => m.MemberModule) },
```
3: 設定 CONTENT_ROUTES (full page 不用)
```
於 src/app/shared/routes/contents-layout.routes.ts 加入
{
path: 'member',
canActivate: [ContentRoutesAuthGuard],
loadChildren: () =>
import('src/app/page/member/member.module').then(
(m) => m.MemberModule
)
},
```
4: 設定 member-routing
```
於 src/app/page/member/member-routing.module.ts 加入
imports: [RouterModule.forChild([
{ path: '', component: MemberComponent },
])],
```
------- Menu 設定 ----------
Menu 設定 app.menu.component.ts
========= 後端開發事項 =============
* API http 僅使用 GET , POST , DELETE
* API 回傳要套 BaseModel
* Service 不用寫 Interface
========= 前端開發事項 =============
* 頁面call api 不寫進 service, 如有共用需求,寫進share 的service
* PIPE 的使用
* 前端 格式驗證
* Table
* confirm dialog
* 麵包屑設定在各頁面的 -routing.module.ts , 加入, data: { breadcrumb: '' },