Commit c58cec36 authored by lvweichao's avatar lvweichao

Merge branch 'dev' of https://git.yidian-inc.com:8021/bp/op-web-service into dev

parents af1b43f9 808dbc70
......@@ -12,7 +12,7 @@ const env = process.env.NODE_ENV;
const app = new Koa();
app.use(serve(path.join(__dirname, './public')));
app.use(koaBody({multipart: true}));
app.use(koaBody({ multipart: true }));
app.use(bodyParser());
app.use(router.routes(), router.allowedMethods());
......
......@@ -61,19 +61,29 @@ exports.get_token = async (ctx, next) => {
exports.get_ks3_config = async (ctx, next) => {
console.log(8888, await _get_bucket(ctx, next))
const { result: { bucket }} = JSON.parse(await _get_bucket(ctx, next))
const { result: { objectId }} = JSON.parse(await _get_obj_id(ctx, next))
const { result: { bucket } } = JSON.parse(await _get_bucket(ctx, next))
const { result: { objectId } } = JSON.parse(await _get_obj_id(ctx, next))
console.log(888834333, bucket, objectId)
const getExpires = (seconds) => {
return Math.round(new Date().getTime()/1000) + seconds;
return Math.round(new Date().getTime() / 1000) + seconds;
};
const policy = {
"expiration": new Date(getExpires(3600)*1000).toISOString(), //一小时后
"expiration": new Date(getExpires(3600) * 1000).toISOString(), //一小时后
"conditions": [
["eq","$bucket", bucket]
["eq", "$bucket", bucket],
["starts-with", "$acl", "public-read"],
// ["starts-with", "$key", ""],
// ["starts-with", "$name", ""], //表单中传了name字段,也需要加到policy中
// ["starts-with", "$x-kss-meta-custom-param1",""],
// ["starts-with", "$x-kss-newfilename-in-body",""],//必须只包含小写字符
// ["starts-with", "$Cache-Control",""],
// ["starts-with", "$Expires", ""],
// ["starts-with", "$Content-Disposition", ""],
// ["starts-with", "$Content-Type",""],
// ["starts-with", "$Content-Encoding",""]
]
}
const stringToSign = Ks3Util.Base64.encode(JSON.stringify(policy))
......@@ -97,21 +107,21 @@ exports.upload_ks3_image = async (ctx, next) => {
// console.log('upload_ks3_image::::::', ctx.request.files)
const file = ctx.request.files && ctx.request.files.file;
console.log(888899, await _get_bucket(ctx, next))
const { result: { bucket }} = JSON.parse(await _get_bucket(ctx, next))
const { result: { objectId }} = JSON.parse(await _get_obj_id(ctx, next))
const { result: { bucket } } = JSON.parse(await _get_bucket(ctx, next))
const { result: { objectId } } = JSON.parse(await _get_obj_id(ctx, next))
console.log(3334444, file.type)
const getExpires = (seconds) => {
return Math.round(new Date().getTime()/1000) + seconds;
return Math.round(new Date().getTime() / 1000) + seconds;
};
const acl = 'public-read';
const policy = {
"expiration": new Date(getExpires(3600)*1000).toISOString(), //一小时后
"expiration": new Date(getExpires(3600) * 1000).toISOString(), //一小时后
"conditions": [
["eq","$bucket", bucket],
["starts-with","$acl", "public-read"],
["eq", "$bucket", bucket],
["starts-with", "$acl", "public-read"],
]
}
const stringToSign = Ks3Util.Base64.encode(JSON.stringify(policy))
......@@ -141,14 +151,14 @@ exports.upload_ks3_image = async (ctx, next) => {
'x-kss-date': date,
[attrAcl]: acl
}
const headerSignature = Ks3Util.generateToken(KS3_CONFIG.SK, bucket, objectId, 'PUT', file.type, headersForSign, date)
const hmac = crypto.createHmac('sha256', KS3_CONFIG.SK);
hmac.update(headerSignature);
console.log(hmac.digest('hex'));
console.log('headerSignature::::', headerSignature)
const headers = {
...headersForSign,
......
......@@ -51,6 +51,8 @@ exports.getUpdate_role = async (ctx, next) => {
json: true,
body: ctx.request.body
}
console.log(opts, 'optsoptsoptsopts888888')
console.log(ctx.request.query, 'pppp')
ctx.body = await req(ctx, opts)
}
exports.getDelete_role = async (ctx, next) => {
......
......@@ -15,7 +15,7 @@ const headerConfig = {
name: '企业认证管理'
},
{
path: '/life-no/life',
path: '/lifeNo',
name: '生活号管理'
},
{
......
......@@ -41,7 +41,7 @@ export default {
};
},
computed: {
menuItemsWithAuth: function() {
menuItemsWithAuth: function () {
const keys = Object.keys(this.$store.getters.subPermissions)
return this.menuItems.filter(ele => keys.includes(ele.key))
},
......@@ -50,7 +50,7 @@ export default {
return this.$route.path;
},
},
beforeMount() {
beforeMount () {
},
methods: {},
};
......
......@@ -38,10 +38,11 @@ export const PAGEMODULE_PERMISSIONNAME = {
enterprise: 'enterprise_certification_management',
lifeNo: 'life_official_account_management',
role: 'role_management',
// roleAddRole: 'role_addRole',
user: 'user_management'
}
export const PERMISSIONNAME_PAGEMODULE = (function() {
export const PERMISSIONNAME_PAGEMODULE = (function () {
const obj = {}
for (let ele in PAGEMODULE_PERMISSIONNAME) {
obj[PAGEMODULE_PERMISSIONNAME[ele]] = ele
......@@ -57,10 +58,8 @@ export const PATH_PERMISSION_NAME = {
'/enterprise/certification': 'enterprise_certification_management',
'/enterprise/audit': 'enterprise_certification_management.audit',
'/enterprise/establish': 'enterprise_certification_management.create',
'/lifeNo': 'life_official_account_management',
'/roleManageRole': 'role_management',
// '/roleAddRole': 'role_addRole',
'/user': 'user_management'
}
\ No newline at end of file
<template>
<div class="addRole">
<el-button type="primary" @click="newAddRole">新增</el-button>
<el-button
type="primary"
v-if="permission.get('create')"
@click="newAddRole"
>新增</el-button
>
<!-- 角色列表 -->
<el-table
:data="roleDataList"
......@@ -28,7 +33,7 @@
<el-form>
<!-- 编辑 -->
<div v-if="edit">
<roleDetail :role_info_detail="role_info_detail" />
<roleInfo :role_info_detail="role_info_detail" />
</div>
<!-- 新增 -->
<el-form-item label="角色名称" :label-width="formLabelWidth">
......@@ -57,7 +62,7 @@
</template>
<script>
import page from "../components/Pagination"
import roleDetail from './components/roleDetail'
import roleInfo from './components/roleInfo'
import {
getRole_list as reqGetRole_list, getAdd_role as reqGetAdd_role,
getAll_role_list as reqGetAll_role_list,
......@@ -66,20 +71,27 @@ import {
} from "../../service/role";
import { ElMessage } from 'element-plus'
export default {
name: 'KeepaddRole',
components: {
page,
roleDetail
roleInfo
},
computed: {
permission () {
const modulePermissions = this.$store.getters.moduleSubPermissions('role') || [];
return new Map(modulePermissions.map(ele => [ele.name, true]))
},
},
data () {
return {
parmas: {
page: 1,
page_size: 10
page_size: 20
},
user_info: {
user_name: "jianghaiming",
user_email: "jianghaiming@126.com",
op_cur_user: "jianghaiming@yidian-inc.com",
name: "jianghaiming",
email: "jianghaiming@126.com",
// op_cur_user: "jianghaiming@yidian-inc.com",
},
roleDataList: [],
totalNum: null,
......@@ -120,8 +132,9 @@ export default {
this.$router.push({ name: 'RoleDetail', query: { roleId: row.role_id } });
},
getPermissionsAll () {
let { user_name, user_email } = this.user_info
reqGetAll_role_list(user_name, user_email).then(res => {
// this.user_info = this.$store.state.userInfo
let { email } = this.user_info
reqGetAll_role_list(email).then(res => {
this.permissionsAll = res
})
},
......@@ -131,11 +144,16 @@ export default {
this.roleTitle = '新增角色'
this.edit = false
this.roleName = ""
this.selectedOptions = []
},
//获取角色列表
getGetRole_list () {
let { page, page_size } = this.parmas
reqGetRole_list(page, page_size).then(res => {
let parmasRole_list = {
page,
page_size,
}
reqGetRole_list(parmasRole_list).then(res => {
this.roleDataList = res.result
this.totalNum = res.count
})
......@@ -152,8 +170,13 @@ export default {
this.checkFn()
return false
}
let role_name = this.roleName, permissions = this.currentRolePrivilege
reqGetAdd_role(role_name, permissions).then(res => {
let { email } = this.$store.state.userInfo //当前登陆人
let parmasAdd_role = {
op_cur_user: email,
role_name: this.roleName,
permissions: this.currentRolePrivilege
}
reqGetAdd_role(parmasAdd_role).then(res => {
if (res.status === "success") {
this.dialogFormVisible = false
this.getGetRole_list()
......@@ -205,7 +228,6 @@ export default {
}
})
this.selectedOptions = selectData
console.log(this.selectedOptions, '00008u989')
},
//编辑角色
getUpdate_role () {
......@@ -213,10 +235,16 @@ export default {
this.checkFn()
return false
}
let { role_name, role_id, role_status } = this.role_info_detail
let { op_cur_user } = this.user_info
role_name = this.roleName
reqGetUpdate_role(op_cur_user, role_name, role_id, role_status, this.permissionsUpdate).then(res => {
let { role_id, role_status } = this.role_info_detail
let { email } = this.$store.state.userInfo//当前登陆人
let parmasUpdate_role = {
op_cur_user: email,
role_name: this.roleName,
role_id,
role_status,
permissions: this.permissionsUpdate
}
reqGetUpdate_role(parmasUpdate_role).then(res => {
if (res.status === "success") {
this.dialogFormVisible = false
this.edit = true
......@@ -233,7 +261,6 @@ export default {
}
},
parentCateChange (id) {
console.log(id, '000')
this.getSelectedOptions(id)
},
getSelectedOptions (selectedOptions) {
......
......@@ -35,9 +35,10 @@
></el-table-column>
<el-table-column
label="状态"
prop="role_status"
:formatter="hasStatusFormat"
align="center"
></el-table-column>
>
</el-table-column>
<el-table-column
label="最后修改日期"
prop="update_time"
......@@ -51,7 +52,10 @@
<el-table-column label="操作" align="center">
<template #default="scope">
<el-button
v-if="!(scope.row.role_status == 2 || scope.row.role_status == 3)"
v-if="
!(scope.row.role_status == 2 || scope.row.role_status == 3) &&
permission.get('edit')
"
size="mini"
@click.stop="handelModify(scope.row)"
type="primary"
......@@ -59,18 +63,21 @@
>
<el-button
size="mini"
v-if="permission.get('delete')"
@click.stop="handelDelete(scope.row)"
type="warning"
>删除</el-button
>
<el-button
size="mini"
v-if="permission.get('disable')"
@click.stop="handelDisable(scope.row)"
type="danger"
>禁用</el-button
>
<el-button
size="mini"
v-if="permission.get('enable')"
@click.stop="handelEnable(scope.row)"
type="success"
>启用</el-button
......@@ -116,11 +123,17 @@ import {
getDelete_role as reqGetDelete_role
} from "../../service/role";
export default {
name: 'RoleManagement',
name: 'KeepRoleManagement',
components: {
Layout,
page,
},
computed: {
permission () {
const modulePermissions = this.$store.getters.moduleSubPermissions('role') || [];
return new Map(modulePermissions.map(ele => [ele.name, true]))
},
},
data () {
return {
searchForm: {
......@@ -128,13 +141,13 @@ export default {
roleStatus: ''
},
user_info: {
user_name: this.$store.state.name,
op_cur_user: "jianghaiming@yidian-inc.com",
user_email: "jianghaiming@126.com",
name: "jianghaiming@yidian-inc.com",
// op_cur_user: "jianghaiming@yidian-inc.com",
email: "jianghaiming@126.com",
},
parmas: {
page: 1,
page_size: 10
page_size: 20
},
totalNum: null,
props: {
......@@ -160,19 +173,29 @@ export default {
this.getPermissionsAll()
},
methods: {
hasStatusFormat (row) {
let statusText = ['正常', '禁用', '删除']
return statusText[row.role_status - 1]
},
toRoleDetail (row) {
this.$router.push({ name: 'RoleDetail', query: { roleId: row.role_id } });
},
getPermissionsAll () {
let { user_name, user_email } = this.user_info
reqGetAll_role_list(user_name, user_email).then(res => {
let { email } = this.user_info
reqGetAll_role_list(email).then(res => {
this.permissionsAll = res
})
},
//获取角色列表
getGetRole_list () {
let { page, page_size } = this.parmas
reqGetRole_list(page, page_size, this.searchForm.roleStatus, this.searchForm.roleName).then(res => {
let parmasRole_list = {
page,
page_size,
role_status: this.searchForm.roleStatus,
role_name: this.searchForm.roleName
}
reqGetRole_list(parmasRole_list).then(res => {
this.managementList = res.result
this.totalNum = res.count
})
......@@ -228,7 +251,7 @@ export default {
role_name,
}
this.permissionsUpdate = permissions
let { op_cur_user } = this.user_info
let { email } = this.$store.state.userInfo //当前用户
let role_status
if (type === "disable") {
role_status = 2
......@@ -242,7 +265,7 @@ export default {
role_status = ""
}
if (type !== "modify") {
this.getUpdate_role(op_cur_user, role_name, role_id, role_status, permissions)
this.getUpdate_role(email, role_name, role_id, role_status, permissions)
}
})
},
......@@ -284,8 +307,15 @@ export default {
this.openBounced("disable", row.role_id)
},
//编辑列表操作
getUpdate_role (op_cur_user, role_name, role_id, role_status, permissions) {
reqGetUpdate_role(op_cur_user, role_name, role_id, role_status, permissions).then(res => {
getUpdate_role (email, role_name, role_id, role_status, permissions) {
let parmasUpdate_role = {
op_cur_user: email,
role_name: role_name,
role_id,
role_status,
permissions,
}
reqGetUpdate_role(parmasUpdate_role).then(res => {
if (res.status === "success") {
this.dialogVisible = false
this.getGetRole_list()
......@@ -305,10 +335,10 @@ export default {
},
//确认修改
confirm () {
let { op_cur_user } = this.user_info
let { email } = this.$store.state.userInfo
let { role_id, role_name } = this.role_info_detail
let role_status = ''
this.getUpdate_role(op_cur_user, role_name, role_id, role_status, this.currentRolePrivilege)
this.getUpdate_role(email, role_name, role_id, role_status, this.currentRolePrivilege)
},
parentCateChange (id) {
this.getSelectedOptions(id)
......
......@@ -20,7 +20,7 @@
</el-descriptions-item>
<el-descriptions-item>
<template #label> 创建人账号 </template>
{{ role_info_detail.update_user_name }}
{{ role_info_detail.create_user_name }}
</el-descriptions-item>
<el-descriptions-item>
<template #label> 创建时间 </template>
......@@ -42,18 +42,6 @@
<div class="tree" v-if="selectedOptions">
<h5 style="margin-bottom: 10px">角色范围</h5>
<div class="content">
<!-- <el-tree
:data="permissionsAll"
show-checkbox
:default-checked-keys="checkedKeys"
:default-expanded-keys="expandedKeys"
node-key="id"
ref="tree"
highlight-current
:props="defaultProps"
:expand-on-click-node="false"
>
</el-tree> -->
<el-cascader
v-model="selectedOptions"
:options="permissionsAll"
......@@ -73,13 +61,9 @@ export default {
data () {
return {
roleId: this.$route.query.roleId,
defaultProps: {
children: 'sub_permissions',
label: 'desc'
},
user_info: {
user_name: "jianghaiming",
user_email: "jianghaiming@126.com",
name: "jianghaiming",
email: "jianghaiming@126.com",
},
props: {
multiple: true,//设置为多选
......@@ -88,8 +72,6 @@ export default {
children: 'sub_permissions'//children值和哪个值绑定
},
selectedOptions: [],
checkedKeys: [],
expandedKeys: [],
permissionsAll: [],
role_info_detail: {//详情非编辑项
role_id: "",
......@@ -99,19 +81,15 @@ export default {
update_user_name: "",
create_time: "",
create_user_name: ""
},
}
}
},
created () {
let { user_name, user_email } = this.user_info
reqGetAll_role_list(user_name, user_email).then(res => {
// this.user_info = this.$store.state.userInfo
this.roleId = this.$route.query.roleId
let { email } = this.user_info
reqGetAll_role_list(email).then(res => {
this.permissionsAll = res
// this.permissionsAll.forEach(item => {
// item.disabled = true
// item.sub_permissions.forEach(element => {
// element.disabled = true
// })
// })
})
reqGet_role_info(this.roleId).then((res) => {
const { role_id, role_name, role_status, update_time, update_user_name, create_time, create_user_name, permissions } = res
......@@ -133,18 +111,6 @@ export default {
},
//遍历回显值selectedOptions
editEchoData (permissions) {
// let childArr = [], selectExpandedKeys = []
// permissions.forEach(item => {
// selectExpandedKeys.push(item.id)
// if (item.sub_permissions) {
// item.sub_permissions.forEach(element => {
// childArr.push(element.id)
// })
// }
// })
// this.checkedKeys = childArr
// this.expandedKeys = selectExpandedKeys
// console.log(this.checkedKeys, this.expandedKeys, ' this.expandedKeys ')
let selectData = []
permissions.map(item => {
let one = { id: item.id }
......
......@@ -53,7 +53,7 @@ import { getUser_detail as reqGetUser_detail } from "../../service/user";
export default {
data () {
return {
user_id: '1',
user_id: this.$route.query.userId,
user_info: {},
role_list: []//角色池
}
......
......@@ -31,7 +31,9 @@
<el-form-item class="func-btn">
<el-button type="primary" @click="getUserList">查询</el-button>
<el-button @click="onReset">重置</el-button>
<el-button @click="createUser" :disabled="!permission.get('create')">新建用户</el-button>
<el-button @click="createUser" :disabled="!permission.get('create')"
>新建用户</el-button
>
</el-form-item>
</el-form>
<el-table :data="renderUserList" border style="width: 100%">
......@@ -50,7 +52,11 @@
<el-button type="text" size="small" @click="checkUser(scope.row)"
>查看</el-button
>
<el-button @click="editUser(scope.row)" type="text" size="small" :disabled="!permission.get('edit')"
<el-button
@click="editUser(scope.row)"
type="text"
size="small"
:disabled="!permission.get('edit')"
>修改</el-button
>
<el-button
......@@ -143,9 +149,10 @@ export default {
},
computed: {
permission() {
const modulePermissions = this.$store.getters.moduleSubPermissions('user') || [];
console.log('Current page func-permissions:', modulePermissions);
return new Map(modulePermissions.map(ele => [ele.name, true]))
const modulePermissions =
this.$store.getters.moduleSubPermissions("user") || [];
console.log("Current page func-permissions:", modulePermissions);
return new Map(modulePermissions.map((ele) => [ele.name, true]));
},
renderUserList() {
......
......@@ -18,7 +18,7 @@ export default {
data () {
return {
currentPage: 1,
page_size: 10
page_size: 20
}
},
methods: {
......
......@@ -63,6 +63,9 @@ const routes = [
path: '/lifeNo',
name: 'LifeNo',
component: LifeNo,
meta: {
requireAuth: true
}
},
{
path: '/lifeNoDetail',
......@@ -78,7 +81,7 @@ const routes = [
{
path: '/userDetail',
name: 'UserDetail',
component: UserDetail,
component: UserDetail
},
//角色管理
{
......@@ -86,13 +89,17 @@ const routes = [
name: 'AddRole',
component: AddRole,
meta: {
requireAuth: true,
requireAuth: true
}
},
{
path: '/roleManageRole',
name: 'ManageRole',
component: ManageRole
component: ManageRole,
meta: {
requireAuth: true,
keepAlive: true
}
},
{
path: '/roleRoleDetail',
......
import axios from '../utils/request';
// import qs from 'qs';
//角色列表
export async function getRole_list (page, page_size, role_status, role_name) {
const res = await axios.post("/api/v1/merchant/authority/role_list", {
page, page_size, role_status, role_name
})
export async function getRole_list (parmasRole_list) {
const res = await axios.post("/api/v1/merchant/authority/role_list", parmasRole_list)
return res;
}
//添加角色
export async function getAdd_role (role_name, permissions) {
const res = await axios.post("/api/v1/merchant/authority/add_role", {
role_name, permissions
})
export async function getAdd_role (parmasAdd_role) {
const res = await axios.post("/api/v1/merchant/authority/add_role", parmasAdd_role)
return res;
}
//角色编辑
export async function getUpdate_role (op_cur_user, role_name, role_id, role_status, permissions) {
const res = await axios.post("/api/v1/merchant/authority/update_role", {
op_cur_user, role_name, role_id, role_status, permissions
})
export async function getUpdate_role (parmasUpdate_role) {
const res = await axios.post("/api/v1/merchant/authority/update_role", parmasUpdate_role)
return res;
}
//角色详情
......@@ -37,9 +31,9 @@ export async function getDelete_role (role_id) {
}
//权限列表
export async function getAll_role_list (user_name, user_email) {
export async function getAll_role_list (user_email) {
const res = await axios.post("/api/v1/merchant/authority/get_role_list", {
user_name, user_email
user_email
})
return res.permissions;
}
......@@ -8,15 +8,15 @@ export default createStore({
userInfo: null,
},
mutations: {
updateUserPermission(state, payload) {
updateUserPermission (state, payload) {
state.permissions = payload;
},
updateUserInfo(state, payload) {
updateUserInfo (state, payload) {
state.userInfo = payload;
}
},
actions: {
async updateUserPermission({ commit }, payload) {
async updateUserPermission ({ commit }, payload) {
const { permissions = [] } = await getPermissions(payload.email);
console.log("VUEX action updateUserPermission::", permissions);
commit('updateUserPermission', permissions)
......
......@@ -3,7 +3,7 @@
import store from '../store'
import { PATH_PERMISSION_NAME } from '../config/pageconfig'
function getPermissionObj() {
function getPermissionObj () {
// 支持到二级权限
const permissions = store.state.permissions || [];
const authObj = {};
......@@ -23,8 +23,8 @@ function getPermissionObj() {
* @param {*} path
* @returns
*/
export function checkPathAuth(path) {
const authObj = getPermissionObj();
export function checkPathAuth (path) {
const authObj = getPermissionObj();
if (path in PATH_PERMISSION_NAME) {
const authArr = PATH_PERMISSION_NAME[path].split('.');
......@@ -58,4 +58,4 @@ export function checkPathAuth(path) {
// const authObj = getPermissionObj();
// const modules = Object.keys(authObj).map(ele => PERMISSIONNAME_PAGEMODULE[ele])
// return modules.filter(ele => !!ele)
// }
\ No newline at end of file
// }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment