---
# System prepended metadata

title: 視頻API

---

# 視頻API
----------------------------------------------------
EX:
```
{
"code": 0,
"status": "success",
"timestamp": 1092540325,
"data":
    {
        "id": 1,
        "name": "chris"
    }
}
```
# 錯誤信息

| 錯誤代碼 | 內容 |
| --- | --- |
| 1001 | 登入錯誤 |
| 4001 | 更新了個寂寞 |
| 4004 | 輸入參數錯誤 |

# API接口內容
**<正式域名>** https://javyt.com:19888, https://www.988gt.com:9888
**<測試域名>** https://dev.myjav.club
## 視頻接口
### 1.取得視頻列表
<font color=Red>**<POST>**</font>/api/video

***Input***

| 參數 | 類型 | 是否必須 | |
| --- | --- | --- | --- |
| page | int | X | 頁數 |
| perpage | int | X | 每頁筆數 |
| recommend | int | X | 取得推薦/普通視頻列表，0或不設定為普通視頻，1為推薦視頻 |
| random | int | X | 是否亂數取得列表? 0 or 1 |
| rand_limit | int | X | 亂數取得筆數，沒有時預設為5筆 |
    
***Return***
    
| 名稱 | 類型 |  |
| --- | --- | --- |
| rows | int | 總筆數 |
| page | int | 目前頁數 |
| total_page | int | 總頁數 |
| list | array | 影片列表 |

**list**
| 名稱 | 類型 |  |
| --- | --- | --- |
| id | int | 視頻ID |
| title | string | 視頻標題 |
| img_file | string | 視頻封面URL，url後路徑需加上/storage|
| og_image | string | 小圖URL|
| vtype | int | 視頻分類 |
| tags | array | 視頻所帶關鍵標籤 |
| is_hd | boolean | 是否高清HD |
| hits | int | 點擊(瀏覽)數 |
| likes | int | 按讚數 |
    
    
### 2.視頻詳細資訊
<font color=Red>**<POST>**</font> /api/video/info
***Input***
| 參數 | 類型 | 是否必須 | |
| --- | --- | --- | --- |
| id | int | O | 視頻ID |
    
***Return***
    
| 名稱 | 類型 |     |
| ---- | ---- |--- |
| title | string | 影片名稱 |
| file_img | string | 封面圖片URL，url後路徑需加上/storage |
| vtype | string | 影片分類 |
| tags | array | 標籤，無標籤時為null |
| file_name | string | 影片檔案URL |    
| duration | float | 影片長度(秒) |
| is_hd | boolean | 是否高清HD |
| hits | int | 點擊(瀏覽)數 |
| likes | int | 按讚數 |
| created_at | datetime | 創建時間 |
    
    
### 3.獲取視頻類型列表
<font color=Red>**<POST>**</font>/api/video/type
***Input***
    無
    
***Ruturn***
| 名稱 | 類型 |     |
| ---- | ---- |--- |
|  id | int | 類型ID |
| type_name | string | 類型名稱 |
    
### 4.獲取熱門影片
<font color=Red>**<POST>**</font>/api/video/hot
***Input***    
| 參數 | 類型 | 是否必須 | |
| --- | --- | --- | --- |
| limit | int | X | 數量限制，預設為9 |
    
***Return***
    
| 名稱 | 類型 |     |
| ---- | ---- |--- |
| id | int | 影片ID |
| title | string | 影片名稱 |
| file_image | string | 影片封面圖，url後路徑需加上/storage |
| tags | string | 標籤，以【,】逗號分隔 |
| hits | int | 點擊數 |    
    
### 5.依照點擊排序獲取標籤列表
<font color=Red>**<POST>**</font>/api/tags
***Input***    
| 參數 | 類型 | 是否必須 | |
| --- | --- | --- | --- |
| vtype | int | O | 標籤對應的類別 |
| expire | int | X | redis的過期時間(秒)，最大86400 |

***Return***
| 名稱 | 類型 |     |
| ---- | ---- |--- |
| id | int | 標籤id |
| name | string | 標籤名稱 |
    
### 6.搜尋片名
<font color=Red>**<POST>**</font>/api/video/search
***Input***    
| 參數 | 類型 | 是否必須 | |
| --- | --- | --- | --- |  
| keyword | string | O | --- |
| page | int | X | 頁數 |
| perpage | int | X | 每頁筆數 |

***Return***
| 名稱 | 類型 |  |
| --- | --- | --- |
| rows | int | 總筆數 |
| page | int | 目前頁數 |
| total_page | int | 總頁數 |
| list | array | 影片列表 |

**list**
| 名稱 | 類型 |  |
| --- | --- | --- |
| id | int | 視頻ID |
| title | string | 視頻標題 |
| img_file | string | 視頻封面URL，url後路徑需加上/storage|
| vtype | int | 視頻分類 |
| tags | array | 視頻所帶關鍵標籤 |
| is_hd | boolean | 是否高清HD |
| hits | int | 點擊(瀏覽)數 |
| likes | int | 按讚數 |
    
### 7.搜尋類型
<font color=Red>**<POST>**</font>/api/video/vtype
***Input***    
| 參數 | 類型 | 是否必須 | |
| --- | --- | --- | --- |  
| vtype | int | O | 分類ID |
| page | int | X | 頁數 |
| perpage | int | X | 每頁筆數 |
| random | int | X | 是否亂數取得列表? 0 or 1 |
| random_limit | int | X | 亂數取得筆數，沒有時預設為5筆 |

***Return***
| 名稱 | 類型 |  |
| --- | --- | --- |
| rows | int | 總筆數 |
| page | int | 目前頁數 |
| total_page | int | 總頁數 |
| list | array | 影片列表 |

**list**
| 名稱 | 類型 |  |
| --- | --- | --- |
| id | int | 視頻ID |
| title | string | 視頻標題 |
| img_file | string | 視頻封面URL，url後路徑需加上/storage|
| vtype | int | 視頻分類 |
| tags | string | 視頻所帶關鍵標籤 |
| by_star | int | 主演明星 |
| duration | int | 片長(秒) |
| is_hd | boolean | 是否高清HD |
| hits | int | 點擊(瀏覽)數 |
| likes | int | 按讚數 |

### 8.點擊標籤獲取影片列表，增加點擊數
<font color=Red>**<POST>**</font>/api/video/tag
***Input***    
| 參數 | 類型 | 是否必須 | |
| --- | --- | --- | --- |  
| tag | string | O | --- |
| page | int | X | 頁數 |
| perpage | int | X | 每頁筆數，或亂數取值筆數 |
| random | int | X | 是否亂數取值，0為否、1為是 |

***Return***
| 名稱 | 類型 |  |
| --- | --- | --- |
| rows | int | 總筆數 |
| page | int | 目前頁數 |
| total_page | int | 總頁數 |
| list | array | 影片列表 |
| tags | array | 受影響的標籤列表 |

**list**
| 名稱 | 類型 |  |
| --- | --- | --- |
| id | int | 視頻ID |
| title | string | 視頻標題 |
| file_img | string | 視頻封面URL，url後路徑需加上/storage|
| vtype | int | 視頻分類 |
| tags | array | 視頻所帶關鍵標籤 |
| is_hd | boolean | 是否高清HD |
| hits | int | 點擊(瀏覽)數 |
| likes | int | 按讚數 |

***tags***
| 名稱 | 類型 |  |
| --- | --- | --- |
| Tag_id | integer | 標籤的ID |
| Tag_name | string | 標籤的名稱 |
| hits | integer | 目前的標籤點擊數量 |
    
### 9.推薦影片列表
<font color=Red>**<POST>**</font>/api/video/recommend
***Input***    
| 參數 | 類型 | 是否必須 | |
| --- | --- | --- | --- |  
| limit | integer | X | 限制數量 |

***Return***
| 名稱 | 類型 |  |
| --- | --- | --- |
| id | integer | 影片的ID |
| sn | string | 影片番號 |
| title | string | 影片標題 |
| og_title | string | 社群分享用的影片標題 |
| file_img | string | 封面圖片 |
| og_image | string | 社群分享用的圖片 |
| tags | array | 標簽 |
| by_star | array | 明星列表 |
| file_name | string | 影片位置 |
| duration | integer | 影片長度(秒) |
| hits | integer | 點擊數 |
| likes | integer | 按讚數 |
| created_at | datetime | 創建時間 |
    

## 視頻頻論
### 1.新增視頻評論
<font color=Red>**<PATCH>**</font>/api/video/comment

***Input***
| 參數 | 類型 | 是否必須 | |
| --- | --- | --- | --- |
| uid | int | O | 視頻評論的使用者id |  
| video_id | int | O | 視頻評論的視頻id |
| context | string | O | 視頻評論內容 |

***Return***
| 名稱 | 類型 |     |
| ---- | ---- |--- |
| id | int | 新增的評論id |

### 2.新增視頻評論
<font color=Red>**<GET>**</font>/api/video/comment

***Input***
| 參數 | 類型 | 是否必須 | |
| --- | --- | --- | --- |
| id | int | O | 需要獲取的視頻id |  

***Return***
| 名稱    | 類型   |                    |
| ------- | ------ | ------------------ |
| id      | int    | 視頻評論id         |
| uid     | int    | 視頻評論的使用者id |
| context | string | 視頻評論內容 |

## 廣告相關
### 1.獲取廣告列表信息
<font color=Red>**<POST>**</font>/api/ad
***Input***
| 參數 | 類型 | 是否必須 | |
| --- | --- | --- | --- |
| limit | int | X | 限制廣告顯示數量 |  
    
***Return***
    
    
| 名稱 | 類型 |     |
| ---- | ---- |--- |
| id | int | 廣告ID |
| ad_name | string | 廣告名稱 |
| ad_link | string | 廣告連結URL |
| ad_picfile | string | 廣告圖片連結 |
| expire | datetime | 廣告過期時間 |
| created_at | datetime | 廣告創建時間 |
    
### 2.廣告點擊
<font color=Red>**<POST>**</font>/api/ad/hit
    
***Input***
    
| 參數 | 類型 | 是否必須 | |
| --- | --- | --- | --- |
| id | int | O | 點擊的廣告 |
    
***Return***
    
    
| 名稱 | 類型 |     |
| ---- | ---- |--- |
| id | int | 廣告ID |
| hits | int | 目前點擊數 |
    
### 3.友情鏈結列表
<font color=Red>**<POST>**</font>/api/friends
***Input***
| 參數 | 類型 | 是否必須 | |
| --- | --- | --- | --- |
| limit | int | X | 限制出現數量 |

## 使用者相關
### 1.使用者登入
<font color=Red>**<POST>**</font>/api/user/login
    
***Input***
| 參數 | 類型 | 是否必須 | |
| --- | --- | --- | --- |
| name | string | O | 使用者電子郵箱 |
| password | string | O | 密碼 |
    
***Return***
    
| 名稱 | 類型 |     |
| ---- | ---- |--- |
| access_token | string | Jwt Token |
| token_type | string | Token類型 |
| expires_in | int | 過期時間(秒) |
    
### 2.使用者登出
<font color=Red>**<POST>**</font>/api/user/logout

***Input*** 
無
***Return***
無
### 3.列出使用者信息

### 4.註冊
<font color=Red>**<POST>**</font>/api/user/register
***Input***
| 參數 | 類型 | 是否必須 | |
| --- | --- | --- | --- |
| name | string | O | 使用者名稱 |    
| password | string | O | 密碼 |
    
***Return***
    
| 名稱 | 類型 |     |
| ---- | ---- |--- |
| id | int | 新增的使用者id |
    
### 5.檢查使用者名稱
<font color=Red>**<POST>**</font>/api/user/check
***Input***
| 參數 | 類型 | 是否必須 | |
| --- | --- | --- | --- |    
| name | string | O | 檢查的使用者名稱內容 |
    
***Retuen***
| 名稱 | 類型 |  |
| --- | --- |  --- |
| res | bool | 返回結果，false為不存在，true為存在   
    

## 菜單相關功能
### 1.菜單列表
<域名>dev.mix2.me
<font color=Red>**<POST>**</font>/api/menu
***Input***
    
無

***Return***
| 名稱 | 類型 |     |
| ---- | ---- |--- |
| id | int | 列表id |
| name | string | 列表名稱 |
| icon | string | 列表圖示 |
| submenu | array | 子菜單 |
    
| 子菜單 | 類型 |     |
| ---- | ---- |--- |
| id | int | 列表id |
| subname | string | 子菜單名稱 |
| func | string | 功能路由 |
| parent_id | int | 對應上層菜單 |
    
## AV明星
### 1.明星列表
<font color=Red>**<POST>**</font>/api/stars
***Input***
| 參數 | 類型 | 是否必須 | |
| --- | --- | --- | --- |
| page | int | X | 第幾頁 |    
| perpage | int | X | 每頁筆數 |
    
***Return***
| 名稱 | 類型 |  |
| --- | --- | --- |
| total | int | 總筆數 |
| page | int | 目前頁數 |
| total_page | int | 總頁數 |
| list | array | 影片列表 |
    
**list**
    
| 名稱 | 類型 | |
| --- | --- | --- |
| star_photo | string | 明星圖片 |
| name | string | 藝名 |
| called | string | 藝名羅馬拼音 |
| orientation | int | 性向，0:無資料、1:正常、2:同性、3雙性 |
| state | string | 國籍 |
| website | string | 網站、推特或IG |
| level | int | 評級，0:未分級，其後為1-3，3為最高級 |
| views | int | 點擊觀看數 |
    
### 2.明星詳細資料
<font color=Red>**<POST>**</font>/api/stars/info
***Input***
| 參數 | 類型 | 是否必須 | |
| --- | --- | --- | --- |
| id | int | O | 明星id | 
    
***Return***
| 名稱 | 類型 | |
| --- | --- | --- |
|star_photo | string | 明星圖片文件|
| name| string | 名字 |
|called | string | 名字羅馬拼音 |
| birthday | date | 生日 |
| height | int | 身高 |
| weight | int | 體重 |
|measurement | string | 三圍 |
| orientation | int | 性向，0:無資料、1:正常、2:同性、3雙性 |
| state | string | 國籍 |
| hair | string | 髮色 |
| eyes | string | 瞳色 |
| race | int | 種族，0:日本、1:中國、2:歐美、3:東南亞|
| website| string | 網站、推特或IG|
| description | string | 簡介或自介 |
| level | int | 評級，0:未分級，其後為1-3，3為最高級 |
| views | int | 觀看數 |
| likes | int | 點讚數 |
| unlikes | int | 點踩數量 |
|likes_ratio | float | 好評率 |
    
### 3.明星按讚或踩
<font color=Red>**<POST>**</font>/api/stars/like
***Input***
| 參數 | 類型 | 是否必須 | |
| --- | --- | --- | --- |
| id | int | O | 要按讚的id |
| type | int | O | 類型，0:讚、1:踩 |

***Return***
| 名稱 | 類型 | |
| --- | --- | --- |
| likes | int | 按讚數 |
| unlikes | int | 按踩數 |
| likes_ratio | float | 好評率，%|

### 4.明星主演影片列表
<font color=Red>**<POST>**</font>/api/stars/videos
***Input***
| 參數 | 類型 | 是否必須 | |
| --- | --- | --- | --- |
| id | int | O | 明星id |
| perpage | int | X | 每頁返回數量 |
| page | int | X | 頁數 |
    
***Return***
| 名稱 | 類型 | |
| --- | --- | --- |
| id | int | 視頻id |
| title | string | 名稱 |
| file_image | string | 視頻圖片 |
| vtype | int | 視頻類別 |
| file_name | string | 文件位置 |
| duration | flaot | 視頻時長(秒) |
| is_hd | int | 是否高清 |
| created_at | datetime | 創建時間 |

## 評論AV明星
### 1.新增明星評論    
<font color=Red>**<PATCH>**</font>/api/stars/comment
***Input***
| 參數 | 類型 | 是否必須 | |
| --- | --- | --- | --- |
| uid | int | O | 使用者id |
| star_id | int | O | 明星id |
| context | string | O | 評論內容 |

***Retuen***

| 名稱 | 類型 | |
| --- | --- | --- |
| id | int | 新增的頻論id |

### 2.獲取評論列表
<font color=Red>**<GET>**</font>/api/stars/comment
***Input***
| 參數 | 類型 | 是否必須 | |
| --- | --- | --- | --- |
| id | int | O | 頻論的明星id |

***Retuen***

| 名稱 | 類型 | |
| --- | --- | --- |
| id | int | 頻論id |
| uid | int | 頻論的使用者id |
| context | string | 頻論內容 |
| created_at | datetime | 頻論時間 |
    
## 我的最愛
### 1.最愛影片列表
<font color=Red>**<POST>**</font>/api/favorite
***Input***
| 參數 | 類型 | 是否必須 | |
| --- | --- | --- | --- |
| uid | int | X | 使用者id，如不輸入則必須登入取得 |

***Retuen***

| 名稱 | 類型 | |
| --- | --- | --- |
| video_id | int | 影片id |
| title | string | 影片片名 |
| file_name | string | 影片檔案位置 |
| created_at | datetime | 加入列表時間 |
    
### 2.新增至我的最愛
<font color=Red>**<POST>**</font>/api/favorite/add

***Input***
| 參數 | 類型 | 是否必須 | |
| --- | --- | --- | --- |
| uid | int | X | 使用者id，如不輸入則必須登入取得 |
| video_id | int | O | 影片id |

***Return***
| 名稱 | 類型 | |
| --- | --- | --- |
| id | int | 新增至列表的id |
    
### 3.移除列表的一影片
<font color=Red>**<DELETE>**</font>/api/favorite

***Input***
| 參數 | 類型 | 是否必須 | |
| --- | --- | --- | --- |
| id | int | O | 列表id |

***Return***
| 名稱 | 類型 | |
| --- | --- | --- |
| res | int | 移除的行數，通常為1 |
    
## 友情連結
### 1.取得連結
<font color=Red>**<POST>**</font>/api/friend
***Input***
| 參數 | 類型 | 是否必須 | |
| --- | --- | --- | --- |
| limit | int | X | 限制回傳數量 |

***Return***
| 名稱 | 類型 | |
| --- | --- | --- |
| id | int | 列表id |
| name | string | 連結名稱 |
| link | string | 連結URL |
| clicks | int | 點擊數 |
    
## 訪客相關
### 1.取得目前訪客數
<font color=Red>**<GET>**</font>/api/guest
***Input***
無

***Return***
| 名稱 | 類型 | |
| --- | --- | --- |
| count | int | 目前訪客數 |

### 2.加入新的訪客資料
<font color=Red>**<POST>**</font>/api/guest/add
***Input***
| 參數 | 類型 | 是否必須 | |
| --- | --- | --- | --- |
| remote_ip | string | O | 取得的REMOTE_ADDRESS |
| forward_ip | string | X | 取得的X_FORWARD_IP |
| client_ip | string | X | 取得的HTTP_VIA_IP |
| device | string | X | 使用者設備，僅限"pc"、"mobile"，預設mobile |

***Return***
| 名稱 | 類型 | |
| --- | --- | --- |
| id | int | 新增資料的ID |
    
## 相冊功能
   
### 1.取得相冊類別
<font color=Red>**<GET>**</font>/api/albums/catelog
    
***Input***
    
無
    
***Return***
| 名稱 | 類型 | |
| --- | --- | --- |
| id | int | 目錄的ID |
| catelog_name | string | 目錄名稱 |

### 2.取得類別中像冊列表
<font color=Red>**<GET>**</font>/api/albums
    
***Input***
    
| 參數 | 類型 | 是否必須 | |
| --- | --- | --- | --- |
| id | integer | X | 類別ID，預設為0，全部列表 |
| perpage | integer | X | 每頁列表數 |
| page | integer | X | 頁數 |
    
***Return***
| 名稱 | 類型 | |
| --- | --- | --- |
| id | int | 目錄的ID |
| catelog_name | string | 類別名稱 |
| album_name | string | 像冊名稱 |
| album_cover | string | 封面相片 |
| created_at | integer | 創建時間timestamp |

### 3.取得像冊中相片
<font color=Red>**<POST>**</font>/api/albums/photos
| 參數 | 類型 | 是否必須 | |
| --- | --- | --- | --- |
| id | integer | O | 像冊ID |
| perpage | integer | X | 每頁張數 |
| page | integer | X | 頁數 |
    
***Return***
| 名稱 | 類型 | |
| --- | --- | --- |
| rows | integer | 資料總筆數 |
| page | integer | 目前頁數 |
| total_page | integer | 總頁數 |
| list | array | 數據內容 |
    
**list**
| 名稱 | 類型 | |
| --- | --- | --- |
| id | integer | 相片id |
| photo | string | 相片URL |


---
# Google Analyst Code 
---

> \<!-- Google tag (gtag.js) -->
>
> <script async src="https://www.googletagmanager.com/gtag/js?id=G-DGZMT831HP"></script>
> <script>
>   window.dataLayer = window.dataLayer || [];
>   function gtag(){dataLayer.push(arguments);}
>   gtag('js', new Date());
> 
>   gtag('config', 'G-DGZMT831HP');
> </script>