lazy-mock ,一個生成后端模擬數據的懶人工具,lazy-mock懶人

1

??lazy-mock 是基于koa2構建的,使用lowdb持久化數據到JSON文件。愛掏網 - it200.com只需要簡單的配置就可以實現和json-server差不多的功能,但是比json-server更加靈活,后期可配置性更強,完全可以模擬真實后端業務邏輯。愛掏網 - it200.com

??lazy-mock默認包含了jwt實現的登錄與登出,實現了基于RBAC模型的通用權限控制邏輯。愛掏網 - it200.com具體可查看vue-quasar-admin。愛掏網 - it200.com

git clone https://github.com/wjkang/lazy-mock.git
復制代碼
npm install
復制代碼
npm run start
復制代碼

使用Postman模擬登錄功能

下面通過模擬圖書的增刪改查 介紹lazy-mock的簡單使用

修改codeGenerate/config/config.js:

export default {
    ApiServer:'http://localhost:3000',
    ServerRootPath:'G:/GitHubProject/lazy-mock',
    //server
    RouteRelativePath:'/src/routes/',
    ControllerRelativePath:'/src/controllers/',
    ServiceRelativePath:'/src/services/',
    ModelRelativePath:'/src/models/',
    DBRelativePath:'/src/db/'
}
復制代碼

只需要修改ServerRootPath為當前項目的根目錄。愛掏網 - it200.com

接著修改codeGenerate/config/model.js:


var shortid = require('shortid')
var Mock = require('mockjs')
var Random = Mock.Random

//必須包含字段id
export default {
    name: "book",
    Name: "Book",
    properties: [
        {
            key: "id",
            title: "id"
        },
        {
            key: "name",
            title: "書名"
        },
        {
            key: "author",
            title: "作者"
        },
        {
            key: "press",
            title: "出版社"
        }
    ],
    buildMockData: function () {//不需要生成設為false
        let data = []
        for (let i = 0; i 100; i++) {
            data.push({
                id: shortid.generate(),
                name: Random.cword(5, 7),
                author: Random.cname(),
                press: Random.cword(5, 7)
            })
        }
        return data
    }
}

復制代碼

更多生成模擬數據的規則可看github.com/nuysoft/Moc…

生成代碼

確保之前npm run start的窗口還開著,打開新的命令行窗口,執行npm run code

復制src/routes/bookApiMap.txt某一行數據到Postman訪問

get http://localhost:3000/book/get?id=
復制代碼
get http://localhost:3000/book/paged?pageIndex=&pageSize=&sortBy=&descending=&id=&name=&author=&press=
復制代碼
delete http://localhost:3000/book/del?id=
復制代碼
delete http://localhost:3000/book/batchdel?ids=[]
復制代碼
//不設置id則新增,否則為更新
post http://localhost:3000/book/save
{

  "id":"",

  "name":"",

  "author":"",

  "press":"",
 
}
復制代碼

image

請求頭記得加上Authorization:Bearer token

token之前模擬登錄獲取的

image

修改自動生成的代碼格式

直接修改codeGenerate/serverTemplates 下文件

去掉接口需要授權訪問的限制

去掉scr/app.js 里的.use(jwt({ secret: publicKey }).unless({ path: [/^\/public|\/auth\/login|\/assets/] }))

修改接口返回格式

修改src/lib/responseTemplate.js

修改路由

修改src/routes 下文件

添加更多業務邏輯

主要修改src/services下文件,具體可參考memuService.js

使用權限控制邏輯

前端參考vue-quasar-admin。愛掏網 - it200.com實現了頁面(菜單),接口,元素級的權限控制。愛掏網 - it200.com

后端在路由處加上權限控制的中間件,比如

.get('/function/pagedlist', PermissionCheck({ permission: ["function_view"], role: ["test"] }), controllers.function.getFunctionPagedList)
復制代碼

permission表明當前登錄用戶必須具備數組里的任意一個權限碼,才能訪問當前接口。愛掏網 - it200.com

role表明當前登錄用戶必須具備數組里的任意一個角色碼,才能訪問當前接口

permission與role為或關系




原文發布時間為:2024年07月09日

本文作者:若邪

本文來源:掘金?如需轉載請聯系原作者



聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
發表評論
更多 網友評論0 條評論)
暫無評論

返回頂部

主站蜘蛛池模板: 在线观看精品国产福利片尤物 | 欧美jizz18欧美| 国产91热爆ts人妖在线| 37大但人文艺术a级| 成人最新午夜免费视频| 亚洲不卡中文字幕| 皇后羞辱打开双腿调教h| 国产在线观看一区精品| 91麻豆精品国产自产在线| 成年女人黄小视频| 亚洲av中文无码乱人伦在线观看 | 国产线路中文字幕| 中国国产高清免费av片| 校园春色国产精品| 亚洲风情亚aⅴ在线发布| 老太脱裤让老头玩ⅹxxxx| 国产男女猛视频在线观看| bl文库双性灌尿| 搞av.com| 久久香蕉国产线看精品| 永久中文字幕免费视频网站| 国产-第1页-浮力影院| 欧美色图一区二区| 在线中文字幕日韩欧美| 三级伦理电影网| 日本欧美久久久久免费播放网| 亚洲性一级理论片在线观看| 男男全肉高h视频在线观看| 国产va免费精品高清在线 | 亚洲aⅴ男人的天堂在线观看| 爱情岛永久入口首页| 古装一级淫片a免费播放口| 麻豆女神吴梦梦| 国产精品后入内射日本在线观看| chinese猛攻打桩机体育生| 成年大片免费视频| 久久婷婷五月综合色奶水99啪| 欧美午夜精品久久久久免费视| 亚洲美女视频一区| 精品久久久久久中文字幕| 国产av夜夜欢一区二区三区|