HarmonyOS app退出登录后,如何清空web组件嵌入的h5页面sessionStorage中的值

app首页使用Tabs,其中一个TabContent为使用web组件加载的本地资源(vue打包的资源)。vue项目中使用的token是通过web加载src时,url拼接的token。h5获取到token后存储在sessionStorage中。此时APP点击退出登录操作后。在切换tabs回到h5页签时h5页面不会刷新,sessionStorage中token信息也没有情况,导致h5页面还处于登录状态。

HarmonyOS
2024-12-25 13:50:52
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
aquaa

原生端暂时没有清除sessionStorage的方法,可以参考下面思路:

1、当用户点击退出时,通过emitter发送消息。

2、TabContent的web页监听到消息后,通过this.controller.runJavaScript(‘clearFunction()’)调用js方法。

3、在web页中清除sessionStorage,sessionStorage.clear()。

可以采用监听tabContent里面页面的属性来实现,然后通过Tabs的onPageShow来改变属性实现监听。示例代码如下:

// User.ets
@Link @Watch('customShow') timer: Number
customShow(){
  //切换到当前页,进行登陆判断
}
// Index.ets
@State HomeTimer: number = 0;
User({
  timer:$HomeTimer
})
  .onTabBarClick((index: number) => {
    // console.log('-------',index)
    this.controller = index
    if (this.controller == 1) { //User
      this.HomeTimer = this.timeStamp()
    }
  })

timeStamp(){
  return new Date().getTime();
}
分享
微博
QQ
微信
回复
2024-12-25 16:09:13
相关问题
HarmonyOS Web组件加载在线H5页面
474浏览 • 1回复 待解决
app嵌入H5登录储存
599浏览 • 1回复 待解决
如何HarmonyOS调试h5页面
1185浏览 • 1回复 待解决
HarmonyOS h5页面缩放问题
847浏览 • 0回复 待解决
HarmonyOS 外部H5页面,拉起手机银行app
311浏览 • 1回复 待解决
HarmonyOS H5页面加载缓存机制
600浏览 • 1回复 待解决
HarmonyOS H5页面localstorage为null
280浏览 • 1回复 待解决
HarmonyOS webview H5页面事件监听
345浏览 • 1回复 待解决
如何使H5页面适配多设备?
997浏览 • 1回复 待解决
Web组件h5页面如何交互?
499浏览 • 1回复 待解决
HarmonyOS 通过webview改变H5页面字体
279浏览 • 1回复 待解决