mockjs使用

mockjs

使用mockjs

項目安裝mock

npm install mockjs

項目中新建mock文件

//引入mock模塊
import Mock from 'mockjs'

將mock文件在main.js中導入

import Vue from 'vue'
import App FROM './App.vue'
import './mock/index.js'

Vue.config.productionTip = false

new Vue({
    render:h => h(App),
}).$mount('#app')

mock語法

生成字符串
  • 生成指定次數(shù)字符串
import Mock from 'mockjs'
const data = Mock.mock({
"string|4":"哈哈"
})
  • 生成指定范圍長度字符串
const data = Mock.mock({
"string|1-8":"哈哈"
})
生成文本
  • 生成一個隨機字符串
const data = Mock.mock({
    "string":"@cword"
}) 
  • 生成指定長度和范圍
const data = Mock.mock({
    string:"@cword(1)"
    str :"@cword(10,15)"
})
生成標題和句子
  • 生成標題和句子
const data = Mock.mock({
    title:"@ctitle(8)"
    sentence:"@csentence"
})
  • 生成指定長度的標題和句子
const data = Mock.mock({
    title:"@ctitle(8)"
    sentence:"@csentence(50)"
})
  • 生成指定范圍的
const data = Mock.mock({
    title:"@ctitle(5,8)"
    sentence:"@csentence(50,100)"
})
生成段落
  • 隨機生成段落
const data = Mock.mock({
  content:"@cparagraph()"
})
生成數(shù)字
  • 生成指定數(shù)字
const data = Mock.mock({
    "number|80":1
})
  • 生成范圍數(shù)字
const data = Mock.mock({
    "number|1-99":1
})
生成自增id
  • 隨機生成標識
const data = Mock.mock({
    id:"@increment"
})
生成姓名-地址-身份證
  • 隨機生成姓名-地址-身份證
const data = Mock.mock({
    name:"@cname()"
    idCard:"@id()"
    address:"@city(true)"
})
隨機生成圖片
  • 生成圖片:@image(“300*200”饭于,‘#ff0000','#fff','gif','坤坤')
  • 參數(shù)1:圖片大小
[
    '300*250','250*250','240*400','336*280'
    '180*150','720*300','468*60','234*60'
    '388*31','250*250','240*400','120*40'
    '125*125','250*250','240*400','336*280'
]
  • 參數(shù)2:圖片背景色

  • 參數(shù)3:圖片前景色

  • 參數(shù)4:圖片格式

  • 參數(shù)5:圖片文字

生成時間
  • @Date
  • 生成指定格式時間:@date(yyyy-MM-dd hh:mm:ss)

指定數(shù)組返回的參數(shù)

  • 指定長度:‘date|5’
  • 指定范圍:'data|5-10'
const data = Mock.mock({
'list|50-99':[
        {
            name:'@cname'
            address:'@city(true)'
            id:'@increment()'
        }   
    ]
})

mock攔截請求

定義get請求
Mock.mock('api/get/news','get',()=>{
    return{
        status:200,
        message:"獲取數(shù)據(jù)成功"
    }
})
定義post請求
Mock.mock('api/post/news','post',()=>{
    return{
        status:200,
        message:"獲取數(shù)據(jù)成功"
    }
})

實現(xiàn)新聞管理案例

獲取數(shù)據(jù)

接口地址::/api/get/news

接口參數(shù):

pageIndex:頁碼
pageSize:每頁的條數(shù)

請求類型:get、post

// get類型時獲取分頁參數(shù)
const getQuery = (url = '') => {
    const index = url.indexOf("?")
    if (index > -1) {
        const query = {}
        url.slice(index + 1).split('&').map(item => {
            const obj = item.split('=')
            query[obj[0]] = obj[1]
        })
        return query
    }
}
// 注意get接口有參數(shù)時的寫法维蒙,需要用正則
Mock.mock(/\/api\/get\/person/, 'get', (option) => {
    console.log(option);
    const query = getQuery(option.url)
    const list = data.list.slice(query.pageSize * (query.pageIndex - 1), query.pageIndex * query.pageSize)
    return {
        status: 200,
        res: {
            list: list,
            total: data.list.length
        },
        message: "獲取數(shù)據(jù)成功"
    }
})
// post類型時獲取參數(shù)
Mock.mock('/api/post/news', 'get', (option) => {
    console.log(option);
    const query = JSON.parse(option.body)
    const list = data.list.slice(query.pageSize * (query.pageIndex - 1), query.pageIndex * query.pageSize)
    return {
        status: 200,
        res: {
            list: list,
            total: data.list.length
        },
        message: "獲取數(shù)據(jù)成功"
    }
})

返回的數(shù)據(jù):

{
    status:200,
        message:"獲取新聞列表成功",
        list:[
        {
            "id":1,
            "title":"解憂雜貨店",
            "content":"《解憂雜貨店》是日本作家東野圭吾寫作的長篇小說掰吕。2011年《小說野性時代》連載,于2012年3月由角川書店發(fā)行單行本",
            "img_url":"http://t15.baidu.com/it/u=2090705107,20534764&fm=224&app=112&f=JPEG?w=500&h=500&s=61D0718656561FFFE504A51703000067",
            "add_time":"1984-04-03 11:43:37"}
        ],
        total:50
    }
}
添加新聞

接口地址::/api/add/news

接口參數(shù):

title:'標題'
content:內(nèi)容

請求類型:post

返回的數(shù)據(jù):

{
    status:200,
        message:"獲取新聞列表成功",
        list:[
        {
            "id":1,
            "title":"解憂雜貨店",
            "content":"《解憂雜貨店》是日本作家東野圭吾寫作的長篇小說颅痊。2011年《小說野性時代》連載殖熟,于2012年3月由角川書店發(fā)行單行本",
            "img_url":"http://t15.baidu.com/it/u=2090705107,20534764&fm=224&app=112&f=JPEG?w=500&h=500&s=61D0718656561FFFE504A51703000067",
            "add_time":"1984-04-03 11:43:37"}
        ],
        total:50
    }
}
刪除新聞

接口地址::/api/delete/news

接口參數(shù):

id;新聞id

請求類型:post

返回的數(shù)據(jù):

{
    status:200,
        message:"獲取新聞列表成功",
        list:[
        {
            "id":1,
            "title":"解憂雜貨店",
            "content":"《解憂雜貨店》是日本作家東野圭吾寫作的長篇小說斑响。2011年《小說野性時代》連載菱属,于2012年3月由角川書店發(fā)行單行本",
            "img_url":"http://t15.baidu.com/it/u=2090705107,20534764&fm=224&app=112&f=JPEG?w=500&h=500&s=61D0718656561FFFE504A51703000067",
            "add_time":"1984-04-03 11:43:37"}
        ],
        total:50
    }
}

--語法end 分割線--

vue里面加入mock

// 開發(fā)環(huán)境下才會引入mockjs
process.env.NODE_ENV === 'development' && require('./mock')

注:import是ES6標準中的模塊化解決方案,require是node中遵循CommonJS規(guī)范的模塊化解決方案舰罚,后者(require)支持動態(tài)引入


NODEE_ENV不等于development

NODEE_ENV等于development

參考此篇

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末纽门,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子沸停,更是在濱河造成了極大的恐慌膜毁,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件愤钾,死亡現(xiàn)場離奇詭異瘟滨,居然都是意外死亡,警方通過查閱死者的電腦和手機能颁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進店門杂瘸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人伙菊,你說我怎么就攤上這事败玉〉型粒” “怎么了?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵运翼,是天一觀的道長返干。 經(jīng)常有香客問我,道長血淌,這世上最難降的妖魔是什么矩欠? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮悠夯,結(jié)果婚禮上癌淮,老公的妹妹穿的比我還像新娘。我一直安慰自己沦补,他們只是感情好乳蓄,可當我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著夕膀,像睡著了一般虚倒。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上店诗,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天裹刮,我揣著相機與錄音音榜,去河邊找鬼庞瘸。 笑死,一個胖子當著我的面吹牛赠叼,可吹牛的內(nèi)容都是我干的擦囊。 我是一名探鬼主播,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼嘴办,長吁一口氣:“原來是場噩夢啊……” “哼瞬场!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起涧郊,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤贯被,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后妆艘,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體彤灶,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年批旺,在試婚紗的時候發(fā)現(xiàn)自己被綠了幌陕。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡汽煮,死狀恐怖搏熄,靈堂內(nèi)的尸體忽然破棺而出棚唆,到底是詐尸還是另有隱情,我是刑警寧澤心例,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布宵凌,位于F島的核電站,受9級特大地震影響止后,放射性物質(zhì)發(fā)生泄漏摆寄。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一坯门、第九天 我趴在偏房一處隱蔽的房頂上張望微饥。 院中可真熱鬧,春花似錦古戴、人聲如沸欠橘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽肃续。三九已至,卻和暖如春叉袍,著一層夾襖步出監(jiān)牢的瞬間始锚,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工喳逛, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留瞧捌,地道東北人。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓润文,卻偏偏與公主長得像姐呐,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子典蝌,可洞房花燭夜當晚...
    茶點故事閱讀 43,490評論 2 348

推薦閱讀更多精彩內(nèi)容