写了一个 harmony next app 开发demo

华为鸿蒙项目(api11) 具体包含功能如下:

1、网络请求的基础封装(基于axios);

基于 @ohos/axios 实现了网络拦截器,网络解析等功能,封装项目页面多状态(加载中,成功,失败,空数据);

2、全局loading实现

原生的 toast 并不好用,通过添加子窗口的形式,通过事件线或者直接调用

javascript 复制代码
/**
 * 通过创建子窗口来显示Loading弹窗
 */
static createLoadingWindow(stage: window.WindowStage) {
  stage?.createSubWindow('loading_window').then(async win => {
    // 设置子窗口显示的页面
    await win.setUIContent('pages/LoadingPage')
    let d = display.getDefaultDisplaySync()
    let windowClass = stage.getMainWindowSync()
    let area = windowClass.getWindowAvoidArea(window.AvoidAreaType.TYPE_SYSTEM);
    // 调整子窗口大小,需剔除状态栏和导航栏高度,否则显示内容不居中
    await win.resize(d.width, d.height - area.topRect.height - area.bottomRect.height)
    // 设置半透明效果
    win.setWindowBackgroundColor('#00000000')
  })
}

/**
 * 销毁子窗口来
 */
static async destroyLoadingWindow() {
  let windowClass: window.Window | undefined = undefined;
  try {
    windowClass = window.findWindow('loading_window');
    await windowClass.destroyWindow()
  } catch (_) {

  }
}


/**
 * 显示loading子窗口
 * @param stage stage
 */
static async showLoadingWindow() {
  let windowClass: window.Window | undefined = undefined;
  try {
    windowClass = window.findWindow('loading_window');
    await windowClass.showWindow()
  } catch (exception) {

  }

}

/**
 * 关闭loading子窗口
 * @param stage stage
 */
static async closeLoadingWindow() {
  let windowClass: window.Window | undefined = undefined;
  try {
    windowClass = window.findWindow('loading_window');
    await windowClass.minimize();
  } catch (_) {

  }
}

3、存储工具/权限工具/json,视频播放器封装工具等

4、日历封装可以左右切换/上下切换

具体实现可见 github.com/lijiee/harm...

通过 flutter 鸿蒙分支的 flutter 鸿蒙化地址 github.com/lijiee/flut...

相关推荐
贾伟康2 小时前
【健康菜谱助手|01】HarmonyOS ArkTS 菜谱详情页实战:组织食材、营养、步骤和收藏状态
软件测试·移动开发·harmonyos·arkts·arkui
一目Leizi9 小时前
折叠屏适配踩坑实录:从“一展开就变形“到一套代码适配多种形态【鸿蒙心迹】
华为·harmonyos
马剑威(威哥爱编程)10 小时前
【HarmonyOS 7 小艺智能体实战】03:第一次建智能体——在小艺开放平台把骨架立起来
人工智能·华为·harmonyos
KevinChaos11 小时前
HarmonyOS 7.0 端侧3DGS实验⑤:空洞、漂浮伪影与视角稳定
harmonyos
fellow9911 小时前
DSH Desktop - HarmonyOS Edition
harmonyos·openharmony·deepseek·deepseekharness
鸿蒙开发11 小时前
鸿蒙表单异步校验实战:@hmkit/validator 1.3 的取消、超时与任务清理
harmonyos
Flutter_OH11 小时前
Flutter OHOS 核心对象架构原理说明
harmonyos
贾伟康12 小时前
【健康菜谱助手|04】HarmonyOS ArkTS 一周膳食计划实战:管理日期、餐次与菜谱替换的联动
软件测试·移动开发·harmonyos·arkts·arkui·1024程序员节
贾伟康13 小时前
【健康菜谱助手|02】HarmonyOS ArkTS 烹饪步骤实战:把分步操作、完成状态和返回恢复做稳
软件测试·移动开发·harmonyos·arkts·arkui