接收到iframe传输过来的token调用接口查询用户信息
This commit is contained in:
parent
6ac33749d2
commit
b0388b8c12
|
|
@ -4,9 +4,7 @@
|
|||
<meta charset="UTF-8">
|
||||
<link rel="icon" href="/favicon.ico">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>机具租赁商城</title>
|
||||
<!-- 贵州 -->
|
||||
<!-- <title>智联装备云控平台</title> -->
|
||||
<title>安徽机械化施工装备管理平台</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
|
|
|
|||
15
src/App.vue
15
src/App.vue
|
|
@ -11,7 +11,7 @@ const store = useStore()
|
|||
const router = useRouter()
|
||||
|
||||
// 监听来自A项目的 postMessage
|
||||
const handleMessage = (event: MessageEvent) => {
|
||||
const handleMessage = async (event: MessageEvent) => {
|
||||
// 安全检查:验证消息来源
|
||||
// 在生产环境中,建议验证 event.origin 是否为可信来源
|
||||
// 例如: if (event.origin !== 'https://your-a-project-domain.com') return
|
||||
|
|
@ -29,6 +29,19 @@ const handleMessage = (event: MessageEvent) => {
|
|||
userStore.setToken(token)
|
||||
|
||||
console.log('✅ Token已成功保存到localStorage和Pinia store')
|
||||
|
||||
// 3. 获取用户信息(重要!避免页面访问 userInfo.dept 时报错)
|
||||
try {
|
||||
const result: any = await getUserInfoAPI()
|
||||
if (result && result.user) {
|
||||
userStore.setUserInfo(result.user)
|
||||
userStore.setPermissionsInfo(result?.permissions)
|
||||
console.log('✅ 用户信息已成功加载')
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('❌ 获取用户信息失败:', error)
|
||||
}
|
||||
|
||||
console.log('✅ 后续请求将自动携带Authorization头,路由守卫也会放行')
|
||||
|
||||
// 可选:向A项目发送确认消息
|
||||
|
|
|
|||
|
|
@ -546,8 +546,8 @@ const areaList = ref<any>([]) // 省
|
|||
const areaCityList = ref<any>([]) // 市
|
||||
const areaCountyList = ref<any>([]) // 区/县
|
||||
const queryForm: any = reactive({
|
||||
useUnit: store.userInfo.dept.deptId, // 需求单位
|
||||
useUnitName: store.userInfo.dept.deptName,
|
||||
useUnit: store.userInfo?.dept?.deptId || '', // 需求单位(使用可选链避免报错)
|
||||
useUnitName: store.userInfo?.dept?.deptName || '', // 需求单位名称(使用可选链避免报错)
|
||||
proCode: '', // 项目编号
|
||||
proName: '', // 项目名称
|
||||
proType: '', // 项目类型
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
</div>
|
||||
<div class="container">
|
||||
<el-breadcrumb separator="/" class="primary-lease">
|
||||
<el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item>
|
||||
<el-breadcrumb-item :to="{ path: '/equipList' }">首页</el-breadcrumb-item>
|
||||
<el-breadcrumb-item>提交订单</el-breadcrumb-item>
|
||||
</el-breadcrumb>
|
||||
|
||||
|
|
@ -371,8 +371,8 @@ const orderList = ref<any>([])
|
|||
const addressTitle = ref('请选择收货地址')
|
||||
const addressList = ref<any>([])
|
||||
const queryForm: any = reactive({
|
||||
useUnit: store.userInfo.dept.deptId, // 需求单位
|
||||
useUnitName: store.userInfo.dept.deptName,
|
||||
useUnit: store.userInfo?.dept?.deptId || '', // 需求单位(使用可选链避免报错)
|
||||
useUnitName: store.userInfo?.dept?.deptName || '', // 需求单位名称(使用可选链避免报错)
|
||||
proCode: '', // 项目编号
|
||||
proName: '', // 项目名称
|
||||
proType: '', // 项目类型
|
||||
|
|
|
|||
Loading…
Reference in New Issue