之前做項(xiàng)目一直想用mock.js,種種原因也沒(méi)怎么用剔宪,現(xiàn)在閑下來(lái)時(shí)間找了mock.js的一些知識(shí),給自己補(bǔ)習(xí)了一下熏瞄,順便的也記錄一下,方便學(xué)習(xí)谬以。廢話不多說(shuō)巴刻,直接上教程(配合vue.js項(xiàng)目)。
1蛉签、首先安裝mock.js
npm install mockjs --save-dev
2胡陪、在src目錄下新建mock文件,里面添加一個(gè)mock.js碍舍,其內(nèi)容如下:
import Mock from 'mockjs'
Mock.mock('http://test123.com', {//這里的url地址其實(shí)可以換成一個(gè)字段柠座,比如msg,下邊請(qǐng)求時(shí)候?qū)?yīng)就可以
'name': '@cname',
'age|1-10': 10
})
Mock.mock('http://myname.com','post', {//這里的url地址其實(shí)可以換成一個(gè)字段,比如msg,下邊請(qǐng)求時(shí)候?qū)?yīng)就可以
'data|1-2':[{
'title':'@title',
'article':'@csentence'
}]
})
3片橡、在vue頁(yè)面里的ajax請(qǐng)求調(diào)用
<script>
import '@/mock/mock.js';
export default{
name:"test",
data(){
return{
}
},
mounted (){
this.getlist()
},
methods:{
getlist(){
axios('get','http://test123.com').then((res) => {//這里post和get都行
console.log(res)
//輸出結(jié)果:{ "name": "李秀英", "age": 7 }
//結(jié)果是隨機(jī)的妈经,也有可能是其他值
})
axios('post','http://myname.com').then((res) => {//這里必須是post請(qǐng)求,因?yàn)樯线叾x了type類(lèi)型是post
console.log(res)
//輸出結(jié)果:{ "data": [ { "title": "Lfw Pbljsjgcu Zsiyvzc Tahgecies", "article": "鐵十入易團(tuán)江無(wú)體之車(chē)和基出們應(yīng)車(chē)捧书。" } ] }吹泡;
// 結(jié)果是隨機(jī)的,也有可能是其他值
})
}
}
}
</script>
關(guān)于mock.js生成規(guī)則的一些常用方式经瓷,記錄以便查看爆哑。詳情請(qǐng)查閱:http://mockjs.com/0.1/#time
Mock.mock()
方法 含義
Mock.mock( template ) 根據(jù)數(shù)據(jù)模板生成模擬數(shù)據(jù)。
Mock.mock( rurl, template ) 記錄數(shù)據(jù)模板舆吮。當(dāng)攔截到匹配 rurl 的 Ajax 請(qǐng)求時(shí)揭朝,將根據(jù)數(shù)據(jù)模板 template 生成模擬數(shù)據(jù),并作為響應(yīng)數(shù)據(jù)返回色冀。
Mock.mock( rurl, function( options ) ) 記錄用于生成響應(yīng)數(shù)據(jù)的函數(shù)潭袱。當(dāng)攔截到匹配 rurl 的 Ajax 請(qǐng)求時(shí),函數(shù) function(options) 將被執(zhí)行锋恬,并把執(zhí)行結(jié)果作為響應(yīng)數(shù)據(jù)返回屯换。
Mock.mock( rurl, rtype, template ) 記錄數(shù)據(jù)模板。當(dāng)攔截到匹配 rurl 和 rtype 的 Ajax 請(qǐng)求時(shí)与学,將根據(jù)數(shù)據(jù)模板 template 生成模擬數(shù)據(jù)彤悔,并作為響應(yīng)數(shù)據(jù)返回。
Mock.mock( rurl, rtype, function( options ) ) 記錄用于生成響應(yīng)數(shù)據(jù)的函數(shù)癣防。當(dāng)攔截到匹配 rurl 和 rtype 的 Ajax 請(qǐng)求時(shí)蜗巧,函數(shù) function(options) 將被執(zhí)行掌眠,并把執(zhí)行結(jié)果作為響應(yīng)數(shù)據(jù)返回蕾盯。
Mock.Random
Mock.Random 是一個(gè)工具類(lèi),用于生成各種隨機(jī)數(shù)據(jù)。
(1)级遭、Basic
方法 含義
Random.boolean( min?, max?, current? ) 返回一個(gè)隨機(jī)的布爾值望拖。
Random.natural( min?, max? ) 返回一個(gè)隨機(jī)的自然數(shù)(大于等于 0 的整數(shù))。
Random.integer( min?, max? ) 返回一個(gè)隨機(jī)的整數(shù)挫鸽。
Random.float( min?, max?, dmin?, dmax? ) 返回一個(gè)隨機(jī)的浮點(diǎn)數(shù)说敏。
Random.character( pool? ) 返回一個(gè)隨機(jī)字符
Random.string( pool?, min?, max? ) 返回一個(gè)隨機(jī)字符串。
(2)丢郊、 Date
方法 含義
Random.date(format) 返回一個(gè)隨機(jī)的日期字符串盔沫。
Random.time( format? ) 返回一個(gè)隨機(jī)的時(shí)間字符串。
Random.datetime( format? ) 返回一個(gè)隨機(jī)的日期和時(shí)間字符串枫匾。
Random.now( unit?, format? ) 返回當(dāng)前的日期和時(shí)間字符串架诞。
(3)、 Image
方法 含義
Random.image( size?, background?, foreground?, format?, text? ) 生成一個(gè)隨機(jī)的圖片地址干茉。
Random.dataImage( size?, text? ) 生成一段隨機(jī)的 Base64 圖片編碼谴忧。
(4)、Text
方法 含義
Random.paragraph( min?, max? ) 隨機(jī)生成一段文本角虫。
Random.cparagraph( min?, max? ) 隨機(jī)生成一段中文文本沾谓。
Random.sentence( min?, max? ) 隨機(jī)生成一個(gè)句子,第一個(gè)單詞的首字母大寫(xiě)戳鹅。
Random.csentence( min?, max? ) 隨機(jī)生成一段中文文本均驶。
Random.word( min?, max? ) 隨機(jī)生成一個(gè)單詞。
Random.cword( pool?, min?, max? ) 隨機(jī)生成一個(gè)漢字枫虏。
Random.title( min?, max? ) 隨機(jī)生成一句標(biāo)題辣恋,其中每個(gè)單詞的首字母大寫(xiě)。
Random.ctitle( min?, max? ) 隨機(jī)生成一句中文標(biāo)題模软。
(5)伟骨、Name
方法 含義
Random.first() 隨機(jī)生成一個(gè)常見(jiàn)的英文名。
Random.last() 隨機(jī)生成一個(gè)常見(jiàn)的英文姓燃异。
Random.name( middle? ) 隨機(jī)生成一個(gè)常見(jiàn)的英文姓名携狭。
Random.cfirst() 隨機(jī)生成一個(gè)常見(jiàn)的中文名。
Random.clast() 隨機(jī)生成一個(gè)常見(jiàn)的中文姓回俐。
Random.cname() 隨機(jī)生成一個(gè)常見(jiàn)的中文姓名逛腿。
(6)、Web
方法 含義
Random.url( protocol?, host? ) 隨機(jī)生成一個(gè) URL仅颇。
Random.protocol() 隨機(jī)生成一個(gè) URL 協(xié)議单默。
Random.domain() 隨機(jī)生成一個(gè)域名。
Random.tld() 隨機(jī)生成一個(gè)頂級(jí)域名(Top Level Domain)忘瓦。
Random.email( domain? ) 隨機(jī)生成一個(gè)郵件地址搁廓。
Random.ip() 隨機(jī)生成一個(gè) IP 地址。
(7)、Address
方法 含義
Random.region() 隨機(jī)生成一個(gè)(中國(guó))大區(qū)境蜕。
Random.province() 隨機(jī)生成一個(gè)(中國(guó))黍 (或直轄市、自治區(qū)粱年、特別行政區(qū))售滤。
Random.city( prefix? ) 隨機(jī)生成一個(gè)(中國(guó))市。
Random.zip() 隨機(jī)生成一個(gè)郵政編碼(六位數(shù)字)台诗。