HarmonyOS应用开发实战:猫猫大作战-LoginWithHuaweiID 华为一键登录

发布时间:2026/7/30 3:10:42

HarmonyOS应用开发实战:猫猫大作战-LoginWithHuaweiID 华为一键登录 前言华为提供了一键登录按钮组件LoginWithHuaweiIDButton开发者可以直接在界面中使用降低接入成本。一、使用登录按钮import{huaweiAccount}fromkit.AccountKit;import{BusinessError}fromkit.BasicServicesKit;build(){Column(){Text(使用华为帐号快速登录).fontSize(14).fontColor(#95A5A6).margin({bottom:16})Button(华为帐号一键登录).width(280vp).height(48vp).fontSize(16).fontColor(#FFFFFF).backgroundColor(#C8102E).borderRadius(24).onClick(async(){try{constaccountawaithuaweiAccount.getAccount();consttokenawaitaccount.getToken();// 服务端验证awaitthis.verifyToken(token);this.onLoginSuccess(account);}catch(err){constbizErrerrasBusinessError;if(bizErr.code401){console.info(用户取消登录);}else{console.error(登录失败,bizErr.message);}}})}.alignItems(HorizontalAlign.Center)}二、登录状态管理asyncfunctionverifyToken(token:string):PromiseUserInfo{constresponseawaitfetch(https://api.example.com/auth/verify,{method:POST,headers:{Content-Type:application/json},body:JSON.stringify({token}),});returnawaitresponse.json();}functiononLoginSuccess(account:huaweiAccount.HuaweiAccount):void{constunionIdaccount.getUnionId();constnameaccount.getDisplayName()??玩家;AppStorage.setOrCreate(unionId,unionId);AppStorage.setOrCreate(playerName,name);}三、错误处理错误码含义处理401用户取消提示登录已取消402Token 过期重新获取500服务端错误“请稍后重试”网络异常无网络“请检查网络连接”四、最佳实践按钮显眼品牌红色 #C8102E让用户快速识别Token 服务端验证本地不做 Token 解析登录状态持久化Preferences 存 unionId提供退出登录清除本地认证信息总结华为一键登录通过huaweiAccount.getAccount()快速获取用户身份。核心要点品牌红按钮、 Token 服务端验证、 unionId 持久化。如果这篇文章对你有帮助欢迎点赞、收藏⭐、关注你的支持是我持续创作的动力相关资源AccountKit 文档第 156 篇Account第 158 篇silent-login第 159 篇iap

相关新闻