如何实现一个验证码弹窗子窗口

如何实现一个验证码弹窗子窗口

HarmonyOS
2024-08-07 09:03:31
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
在攒六便士
// WindowModel.ets
createSubWindow() {
  if (this.windowStage === undefined) {
    Logger.error('Failed to create the subWindow.');
    return;
  }
  // 创建子窗口
  this.windowStage.createSubWindow(CommonConstants.SUB_WINDOW_NAME, (err, data: window.Window) => {
    if (err.code) {
      Logger.error(`Failed to create the window. Code:${err.code}, message:${err.message}`);
      return;
    }
    // 获取子窗口实例
    this.subWindowClass = data;
    // 获取屏幕宽高
    let screenWidth = display.getDefaultDisplaySync().width;
    let screenHeight = display.getDefaultDisplaySync().height;
    // 根据子窗口宽高比计算子窗口宽高
    let windowWidth = screenWidth * CommonConstants.SUB_WINDOW_WIDTH_RATIO;
    let windowHeight = windowWidth / CommonConstants.SUB_WINDOW_ASPECT_RATIO;
    // 计算子窗口起始坐标
    let moveX = (screenWidth - windowWidth) / 2;
    let moveY = screenHeight - windowHeight;
    // 将子窗口移动到起始坐标处
    this.subWindowClass.moveWindowTo(moveX, moveY, (err) => {
      if (err.code) {
        Logger.error(`Failed to move the window. Code:${err.code}, message:${err.message}`);
        return;
      }
    });
    // 设置子窗口的宽高
    this.subWindowClass.resize(windowWidth, windowHeight, (err) => {
      if (err.code) {
        Logger.error(`Failed to change the window size. Code:${err.code}, message:${err.message}`);
        return;
      }
    });
    // 设置子窗口展示的页面内容
    this.subWindowClass.setUIContent(CommonConstants.VERIFY_PAGE_URL, (err) => {
      if (err.code) {
        Logger.error(`Failed to load the content. Code:${err.code}, message:${err.message}`);
        return;
      }
      if (this.subWindowClass === undefined) {
        Logger.error('subWindowClass is undefined.');
        return;
      }
      // 设置子窗口背景颜色
      this.subWindowClass.setWindowBackgroundColor('#00000000');
      // 显示子窗口
      this.subWindowClass.showWindow((err) => {
        if (err.code) {
          Logger.error(`Failed to show the window. Code:${err.code}, essage:${err.message}`);
          return;
        }
      });
    });
   });
}
分享
微博
QQ
微信
回复
2024-08-07 11:10:07
相关问题
HarmonyOS 如何实现滑动验证码功能
424浏览 • 1回复 待解决
前端验证码配合后端的实现思路?
3356浏览 • 1回复 待解决
密码或验证码登录页面完整代码
1431浏览 • 1回复 待解决
ArkTS如何实现一个底部弹窗
651浏览 • 1回复 待解决
如何实现一个页面显示子窗口
555浏览 • 1回复 待解决
如何实现一个带动画的弹窗
409浏览 • 1回复 待解决
如何在全局实现一个自定义dialog弹窗
2720浏览 • 1回复 待解决
如何生成一个可以交互的移动子窗口
821浏览 • 1回复 待解决
销毁一个窗口的方法
315浏览 • 1回复 待解决
如何实现一个折叠组件
893浏览 • 1回复 待解决
如何快速开发出一个自定义弹窗
291浏览 • 1回复 待解决
如何实现一个下拉菜单?
527浏览 • 1回复 待解决
HarmonyOS 如何实现一个转圈效果
569浏览 • 2回复 待解决
HarmonyOS 如何实现一个遮罩层
311浏览 • 1回复 待解决
HarmonyOS 如何实现一个气泡聊天框
288浏览 • 1回复 待解决