Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
hrs_app_h5
/
bill
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
1d7b38fd
authored
Apr 13, 2020
by
展昭
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
add js
parent
1d18e478
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
319 additions
and
40 deletions
src/api/Token/index.js
src/api/http.js
src/api/index.js
src/assets/js/SecurityService.js
src/store/modules/token.js
src/api/Token/index.js
View file @
1d7b38fd
import
api
from
"../index"
;
import
urls
from
"./urls"
;
import
Mgr
from
"@js/SecurityService"
;
import
Mgr
from
"../../assets/js/SecurityService"
;
import
{
GetCommonPms
}
from
"@js/CommonPms.js"
;
import
qs
from
"qs"
;
const
oidc_config
=
JSON
.
parse
(
process
.
env
.
VUE_APP_OIDC_CONFIG
)
const
urls
=
`
${
oidc_config
.
authority
}
/connect/token`
let
mgr
=
new
Mgr
();
let
token
;
mgr
.
getAcessToken
().
then
(
res
=>
{
...
...
@@ -25,12 +27,5 @@ export default {
};
var
commonPms
=
GetCommonPms
();
return
api
.
post
(
`
${
urls
.
token
}
?
${
commonPms
}
`
,
qs
.
stringify
(
pms
),
header
);
},
getHtml
(
url
){
let
param
=
{
accept
:
'text/html, text/plain'
}
return
api
.
get
(
url
,
param
);
}
};
\ No newline at end of file
src/api/http.js
View file @
1d7b38fd
...
...
@@ -23,7 +23,7 @@ http.interceptors.response.use(
(
response
)
=>
{
Toast
.
clear
();
if
(
response
.
error
==
400
){
Toast
(
'
组织登录
授权失败!'
);
Toast
(
'授权失败!'
);
}
let
{
data
}
=
response
;
if
(
!
data
.
errcode
)
{
...
...
src/api/index.js
View file @
1d7b38fd
import
axios
from
"./http"
;
import
store
from
"../store/index"
;
import
http
from
"./http"
;
import
Mgr
from
"../assets/js/SecurityService"
;
const
instance
=
axios
();
const
instance
=
http
();
const
api
=
{
get
(
url
,
params
,
headers
)
{
let
options
=
{};
...
...
@@ -54,29 +53,6 @@ const api = {
};
function
getCompanyHeader
(){
const
accessToken
=
store
.
getters
.
getCompanyToken
;
const
Authorization
=
`Bearer
${
accessToken
}
`
;
return
{
Authorization
}
}
//mgr.getAcessToken
/**
* 带companyToken的请求
*/
export
const
companyApi
=
{
companyId
:()
=>
store
.
getters
.
getCompanyId
,
get
:(
url
,
params
)
=>
api
.
get
(
url
,
params
,
getCompanyHeader
()),
post
:(
url
,
params
)
=>
api
.
post
(
url
,
params
,
getCompanyHeader
()),
put
:(
url
,
params
)
=>
api
.
put
(
url
,
params
,
getCompanyHeader
()),
delete
:(
url
,
params
)
=>
api
.
delete
(
url
,
params
,
getCompanyHeader
()),
patch
:(
url
,
params
)
=>
api
.
patch
(
url
,
params
,
getCompanyHeader
())
};
function
getUserHeader
(){
const
mgr
=
new
Mgr
();
return
mgr
.
getAcessToken
().
then
(
token
=>
{
...
...
@@ -85,7 +61,6 @@ function getUserHeader(){
}
})
}
//api.patch()
export
const
userApi
=
{
get
:(
url
,
params
)
=>
getUserHeader
().
then
(
headers
=>
api
.
get
(
url
,
params
,
headers
)),
...
...
src/assets/js/SecurityService.js
0 → 100644
View file @
1d7b38fd
/* eslint-disable */
import
Oidc
from
"oidc-client"
;
import
axios
from
"axios"
;
import
qs
from
"qs"
;
import
{
GetCommonPms
}
from
"../js/CommonPms.js"
;
import
"babel-polyfill"
;
import
store
from
"../../store"
;
const
oidc_config
=
JSON
.
parse
(
process
.
env
.
VUE_APP_OIDC_CONFIG
)
//console.log(oidc_config);
const
mgr
=
new
Oidc
.
UserManager
({
userStore
:
new
Oidc
.
WebStorageStateStore
(),
authority
:
oidc_config
.
authority
,
client_id
:
oidc_config
.
client_id
,
redirect_uri
:
oidc_config
.
redirect_uri
,
response_type
:
oidc_config
.
response_type
,
scope
:
oidc_config
.
scope
,
post_logout_redirect_uri
:
oidc_config
.
post_logout_redirect_uri
,
silent_redirect_uri
:
oidc_config
.
silent_redirect_uri
,
accessTokenExpiringNotificationTime
:
oidc_config
.
accessTokenExpiringNotificationTime
,
automaticSilentRenew
:
oidc_config
.
automaticSilentRenew
,
filterProtocolClaims
:
oidc_config
.
filterProtocolClaims
,
loadUserInfo
:
oidc_config
.
loadUserInfo
});
Oidc
.
Log
.
logger
=
console
;
Oidc
.
Log
.
level
=
Oidc
.
Log
.
INFO
;
mgr
.
events
.
addUserLoaded
(
function
(
user
)
{
console
.
log
(
'add user loaded'
,
user
);
});
mgr
.
events
.
addAccessTokenExpiring
(
function
()
{
// console.log("过期前");
// console.log("AccessToken Expiring:", arguments);
});
mgr
.
events
.
addAccessTokenExpired
(
function
()
{
console
.
log
(
"AccessToken Expired:"
,
arguments
);
mgr
.
signoutRedirect
()
.
then
(
function
(
resp
)
{
console
.
log
(
"signed out"
,
resp
);
location
.
href
=
"/"
;
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
});
mgr
.
events
.
addSilentRenewError
(
function
()
{
console
.
error
(
"Silent Renew Error:"
,
arguments
);
});
mgr
.
events
.
addUserSignedOut
(
function
()
{
console
.
log
(
"UserSignedOut:"
,
arguments
);
mgr
.
signoutRedirect
()
.
then
(
function
(
resp
)
{
//location.href="/";
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
});
function
getQueryString
(
name
)
{
var
reg
=
new
RegExp
(
"(^|&)"
+
name
+
"=([^&]*)(&|$)"
);
var
r
=
window
.
location
.
search
.
substr
(
1
).
match
(
reg
);
if
(
r
!=
null
)
return
unescape
(
r
[
2
]);
return
null
;
}
export
default
class
SecurityService
{
signinRedirectCallback
()
{
mgr
.
signinRedirectCallback
()
.
then
(
function
(
user
)
{
console
.
log
(
user
);
// window.location.href = '../';
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
}
signinSilentCallback
()
{
mgr
.
signinSilentCallback
().
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
}
// Renew the token manually
renewToken
()
{
let
self
=
this
;
console
.
log
(
"执行"
);
return
new
Promise
((
resolve
,
reject
)
=>
{
mgr
.
signinSilent
()
.
then
(
function
(
user
)
{
if
(
user
==
null
)
{
self
.
signIn
(
null
);
}
else
{
return
resolve
(
user
);
}
})
.
catch
(
function
(
err
)
{
alert
(
err
);
console
.
log
(
err
);
return
reject
(
err
);
});
});
}
// Get the user who is logged in
getUser
()
{
let
self
=
this
;
return
new
Promise
((
resolve
,
reject
)
=>
{
mgr
.
getUser
()
.
then
(
function
(
user
)
{
if
(
user
==
null
)
{
//self.signIn();
return
resolve
(
null
);
}
else
{
return
resolve
(
user
);
}
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
return
reject
(
err
);
});
});
}
// Check if there is any user logged in
getSignedIn
()
{
let
self
=
this
;
return
new
Promise
((
resolve
,
reject
)
=>
{
mgr
.
getUser
()
.
then
(
function
(
user
)
{
// console.log("user=================>",user);
// let comid = getQueryString("comid");
// let authcode = getQueryString("authcode");
// //console.log(comid)
// localStorage.setItem("comid", comid == null ? "" : comid);
if
(
user
==
null
)
{
//console.log("=======>",comid,authcode);
// if (comid == null || authcode == null) {
// self.signIn();
// return resolve(false);
// } else {
// mgr.signinRedirect({
// extraQueryParams: {
// authcode: authcode
// }
// }).catch(function(err) {
// console.log(err);
// });
return
resolve
(
false
);
// }
}
else
{
//return resolve(false);
return
resolve
(
true
);
}
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
return
reject
(
err
);
});
});
}
// Redirect of the current window to the authorization endpoint.
signIn
(
args
=
{})
{
mgr
.
signinRedirect
(
args
).
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
//console.log("login args ===============>",args);
}
signOutPopup
(){
return
mgr
.
signoutPopup
();
}
// Redirect of the current window to the end session endpoint
signOut
()
{
mgr
.
signoutRedirect
()
.
then
(
function
(
resp
)
{
console
.
log
(
"signed out"
,
resp
);
//location.href="/";
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
}
// Get the profile of the user logged in
getProfile
()
{
let
self
=
this
;
return
new
Promise
((
resolve
,
reject
)
=>
{
mgr
.
getUser
()
.
then
(
function
(
user
)
{
if
(
user
==
null
)
{
//self.signIn();
return
resolve
(
null
);
}
else
{
return
resolve
(
user
.
profile
);
}
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
return
reject
(
err
);
});
});
}
// Get the token id
getIdToken
()
{
let
self
=
this
;
return
new
Promise
((
resolve
,
reject
)
=>
{
mgr
.
getUser
()
.
then
(
function
(
user
)
{
if
(
user
==
null
)
{
//self.signIn();
return
resolve
(
null
);
}
else
{
return
resolve
(
user
.
id_token
);
}
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
return
reject
(
err
);
});
});
}
// Get the session state
getSessionState
()
{
let
self
=
this
;
return
new
Promise
((
resolve
,
reject
)
=>
{
mgr
.
getUser
()
.
then
(
function
(
user
)
{
if
(
user
==
null
)
{
//self.signIn();
return
resolve
(
null
);
}
else
{
return
resolve
(
user
.
session_state
);
}
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
return
reject
(
err
);
});
});
}
// Get the access token of the logged in user
getAcessToken
()
{
let
self
=
this
;
return
new
Promise
((
resolve
,
reject
)
=>
{
mgr
.
getUser
()
.
then
(
function
(
user
)
{
if
(
user
==
null
)
{
//self.signIn();
return
resolve
(
null
);
}
else
{
return
resolve
(
user
.
access_token
);
}
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
return
reject
(
err
);
});
});
}
// Takes the scopes of the logged in user
getScopes
()
{
let
self
=
this
;
return
new
Promise
((
resolve
,
reject
)
=>
{
mgr
.
getUser
()
.
then
(
function
(
user
)
{
if
(
user
==
null
)
{
//self.signIn();
return
resolve
(
null
);
}
else
{
return
resolve
(
user
.
scopes
);
}
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
return
reject
(
err
);
});
});
}
// Get the user roles logged in
getRole
()
{
let
self
=
this
;
return
new
Promise
((
resolve
,
reject
)
=>
{
mgr
.
getUser
()
.
then
(
function
(
user
)
{
if
(
user
==
null
)
{
//self.signIn();
return
resolve
(
null
);
}
else
{
return
resolve
(
user
.
profile
.
role
);
}
})
.
catch
(
function
(
err
)
{
console
.
log
(
err
);
return
reject
(
err
);
});
});
}
}
src/store/modules/token.js
View file @
1d7b38fd
...
...
@@ -7,12 +7,11 @@ try {
}
}
catch
(
error
)
{
}
const
state
=
{
token
};
const
getters
=
{
getToken
(
state
)
{
return
state
.
token
;
}
};
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment