owned this note
owned this note
Published
Linked with GitHub
# URI-C-02 型錄認證/公司認證燈箱
> [name=JasonWu]
###### tags: `URI-C`
## 內容
### 網址
- https://www.taiwantrade.com/lightbox/certification/948901?companyId=97301
### 相關示意圖
- 公司認證燈箱

- 型錄認證燈箱

### 相關程式
### Input JSON Path
#### 規格
- path : ${TT-API網址}/certifications/{certType}/{certId}
- method : GET
- query : ?langId={langId}&companyId={cid}
#### Input
欄位名稱 | 欄位說明 | 資料型態 | 是否必要欄位 | 備註
-----------|--------------|----------|--------------|---------
certType | 認證類型 | string | Y | 分公司認證(com)、型錄認證(prod)
certId | 認證id | number | Y | int
langId | 語系id | number | Y | int
cid | 公司id | number | Y | int
==舊版紀錄如下
Column | Type | Require | Desc
-----------|----------|---------|---------
certType | string | Y | 認證類型,分公司認證、型錄認證
certId | number | Y | 認證id
langId | number | Y | 語系id
cid | number | Y | 公司id
#### 範例
```=json
https://tt-api.taiwantrade.com/certifications/prod/702355?cid=147927&langId=42
https://tt-api.taiwantrade.com/certifications/com/700437?langId=42&cid=147927
```
#### 邏輯
- 傳入認證類型、認證 id、認證顯示語系、公司 id
- 認證類型分兩類,對應參數紀錄如下
- 公司認證: com
- 產品認證: prod
- 產品認證下方需要有對應的推薦型錄,公司認證沒有
- 解析 json 內容後顯示
- 如果欄位內容為空,例如認證結束時間為空,那就不需要顯示此欄位
### Output JSON Path
#### 規格
```=json
{
"code" : <code>,
"errorMsg" : <errorMsg>,
"intervalTime" : <intervalTime>,
"data" : {
"certInfo" : {
"certId" : <certId>,
"companyName" : <companyName>,
"serial" : <serial>,
"startTime" : <startTime>,
"endTime" : <endTime>,
"name" : <name>,
"desc" : <desc>,
"imgUrl" : <imgUrl>,
"fileName" : <fileName>,
"fileSize" : <fileSize>,
"fileUrl" : <fileUrl>,
"hasMoreProduct" : <hasMoreProduct>,
"productLpUrl" : <productLpUrl>,
"refProductRows" : [
{
"productId" : <productId>,
"productName" : <productName>,
"imgUrl" : <imgUrl>,
"productCpUrl" : <productCpUrl>
},...
]
}
}
}
```
#### 輸出參數說明
認證燈箱輸出欄位
欄位名稱 | 欄位說明 | 資料型態 | 是否可為空值 | 備註
-----------|--------------|----------|--------------|---------
code | 執行狀態代碼 | number | N | int<br/>code=0為正常<br/>code<0為錯誤
errorMsg | 錯誤訊息 | string | N |
intervalTime | 執行時間 | string | N | 顯示執行時間,單位 ms
certInfo | 認證燈箱元件 | [`燈箱元件(Object)`](#燈箱元件) | Y |
==舊版紀錄如下
|欄位名稱 | 欄位說明 | 型態 | 是否可為空值 |
|---------------------|---------------|-----------|--------------|
|code | 代碼 | int | 0表示ok |
|errorMsg | 錯誤訊息 | String | |
|certInfo | 認證燈箱元件 | [`燈箱元件(Object)`](#燈箱元件) | Y |
##### 燈箱元件
欄位名稱 | 欄位說明 | 資料型態 | 是否可為空值 | 備註
-----------|--------------|----------|--------------|---------
certId | 認證 id | number | ~~N~~ Y | int
companyName | 公司名稱 | string | N |
serial | 認證序號 | string | ~~N~~ Y |
startTime | 認證開始時間 | number | Y | long
endTime | 認證結束時間 | number | Y | long
name | 認證名稱 | string | ~~N~~ Y |
desc | 認證說明 | string | Y |
imgUrl | 認證圖片 url | string | N |
fileName | 認證附件檔案名稱 | string | Y |
fileSize | 認證附件檔案大小 | string | Y |
fileUrl | 認證附件下載路徑 | string | Y |
refProductRows | 推薦型錄元件 | [`推薦型錄元件(Object)`](#推薦型錄元件) | Y |
==舊版紀錄如下
|欄位名稱 | 欄位說明 | 型態 | 是否可為空值 |
|-------------------|-----------------------------|--------|--------------|
|certId | 認證 id | int | N |
|companyName | 公司名稱 | String | N |
|serial | 認證序號 | String | N |
|startTime | 認證開始時間 | ~~String~~<br/>number | Y |
|endTime | 認證結束時間 | ~~String~~<br/>number | Y |
|name | 認證名稱 | String | N |
|desc | 認證說明 | String | Y |
|imgUrl | 認證圖片 url | String | N |
|fileName | 認證附件檔案名稱 | String | Y |
|fileSize | 認證附件檔案大小 | String | Y |
|fileUrl | 認證附件下載路徑 | String | Y |
|refProductRows | 推薦型錄元件 | [`推薦型錄元件(Object)`](#推薦型錄元件) | Y |
##### 推薦型錄元件
欄位名稱 | 欄位說明 | 資料型態 | 是否可為空值 | 備註
-----------|--------------|----------|--------------|---------
productId | 相關型錄 id | number | N | int
productName | 型錄名稱 | string | N |
imgUrl | 型錄圖片 url | string | N |
productCpUrl | 型錄詳目頁 url | string | Y |
==舊版紀錄如下
|欄位名稱 | 欄位說明 | 型態 | 是否可為空值 |
|-------------------|-----------------------------|--------|--------------|
|productId | 相關型錄 id | int | N |
|productName | 型錄名稱 | String | N |
|imgUrl | 型錄圖片 url | String | N |
|productCpUrl | 型錄詳目頁 url | String | Y |
#### 範例
```=json
{
"code" : 0,
"errorMsg" : "",
"intervalTime" : "250 ms",
"data" : {
"certInfo" : {
"certId" : 702419,
"companyName" : "HYWEB TECHNOLOGY CO., LTD.",
"serial" : "CSA",
"startTime" : "",
"endTime" : "",
"name" : "CSA",
"desc" : "",
"imgUrl" : "//im01.ttstaging.com.tw/48001ac5-7dfb-4754-8039-3925846a342f/CSA.png",
"fileName" : "",
"fileSize" : "",
"fileUrl" : "",
"refProductRows" : [
{
"productId" : 1792867,
"productName" : "(En)Service CRM System",
"imgUrl" : "https://im01.ttstaging.com.tw/a9ad9aca-ce02-45ec-bfef-f73aa1fcc1fb/0546db0d-3ce8-4805-9fa6-6ca7b67392e5_33_201500014734_L-100x100.jpg",
"productCpUrl" : "https://hyweb.en.ttstaging.com.tw/product/en-service-crm-system-1792867.html",
},
{
"productId" : 1800815,
"productName" : "Mini Laptop Computer HyRe...",
"imgUrl" : "https://im01.ttstaging.com.tw/2ce655f4-ac1c-48b2-abaf-4ab63dba291f/Laptop-100x100.jpg",
"productCpUrl" : "https://hyweb.en.ttstaging.com.tw/product/mini-laptop-computer-hyread-1800815.html",
},
]
}
}
}
```
## 頁面操作相關邏輯(頁面按鈕、點選相關邏輯)
### 基本燈箱操作

- 燈箱開啟時,背景需要顯示 mask,mask 就是燈箱背景的黑色區域,可凸顯燈箱,且後方會被 mask 蓋住,就不會點到後面的功能
- 點選 mask 區塊將會關閉燈箱
- 燈箱右上角需顯示 x,點選後關閉燈箱
### 點選型錄連結

- 如果是型錄認證燈箱,燈箱區塊中會列出持有該認證的相關型錄,點選後會切換頁面到該型錄的詳目頁