接口文件按照功能分目錄組織,這里的接口是正式部署的時候請求的接口
`/api/ujob/headhunter.js`文件
```
import request from "@/plugins/request";
/**
* 根據ID參數查找項目的詳細信息
* @param {int} id 微獵項目的主鍵
*/
export function getInfo(id) {
return request({
url: "/api/ujob/headhunter/getInfo",
method: "get",
params: { id: id },
});
}
/**
* 獲取滿足條件的招聘任務列表的分頁數據,默認分頁大小為10
* @param {*} map
*/
export function getList(map = {}) {
return request({
url: "/api/ujob/headhunter/getList",
method: "get",
params: map,
});
}
```
如果正式接口有很多文件,希望整理成一個文件導出,可以參考一下例子:
`/api/ujob/index.js`
```
import headhunter from "./headhunter";
export { headhunter };
```
在正式的接口還沒有實現的情況下,前端使用Mockjs模擬數據請求,框架已經實現了請求攔截,只需要編寫相應的請求模擬文件。
`/mock/ujob/headhunter.js`文件
實例模擬了后臺返回單個對象和列表數據的情況,具有一定的代表性。
> 要想獲取模擬請求的請求參數,可以再handle函數中,使用body參數獲取post過來的表單數據,使用params獲取get的參數。
注意:這里攔截的請求路徑path必須和正式的接口請求的路徑完全一致。
```
/**
* Mockjs的語法參閱官方文檔 http://mockjs.com/
* @see http://mockjs.com/
*/
import Mock from "mockjs";
/**
* 請求接口模擬數據
*/
export default [
{
path: "/api/ujob/headhunter/getInfo",
method: "get",
handle({ body, params }) {
// console.log(body, params);
const mockOptions = {
id: params.id,
//需要模擬的數據字段
company_name: "廣東皂園科技有限公司",
logo: "", //公司logo
job_title: "網絡客服",
salary: "5k-8k",
work_type: "全職",
city: [],
job_address: "廣州市番禺區",
diplomas: "碩士",
end_time: "2020-5-1", //截止時間
share_limit: 10, //分享份數限制
share_count: 10, //已經分享份數
price: "40", //價格
price_desc: "推薦合適獎金", //價格描述
description: "", //職位描述
tags: ["英語熟練", "普通話標準", "粵語流利"],
work_type_label: "全職",
work_province_label: "廣東省",
work_city_label: "廣州市",
work_county_label: "番禺區",
industry_top_label: "制造業",
diplomas_label: "學歷不限",
min_salary_label: "5K",
max_salary_label: "8K",
task_apply_limit: 10,
task_apply_count: 3,
task_end_time: "2020-09-20 18:00",
task_bonus_resume: 5,
task_bonus_success: 100,
job_requirements: "@cparagraph(10,20)",
responsibilities: "@cparagraph(10,20)",
};
const mockedData = {
errno: 0,
errmsg: "",
data: Mock.mock(mockOptions),
};
// console.log(mockedData);
return mockedData;
},
},
{
path: "/api/ujob/headhunter/getList",
method: "get",
handle({ body, params }) {
// console.log(body, params);
const mockOptions = {
pageSize: 10, //每頁顯示的條數, think-model@1.1.8 之前該字段為 pagesize
currentPage: 1, //當前頁
count: 100, //總條數
totalPages: 10, //總頁數
"data|10": [
{
// 屬性 id 是一個自增數,起始值為 1,每次增 1
"id|+1": 1,
//需要模擬的數據字段
company_name: "廣東皂園科技有限公司",
logo: "", //公司logo
job_title: "網絡客服",
salary: "5k-8k",
work_type: "全職",
city: [],
job_address: "廣州市番禺區",
diplomas: "碩士",
end_time: "2020-5-1", //截止時間
share_limit: 10, //分享份數限制
share_count: 10, //已經分享份數
price: "40", //價格
price_desc: "推薦合適獎金", //價格描述
description: "", //職位描述
tags: ["英語熟練", "普通話標準", "粵語流利"],
work_type_label: "全職",
work_province_label: "廣東省",
work_city_label: "廣州市",
work_county_label: "番禺區",
industry_top_label: "制造業",
diplomas_label: "學歷不限",
min_salary_label: "5K",
max_salary_label: "8K",
task_apply_limit: 10,
task_apply_count: 3,
task_end_time: "2020-09-20 18:00",
task_bonus_resume: 5,
task_bonus_success: 100,
},
],
};
const mockedData = {
errno: 0,
errmsg: "",
data: Mock.mock(mockOptions),
};
return mockedData;
},
},
];
```
- 文檔說明
- 服務端開發指南
- 客戶端開發指南
- 請求攔截器
- API接口實例分析
- 頁面文件
- NPM包管理
- 創建NPM包項目
- 課程設計
- 概述
- 內容管理系統項目
- 配置開發環境
- 設計靜態原型
- 快速構建項目
- 構建CMS系統前端界面
- 門戶模塊
- 新聞列表
- API接口規范
- 生成模擬數據
- 顯示新聞列表
- NavigatorPath組件
- ChannelHeader組件
- v-line-clamp指令
- formatDate過濾器
- 新聞詳情頁
- 修改頂部導航菜單
- 實現訪問遠程API
- 擴展功能
- 組件開發
- 服務端項目
- 編寫服務模塊
- 項目配置
- 數據庫
- 創建數據庫腳本
- 配置數據庫
- 創建模擬數據
- 新聞模塊控制器
- 添加邏輯驗證層
- 實現接口
- 書棧模塊
- QA