华为HarmonyOS实现跨多个子系统融合的场景化服务 -- 1 构建快速验证手机号Button
场景介绍
快速验证手机号Button功能用于帮助开发者向用户发起手机号申请,应用在满足《常见类型移动互联网应用程序必要个人信息范围规定》(对第三方网站的内容,华为公司不承担任何责任)中使用手机号的必要业务场景,经用户同意后,应用可获取手机号,为用户提供相应服务(详见场景介绍)。
说明
应用/元服务仅在首次使用时需要用户进行授权,授权成功后,后续只验证授权手机号,不可修改。
前提条件
参见开发前提。
效果图展示
单击“快速验证手机号”按钮,拉起验证界面(完整流程可参考手机号快速验证)。
开发步骤
- 导入Scenario Fusion Kit模块以及相关公共模块。
- import { FunctionalButton, functionalButtonComponentManager } from '@kit.ScenarioFusionKit';
- import { hilog } from '@kit.PerformanceAnalysisKit';
- 在容器中声明FunctionalButton,指定Button的openType,并设置对应的回调函数,代码如下:
- @Entry
- @Component
- struct Index {
- build() {
- Row() {
- Column() {
- // 声明FunctionalButton
- FunctionalButton({
- params: {
- // OpenType.GET_PHONE_NUMBER表示Button为快速验证手机号类型
- openType: functionalButtonComponentManager.OpenType.GET_PHONE_NUMBER,
- label: '快速验证手机号',
- // 调整Button样式
- styleOption: {
- styleConfig: new functionalButtonComponentManager.ButtonConfig()
- .fontSize(20)
- .fontColor(Color.Black)
- },
- },
- // OpenType为“GET_PHONE_NUMBER”时,回调必须选择“onGetPhoneNumber”
- controller: new functionalButtonComponentManager.FunctionalButtonController()
- .onGetPhoneNumber((err, data) => {
- if (err) {
- // 错误日志处理
- hilog.error(0x0000, "testTag", "error: %{public}d %{public}s", err.code, err.message);
- return;
- }
- // 成功日志处理
- hilog.info(0x0000, "testTag", "succeeded in authenticating");
- // 开发者处理AuthorizationCode
- let authorizationCode = data.code;
- })
- })
- }
- .width('100%')
- }
- .height('100%')
- }
- }
说明
- openType参数填写“functionalButtonComponentManager.OpenType.GET_PHONE_NUMBER”指定Button为快速验证手机号类型。
- controller参数必须对应填写“new functionalButtonComponentManager.FunctionalButtonController().onGetPhoneNumber”。
- 若成功调用,可通过回调函数中的临时登录凭证(Authorization Code)获取真实手机号,临时登录凭证时效5分钟,具体操作可参考服务端开发。
其他参数请参考:FunctionalButton(Button组件)。
相关文章:

华为HarmonyOS实现跨多个子系统融合的场景化服务 -- 1 构建快速验证手机号Button
场景介绍 快速验证手机号Button功能用于帮助开发者向用户发起手机号申请,应用在满足《常见类型移动互联网应用程序必要个人信息范围规定》(对第三方网站的内容,华为公司不承担任何责任)中使用手机号的必要业务场景,经…...

王佩丰24节Excel学习笔记——第十一讲:Vlookup函数
【以 Excel2010 系列学习,用 Office LTSC 专业增强版 2021 实践】 【本章小技巧】 掌握vlookup使用方法,选区的第一列一定是查询参数条件一。使用通配符查询。vlookup 限 255 位长度。掌握日常使用场景。使用vlookup模糊匹配查询个税 一、使用Vlookup函…...
【QT实战の心情笔记】
文章目录 界面布局主要界面分为三部分:1. 笔记列表区域2. 笔记内容编辑区域3. 操作按钮区域 Qt Designer 界面设计步骤完整界面布局图各控件设置和属性Qt Designer 文件 (.ui) 数据库表结构SQL 表结构: 逻辑代码1. 项目结构2. Note 类 (Note.h 和 Note.c…...

图像生成工具WebUI
介绍 Stable Diffusion WebUI(AUTOMATIC1111,简称A1111)是一个为高级用户设计的图形用户界面(GUI),它提供了丰富的功能和灵活性,以满足复杂和高级的图像生成需求。如今各种人工智能满天飞&…...
排查常见的 MySQL性能问题
1. 查询速度慢:MySQL 数据库中最常见的性能问题之一是查询执行速度慢。缓慢的查询会增加等待时间和阻碍应用程序响应能力,从而显著影响用户体验。这些缓慢的查询可能由各种因素引起,例如缺少适当的索引、设计不佳的数据库架构、查询逻辑本身效…...

滑雪场管理系统
【毕业设计】基于SpringBoot Vue的滑雪场管理系统 摘要 随着信息化时代的快速发展,滑雪场作为冬季旅游的热门目的地,其管理效率和服务质量直接影响着游客的体验。为此,设计一个高效、安全、易用的滑雪场管理系统成为当务之急。本文详细阐述…...
西游记战力排名、笔记等
文章目录 战力排名对西游记的理解各个版本游戏题材西游记关卡和妖怪 西游记家喻户晓,没有谁不知道吧,无论是电视剧、影视,还是小说,乃至游戏,很多地方都有西游记的身影。 虽然知道,但总不如对三国啊、水浒啊…...

vue3 + js + vite创建的项目中配置svg图
安装 npm install vite-plugin-svg-icons npm install fast-globvite.config.js文件中配置如下内容 import { defineConfig } from vite import vue from vitejs/plugin-vue import { createSvgIconsPlugin } from vite-plugin-svg-icons import path from path export defau…...
c++ 找第一个只出现一次的字符
【题目描述】 给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。如果没有,输出no。 【输入】 一个字符串,长度小于100000。 【输出】 输出第一个仅出现一次的字符,若没有则输出no。 【输入样例】 abcabd【输出样…...

在 Unity 6 中使用APV为您的世界创建全局照明的新方法(一)
Unity 6 中推出的新照明功能让您能够更快速、更高效的完成对烘焙场景的照明工作,在本文中我们将与大家详细分享在 Unity 6 中应用自适应探针卷创建快速全局光照的更多细节与具体应用方法。由于内容比较丰富,我们将把内容分为三篇文章,以便大家…...

Win11安装安卓子系统WSA
文章目录 简介一、启用Hyper-V二、安装WSA三、安装APKAPK商店参考文献 简介 WSA:Windows Subsystem For Android 一、启用Hyper-V 控制面板 → 程序和功能 → 启用或关闭 Windows 功能 → 勾选 Hyper-V 二、安装WSA 进入 Microsoft Store,下拉框改为 …...
利用两种方式分别实现单例模式(懒汉式、饿汉式)
package testsingle;//实现单例的两种方式 public class TestMySingle {public static void main(String[] args) {ClassA ca1 ClassA.getClassA();ClassA ca2 ClassA.getClassA();System.out.println(ca1ca2);ClassB cb1 ClassB.getClassB();ClassB cb2 ClassB.getClassB(…...
js分页功能
先声明些全局变量方便我们在下面的代码中使用 //一页有多少条数据 let pagenum 10; //页码下标 let page_index 0; //总页数 let total_page; // 声明一个用于接数据的变量 let data; //获取数据 let res;通过获取数据渲染页面 // 渲染函数 function applys(da…...

Ubuntu20.04 编译运行 ORBSLAM2_with_pointcloud_map(以RGBD Orbbec Astra+为例)保姆级教程
Ubuntu20.04 编译运行 ORBSLAM2_with_pointcloud_map(以RGBD Orbbec Astra为例) 获取源码 git clone https://github.com/gaoxiang12/ORBSLAM2_with_pointcloud_map.git解压文件 得到如下内容 编译安装修改后的g2o cd g2o_with_orbslam2 mkdir build cd build cmake .. make…...
MyBatis(四)
第一章:MyBatis延迟加载策略 1. 延迟加载的概念 立即加载和延迟加载的区别,使用一对多的环境举例子。 立即加载:当前查询用户的时候,默认也把该用户所拥有的帐户信息查询出来了。 延迟加载:当前查询用户的时候&…...

【从零开始的LeetCode-算法】3285. 找到稳定山的下标
有 n 座山排成一列,每座山都有一个高度。给你一个整数数组 height ,其中 height[i] 表示第 i 座山的高度,再给你一个整数 threshold 。 对于下标不为 0 的一座山,如果它左侧相邻的山的高度 严格大于 threshold ,那么我…...

Docker常用命令总结~
1、关于镜像 获取镜像 docker pull [image name] [option:tag]AI助手//获取postgres镜像(没有设置镜像版本号则默认获取最新的,使用latest标记) docker pull postgres or docker pull postgres:11.14 列出本地镜像 docker imagesAI助手 指定镜像启动一个容…...

浅谈怎样系统的准备前端面试
前言 创业梦碎,回归现实,7 月底毅然裸辞,苦战两个月,拿到了美团和字节跳动的 offer,这算是从业以来第一次真正意义的面试,遇到蛮多问题,比如一开始具体的面试过程我都不懂,基本一直是…...

如何配置防火墙提高服务器安全性
配置防火墙是提高服务器安全性的重要措施之一。防火墙可以控制网络流量,限制未经授权的访问,防止恶意攻击。以下是配置防火墙以提高服务器安全性的详细指南。 一、为什么需要配置防火墙 防火墙的主要作用是: 限制未经授权的访问:…...
java集合-Map HashMap 源码解析
hashMap简介 HashMap是基于哈希表实现的,每一个元素是一个key-value对,无序,不可重复。HashMap是非线程安全的,只是用于单线程环境下,多线程环境下可以采用concurrent并发包下的concurrentHashMap。HashMap 实现了Ser…...

SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

stm32G473的flash模式是单bank还是双bank?
今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

HBuilderX安装(uni-app和小程序开发)
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...
聊一聊接口测试的意义有哪些?
目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...
Element Plus 表单(el-form)中关于正整数输入的校验规则
目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入(联动)2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...

3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...

蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...

分布式增量爬虫实现方案
之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...

SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)
上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...

网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...