Commit 5908974b authored by lvweichao's avatar lvweichao

update: change login logic

parent 93092b65
......@@ -14,9 +14,9 @@ const PANDORA_URI = {
}
const API_INTERNAL_URI = {
'development': "bp-test.ini.yidian-inc.com ",
'test': "bp-test.ini.yidian-inc.com ",
'production': "bp-test.go2yd.com "
'development': "http://bp-test.ini.yidian-inc.com",
'test': "http://bp-test.ini.yidian-inc.com",
'production': "http://bp-test.go2yd.com"
}
module.exports = {
......
......@@ -5,12 +5,14 @@ var query = {
async get_permissions(ctx, next) {
// http://bp-test.ini.yidian-inc.com/merchant/authority/get_role_list?user_email=jianghaiming@126.com
const url = `${API_INTERNAL_URI}/merchant/authority/get_role_list`;
console.log(44444, ctx.request.query.email);
const { email } = ctx.request.query;
const opts = {
url,
method: 'GET',
params: {
email
qs: {
user_email: 'jianghaiming@126.com'
// user_email: email
}
}
ctx.body = await req(ctx, opts)
......
......@@ -5,7 +5,7 @@ const user = require('./controllers/user')
const router = Router();
const API_VERSION = "/api/v1";
router.post(`${API_VERSION}/login`, system.login);
// router.post(`${API_VERSION}/login`, system.login);
router.get(`${API_VERSION}/fetch_user`, system.fetch_user);
router.get(`${API_VERSION}/user/:type`, user.query)
......
<template>
<div id="app">
<div>
<router-view />
<!-- <layout>
</layout> -->
......@@ -11,10 +11,10 @@
// import Layout from '@/layouts';
import { fetchCurrentUser } from './service/user';
async function isUserLogged() {
const res = await fetchCurrentUser()
return res.status === 'success';
}
// async function isUserLogged() {
// const res = await fetchCurrentUser()
// return res.status === 'success';
// }
function redirectToLogin() {
const loginUrl = '//pandora.yidian-inc.com/tools/admin/login';
......@@ -25,11 +25,20 @@ function redirectToLogin() {
export default {
async mounted() {
// http://dev.yidian-inc.com:8081/home
if (!(await isUserLogged())) {
redirectToLogin();
const { status, user } = await fetchCurrentUser();
// {"status":"success","user":{"userid":"732473439","name":"吕伟朝","email":"lvweichao@yidian-inc.com","avatar":""}}
if (status === 'success') {
this.$store.dispatch('updateUserPermission', { email: user.email })
this.$store.commit('updateUserInfo', user)
} else {
redirectToLogin();
}
// if (!(await isUserLogged())) {
// redirectToLogin();
// } else {
// }
},
};
</script>
......
<template>
<el-dropdown>
<div class="user-info">
<el-avatar :src="userInfo.avatar || DEFAULT_AVATAR" size="small"></el-avatar>
<span class="user-name">{{userInfo.name}}</span>
</div>
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item>
<i class="el-icon-message"></i>
{{userInfo.email}}
</el-dropdown-item>
<el-dropdown-item>
<span><a class="link" href="//pandora.yidian-inc.com/">返回pandora工具平台</a></span>
</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
</template>
<script>
import { mapState } from 'vuex'
import headerConfig from './config';
export default {
computed: mapState({
userInfo: state => state.userInfo,
}),
data() {
return {
DEFAULT_AVATAR: headerConfig.miscellaneous.defaultAvatar,
};
},
};
</script>
<style lang="less" scoped>
.user-info {
display: flex;
align-items: center;
}
.user-name {
margin-left: 12px;
color: #FFF;
}
</style>
......@@ -2,23 +2,35 @@ const headerConfig = {
appName: 'OP运营管理后台',
logo: 'http://si1.go2yd.com/get-image/0ZAJxXeZ6iu',
menuItems: [
// {
// path: '/home',
// name: '首页',
// },
// {
// path: '/about',
// name: '关于'
// },
{
path: '/home',
name: '首页',
path: '/enterprise/certification',
name: '企业认证管理'
},
{
path: '/about',
name: '关于'
path: '/life-no/life',
name: '生活号管理'
},
{
path: '/enterprise/certification',
name: '企业认证管理'
path: '/role',
name: '角色管理'
},
{
path: '/user',
name: '用户管理'
}
],
// miscellaneous: {
// // 配置当用户头像不存在时使用的fallback头像图URL
// defaultAvatar: '//s.go2yd.com/a/thead_meiguoduizhang.png',
// },
miscellaneous: {
// 配置当用户头像不存在时使用的fallback头像图URL
defaultAvatar: '//s.go2yd.com/a/thead_meiguoduizhang.png',
},
};
export default headerConfig;
\ No newline at end of file
......@@ -2,7 +2,7 @@
<div id="pageheader">
<div class="line"></div>
<el-menu
class="el-menu-demo"
class="header-menu"
mode="horizontal"
:router="true"
background-color="#545c64"
......@@ -17,16 +17,24 @@
>
{{ item.name }}
</el-menu-item>
<el-menu-item key="usermenu" class="user-menu">
<user></user>
</el-menu-item>
</el-menu>
</div>
</template>
<script>
import headerConfig from "./config";
import User from './User.vue';
const { menuItems } = headerConfig;
export default {
name: "PageHeader",
components: {
User,
},
data () {
return {
menuItems,
......@@ -48,4 +56,8 @@ export default {
line-height: 60px;
width: 100%;
}
.header-menu .user-menu {
float: right !important;
margin-right: 20px;
}
</style>
<template>
<layout>
<div class="life-no">
<el-form :inline="true" :model="formInline" class="demo-form-inline">
<el-form-item label="生活号名称/企业名称">
......@@ -35,12 +36,15 @@
</el-table>
<page :totalNum="totalNum" @update="update" />
</div>
</layout>
</template>
<script>
import Layout from '@/layouts'
import page from "./components/Pagination"
export default {
components: {
Layout,
page
},
data () {
......
<template>
<div class="user-detail">
<el-descriptions class="margin-top" :column="3" :size="size" border>
<el-descriptions-item>
<template #label> 用户姓名 </template>
kooriookami
</el-descriptions-item>
<el-descriptions-item>
<template #label> 手机号 </template>
18100000000
</el-descriptions-item>
<el-descriptions-item>
<template #label> 所属组织 </template>
研发部
</el-descriptions-item>
<el-descriptions-item>
<template #label> 添加人账号 </template>
XXXX
</el-descriptions-item>
<el-descriptions-item>
<template #label> 添加时间 </template>
2020-12-01
</el-descriptions-item>
<el-descriptions-item>
<template #label> 最后修改人账号 </template>
张三
</el-descriptions-item>
<el-descriptions-item>
<template #label> 最后修改时间 </template>
2021-05-21
</el-descriptions-item>
<el-descriptions-item>
<template #label> 已拥有角色池 </template>
角色池
</el-descriptions-item>
<el-descriptions-item>
<template #label> 角色名称 </template>
管理员
</el-descriptions-item>
<el-descriptions-item>
<template #label> 敏感词权限 </template>
敏感词权限
</el-descriptions-item>
<el-descriptions-item>
<template #label> 数据权限 </template>
数据权限
</el-descriptions-item>
</el-descriptions>
</div>
</template>
<script>
export default {
data () {
return {
userInfoList: [{
}]
}
}
}
</script>
<style lang="less" scoped>
.user-detail {
margin: 50px;
}
</style>
\ No newline at end of file
import { createRouter, createWebHistory } from "vue-router";
import Home from "../pages/Home";
import Login from "../pages/Login";
import Certification from '@/pages/Enterprise/Certification';
import LifeNo from '../pages/Life-no/index.vue'
import LifeNoDetail from '../pages/Life-no/life-no-detail.vue'
import UserDetail from '../pages/User/user-detail.vue'
......@@ -23,10 +26,16 @@ const routes = [
name: "About",
component: () => import(/* webpackChunkName: "about" */ "../pages/About"),
},
{
path: "/",
name: "Home",
component: Certification,
},
{
path: '/enterprise/certification',
name: 'Certification',
component: () => import(/* webpackChunkName: "enterprise" */ '@/pages/Enterprise/Certification')
component: Certification,
// component: () => import(/* webpackChunkName: "enterprise" */ '@/pages/Enterprise/Certification')
},
{
path: '/enterprise/audit',
......
......@@ -12,5 +12,6 @@ export async function fetchCurrentUser() {
}
export async function getPermissions(email) {
return await axios.get("api/v1/user/get_permissions", { email });
console.log("fe service, getPermissions:::", email)
return await axios.get("api/v1/user/get_permissions", { params: {email} });
}
\ No newline at end of file
import Vuex from "vuex";
import { createStore } from "vuex";
import { getPermissions } from '@/service/user';
export default Vuex.createStore({
state: {},
mutations: {},
actions: {},
export default createStore({
state: {
permissions: [],
userInfo: {},
},
mutations: {
updateUserPermission(state, payload) {
state.permissions = payload;
},
updateUserInfo(state, payload) {
state.userInfo = payload;
}
},
actions: {
async updateUserPermission({ commit }, payload) {
const permissions = await getPermissions(payload.email);
console.log("VUEX action updateUserPermission::", permissions);
commit('updateUserPermission', permissions)
}
},
modules: {},
getters: {
}
});
......@@ -6,7 +6,7 @@ module.exports = {
outputDir: isDev
? './dist'
: path.resolve('../../../www/dist/'),
publicPath: isDev ? '' : '/dist/',
publicPath: isDev ? '/' : '/dist',
configureWebpack: {
devServer: {
// proxy: {
......
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