1、HarmonyOS Web不支持http请求,只支持https?
Web组件http请求失败,改成https是好的,是否可以通过配置打开http的请求
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的时候 输入全称搜不到,输入非全称反而可以搜到
当应用上架后在应用商店搜索全称却搜索不到时,可能有以下几个原因:
- 应用名称不正确:确保 在应用商店搜索的全称与应用上架时使用的名称一致。如果应用名称在上架后发生了更改,搜索结果可能不准确。
- 应用包名问题:如果在其他应用商店搜索应用,请确保输入的应用包名与其他应用商店中的包名一致。例如,com.huawei.appmarket。
- 应用上架时间:应用上架后可能需要一定时间才能在应用商店中搜索到。请确保应用已经上架足够长的时间。
- 应用商店搜索算法:应用商店的搜索算法可能会根据不同的关键词进行排序和过滤。建议使用应用的全称或关键词进行搜索,以增加搜索结果的准确性。
- 应用质量和排名:应用的质量和排名也会影响搜索结果。如果应用的质量不高或排名较低,可能会导致搜索不到。建议优化应用的关键词、描述和其他信息,以提高应用的搜索曝光率。
- 关键词匹配:确保 使用的关键词与应用的名称、描述等信息匹配。搜索引擎会根据关键词的匹配度进行排序,关键词匹配度越高,搜索结果越准确。
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 })
}
}