国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

前后端真正分離,網(wǎng)線被拔,也能請求數(shù)據(jù)(mock.js)

高璐 / 3320人閱讀

摘要:六使用擴(kuò)展很多時候,服務(wù)器都有定義固定的返回值,如為則表示該請求有效。

做了一回標(biāo)題黨 (別吐槽,說的大實話,真的可以不用后臺,就能拿數(shù)據(jù),快!,向下看...)一、mock.js 是什么?

官網(wǎng)機(jī)票?

簡單的描述一下, mock.js 可以在后臺接口沒有更新時,來本地模擬數(shù)據(jù)達(dá)到測試界面功能的一個很方便的工具庫,mock.js 可以攔截ajax 請求, 重指向并返回你定義的模板數(shù)據(jù)。更多細(xì)節(jié),可查看官網(wǎng)。


二、安裝方式

? ? JS_CDN:??

? ?Yarn:

yarn add mockjs

? 其它安裝方式可看官網(wǎng)


三、簡易使用教程 Mock.mock()

@parmas rul {string} 攔截請求url 地址,需要與請求地址保持一直,不然無法攔截請求
@params rtype {string} 請求方式,如果不傳該參數(shù),則post/get請求均可獲得匹配數(shù)據(jù),
                       注意該字段需要全部小寫,否則無法匹配。
@params template {*} 默認(rèn)數(shù)據(jù) (最終請求返回結(jié)果)
@params function {function} options 為請求的數(shù)據(jù),可在下面查看示例,這里不解釋了,
                            該函數(shù)結(jié)束需要return ,return 數(shù)據(jù)則為最終請求結(jié)果,
                            可根據(jù)options的參數(shù),處理不同的邏輯

1. Mock.mock( template )

2. Mock.mock( rurl, template )

3. Mock.mock( rurl, function( options ) )

4. Mock.mock( rurl, rtype, template )

5. Mock.mock( rurl, rtype, function( options ) )

列舉基本的使用,更多細(xì)節(jié)描述,可查看官網(wǎng)。?


Mock.setup()
Mock.setup({
    timeout: 400 // 設(shè)置超時時間
})
Mock.setup({
    timeout: "300 - 6000" // 區(qū)間隨機(jī)超時時間
})
目前官網(wǎng)列舉的就一個參數(shù) timout (ajax 的請求超時時間)


Mock.Random?(該功能較多,只列舉部分常用的)?

  var Random = Mock.Random //聲明隨機(jī)函數(shù)對象var randomEmail = Random.email() //隨機(jī)生成郵箱
var randomBoolean = Random.boolean() //隨機(jī)生成布爾值
var randomBase64Img = Random.dataImage() //隨機(jī)生成圖片BASE 64 數(shù)據(jù)
var randomUrl = Random.url() //隨機(jī)生成Url 地址
var randomIp = Random.ip() //隨機(jī)生成ip 地址
var randomColor = Random.color() //隨機(jī)生成布爾值
/**
 @params size {String} 需要生成的圖片尺寸 ("600 X 300")
 @params background {String} 生成圖片的背景色 默認(rèn)白色 (RBG)
 @params text {String} 生成圖片的中間文字 默認(rèn)為圖片尺寸
 @params format {Sting} 生成圖片的格式 默認(rèn)為png(可選:jpg/png/gif)
*/
Random.image()
Random.image( size )
Random.image( size, background )
Random.image( size, background, text )
Random.image( size, background, foreground, text )
Random.image( size, background, foreground, format, text )

官方的隨機(jī)支持功能很強(qiáng)大,也很全, 部分隨機(jī)函數(shù)可支持傳參,可定義適合場景的隨機(jī)數(shù)據(jù),因為
功能太多了,無法一一列舉,可到官網(wǎng)尋找合適自己的。 

官方支持隨機(jī)數(shù)據(jù):


四、js 中的示例

let random = Mock.Random // 隨機(jī)函數(shù)

// 測試 get
Mock.mock("/get","get",{id: random.id(), name: "GET", email: random.email()})

// 測試 post
Mock.mock("/post","post",{id: random.id(), name: "POST", email: random.email()})

// 測試自定義模板
Mock.mock("/template","post", function (option) {
  console.log("我是自定義函數(shù)請求參數(shù):", option)
  let data = {id: 1, name: "Template",image: random.image()}
  return data
})

  testRequest("/get", "GET") // 測試Get 請求
  testRequest("/post", "POST") // 測試Post 請求
  testRequest("/template", "POST", {key: "Test Params"}) // 測試Post 請求

  /**
   * @Description: Mock 測試請求
   */
  function testRequest (url, type,data = {}) {
    let baseUrl = ""
    $.ajax({
      url: baseUrl + url,
      type: type,
      data: data,
      dataType: "json",
      success: res => {
        console.log(res)
      },
    })
  }


五、Vue 中的使用

==> mock/index.js 

import Mock from "mockjs"

// 測試 get
Mock.mock("/get","get",{id: 1, name: "GET"})

// 測試 post
Mock.mock("/post","post",{id: 1, name: "POST"})

// 測試自定義模板
Mock.mock("/template","post", function (option) {
  console.log("我是自定義函數(shù)請求參數(shù):", option)
  let data = {id: 1, name: "Template"}
  return data
})


==> main.js  // 在main.js 的代碼里引用模擬數(shù)據(jù)文件
*****
import "./mock/index.js"
*****

import axios form "axios"

// 測試get 請求
axios.get("/get").then(res => { console.log(res) }
// 測試post 請求
axios.post("/post").then(res => { console.log(res) }
// 測試自定義模板請求
axios.post("/post", {key: "Test Params"}).then(res => { console.log(res) }

踩坑注意:

    ?mock.js 的攔截地址,需要與請求地址保持一直,不然無法攔截請求

    ?mock.js 攔截的請求,不會出現(xiàn)在 network 請求列表中。

    ?mock.js? Mock.mock(..rtype)? rtype參數(shù)注意該字段需要全部小寫,否則無法匹配。


六、使用擴(kuò)展

很多時候,服務(wù)器都有定義固定的返回值,如code 為0 則表示該請求有效。那么我們可以封裝一個函數(shù),每次返回數(shù)據(jù)前都調(diào)用函數(shù),來格式化服務(wù)器固定的返回模板。

/**
 * @Description: 格式化mock 返回數(shù)據(jù)
 * @param data {*}  請求數(shù)據(jù)結(jié)果
 * @param code {number} 請求狀態(tài)值
 * @param msg {Sting} 請求狀態(tài)消息
*/
function formattingData (data, code = 0,msg) {
  return {
    data: data,
    code: code,
    msg: msg || (code === 0 ");"請求成功" : "請求失敗")
  }
}

 // 測試 get
 Mock.mock("/get","get",formattingData({id: 1, name: "GET"}))
 // 測試 get 請求失敗
 Mock.mock("/get/err","get",formattingData(undefined,1))



對吧,沒騙你吧(手動滑稽),如果覺得可以,請把你敲鍵盤的速度給我點(diǎn)個贊吧。


文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/6966.html

相關(guān)文章

  • 前后開發(fā)分離Mock

    摘要:為了使得前端減輕對后端的依賴,在后端功能尚未實現(xiàn)的情況下保證前端進(jìn)度的開發(fā),我們一般會手動進(jìn)行一些數(shù)據(jù)模擬,即假數(shù)據(jù)。覆蓋攔截請求,目前內(nèi)置支持。 序 有時候我們開發(fā)一般會分為前后端,前端負(fù)責(zé)數(shù)據(jù)顯示和UI交互,后端負(fù)責(zé)數(shù)據(jù)IO等等。因此造成前端對后端有嚴(yán)重依賴,使得前端的開發(fā)進(jìn)度普遍滯后于后端。 為了使得前端減輕對后端的依賴,在后端功能尚未實現(xiàn)的情況下保證前端進(jìn)度的開發(fā),我們一般會手...

    phpmatt 評論0 收藏0
  • 前后開發(fā)分離Mock

    摘要:為了使得前端減輕對后端的依賴,在后端功能尚未實現(xiàn)的情況下保證前端進(jìn)度的開發(fā),我們一般會手動進(jìn)行一些數(shù)據(jù)模擬,即假數(shù)據(jù)。覆蓋攔截請求,目前內(nèi)置支持。 序 有時候我們開發(fā)一般會分為前后端,前端負(fù)責(zé)數(shù)據(jù)顯示和UI交互,后端負(fù)責(zé)數(shù)據(jù)IO等等。因此造成前端對后端有嚴(yán)重依賴,使得前端的開發(fā)進(jìn)度普遍滯后于后端。 為了使得前端減輕對后端的依賴,在后端功能尚未實現(xiàn)的情況下保證前端進(jìn)度的開發(fā),我們一般會手...

    tyheist 評論0 收藏0
  • 前后分離的總結(jié)

    摘要:如何去解決這些問題前后端分離大部分的互聯(lián)網(wǎng)公司都分成了前端團(tuán)隊和后端團(tuán)隊。方案一采用架構(gòu)業(yè)界很多公司會采用,單頁應(yīng)用的架構(gòu),這種架構(gòu)是天然的前后端分離的。方案二淘寶的大前端方案中途島上圖是淘寶基于的前后端分離分層,以及的職責(zé)范圍。 我們遇到了什么問題? 1.前端無法調(diào)試后端未完成的 API:如果后端同學(xué)還沒有完成 API 開發(fā),那么前端同學(xué)就不能對這個 API 進(jìn)行開發(fā)。之前我們都是在...

    enrecul101 評論0 收藏0
  • 丁香園開源接口管理系統(tǒng)

    摘要:致力于解決前后端開發(fā)協(xié)作過程中出現(xiàn)的各類問題,提高開發(fā)效率,對接口做統(tǒng)一管理,同時也能為后續(xù)的迭代維護(hù)提供更便捷的方式。丁香園也將努力持續(xù)的做技術(shù)輸出產(chǎn)品輸出,為開源社區(qū)做出自己的一份力量。 API Mocker 先貼上項目地址:DXY-F2E/api-mocker 隨著web發(fā)展,前后端分離的演進(jìn),網(wǎng)頁的交互變的越來越復(fù)雜。在項目開發(fā)過程中,前后端并行開發(fā)時,在涉及到接口的部分,總是...

    mingde 評論0 收藏0
  • 用gulp+mock實現(xiàn)前后分離

    摘要:當(dāng)然需要的工具不只有這些,其他的一些可選工具還有文件壓縮壓縮時用到的文件重命名檢查一般編輯器自帶校驗提示工具等等,具體根據(jù)項目需要安裝。 gulp 前端自動化構(gòu)建工具 需要配置nodejs環(huán)境, 利用npm安裝全局gulp,安裝后可以輸入gulp指令。 npm install gulp -g 創(chuàng)建項目目錄、初始化npm包、gulp npm init gulp init 下載gul...

    dailybird 評論0 收藏0

發(fā)表評論

0條評論

高璐

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<