待修复
一、在mock,新建index.js
import Mock from 'mockjs'
import {baseUrl} from '@/utils/global'
import * as login from './modules/login'
import * as user from './modules/user'
import * as dept from './modules/dept'
import * as role from './modules/role'
import * as menu from './modules/menu'
import * as dict from './modules/dict'
import * as config from './modules/config'
import * as log from './modules/log'
import * as loginlog from './modules/loginlog'
//1.开启/关闭【所有模块】拦截,通过调用【openMock参数】设置
//2.开启/关闭【业务模块】拦截,通过调用fnCreate方法【isOpen参数】设置
//3.开启/关闭【业务模块中某个请求】拦截,通过函数返回对象中的【isOpen属性】设置
let openMock = true;
//let openMock = false;
fnCreate(login,openMock);
fnCreate(user,openMock);
fnCreate(dept,openMock);
fnCreate(role,openMock);
fnCreate(menu,openMock);
fnCreate(dict,openMock);
fnCreate(config,openMock);
fnCreate(log,openMock);
fnCreate(loginlog,openMock);
/*
创建mock模拟数据
@param {*} mod模块
@param {*} isOpen是否开启?
*/
function fnCreate(mod,isOpen=true){
if(isOpen){
for(var key in mod){
((res)=>{
if(res.isOpen!==false){
let url = baseUrl
if(!url,endsWith("/")){
url = url+'/'
}
url = url+res.url
Mock.mock(new RegExp(url),res.type,(opts)=>{
opts['data'] = opts.body ? JSON.parse(opts.body) : null
delete opts.body
console.log('\n');
console.log('%cmock拦截,请求:','color:bulue',opts);
console.log('%cmock拦截,响应:','color:blue',res.data);
})
}
})(mod[key]()|| {})
}
}
}
二、在modules,修改user.js
import axios from '../axios'
/*用户管理模块 */
//保存
export function save(){
return {url:'/user/save',method:'post',data:{"code":200,"msg":null,"data":1}}
}
// export const save = (data) =>{
// return axios({url:'/user/save',method:'post',data})
// }
//删除
export function batchDelete(){
return {url:'/user/delete',method:'post',data:{"code":200,"msg":null,"data":1}}
}
// export const batchDelete = (data) =>{
// return axios({url:'/user/delete',method:'post',data})
// }
//分页查询
export function findPage(params){
let findPageData = {"code":200,"msg":null,"data":{}}
let pageNum = 1;
let pageSize = 8;
let content = this.getContent(pageNum,pageSize);
findPageDate.data.pageNum = pageNum;
findPageDate.data.pageSize = pageSize;
findPageDate.data.totalSize = 50;
findPageDate.data.content = content;
return {url:'/user/findPage',method:'post',data:findPageData}
}
// export const findPage = (data) =>{
// return axios({url:'/user/findPage',method:'post',data})
// }
export function getContent(pageNum,pageSize){
let content = [];
for(let i=0; i<pageSize;i++){
let obj = {};
let index = ((pageNum-1)*pageSize)+i+1
obj.id = index
obj.name = "mango"+index
obj.password = "9ec9750e709431dad22365cabc5c625482e"
obj.salt = "YzcmCZNvbXorsz9dm8e"
obj.email = "mango"+index+"@qq.com"
obj.mobile = "18688982323"
obj.status = 1
obj.deptId = 12
obj.deptName ="技术部"
obj.status = 1
if(i%2===0){
obj.detId = 13
obj.deptName = '市场部'
}
obj.createBy = "admin"
obj.createTime = "2018-08-14 11:11:11"
obj.createBy = "admin"
obj.ctrateTime ="2018-09-14 12:12:12"
content.push(obj)
}
return content
}
//查找用户的菜单权限标识集合
// export const findPermissions = (params) =>{
// return axios({url:'/user/findPermissions',method:'get',params})
// }
export function findPermisstions(){
let permsData = {"code":200,"msg":null,data:["sys:user:view","sys:menu:delete"]}
return {url:'user/findPermissions',type:"get",data:permsData}
}