Browse Source

免密登录 50%

master
wenlele 2 years ago
parent
commit
c01708da84
  1. 2
      api/.vscode/launch.json
  2. 62
      web/client/src/layout/containers/layout/index.jsx
  3. 3
      web/client/src/utils/webapi.js
  4. 9
      web/config.js
  5. 3
      web/package.json
  6. 9
      web/routes/services/weekly.js

2
api/.vscode/launch.json

@ -42,7 +42,7 @@
// //
"--clickHouseUrl http://10.8.30.161", "--clickHouseUrl http://10.8.30.161",
"--clickHousePepEmis pepca_dev", "--clickHousePepEmis pepca8",
"--clickHouseCamworkflow camworkflow", "--clickHouseCamworkflow camworkflow",
"--clickHouseHr hrm", "--clickHouseHr hrm",
] ]

62
web/client/src/layout/containers/layout/index.jsx

@ -10,6 +10,10 @@ import { resize } from '../../actions/global';
import * as NProgress from 'nprogress'; import * as NProgress from 'nprogress';
import PerfectScrollbar from 'perfect-scrollbar'; import PerfectScrollbar from 'perfect-scrollbar';
import { useLocation } from "react-router"; import { useLocation } from "react-router";
import { RouteTable } from '$utils';
import { RouteRequest } from '@peace/utils';
import Cookie from 'js-cookie';
NProgress.configure({ NProgress.configure({
template: ` template: `
@ -23,6 +27,7 @@ NProgress.configure({
}); });
let scrollbar let scrollbar
let requestUser = true
// const location111 = useLocation(); // const location111 = useLocation();
const LayoutContainer = props => { const LayoutContainer = props => {
const { const {
@ -165,7 +170,8 @@ const LayoutContainer = props => {
useEffect(() => { useEffect(() => {
NProgress.done(); NProgress.done();
if ((!user || !user.authorized)) { if ((!user || !user.authorized)) {
history.push('/signin'); // history.push('/signin');
getUserInfoByToken()
} }
if (msg) { if (msg) {
if (msg.done) { if (msg.done) {
@ -195,6 +201,60 @@ const LayoutContainer = props => {
} }
}) })
const getUserInfoByToken = () => {
if (requestUser) {
requestUser = false;
RouteRequest.get(RouteTable.getDomain).then(res => {
console.log(res);
let token = Cookie.get('pepToken', { domain: res.root });
history.push('/humanAffairs/archivesCenter/personnelArchives/personnelFiles')
dispatch(login(values.username, values.password)).then(res => {
const data = res.payload.user
localStorage.setItem('word', JSON.stringify(values.password))
dispatch(actions.layout.initWebSocket({ ioUrl: apiRoot, token: data.token, hrUserId: data.hrUserInfo && hrUserInfo.id }))
})
// dispatch(getUserInfoByTokenUrl(token)).then(userRes => {
// if (userRes.success) {
// sessionStorage.setItem('user', JSON.stringify(userRes.payload.data));
// dispatch({
// type: 'INIT_AUTH',
// payload: {
// user: userRes.payload.data
// }
// })
// // window.location.href = window.location.href;
// } else {
// redirectToLogin(true);
// }
// }, error => {
// redirectToLogin(true);
// })
}, error => {
message.error('鉴权失败', 5);
redirectToLogin(true);
})
}
}
const redirectToLogin = (toLogin = false) => {
//
if (!requestlogout) {
requestlogout = true;//退redirectToLoginwindow.location.hrefmessage.warning
RouteRequest.get(RouteTable.getPepWebUrl).then(res => {
if (res.url) {
if (toLogin) {
window.location.href = `${res.url}/signin`;
}
else {
window.location.href = `${res.url}/signin?isLogout=true`;
}
}
});
}
}
// websocket 使 // websocket 使
useEffect(() => { useEffect(() => {

3
web/client/src/utils/webapi.js

@ -42,5 +42,6 @@ export const RouteTable = {
apiRoot: "/api/root", apiRoot: "/api/root",
fileUpload: "/_upload/new", fileUpload: "/_upload/new",
cleanUpUploadTrash: "/_upload/cleanup", cleanUpUploadTrash: "/_upload/cleanup",
getWeeklyService: '/_service/weekly' getWeeklyService: '/_service/weekly',
getDomain: '/domain',
}; };

9
web/config.js

@ -13,6 +13,8 @@ dev && console.log('\x1B[33m%s\x1b[0m', '请遵循并及时更新 readme.md,
args.option(['p', 'port'], '启动端口'); args.option(['p', 'port'], '启动端口');
args.option(['u', 'api-url'], 'webapi的URL'); args.option(['u', 'api-url'], 'webapi的URL');
args.option('apiHrUrl', 'webapi的URL 外网可访问'); args.option('apiHrUrl', 'webapi的URL 外网可访问');
args.option(['d', 'domain'], 'web domain');
// 七牛 // 七牛
args.option('qnak', 'qiniuAccessKey'); args.option('qnak', 'qiniuAccessKey');
@ -23,10 +25,13 @@ args.option('qndmn', 'qiniuDomain');
//基本动作-周报后端服务 //基本动作-周报后端服务
args.option('wkys', 'weeklyServices'); args.option('wkys', 'weeklyServices');
const flags = args.parse(process.argv); const flags = args.parse(process.argv);
const API_URL = process.env.API_URL || flags.apiUrl; const API_URL = process.env.API_URL || flags.apiUrl;
const API_HR_URL = process.env.API_HR_URL || flags.apiHrUrl; const API_HR_URL = process.env.API_HR_URL || flags.apiHrUrl;
const FS_HR_DOMAIN = process.env.FS_HR_DOMAIN || flags.domain;
// 七牛 // 七牛
const ANXINCLOUD_QINIU_AK = process.env.ANXINCLOUD_QINIU_ACCESSKEY || flags.qnak; const ANXINCLOUD_QINIU_AK = process.env.ANXINCLOUD_QINIU_ACCESSKEY || flags.qnak;
@ -40,6 +45,7 @@ const ANXINCLOUD_WEEKLY_SERVICES = process.env.ANXINCLOUD_WEEKLY_SERVICES || fla
if ( if (
!API_URL !API_URL
|| !API_HR_URL || !API_HR_URL
|| !FS_HR_DOMAIN
|| !ANXINCLOUD_QINIU_AK || !ANXINCLOUD_QINIU_SK || !ANXINCLOUD_QINIU_BUCKET_RESOURCE || !ANXINCLOUD_QINIU_DOMAIN_QNDMN_RESOURCE || !ANXINCLOUD_QINIU_AK || !ANXINCLOUD_QINIU_SK || !ANXINCLOUD_QINIU_BUCKET_RESOURCE || !ANXINCLOUD_QINIU_DOMAIN_QNDMN_RESOURCE
) { ) {
console.log('缺少启动参数,异常退出'); console.log('缺少启动参数,异常退出');
@ -79,7 +85,8 @@ const product = {
}, },
service: { service: {
weekly: ANXINCLOUD_WEEKLY_SERVICES weekly: ANXINCLOUD_WEEKLY_SERVICES
} },
domain: FS_HR_DOMAIN,
} }
}, { }, {
entry: require('./client').entry,// 静态信息 entry: require('./client').entry,// 静态信息

3
web/package.json

@ -7,7 +7,7 @@
"test": "mocha", "test": "mocha",
"start-vite": "cross-env NODE_ENV=developmentVite npm run start-params", "start-vite": "cross-env NODE_ENV=developmentVite npm run start-params",
"start": "cross-env NODE_ENV=development npm run start-params", "start": "cross-env NODE_ENV=development npm run start-params",
"start-params": "node server -p 5700 -u http://localhost:4700 --apiHrUrl http://localhost:4700 --qnak XuDgkao6cL0HidoMAPnA5OB10Mc_Ew08mpIfRJK5 --qnsk yewcieZLzKZuDfig0wLZ9if9jKp2P_1jd3CMJPSa --qnbkt dev-hr --qndmn http://rjkwed13l.hn-bkt.clouddn.com --wkys http://10.8.30.109:14000", "start-params": "node server -p 5700 -u http://localhost:4700 --apiHrUrl http://localhost:4700 -d localhost --qnak XuDgkao6cL0HidoMAPnA5OB10Mc_Ew08mpIfRJK5 --qnsk yewcieZLzKZuDfig0wLZ9if9jKp2P_1jd3CMJPSa --qnbkt dev-hr --qndmn http://rjkwed13l.hn-bkt.clouddn.com --wkys http://10.8.30.109:14000",
"deploy": "export NODE_ENV=production&& npm run build && node server", "deploy": "export NODE_ENV=production&& npm run build && node server",
"build-dev": "cross-env NODE_ENV=development&&webpack --config webpack.config.js", "build-dev": "cross-env NODE_ENV=development&&webpack --config webpack.config.js",
"build": "cross-env NODE_ENV=production&&webpack --config webpack.config.prod.js" "build": "cross-env NODE_ENV=production&&webpack --config webpack.config.prod.js"
@ -63,6 +63,7 @@
"ezuikit-js": "^0.6.1", "ezuikit-js": "^0.6.1",
"fs-attachment": "^1.0.0", "fs-attachment": "^1.0.0",
"fs-web-server-scaffold": "^1.0.6", "fs-web-server-scaffold": "^1.0.6",
"js-cookie": "^3.0.1",
"js-export-excel": "^1.1.4", "js-export-excel": "^1.1.4",
"koa-better-http-proxy": "^0.2.5", "koa-better-http-proxy": "^0.2.5",
"koa-proxy": "^1.0.0-alpha.3", "koa-proxy": "^1.0.0-alpha.3",

9
web/routes/services/weekly.js

@ -13,6 +13,15 @@ module.exports = {
}; };
}; };
const getDomain = async function (ctx) {
const { domain } = opts;
ctx.status = 200;
ctx.body = { root: domain };
};
router.get('/_service/weekly', getWeeklyService); router.get('/_service/weekly', getWeeklyService);
router.get('/domain', getDomain);
} }
}; };

Loading…
Cancel
Save