Giter Site home page Giter Site logo

dsbridge-harmonyos's People

Contributors

751496032 avatar fjc0k avatar name718 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

dsbridge-harmonyos's Issues

最新的1.3.0不支持api9吗?

错误如下:

hvigor ERROR: Failed :entry:default@MergeProfile...
hvigor ERROR: The compatibleSdkVersion 9 cannot be smaller than version 11 declared in library [:library]
as the library might be using APIS not available in 9

看起来像是只支持11以上的项目了

支持API命名空间

暂不支持API命名空间,后续会根据需求决定是否支持?
这个什么时候能支持,我们有这个需求,跟安卓一样的模式

异步回调缺少对对象的支持

    this.cHandler.complete(Object) //事变

export type Args = number | string | boolean
缺少Object支持,希望 改成export type Args = number | string | boolean |Object 对返回对象也进行支持
这里也改
export interface CallResult {
code: number,
data?: string | boolean | number| Object,
errMsg?: string,
async?: boolean,
}
目前我自己改了没问题。我的问题解决

call调用,希望能添加参数类型检测

比如 methodName 参数为 undefined, 会导致应用闪退。由于这个是h5页面调用的,无法保证传入参数一定正确,在处理参数前需要做一些必要的检测,减少h5页面对应用的影响。

通过JavaScriptInterface声明的方法应该如何同步所在页面组件状态

通过JavaScriptInterface声明的方法应该如何同步所在页面组件状态
如果通过javaScriptProxy或registerJavaScriptProxy来注册方法,示例:

import web_webview from '@ohos.web.webview';

interface ArkTSFunModel {
  jumpOrderConfirm: (detailStr: string) => void;
}

@Entry
@Component
struct WebComponent {
  webviewController: web_webview.WebviewController = new web_webview.WebviewController();
  hybridehChooseOptionDialog: CustomDialogController = new CustomDialogController({
    builder: HybridehChooseOptionDialog({
      onFirst:()=>{  },
      onSecond:()=>{
      }
    }),
    alignment: DialogAlignment.Bottom
  })
  // 声明需要注册的对象
  arkTSObj: ArkTSFunModel = {
    jumpOrderConfirm: (detailStr: string) => this.jumpOrderConfirm(detailStr)
  };

  jumpOrderConfirm(detailStr: string): void {
//
  }

  build() {
    Column() {
      // web组件加载本地index.html页面
      Web({ src: $rawfile('index.html'), controller: this.webviewController})
        // 将对象注入到web端
       .javaScriptProxy({
          object: this.arkTSObj,
          name: 'arkTSFunObj',
          methodList: ['jumpOrderConfirm'],
          controller: this.controller
        })
    }
  }
}

这样arkTSObj中实现的所有方法可以访问WebComponent 下的所有属性方法。
通过JavaScriptInterface声明的方法有什么好的办法做到同样的事呢? 脱离Component直接声明CustomDialogController并调用方法open试了下好像不行,没反应。

异步方法内有await就直接返回 undefined

大佬异步方法内有await就直接返回 undefined
很多方法都需要await 这边能够兼容么

1、正常返回
@JavaScriptInterface()
getInfo(args: string, handler: CompleteHandler) {
handler.complete('{"x":1}');
}

2、正常返回
@JavaScriptInterface()
async getInfo(args: string, handler: CompleteHandler) {
handler.complete('{"x":1}');
}

3、返回 undefined
@JavaScriptInterface()
async getInfo(args: string, handler: CompleteHandler) {
await new Promise(resolve => setTimeout(resolve, 100))
handler.complete('{"x":1}');
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.