HarmonyOS 鸿蒙Next,登录一次后,记住token,实现免登录功能
HarmonyOS 鸿蒙Next,登录一次后,记住token,实现免登录功能 登录一次后,记住token。实现免登录功能
AppStorage和PersistentStorage做了demo,可以参考一下:
import router from ‘@ohos.router’; PersistentStorage.persistProp(‘token’, ‘’) @Entry @Component struct Index { @State message: string = ‘这是登录页’; private title: string = “手机号登录” private backColor: ResourceColor = “#DC143C” @StorageLink(‘token’) token: string = ‘’
onPageShow() { if (this.token.length > 0 && this.token !== “undefined”){ console.log(‘登录页 onPageShow token有值 说明之前 有登录过 直接跳转到首页’ + this.token) this.goToHome() } else { console.log(‘登录页 onPageShow token没值 说明之前 没登录过’) } } build() { Stack(){ Text(this.message + this.token) .fontSize(50) .fontWeight(FontWeight.Bold) .margin({ top:200 }) Button() .type(ButtonType.Capsule) .width(‘100%’) .height(‘50’) .backgroundColor(this.backColor) .border({ color:’#CCCCCC’, width:1 }) .margin({ top:500 }) Row(){ Text(this.title) .fontSize(18) .fontColor(’#333333’) Text(’(上次登录)’) .fontSize(14) .fontColor(’#C0C0C0’) } .width(‘100%’) .height(‘100%’) .justifyContent(FlexAlign.Center) .onClick(() => { this.mobilePhoneLoginClick() }) .margin({ top:500 }) } .width(‘90%’) .height(‘50’) } mobilePhoneLoginClick(){ console.info(‘手机号登录 点击’) this.loginSuccess() }
loginSuccess(){ let token = ‘abc123456’ console.info(‘登录成功 存本地的 token:’ + token) AppStorage.setOrCreate(‘token’,token) this.goToHome() }
goToHome(){ console.info(‘跳转到 首页’) router.pushUrl({ url: ‘pages/Home’ }) } }
下面是Home.ets页面
@Entry @Component struct Home { @State message: string = ‘这是首页’; @State token: string = ‘’
onPageShow() { this.token = AppStorage.get(‘token’) + ‘’ console.info(‘首页 取存在本地的 temp:’ + this.token) } build() { Row() { Column() { Text(this.message + this.token) .fontSize(50) .fontWeight(FontWeight.Bold) } .width(‘100%’) } .height(‘100%’) } }
更多关于HarmonyOS 鸿蒙Next,登录一次后,记住token,实现免登录功能的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
如果手机关机,重启之后,AppStorage能读取到之前保存的数据吗,
如果手机关机,重启之后,AppStorage能读取到之前保存的数据吗,
单独AppStorage不能,配合PersistentStorage是持久存的可以实现,
啊啊啊~想起来~好久不用这个PersistentStorage。都忘记了,
在HarmonyOS鸿蒙Next系统中,实现登录一次后记住token以实现免登录功能,通常涉及以下几个步骤:
-
Token存储:在用户成功登录后,将服务器返回的token存储在本地。这可以通过HarmonyOS提供的存储API来实现,如使用
dataAbility
或者fileProvider
来存储token到本地文件或数据库中。 -
Token验证:在每次应用启动时或需要验证用户身份的API调用前,检查本地是否已有存储的token。如果有,尝试使用该token进行身份验证。
-
Token刷新:考虑到token可能存在过期的情况,可以在请求失败时检查是否因为token过期。如果过期,使用刷新token(如果有的话)来获取新的token,并更新本地存储。
-
安全性:确保token的存储和传输过程安全,避免token被泄露或篡改。可以使用加密技术来保护token。
-
退出登录:提供用户手动退出登录的功能,在退出时清除本地存储的token。
通过以上步骤,可以在HarmonyOS鸿蒙Next系统中实现记住token的免登录功能。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html