|
@@ -1,16 +1,23 @@
|
|
|
<script setup lang="ts">
|
|
|
+import { useUserStoreWithOut, UserInterface } from "@/stores/modules/user"
|
|
|
import { getAuthCode } from 'dingtalk-jsapi';
|
|
|
import reqest from "@/utils/request";
|
|
|
|
|
|
+const userStore = useUserStoreWithOut();
|
|
|
const initUserInfoHandler = async () => {
|
|
|
const code: string = await getDDAuthCode() as string
|
|
|
- const userIdResult = await getUserIdByDD({
|
|
|
- code
|
|
|
- })
|
|
|
- console.log("userIdResult--------")
|
|
|
- console.log(userIdResult)
|
|
|
+ const userIdResult = await getUserIdByDD({code})
|
|
|
if (userIdResult && userIdResult?.data) {
|
|
|
- getUserInfoById(userIdResult?.data.userId)
|
|
|
+ const userResult = await getUserInfoById(userIdResult?.data.accessToken)
|
|
|
+ if (userResult && userResult?.data) {
|
|
|
+ const userInfo: UserInterface = {
|
|
|
+ id: userResult?.data.user.id,
|
|
|
+ nickname: userResult?.data.user.nickname,
|
|
|
+ accessToken: userIdResult?.data.accessToken,
|
|
|
+ }
|
|
|
+ userStore.setUser(userInfo)
|
|
|
+ localStorage.setItem("_userInfo", JSON.stringify(userInfo))
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
initUserInfoHandler()
|
|
@@ -38,9 +45,9 @@ const getUserIdByDD = async (data: Required<UserIdParam>) => {
|
|
|
return reqest.post(`/app-api/system/auth/login-ding?code=${data.code}`, null)
|
|
|
}
|
|
|
//@ts-ignore
|
|
|
-const getUserInfoById = async (idStr: Required<string>) => {
|
|
|
- return reqest.get('/admin-api/system/user/get', {
|
|
|
- params: {id: idStr}
|
|
|
+const getUserInfoById = async (token: Required<string>) => {
|
|
|
+ return reqest.get('/admin-api/system/auth/get-permission-info', {
|
|
|
+ headers: { 'Authorization': 'Bearer ' + token }
|
|
|
})
|
|
|
}
|
|
|
</script>
|