init
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
import Vue from 'vue'
|
||||
|
||||
/**
|
||||
* 将一个请求分组
|
||||
*
|
||||
* @param getPromise 传入一个可以获取到Promise对象的方法
|
||||
* @param groupId 分组ID,如果不传或者为空则不分组
|
||||
* @param expire 过期时间,默认 半分钟
|
||||
*/
|
||||
export function httpGroupRequest (getPromise, groupId, expire = 1000 * 30) {
|
||||
if (groupId == null || groupId === '') {
|
||||
console.log('--------popup----------getFrom DB-------with---no--groupId ')
|
||||
return getPromise()
|
||||
}
|
||||
|
||||
if (Vue.ls.get(groupId)) {
|
||||
console.log('---------popup--------getFrom Cache--------groupId = ' + groupId)
|
||||
return Promise.resolve(Vue.ls.get(groupId))
|
||||
} else {
|
||||
console.log('--------popup----------getFrom DB---------groupId = ' + groupId)
|
||||
}
|
||||
|
||||
// 还没有发出请求,就发出第一次的请求
|
||||
return getPromise().then(res => {
|
||||
Vue.ls.set(groupId, res, expire)
|
||||
return Promise.resolve(res)
|
||||
})
|
||||
}
|
||||
+160
@@ -0,0 +1,160 @@
|
||||
import { getAction, httpAction, postAction, putAction } from '@/api/manage'
|
||||
import Vue from 'vue'
|
||||
import { UI_CACHE_DB_DICT_DATA } from '@/store/mutation-types'
|
||||
|
||||
// 角色管理
|
||||
const addRole = (params) => postAction('/sys/role/add', params)
|
||||
const editRole = (params) => postAction('/sys/role/edit', params)
|
||||
const checkRoleCode = (params) => getAction('/sys/role/checkRoleCode', params)
|
||||
const queryall = (params) => getAction('/sys/role/queryall', params)
|
||||
|
||||
// 用户管理
|
||||
const addUser = (params) => postAction('/sys/user/add', params)
|
||||
const editUser = (params) => postAction('/sys/user/edit', params)
|
||||
const queryUserRole = (params) => getAction('/sys/user/queryUserRole', params)
|
||||
const getUserList = (params) => getAction('/sys/user/page', params)
|
||||
const frozenBatch = (params) => postAction('/sys/user/frozenBatch', params)
|
||||
// 验证用户是否存在
|
||||
const checkOnlyUser = (params) => getAction('/sys/user/checkOnlyUser', params)
|
||||
// 改变密码
|
||||
const changePassword = (params) => postAction('/sys/user/changePassword', params)
|
||||
|
||||
// 权限管理
|
||||
const addPermission = (params) => postAction('/sys/permission/add', params)
|
||||
const editPermission = (params) => postAction('/sys/permission/edit', params)
|
||||
const getPermissionList = (params) => getAction('/sys/permission/page', params)
|
||||
const getSystemMenuList = (params) => getAction('/sys/permission/getSystemMenuList', params)
|
||||
const getSystemSubmenu = (params) => getAction('/sys/permission/getSystemSubmenu', params)
|
||||
const getSystemSubmenuBatch = (params) => getAction('/sys/permission/getSystemSubmenuBatch', params)
|
||||
const queryTreeList = (params) => getAction('/sys/permission/queryTreeList', params)
|
||||
const queryTreeListForRole = (params) => getAction('/sys/role/queryTreeList', params)
|
||||
const queryListAsync = (params) => getAction('/sys/permission/queryListAsync', params)
|
||||
const queryRolePermission = (params) => getAction('/sys/permission/queryRolePermission', params)
|
||||
const saveRolePermission = (params) => postAction('/sys/permission/saveRolePermission', params)
|
||||
const queryPermissionsByUser = () => getAction('/sys/permission/getUserPermissionByToken')
|
||||
const loadAllRoleIds = (params) => getAction('/sys/permission/loadAllRoleIds', params)
|
||||
const getPermissionRuleList = (params) => getAction('/sys/permission/getPermRuleListByPermId', params)
|
||||
const queryPermissionRule = (params) => getAction('/sys/permission/queryPermissionRule', params)
|
||||
|
||||
// 部门管理
|
||||
const queryDepartTreeList = (params) => getAction('/sys/sysDepart/queryTreeList', params)
|
||||
const queryDepartTreeSync = (params) => getAction('/sys/sysDepart/queryDepartTreeSync', params)
|
||||
const queryIdTree = (params) => getAction('/sys/sysDepart/queryIdTree', params)
|
||||
const queryParentName = (params) => getAction('/sys/sysDepart/queryParentName', params)
|
||||
const searchByKeywords = (params) => getAction('/sys/sysDepart/searchBy', params)
|
||||
const deleteByDepartId = (params) => postAction('/sys/sysDepart/delete', params)
|
||||
|
||||
// 二级部门管理
|
||||
const queryDepartPermission = (params) => getAction('/sys/permission/queryDepartPermission', params)
|
||||
const saveDepartPermission = (params) => postAction('/sys/permission/saveDepartPermission', params)
|
||||
const queryTreeListForDeptRole = (params) => getAction('/sys/sysDepartPermission/queryTreeListForDeptRole', params)
|
||||
const queryDeptRolePermission = (params) => getAction('/sys/sysDepartPermission/queryDeptRolePermission', params)
|
||||
const queryMyDepartTreeList = (params) => getAction('/sys/sysDepart/queryMyDeptTreeList', params)
|
||||
|
||||
// 日志管理
|
||||
const deleteLog = (params) => postAction('/sys/log/delete', params)
|
||||
const deleteLogList = (params) => postAction('/sys/log/deleteBatch', params)
|
||||
|
||||
// 数据字典
|
||||
const addDict = (params) => postAction('/sys/dict/add', params)
|
||||
const editDict = (params) => postAction('/sys/dict/edit', params)
|
||||
const treeList = (params) => getAction('/sys/dict/treeList', params)
|
||||
const addDictItem = (params) => postAction('/sys/dictItem/add', params)
|
||||
const editDictItem = (params) => postAction('/sys/dictItem/edit', params)
|
||||
|
||||
// 字典标签专用(通过code获取字典数组)
|
||||
export const ajaxGetDictItems = (code, params) => getAction(`/sys/dict/getDictItems/${code}`, params)
|
||||
// 从缓存中获取字典配置
|
||||
function getDictItemsFromCache (dictCode) {
|
||||
if (Vue.ls.get(UI_CACHE_DB_DICT_DATA) && Vue.ls.get(UI_CACHE_DB_DICT_DATA)[dictCode]) {
|
||||
return Vue.ls.get(UI_CACHE_DB_DICT_DATA)[dictCode]
|
||||
}
|
||||
}
|
||||
|
||||
// 系统通告
|
||||
const doReleaseData = (params) => getAction('/sys/annountCement/doReleaseData', params)
|
||||
const doReovkeData = (params) => getAction('/sys/annountCement/doReovkeData', params)
|
||||
// 获取系统访问量
|
||||
const getLoginfo = (params) => getAction('/sys/loginfo', params)
|
||||
const getVisitInfo = (params) => getAction('/sys/visitInfo', params)
|
||||
|
||||
// 根据部门主键查询用户信息
|
||||
const queryUserByDepId = (params) => getAction('/sys/user/queryUserByDepId', params)
|
||||
|
||||
// 重复校验
|
||||
const duplicateCheck = (params) => getAction('/sys/duplicate/check', params)
|
||||
// 加载分类字典
|
||||
const loadCategoryData = (params) => getAction('/sys/category/loadAllData', params)
|
||||
const checkRuleByCode = (params) => getAction('/sys/checkRule/checkByCode', params)
|
||||
// 加载我的通告信息
|
||||
const getUserNoticeInfo = (params) => getAction('/sys/sysAnnouncementSend/getMyAnnouncementSend', params)
|
||||
const getTransitURL = url => `/sys/common/transitRESTful?url=${encodeURIComponent(url)}`
|
||||
// 中转HTTP请求
|
||||
export const transitRESTful = {
|
||||
get: (url, parameter) => getAction(getTransitURL(url), parameter),
|
||||
post: (url, parameter) => postAction(getTransitURL(url), parameter),
|
||||
put: (url, parameter) => putAction(getTransitURL(url), parameter),
|
||||
http: (url, parameter) => httpAction(getTransitURL(url), parameter)
|
||||
}
|
||||
|
||||
// 标签管理- 展示区域查询接口
|
||||
const getShowAreaData = (params) => getAction('/tag/onlCgformArea/queryShowArea', params)
|
||||
|
||||
export {
|
||||
addRole,
|
||||
editRole,
|
||||
checkRoleCode,
|
||||
addUser,
|
||||
editUser,
|
||||
queryUserRole,
|
||||
getUserList,
|
||||
queryall,
|
||||
frozenBatch,
|
||||
checkOnlyUser,
|
||||
changePassword,
|
||||
getPermissionList,
|
||||
addPermission,
|
||||
editPermission,
|
||||
queryTreeList,
|
||||
queryListAsync,
|
||||
queryRolePermission,
|
||||
saveRolePermission,
|
||||
queryPermissionsByUser,
|
||||
loadAllRoleIds,
|
||||
getPermissionRuleList,
|
||||
queryPermissionRule,
|
||||
queryDepartTreeList,
|
||||
queryDepartTreeSync,
|
||||
queryIdTree,
|
||||
queryParentName,
|
||||
searchByKeywords,
|
||||
deleteByDepartId,
|
||||
deleteLog,
|
||||
deleteLogList,
|
||||
addDict,
|
||||
editDict,
|
||||
treeList,
|
||||
addDictItem,
|
||||
editDictItem,
|
||||
doReleaseData,
|
||||
doReovkeData,
|
||||
getLoginfo,
|
||||
getVisitInfo,
|
||||
queryUserByDepId,
|
||||
duplicateCheck,
|
||||
queryTreeListForRole,
|
||||
getSystemMenuList,
|
||||
getSystemSubmenu,
|
||||
getSystemSubmenuBatch,
|
||||
loadCategoryData,
|
||||
checkRuleByCode,
|
||||
queryDepartPermission,
|
||||
saveDepartPermission,
|
||||
queryTreeListForDeptRole,
|
||||
queryDeptRolePermission,
|
||||
queryMyDepartTreeList,
|
||||
getUserNoticeInfo,
|
||||
getDictItemsFromCache,
|
||||
|
||||
getShowAreaData
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
const api = {
|
||||
Login: '/sys/login',
|
||||
Logout: '/sys/logout',
|
||||
ForgePassword: '/auth/forge-password',
|
||||
Register: '/auth/register',
|
||||
SendSms: '/account/sms',
|
||||
// get my info
|
||||
UserInfo: '/user/info'
|
||||
}
|
||||
export default api
|
||||
@@ -0,0 +1,87 @@
|
||||
import api from './index'
|
||||
import { axios } from '@/utils/request'
|
||||
|
||||
/**
|
||||
* login func
|
||||
* parameter: {
|
||||
* username: '',
|
||||
* password: '',
|
||||
* remember_me: true,
|
||||
* captcha: '12345'
|
||||
* }
|
||||
* @param parameter
|
||||
* @returns {*}
|
||||
*/
|
||||
export function login (parameter) {
|
||||
return axios({
|
||||
url: '/sys/login',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
export function phoneLogin (parameter) {
|
||||
return axios({
|
||||
url: '/sys/phoneLogin',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
export function getSmsCaptcha (parameter) {
|
||||
return axios({
|
||||
url: api.SendSms,
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
// export function getInfo() {
|
||||
// return axios({
|
||||
// url: '/api/user/info',
|
||||
// method: 'get',
|
||||
// headers: {
|
||||
// 'Content-Type': 'application/json;charset=UTF-8'
|
||||
// }
|
||||
// })
|
||||
// }
|
||||
|
||||
export function logout (logoutToken) {
|
||||
return axios({
|
||||
url: '/sys/logout',
|
||||
method: 'post',
|
||||
headers: {
|
||||
'Content-Type': 'application/json;charset=UTF-8',
|
||||
'X-Access-Token': logoutToken
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 第三方登录
|
||||
* @param token
|
||||
* @param thirdType
|
||||
* @returns {*}
|
||||
*/
|
||||
export function thirdLogin (token, thirdType) {
|
||||
return axios({
|
||||
url: `/sys/thirdLogin/getLoginUser/${token}/${thirdType}`,
|
||||
method: 'get',
|
||||
headers: {
|
||||
'Content-Type': 'application/json;charset=UTF-8'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 强退其他账号
|
||||
* @returns {*}
|
||||
* @param parameter
|
||||
*/
|
||||
export function forceLogout (parameter) {
|
||||
return axios({
|
||||
url: '/sys/online/forceLogout',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,197 @@
|
||||
import Vue from 'vue'
|
||||
import { axios } from '@/utils/request'
|
||||
import { ACCESS_TOKEN } from '@/store/mutation-types'
|
||||
import signMd5Utils from '@/utils/encryption/signMd5Utils'
|
||||
|
||||
const api = {
|
||||
user: '/mock/api/user',
|
||||
role: '/mock/api/role',
|
||||
service: '/mock/api/service',
|
||||
permission: '/mock/api/permission',
|
||||
permissionNoPager: '/mock/api/permission/no-pager'
|
||||
}
|
||||
|
||||
export default api
|
||||
|
||||
// post
|
||||
export function postAction (url, parameter) {
|
||||
const sign = signMd5Utils.getSign(url, parameter)
|
||||
// 将签名和时间戳,添加在请求接口 Header
|
||||
const signHeader = { 'X-Sign': sign, 'X-TIMESTAMP': signMd5Utils.getDateTimeToString() }
|
||||
|
||||
return axios({
|
||||
url: url,
|
||||
method: 'post',
|
||||
data: parameter,
|
||||
headers: signHeader
|
||||
})
|
||||
}
|
||||
|
||||
// post method= {post | put}
|
||||
export function httpAction (url, parameter, method) {
|
||||
const sign = signMd5Utils.getSign(url, parameter)
|
||||
// 将签名和时间戳,添加在请求接口 Header
|
||||
const signHeader = { 'X-Sign': sign, 'X-TIMESTAMP': signMd5Utils.getDateTimeToString() }
|
||||
|
||||
return axios({
|
||||
url: url,
|
||||
method: method,
|
||||
data: parameter,
|
||||
headers: signHeader
|
||||
})
|
||||
}
|
||||
|
||||
// put
|
||||
export function putAction (url, parameter) {
|
||||
return axios({
|
||||
url: url,
|
||||
method: 'put',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
// get
|
||||
export function getAction (url, parameter) {
|
||||
const sign = signMd5Utils.getSign(url, parameter)
|
||||
// 将签名和时间戳,添加在请求接口 Header
|
||||
const signHeader = { 'X-Sign': sign, 'X-TIMESTAMP': signMd5Utils.getDateTimeToString() }
|
||||
|
||||
return axios({
|
||||
url: url,
|
||||
method: 'get',
|
||||
params: parameter,
|
||||
headers: signHeader
|
||||
})
|
||||
}
|
||||
|
||||
// deleteAction
|
||||
export function deleteAction (url, parameter) {
|
||||
return axios({
|
||||
url: url,
|
||||
method: 'delete',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
export function getUserList (parameter) {
|
||||
return axios({
|
||||
url: api.user,
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
export function getRoleList (parameter) {
|
||||
return axios({
|
||||
url: api.role,
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
export function getServiceList (parameter) {
|
||||
return axios({
|
||||
url: api.service,
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
export function getPermissions (parameter) {
|
||||
return axios({
|
||||
url: api.permissionNoPager,
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
export function saveService (parameter) {
|
||||
return axios({
|
||||
url: api.service,
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 下载文件 用于excel导出
|
||||
* @param url
|
||||
* @param parameter
|
||||
* @returns {*}
|
||||
*/
|
||||
export function downFile (url, parameter) {
|
||||
return axios({
|
||||
url: url,
|
||||
params: parameter,
|
||||
method: 'get',
|
||||
responseType: 'blob'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 下载文件
|
||||
* @param url 文件路径
|
||||
* @param fileName 文件名
|
||||
* @param parameter
|
||||
* @returns {*}
|
||||
*/
|
||||
export function downloadFile (url, fileName, parameter) {
|
||||
return downFile(url, parameter).then((data) => {
|
||||
if (!data || data.size === 0) {
|
||||
Vue.prototype.$message.warning('文件下载失败')
|
||||
return
|
||||
}
|
||||
if (typeof window.navigator.msSaveBlob !== 'undefined') {
|
||||
window.navigator.msSaveBlob(new Blob([data]), fileName)
|
||||
} else {
|
||||
const url = window.URL.createObjectURL(new Blob([data]))
|
||||
const link = document.createElement('a')
|
||||
link.style.display = 'none'
|
||||
link.href = url
|
||||
link.setAttribute('download', fileName)
|
||||
document.body.appendChild(link)
|
||||
link.click()
|
||||
document.body.removeChild(link) // 下载完成移除元素
|
||||
window.URL.revokeObjectURL(url) // 释放掉blob对象
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 文件上传 用于富文本上传图片
|
||||
* @param url
|
||||
* @param parameter
|
||||
* @returns {*}
|
||||
*/
|
||||
export function uploadAction (url, parameter) {
|
||||
return axios({
|
||||
url: url,
|
||||
data: parameter,
|
||||
method: 'post',
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data' // 文件上传
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取文件服务访问路径
|
||||
* @param avatar
|
||||
* @param subStr
|
||||
* @returns {*}
|
||||
*/
|
||||
export function getFileAccessHttpUrl (avatar, subStr) {
|
||||
if (!subStr) subStr = 'http'
|
||||
try {
|
||||
if (avatar && avatar.startsWith(subStr)) {
|
||||
return avatar
|
||||
} else {
|
||||
if (avatar && avatar.length > 0 && avatar.indexOf('[') === -1) {
|
||||
const token = Vue.ls.get(ACCESS_TOKEN)
|
||||
return window._CONFIG.staticDomainURL + '/' + avatar + '?token=' + token
|
||||
}
|
||||
}
|
||||
} catch (err) {
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user