【每日学点鸿蒙知识】Web请求支持Http、PDF展示、APP上架应用搜索问题、APP备案不通过问题、滚动列表问题

1、HarmonyOS Web不支持http请求,只支持https?

Web组件http请求失败,改成https是好的,是否可以通过配置打开http的请求

参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-web-V5#mixedmode

mixedMode(mixedMode: MixedMode)设置是否允许加载超文本传输协议(HTTP)和超文本传输安全协议(HTTPS)混合内容,默认不允许加载HTTP和HTTPS混合内容。

2、HarmonyOS 自定义View中展示PDF,并调用自定义View中的一些接口方法?

刷新界面,获取当前页码,获取文档总页数,获取文PDF档上的手写数据,跳页(跳转到文档的某页)

目前的思路是定义一个struct DJContentView,但是在DJContentView中定义一些方法,外层页面中无法调用定义的这些方法(比如点页面顶部的跳页按钮,怎么才能调用DJContentView中定义的gotoPage(page)方法)

可以定义一个controller类,在controller类中定义和子组件中类型相同的方法,在子组件中将实际封装的方法给到controller。父组件在使用时,new一个controller对象然后转入子类中,在父组件中调用controller对应的方法即可。参考代码:

复制代码
@Component
struct Child {
  @State private text: string = '初始值'
  private controller: ChildController = new ChildController();

  aboutToAppear() {
    if(this.controller) {
      //给controller对应的方法赋值
      this.controller.changeText = this.changeText
    }
  }

  //封装的能力
  private changeText = (value: string) =>{
    this.text = value
  }

  build() {
    Column() {
      Text(this.text)
    }
  }
}

//定义controller对象
class ChildController {
  changeText = (value: string) => {}
}

@Entry
@Component
struct Parent {
  private ChildRef = new ChildController()
  build() {
    Column() {
      Text('调用Child的changeText').fontSize('18vp').fontColor(Color.Gray)
      Divider()
      Child({ controller:this. ChildRef })
      Button('Parent调用childer的changeText').onClick(() => {
        this.ChildRef.changeText('Parent调用childer的changeText')
      })
    }
    .justifyContent(FlexAlign.Center)
    .width("100%")
    .height("100%")
  }
}
3、HarmonyOS app上架后,在应用商店搜索全称,搜索不到?

刚把app上架到华为市场,但是发现 在华为应用商店搜索我们app的时候 输入全称搜不到,输入非全称反而可以搜到

当应用上架后在应用商店搜索全称却搜索不到时,可能有以下几个原因:

  1. 应用名称不正确:确保 在应用商店搜索的全称与应用上架时使用的名称一致。如果应用名称在上架后发生了更改,搜索结果可能不准确。
  2. 应用包名问题:如果在其他应用商店搜索应用,请确保输入的应用包名与其他应用商店中的包名一致。例如,com.huawei.appmarket。
  3. 应用上架时间:应用上架后可能需要一定时间才能在应用商店中搜索到。请确保应用已经上架足够长的时间。
  4. 应用商店搜索算法:应用商店的搜索算法可能会根据不同的关键词进行排序和过滤。建议使用应用的全称或关键词进行搜索,以增加搜索结果的准确性。
  5. 应用质量和排名:应用的质量和排名也会影响搜索结果。如果应用的质量不高或排名较低,可能会导致搜索不到。建议优化应用的关键词、描述和其他信息,以提高应用的搜索曝光率。
  6. 关键词匹配:确保 使用的关键词与应用的名称、描述等信息匹配。搜索引擎会根据关键词的匹配度进行排序,关键词匹配度越高,搜索结果越准确。
4、HarmonyOS 上架提审被拒,app备案不通过?

参考此文档查看公钥和签名指纹是否正确:https://developer.huawei.com/consumer/cn/forum/topic/0207134216696042133

5、HarmonyOS 滚动列表问题?

页面有两个列表,在滚动一个列表的时候另一个列表需要跟着同时滚动,碰到的问题是进入页面之后,滑动一个列表时另一个列表可以跟着滚动,反过来就不行了(滚动有延迟)。

参考demo:

复制代码
@Entry
@Component
struct ListDragTest {
  @State arr: string[] = [];
  private leftListScroller: ListScroller = new ListScroller()
  private rightListScroller: ListScroller = new ListScroller()

  aboutToAppear() {
    for (let i = 1; i <= 15; i++) {
      this.arr.push("item_" + i);
    }
  }
  @Builder textItem(content: string) {
    Text(content)
      .width('100%')
      .height(150)
      .textAlign(TextAlign.Center)
  }
  build() {
    Row() {
      List({ space: 10, scroller: this.leftListScroller }) {
        ForEach(this.arr, (item: string) => {
          ListItem() {
            this.textItem(item)
          }
        })
      }
      .onScrollFrameBegin((offset: number, state: ScrollState) => {
        this.rightListScroller.scrollBy(0, offset)
        return {offsetRemain: offset}
      })
      .layoutWeight(1)
      .height('100%')
      List({ space: 10, scroller: this.rightListScroller }) {
        ForEach(this.arr, (item: string) => {
          ListItem() {
            this.textItem(item)
          }
        })
      }
      .onScrollFrameBegin((offset: number, state: ScrollState) => {
        this.leftListScroller.scrollBy(0, offset)
        return {offsetRemain: offset}
      })
      .layoutWeight(1)
      .height('100%')
    }.width('100%').margin({ top: 5 })

  }
}
相关推荐
文刀竹肃17 小时前
DVWA -SQL Injection-通关教程-完结
前端·数据库·sql·安全·网络安全·oracle
LYFlied17 小时前
【每日算法】LeetCode 84. 柱状图中最大的矩形
前端·算法·leetcode·面试·职场和发展
Bigger17 小时前
Tauri(21)——窗口缩放后的”失焦惊魂”,游戏控制权丢失了
前端·macos·app
深海的鲸同学 luvi17 小时前
【HarmonyOS】个性化应用图标动态切换详解
华为·harmonyos
Bigger17 小时前
Tauri (20)——为什么 NSPanel 窗口不能用官方 API 全屏?
前端·macos·app
bug总结17 小时前
前端开发中为什么要使用 URL().origin 提取接口根地址
开发语言·前端·javascript·vue.js·html
一招定胜负18 小时前
网络爬虫(第三部)
前端·javascript·爬虫
奔跑的露西ly18 小时前
【HarmonyOS NEXT】ohpm 安装依赖失败(@finclip 包找不到)问题复盘与解决方案
华为·harmonyos
Shaneyxs18 小时前
从 0 到 1 实现CloudBase云开发 + 低代码全栈开发活动管理小程序(13)
前端
余生H18 小时前
时光小铺鸿蒙商城上架全复盘 - 鸿蒙2025领航者闯关.成长升级路
华为·harmonyos·鸿蒙2025领航者闯关