Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
O
op-web-service
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
bp
op-web-service
Commits
2edd304f
Commit
2edd304f
authored
Aug 07, 2021
by
liwenhong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add:store
parent
5141b08f
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
138 additions
and
0 deletions
+138
-0
login.js
src/store/modules/login.js
+52
-0
user.js
src/store/modules/user.js
+86
-0
No files found.
src/store/modules/login.js
0 → 100644
View file @
2edd304f
/* eslint-disable */
import
{
yd_login
,
j_login
}
from
"@/service/user"
;
import
{
isYdUser
,
setCookie
}
from
"@/utils/util"
;
import
{
redirectToLogin
,
delCookie
}
from
"@/utils/util"
;
import
{
ElMessage
}
from
"element-plus"
;
export
default
{
state
:
{},
mutations
:
{},
actions
:
{
async
userLogin
({
commit
},
{
payload
})
{
let
flag
=
isYdUser
(
payload
.
email
);
let
params
;
if
(
!
flag
)
{
params
=
new
URLSearchParams
();
params
.
append
(
'email'
,
payload
.
email
);
params
.
append
(
'password'
,
payload
.
password
);
}
let
res
=
flag
?
await
yd_login
(
payload
)
:
await
j_login
(
params
)
let
storage
=
window
.
localStorage
;
if
(
res
.
userInfo
&&
!
storage
[
'uid'
])
{
storage
[
'YD_PANDORA_auth'
]
=
JSON
.
stringify
(
res
.
auth
||
{})
storage
[
'YD_PANDORA_JWT_TOKEN'
]
=
(
res
.
type
+
' '
+
res
.
token
)
||
''
storage
[
'YD_PANDORA_user'
]
=
JSON
.
stringify
(
res
.
userInfo
||
{})
setCookie
(
'uid'
,
res
.
userInfo
&&
res
.
userInfo
.
id
,
16
)
setCookie
(
'YD_PANDORA_UID'
,
res
.
userInfo
&&
res
.
userInfo
.
id
,
16
)
setCookie
(
'userid'
,
res
.
userInfo
&&
res
.
userInfo
.
id
,
16
)
setCookie
(
'username'
,
res
.
userInfo
&&
res
.
userInfo
.
email
,
16
)
setCookie
(
'nickname'
,
res
.
userInfo
&&
res
.
userInfo
.
displayName
,
16
)
setCookie
(
'YD_PANDORA_JWT_TOKEN'
,
(
res
.
type
+
' '
+
res
.
token
)
||
''
,
16
)
storage
[
'isDefault'
]
=
1
;
return
true
}
else
if
(
+
res
.
code
===
0
){
storage
[
'isDefault'
]
=
2
;
setCookie
(
'username'
,
payload
.
email
,
16
);
return
true
}
else
{
ElMessage
.
error
(
res
);
}
},
logout
()
{
return
new
Promise
((
resolve
)
=>
{
window
.
localStorage
.
clear
();
delCookie
(
'username'
);
redirectToLogin
()
resolve
()
});
}
},
getters
:
{},
namespaced
:
true
}
src/store/modules/user.js
0 → 100644
View file @
2edd304f
import
{
getPermissions
}
from
"@/service/user"
;
import
{
PERMISSIONNAME_PAGEMODULE
}
from
"@/config/pageconfig"
;
import
{
getRolesForUser
}
from
"@/service/Withdrawal/withdrawal"
;
export
default
{
state
:
{
permissions
:
null
,
userInfo
:
null
,
permissionsForApp
:
{}
},
mutations
:
{
updateUserPermission
(
state
,
payload
)
{
state
.
permissions
=
payload
;
},
updateUserInfo
(
state
,
payload
)
{
state
.
userInfo
=
payload
;
},
updatePermissionForApp
(
state
,
payload
)
{
const
{
appId
,
permissions
}
=
payload
;
state
.
permissionsForApp
=
state
.
permissionsForApp
||
{};
state
.
permissionsForApp
[
appId
]
=
permissions
;
}
},
actions
:
{
async
updateUserPermission
({
commit
},
payload
)
{
const
{
permissions
=
[]
}
=
await
getPermissions
(
payload
.
email
);
console
.
log
(
"VUEX action updateUserPermission::"
,
permissions
);
commit
(
"updateUserPermission"
,
permissions
);
},
async
fetchPermission
({
commit
},
{
email
,
appId
})
{
if
(
appId
===
"merchant-op-auditing"
)
{
const
permissions
=
await
getRolesForUser
(
email
);
if
(
!
permissions
)
{
return
;
}
const
permissionMap
=
permissions
.
reduce
((
prev
,
permission
)
=>
{
prev
[
permission
.
name
]
=
permission
;
return
prev
;
},
{});
commit
(
"updatePermissionForApp"
,
{
appId
,
permissions
:
permissionMap
});
return
;
}
console
.
error
(
"无 appId 注册"
,
appId
);
}
},
getters
:
{
subPermissions
:
state
=>
{
const
permissionCol
=
{};
(
state
.
permissions
||
[]).
forEach
(
element
=>
{
PERMISSIONNAME_PAGEMODULE
[
element
.
name
]
&&
(
permissionCol
[
PERMISSIONNAME_PAGEMODULE
[
element
.
name
]]
=
element
.
sub_permissions
);
});
return
permissionCol
;
},
/**
*
* @param {*} module 模块名,可选值: enterprise, lifeNo, role, user
* @returns
*/
moduleSubPermissions
:
state
=>
(
module
,
appId
=
""
)
=>
{
if
(
appId
!==
""
)
{
if
(
!
state
.
permissionsForApp
[
appId
])
{
return
[];
}
if
(
!
state
.
permissionsForApp
[
appId
][
module
])
{
return
[];
}
return
state
.
permissionsForApp
[
appId
][
module
].
sub_permissions
;
}
const
permissionCol
=
{};
(
state
.
permissions
||
[]).
forEach
(
element
=>
{
PERMISSIONNAME_PAGEMODULE
[
element
.
name
]
&&
(
permissionCol
[
PERMISSIONNAME_PAGEMODULE
[
element
.
name
]]
=
element
.
sub_permissions
);
});
return
permissionCol
[
module
];
}
},
namespaced
:
true
};
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