前段时间开发项目时,第一次尝试使用华为认证服务,结果发生了一些奇奇怪怪的问题,在不断的查文档之后还是解决,这里就自己整理了一下开发流程。
1、登录AppGallery Connect
2、在全部服务中,选择“认证服务”,启动手机号码认证
3、我的项目中,添加项目,再选择添加应用,随后根据实际情况填写即可
4、在“项目设置”中,下载SDK配置,并放在自己项目的如图所示的目录中
5、修改oh-package.json5文件,添加以下内容
"dependencies": { "@hw-agconnect/hmcore": "^1.0.1", "@hw-agconnect/cloud": "^1.0.1" }
复制复制
6、修改EntryAbility.ets文件,在onCreate中添加以下内容
async onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) {let input = await this.context.resourceManager.getRawFileContent('agconnect-services.json')let jsonString = util.TextDecoder.create('utf-8', {ignoreBOM: true}).decodeWithStream(input, {stream: false});initialize(this.context, JSON.parse(jsonString));
}
复制复制
7、打开需要使用验证码的界面,导入代码
// 导入
import cloud from '@hw-agconnect/cloud';
import { Auth, VerifyCodeAction } from '@hw-agconnect/cloud';
import { promptAction } from '@kit.ArkUI';// 申请验证码
function requestVerifyCode(phoneNumber: string){cloud.auth().requestVerifyCode({action: VerifyCodeAction.REGISTER_LOGIN,lang: 'zh_CN',sendInterval: 60,verifyCodeType: {phoneNumber: phoneNumber,countryCode: '86',kind: "phone"}}).then(verifyCodeResult => {//验证码申请成功promptAction.showToast({message: '申请成功'})}).catch(() => {//验证码申请失败promptAction.showToast({message: "申请失败 "})});
}// 注册用户
function createUser(phoneNumber: string, phoneCode: string){cloud.auth().createUser({kind: 'phone',countryCode: '86',phoneNumber: phoneNumber,password: '123456789',//可以给用户设置初始密码,后续可以用密码来登录verifyCode: phoneCode}).then(result => {// 创建用户成功promptAction.showToast({message: '创建成功'})}).catch(() => {// 创建用户失败promptAction.showToast({message: '创建失败'})})
}