提交 f1d46fb5 authored 作者: pengxiaohui's avatar pengxiaohui

接入统一权限系统

上级 1a518224
module.exports = { module.exports = {
domain: 'dev.ezijing.com', domain: 'dev.ezijing.com',
url: 'https://live-broadcast2-admin.ezijing.com/api', // url: 'https://live-broadcast2-admin.ezijing.com/api',
url: 'https://meetings.ezijing.com/api',
webpack: { webpack: {
externals: { externals: {
CKEDITOR: 'window.CKEDITOR', CKEDITOR: 'window.CKEDITOR',
...@@ -33,7 +34,9 @@ module.exports = { ...@@ -33,7 +34,9 @@ module.exports = {
}, },
ProvidePlugin: {}, ProvidePlugin: {},
others: { others: {
loginUrl: 'https://login2.ezijing.com/auth/login/index' // loginUrl: 'https://login2.ezijing.com/auth/login/index'
// loginUrl: 'https://login.ezijing.com/auth/login/index' loginUrl: 'https://login.ezijing.com/auth/login/index',
VITE_SECRET_ID: 'ezijing_de560f8cf9f55d94c0847fd06b4aad0b',
VITE_SECRET_KEY: '372009e859ddb658630cadc7370b7b11'
} }
} }
...@@ -14,6 +14,8 @@ module.exports = { ...@@ -14,6 +14,8 @@ module.exports = {
}, },
ProvidePlugin: {}, ProvidePlugin: {},
others: { others: {
loginUrl: 'https://login.ezijing.com/auth/login/index' loginUrl: 'https://login.ezijing.com/auth/login/index',
VITE_SECRET_ID: 'ezijing_de560f8cf9f55d94c0847fd06b4aad0b',
VITE_SECRET_KEY: '372009e859ddb658630cadc7370b7b11'
} }
} }
...@@ -14,6 +14,8 @@ module.exports = { ...@@ -14,6 +14,8 @@ module.exports = {
}, },
ProvidePlugin: {}, ProvidePlugin: {},
others: { others: {
loginUrl: 'https://login2.ezijing.com/auth/login/index' loginUrl: 'https://login2.ezijing.com/auth/login/index',
VITE_SECRET_ID: 'ezijing_de560f8cf9f55d94c0847fd06b4aad0b',
VITE_SECRET_KEY: '372009e859ddb658630cadc7370b7b11'
} }
} }
...@@ -8,3 +8,15 @@ export function logout() { ...@@ -8,3 +8,15 @@ export function logout() {
export function getUser() { export function getUser() {
return httpRequest.get('/api/passport/account/get-user-info') return httpRequest.get('/api/passport/account/get-user-info')
} }
/**
* 获取角色
*/
export function getRole() {
return httpRequest.get('/api/permissions/api/v1/user/roles')
}
/**
* 获取权限列表
*/
export function getPermissions(params) {
return httpRequest.get('/api/permissions/api/v1/user/permissions', { params })
}
import httpRequest from '@/utils/axios' import httpRequest from '@/utils/axios'
/**
* 操作日志
*/
export function operateLog(params) {
const logMsg = `操作人:${params.user.nickname},操作:${params.type}`
const data = {
detail: logMsg
}
httpRequest.post('/api/live/admin/v3/system/log/write', data).then(res => {
}).catch(() => {})
}
/** /**
* 模糊搜索 * 模糊搜索
*/ */
export function searchUserList(params) { export function searchUserList(params) {
return httpRequest.get('/api/live/common/v3/sso-user/search', { params }) return httpRequest.get('/api/live/common/v3/sso-user/search', { params })
} }
// /**
// * 创建腾讯用户
// */
// export function createAccount(data) {
// return httpRequest.post('/api/live/admin/v2/tencent/user', data)
// }
// /**
// * 获取腾讯用户列表(分页)
// */
// export function getAccountList(params) {
// return httpRequest.get('/api/live/admin/v3/tencent/users', { params })
// }
/**
* 获取腾讯用户列表(不分页)
*/
// export function getAllAccountList() {
// return httpRequest.get('/api/live/admin/v2/tencent/user/list')
// }
// /**
// * 更新腾讯用户
// */
// export function updateAccount(data) {
// return httpRequest.put(`/api/live/admin/v2/tencent/user/${data.userid}/update`, data)
// }
// /**
// * 删除腾讯用户
// */
// export function deleteAccount(params) {
// return httpRequest.delete(`/api/live/admin/v2/tencent/user/${params.userid}/delete`, params)
// }
/** /**
* 创建会议 * 创建会议
*/ */
......
import httpRequest from '@/utils/axios' import httpRequest from '@/utils/axios'
/**
* 操作日志
*/
export function operateLog(params) {
const logMsg = `操作人:${params.user.nickname},操作:${params.type}`
const data = {
detail: logMsg
}
httpRequest.post('/api/live/admin/v3/system/log/write', data).then(res => {
console.log(res)
}).catch(() => {})
}
/** /**
* 模糊搜索 * 模糊搜索
*/ */
......
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
<el-button size="mini" @click="copyText">复制文字</el-button> <el-button size="mini" @click="copyText">复制文字</el-button>
<el-button size="mini" @click="copyMeetingLink">复制参会地址</el-button> <el-button size="mini" @click="copyMeetingLink">复制参会地址</el-button>
<el-button size="mini" v-if="details.enable_live === 1" @click="copyLiveLink">复制直播地址</el-button> <el-button size="mini" v-if="details.enable_live === 1" @click="copyLiveLink">复制直播地址</el-button>
<el-button type="primary" size="mini" @click="joinMeeting">进入会议</el-button> <el-button v-if="hasJoin" type="primary" size="mini" @click="joinMeeting">进入会议</el-button>
</span> </span>
</el-dialog> </el-dialog>
</template> </template>
...@@ -56,6 +56,12 @@ export default { ...@@ -56,6 +56,12 @@ export default {
} else { } else {
return dateFormat(this.details.start_time, '(周{a})') return dateFormat(this.details.start_time, '(周{a})')
} }
},
permissions() {
return this.$store.state.user.permissions || []
},
hasJoin() {
return this.permissions.includes('f_tencentmeeting_join')
} }
}, },
filters: { filters: {
......
...@@ -10,13 +10,13 @@ ...@@ -10,13 +10,13 @@
{{details.meeting_code}} {{details.meeting_code}}
</el-form-item> </el-form-item>
<el-form-item label="会议创建人:"> <el-form-item label="会议创建人:">
{{rowData.sso_user.realname || rowData.sso_user.username}} {{rowData.sso_user.realname || rowData.sso_user.nickname || rowData.sso_user.username}}
</el-form-item> </el-form-item>
<el-form-item label="会议主持人:"> <el-form-item label="会议主持人:">
<span v-for="(it, index) in details.hosts" :key="it.userid">{{index > 0 ? '、' : ''}}{{it.username}}</span> <span v-for="(it, index) in details.hosts" :key="it.userid">{{index > 0 ? '、' : ''}}{{it.username}}</span>
</el-form-item> </el-form-item>
<el-form-item label="会议管理员:"> <el-form-item label="会议管理员:">
<span v-for="(it, index) in details.managers" :key="it.userid">{{index > 0 ? '、' : ''}}{{it.realname || it.username}}</span> <span v-for="(it, index) in details.managers" :key="it.userid">{{index > 0 ? '、' : ''}}{{it.realname || it.nickname || it.username}}</span>
</el-form-item> </el-form-item>
<el-form-item label="会议直播主题:" v-if="details.enable_live === 1"> <el-form-item label="会议直播主题:" v-if="details.enable_live === 1">
{{details.live_config.live_subject}} {{details.live_config.live_subject}}
......
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
import DialogDetails from './DialogDetails.vue' import DialogDetails from './DialogDetails.vue'
import DialogCopyInvite from './DialogCopyInvite' import DialogCopyInvite from './DialogCopyInvite'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { getMeetingDetails, stopMeeting, cancelMeeting, getMeetingRecordAddr, operateLog } from '@api/common' import { getMeetingDetails, stopMeeting, cancelMeeting, getMeetingRecordAddr } from '@api/common'
import { timeTrans } from '@/utils/dateAlgs' import { timeTrans } from '@/utils/dateAlgs'
export default { export default {
props: { props: {
...@@ -240,7 +240,6 @@ export default { ...@@ -240,7 +240,6 @@ export default {
stopMeeting(params).then(res => { stopMeeting(params).then(res => {
if (res.code === 0 && res.data.status) { if (res.code === 0 && res.data.status) {
this.$message.success('会议终止成功') this.$message.success('会议终止成功')
operateLog({ type: `终止会议,meeting_code:${this.rowData.meeting_code}`, user: this.user })
this.$emit('refresh') this.$emit('refresh')
} else { } else {
this.$message.error(res.msg || '会议终止失败') this.$message.error(res.msg || '会议终止失败')
...@@ -259,7 +258,6 @@ export default { ...@@ -259,7 +258,6 @@ export default {
cancelMeeting(params).then(res => { cancelMeeting(params).then(res => {
if (res.code === 0 && res.data.status) { if (res.code === 0 && res.data.status) {
this.$message.success(msg + '成功') this.$message.success(msg + '成功')
operateLog({ type: `删除(取消)会议,meeting_code:${this.rowData.meeting_code}`, user: this.user })
this.$emit('refresh') this.$emit('refresh')
} else { } else {
this.$message.error(res.msg || msg + '失败') this.$message.error(res.msg || msg + '失败')
......
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
</div> </div>
<div class="details-item"> <div class="details-item">
<label>创建人:</label> <label>创建人:</label>
<span>{{details.sso_user.realname || details.sso_user.username}}</span> <span>{{details.sso_user.realname || details.sso_user.nickname || details.sso_user.username}}</span>
</div> </div>
<div class="details-item" v-if="details.enable_live === 1 && enableJoin"> <div class="details-item" v-if="details.enable_live === 1 && enableJoin">
<label>直播链接:</label> <label>直播链接:</label>
......
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
<script> <script>
import MeetingSuccessDialog from '@/components/MeetingSuccessDialog/index' import MeetingSuccessDialog from '@/components/MeetingSuccessDialog/index'
import { dateFormat, getTimestampYMD, getCurHalfHour } from '@/utils/dateAlgs' import { dateFormat, getTimestampYMD, getCurHalfHour } from '@/utils/dateAlgs'
import { createMeeting, operateLog, getMeetingDetails } from '@api/common' import { createMeeting, getMeetingDetails } from '@api/common'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
const DAY_TIMESTAMP = 8.64e7 const DAY_TIMESTAMP = 8.64e7
export default { export default {
...@@ -337,7 +337,6 @@ export default { ...@@ -337,7 +337,6 @@ export default {
createMeeting(params).then(res => { createMeeting(params).then(res => {
loading.close() loading.close()
if (res.code === 0 && res.data.id) { if (res.code === 0 && res.data.id) {
operateLog({ type: `创建会议,被创建会议meeting_code:${res.data.meeting_code}`, user: this.user })
this.$message.success('创建腾讯会议成功') this.$message.success('创建腾讯会议成功')
this.fetchMeetingDetails({ meeting_type: form.meeting_type, meeting_id: res.data.meeting_id }) this.fetchMeetingDetails({ meeting_type: form.meeting_type, meeting_id: res.data.meeting_id })
this.$emit('refreshData') this.$emit('refreshData')
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
<span> <span>
<!-- <i class="el-icon-user"></i>: --> <!-- <i class="el-icon-user"></i>: -->
创建人: 创建人:
{{ev.sso_user.realname || ev.sso_user.username}} {{ev.sso_user.realname || ev.sso_user.nickname || ev.sso_user.username}}
</span> </span>
</div> </div>
</div> </div>
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
import Schedule from '@/components/Schedule' import Schedule from '@/components/Schedule'
import MeetingForm from './components/MeetingForm' import MeetingForm from './components/MeetingForm'
import MeetingSuccessDialog from '@/components/MeetingSuccessDialog/index' import MeetingSuccessDialog from '@/components/MeetingSuccessDialog/index'
import { createMeeting, operateLog, getMeetingDetails, getNonpagedMeetingList } from '@api/common' import { createMeeting, getMeetingDetails, getNonpagedMeetingList } from '@api/common'
import { timeTrans, getYMDByDate, dateFormat, isSameDate } from '@/utils/dateAlgs' import { timeTrans, getYMDByDate, dateFormat, isSameDate } from '@/utils/dateAlgs'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
export default ({ export default ({
...@@ -167,7 +167,6 @@ export default ({ ...@@ -167,7 +167,6 @@ export default ({
createMeeting(params).then(res => { createMeeting(params).then(res => {
loading.close() loading.close()
if (res.code === 0 && res.data.id) { if (res.code === 0 && res.data.id) {
operateLog({ type: `创建会议,被创建会议meeting_code:${res.data.meeting_code}`, user: this.user })
this.$message.success('创建腾讯会议成功') this.$message.success('创建腾讯会议成功')
this.showMeetingDetails(res.data) this.showMeetingDetails(res.data)
} else { } else {
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
<script> <script>
import MeetingForm from './components/MeetingForm' import MeetingForm from './components/MeetingForm'
import MeetingSuccessDialog from '@/components/MeetingSuccessDialog/index' import MeetingSuccessDialog from '@/components/MeetingSuccessDialog/index'
import { createMeeting, operateLog, getMeetingDetails } from '@api/common' import { createMeeting, getMeetingDetails } from '@api/common'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
export default ({ export default ({
data () { data () {
...@@ -33,7 +33,6 @@ export default ({ ...@@ -33,7 +33,6 @@ export default ({
}, },
methods: { methods: {
handleSubmit(params) { handleSubmit(params) {
console.log(params)
this.fetchCreateMeeting(params) this.fetchCreateMeeting(params)
}, },
goList() { goList() {
...@@ -67,7 +66,6 @@ export default ({ ...@@ -67,7 +66,6 @@ export default ({
createMeeting(params).then(res => { createMeeting(params).then(res => {
loading.close() loading.close()
if (res.code === 0 && res.data.id) { if (res.code === 0 && res.data.id) {
operateLog({ type: `创建会议,被创建会议meeting_code:${res.data.meeting_code}`, user: this.user })
this.$message.success('创建腾讯会议成功') this.$message.success('创建腾讯会议成功')
this.showMeetingDetails(res.data) this.showMeetingDetails(res.data)
} else { } else {
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
<script> <script>
import MeetingForm from './components/MeetingForm' import MeetingForm from './components/MeetingForm'
import MeetingSuccessDialog from '@/components/MeetingSuccessDialog/index' import MeetingSuccessDialog from '@/components/MeetingSuccessDialog/index'
import { updateMeeting, operateLog, getMeetingDetails } from '@api/common' import { updateMeeting, getMeetingDetails } from '@api/common'
import { timeTrans, dateFormat, getYMDByDate } from '@/utils/dateAlgs' import { timeTrans, dateFormat, getYMDByDate } from '@/utils/dateAlgs'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
const DAY_TIMESTAMP = 8.64e7 const DAY_TIMESTAMP = 8.64e7
...@@ -167,7 +167,6 @@ export default ({ ...@@ -167,7 +167,6 @@ export default ({
updateMeeting(params).then(res => { updateMeeting(params).then(res => {
loading.close() loading.close()
if (res.code === 0 && res.data.id) { if (res.code === 0 && res.data.id) {
operateLog({ type: `更新会议,被更新会议meeting_code:${res.data.meeting_code}`, user: this.user })
this.$message.success('更新腾讯会议成功') this.$message.success('更新腾讯会议成功')
this.showMeetingDetails(res.data) this.showMeetingDetails(res.data)
} else { } else {
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
</div> </div>
<div class="item"> <div class="item">
<label>系统角色:</label> <label>系统角色:</label>
<span v-for="(role, index) in roles" :key="index">{{index ? '、' + role.display_name : role.display_name}}</span> <span v-for="(role, index) in roles" :key="index">{{index ? '、' + role.name : role.name}}</span>
<span v-if="roles.length === 0"></span> <span v-if="roles.length === 0"></span>
</div> </div>
<div class="item"> <div class="item">
......
...@@ -100,7 +100,7 @@ ...@@ -100,7 +100,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="创建人" min-width="100" align="center"> <el-table-column label="创建人" min-width="100" align="center">
<template slot-scope="scope">{{scope.row.sso_user.realname || scope.row.sso_user.username}}</template> <template slot-scope="scope">{{scope.row.sso_user.realname || scope.row.sso_user.nickname || scope.row.sso_user.username}}</template>
</el-table-column> </el-table-column>
<el-table-column label="直播间" min-width="100" align="center"> <el-table-column label="直播间" min-width="100" align="center">
<template slot-scope="scope">{{scope.row.user.username}}</template> <template slot-scope="scope">{{scope.row.user.username}}</template>
......
...@@ -99,7 +99,7 @@ ...@@ -99,7 +99,7 @@
</template> </template>
<script> <script>
import UserSearch from '@/components/UserSearch/index' import UserSearch from '@/components/UserSearch/index'
import { searchUserList, operateLog } from '@api/common' import { searchUserList } from '@api/common'
import { createAccount, getAccountList, deleteAccount, getRoles, roleToUser } from '@api/system' import { createAccount, getAccountList, deleteAccount, getRoles, roleToUser } from '@api/system'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
const defaultForm = { const defaultForm = {
...@@ -236,7 +236,6 @@ export default { ...@@ -236,7 +236,6 @@ export default {
if (res.code === 0 && res.data.id) { if (res.code === 0 && res.data.id) {
this.$message.success('创建用户成功') this.$message.success('创建用户成功')
this.fetchAccountList() this.fetchAccountList()
operateLog({ type: `创建系统用户,被创建账户userid:${form.userid}`, user: this.user.nickname })
} else { } else {
this.$message.error(res.message || '创建账户失败') this.$message.error(res.message || '创建账户失败')
} }
...@@ -247,7 +246,6 @@ export default { ...@@ -247,7 +246,6 @@ export default {
if (res.code === 0 && res.data.status === true) { if (res.code === 0 && res.data.status === true) {
this.$message.success('删除账户成功') this.$message.success('删除账户成功')
this.fetchAccountList() this.fetchAccountList()
operateLog({ type: `删除系统用户,被删除账户userid:${ids.join(',')}`, user: this.user })
this.deleteId = '' this.deleteId = ''
} else { } else {
this.$message.error(res.message || '删除账户失败') this.$message.error(res.message || '删除账户失败')
...@@ -275,7 +273,6 @@ export default { ...@@ -275,7 +273,6 @@ export default {
if (res.code === 0 && res.data && res.data.status) { if (res.code === 0 && res.data && res.data.status) {
this.$message.success('配置权限成功') this.$message.success('配置权限成功')
this.fetchAccountList() this.fetchAccountList()
operateLog({ type: `配置权限,被操作用户sso_id:${form.user_id}`, user: this.user })
} else { } else {
this.$message.error(res.message || '配置权限失败') this.$message.error(res.message || '配置权限失败')
} }
......
...@@ -63,7 +63,7 @@ ...@@ -63,7 +63,7 @@
</div> </div>
</template> </template>
<script> <script>
import { getRoles, createRole, operateLog, batchDeleteRole, updateRole, getRolePermissions, getAllPermissions, setRolePermissions } from '@api/system' import { getRoles, createRole, batchDeleteRole, updateRole, getRolePermissions, getAllPermissions, setRolePermissions } from '@api/system'
const defaultForm = { const defaultForm = {
name: '', name: '',
display_name: '', display_name: '',
...@@ -199,7 +199,6 @@ export default { ...@@ -199,7 +199,6 @@ export default {
if (res.code === 0 && res.data.id) { if (res.code === 0 && res.data.id) {
this.$message.success('创建角色成功') this.$message.success('创建角色成功')
this.fetchRoleList() this.fetchRoleList()
operateLog({ type: '创建角色', user: this.user })
} }
}) })
}, },
...@@ -208,7 +207,6 @@ export default { ...@@ -208,7 +207,6 @@ export default {
if (res.code === 0 && res.data.status) { if (res.code === 0 && res.data.status) {
this.$message.success('更新角色成功') this.$message.success('更新角色成功')
this.fetchRoleList() this.fetchRoleList()
operateLog({ type: '更新角色', user: this.user })
} }
}) })
}, },
...@@ -220,7 +218,6 @@ export default { ...@@ -220,7 +218,6 @@ export default {
if (res.code === 0 && res.data.status === true) { if (res.code === 0 && res.data.status === true) {
this.$message.success('删除角色成功') this.$message.success('删除角色成功')
this.fetchRoleList() this.fetchRoleList()
operateLog({ type: `删除角色,被删除角色id:${id}`, user: this.user })
this.deleteId = '' this.deleteId = ''
} else { } else {
this.$message.error(res.message || '删除角色失败') this.$message.error(res.message || '删除角色失败')
......
...@@ -80,7 +80,7 @@ ...@@ -80,7 +80,7 @@
</template> </template>
<script> <script>
import UserSearch from '@/components/UserSearch/index' import UserSearch from '@/components/UserSearch/index'
import { searchUserList, operateLog } from '@api/common' import { searchUserList } from '@api/common'
import { createTxAccount, getTxAccountList, updateTxAccount, deleteTxAccount } from '@api/tencent' import { createTxAccount, getTxAccountList, updateTxAccount, deleteTxAccount } from '@api/tencent'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
// import _ from 'lodash' // import _ from 'lodash'
...@@ -260,7 +260,6 @@ export default { ...@@ -260,7 +260,6 @@ export default {
if (res.code === 0 && res.data.id) { if (res.code === 0 && res.data.id) {
this.$message.success('创建账户成功') this.$message.success('创建账户成功')
this.fetchAccountList() this.fetchAccountList()
operateLog({ type: `创建腾讯账号,被创建账户userid:${form.userid}`, user: this.user })
} else { } else {
this.$message.error(res.message || '创建账户失败') this.$message.error(res.message || '创建账户失败')
} }
...@@ -277,7 +276,6 @@ export default { ...@@ -277,7 +276,6 @@ export default {
if (res.code === 0 && res.data.status === true) { if (res.code === 0 && res.data.status === true) {
this.$message.success('更新账户成功') this.$message.success('更新账户成功')
this.fetchAccountList() this.fetchAccountList()
operateLog({ type: `更新腾讯账号,被更新账户userid:${userid}`, user: this.user })
} else { } else {
this.$message.error(res.message || '更新账户失败') this.$message.error(res.message || '更新账户失败')
} }
...@@ -288,7 +286,6 @@ export default { ...@@ -288,7 +286,6 @@ export default {
if (res.code === 0 && res.data.status === true) { if (res.code === 0 && res.data.status === true) {
this.$message.success('删除账户成功') this.$message.success('删除账户成功')
this.fetchAccountList() this.fetchAccountList()
operateLog({ type: `删除腾讯账号,被删除账户userid:${userids.join(',')}`, user: this.user })
this.deleteId = '' this.deleteId = ''
} else { } else {
this.$message.error(res.message || '删除账户失败') this.$message.error(res.message || '删除账户失败')
......
...@@ -66,31 +66,31 @@ export default [ ...@@ -66,31 +66,31 @@ export default [
name: 'System', name: 'System',
meta: { title: '系统管理', icon: 'el-icon-setting', permission: 'menus_system_manage' }, meta: { title: '系统管理', icon: 'el-icon-setting', permission: 'menus_system_manage' },
children: [ children: [
{ // {
path: 'role', // path: 'role',
name: 'Role', // name: 'Role',
component: () => import('@/pages/system/role/index'), // component: () => import('@/pages/system/role/index'),
meta: { title: '角色管理', icon: 'el-icon-s-check', permission: 'menus_roles' } // meta: { title: '角色管理', icon: 'el-icon-s-check', permission: 'menus_roles' }
}, // },
{ // {
path: 'roleToUser', // path: 'roleToUser',
name: 'RoleToUser', // name: 'RoleToUser',
hidden: true, // hidden: true,
component: () => import('@/pages/system/role/role-to-user/index'), // component: () => import('@/pages/system/role/role-to-user/index'),
meta: { title: '管理角色用户', icon: '' } // meta: { title: '管理角色用户', icon: '' }
}, // },
{ // {
path: 'account', // path: 'account',
name: 'Account', // name: 'Account',
component: () => import('@/pages/system/account/index'), // component: () => import('@/pages/system/account/index'),
meta: { title: '账号管理', icon: 'el-icon-key', permission: 'menus_users' } // meta: { title: '账号管理', icon: 'el-icon-key', permission: 'menus_users' }
}, // },
{ // {
path: 'permission', // path: 'permission',
name: 'Permission', // name: 'Permission',
component: () => import('@/pages/system/permission/index'), // component: () => import('@/pages/system/permission/index'),
meta: { title: '权限管理', icon: 'el-icon-finished', permission: 'menus_permissions' } // meta: { title: '权限管理', icon: 'el-icon-finished', permission: 'menus_permissions' }
}, // },
{ {
path: 'manual', path: 'manual',
name: 'Manual', name: 'Manual',
......
import { getUser, logout } from '@/api/account' import { getUser, logout, getRole, getPermissions } from '@/api/account'
import { getUserRoles, getUserPermissions } from '@/api/system' // import { getUserRoles, getUserPermissions } from '@/api/system'
import { resetRouter } from '@/router' import { resetRouter } from '@/router'
const user = { const user = {
state: { state: {
...@@ -27,7 +27,8 @@ const user = { ...@@ -27,7 +27,8 @@ const user = {
state.hasRoles = hasRoles state.hasRoles = hasRoles
}, },
setPermissions(state, permissions) { setPermissions(state, permissions) {
state.permissions = permissions state.permissions = permissions.map(item => item.tag)
state.permissionsList = permissions
} }
}, },
...@@ -77,14 +78,13 @@ const user = { ...@@ -77,14 +78,13 @@ const user = {
}, },
// 获取角色 // 获取角色
async checkRoles({ commit }) { async checkRoles({ commit }) {
const hasRoles = await getUserRoles().then(res => { const hasRoles = await getRole().then(res => {
const roles = res.data
let isSuperAdmin = false let isSuperAdmin = false
if (roles && Array.isArray(roles)) { if (res.data && Array.isArray(res.data.items)) {
roles.forEach(it => { res.data.items.forEach(it => {
if (it.name === 'administrator') isSuperAdmin = true if (it.tag === 'administrator') isSuperAdmin = true
}) })
commit('setRoles', roles) commit('setRoles', res.data.items)
commit('setSuperAdmin', isSuperAdmin) commit('setSuperAdmin', isSuperAdmin)
return true return true
} }
...@@ -98,10 +98,10 @@ const user = { ...@@ -98,10 +98,10 @@ const user = {
}, },
// 获取权限 // 获取权限
async checkPermissions({ commit }) { async checkPermissions({ commit }) {
const perms = await getUserPermissions().then(res => { const perms = await getPermissions().then(res => {
if (res.code === 0) { if (res.code === 0 && res.data && res.data.items) {
commit('setPermissions', res.data) commit('setPermissions', res.data.items)
return res.data return res.data.items.map(item => item.tag)
} else { } else {
commit('setPermissions', []) commit('setPermissions', [])
return [] return []
......
...@@ -12,13 +12,19 @@ const httpRequest = axios.create({ ...@@ -12,13 +12,19 @@ const httpRequest = axios.create({
// 请求拦截 // 请求拦截
httpRequest.interceptors.request.use( httpRequest.interceptors.request.use(
function(config) { function(config) {
const defaultParams = { if (/^\/api\/permissions/.test(config.url)) {
// 默认参数
const defaultHeaders = {
timestamp: parseInt(Date.now() / 1000), timestamp: parseInt(Date.now() / 1000),
nonce: getNonce(9), nonce: getNonce(9),
'secret-id': webConf.others.VITE_SECRET_ID,
'secret-key': webConf.others.VITE_SECRET_KEY,
signature: 'UG7wBenexQhiuD2wpCwuxkU0jqcj006d' signature: 'UG7wBenexQhiuD2wpCwuxkU0jqcj006d'
} }
let params = config.params || config.data config.headers = Object.assign(config.headers, defaultHeaders)
params = Object.assign({}, defaultParams, params) }
const params = config.params || config.data
// params = Object.assign({}, defaultParams, params)
if (['post', 'put', 'delete'].includes(config.method)) { if (['post', 'put', 'delete'].includes(config.method)) {
config.data = params config.data = params
} else { } else {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论