【每日学点鸿蒙知识】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 })

  }
}
相关推荐
明远湖之鱼20 分钟前
一种基于 Service Worker 的渐进式渲染方案的基本原理
前端
前端小端长1 小时前
Vue 中 keep-alive 组件的原理与实践详解
前端·vue.js·spring
FeelTouch Labs1 小时前
Nginx核心架构设计
运维·前端·nginx
雪球工程师团队1 小时前
别再“苦力”写后台,Spec Coding “跑” 起来
前端·ai编程
m0_471199632 小时前
【场景】前端怎么解决离线收银、数据同步异常等场景问题
前端·javascript
Curvatureflight2 小时前
前端性能优化实战:从3秒到300ms的加载速度提升
前端·人工智能·性能优化
用户99045017780092 小时前
ruoyi集成dmn规则引擎
前端
袋鱼不重2 小时前
AI入门知识点:什么是 AIGC、多模态、RAG、Function Call、Agent、MCP?
前端·aigc·ai编程
NuLL2 小时前
空值检测工具函数-统一规范且允许自定义配置的空值检测方案
前端
栀秋6662 小时前
“无重复字符的最长子串”:从O(n²)哈希优化到滑动窗口封神,再到DP降维打击!
前端·javascript·算法