iOSウィーチャット支払いのフィードバックエラーReferenceError:Can't find variableとType Error:undefined is not a function

1590 ワード

機能:WeChat決済は原生で書いています.支払いが完了したら、元のスタッフに回調結果を送る必要があります.
原生がjsメソッドを呼び出す時、正常な書き方は?
//  
payResult:function(strings) {
    alert('  ');
}
//  
 mWebview.evaluateJavascript("javascript:payResult("+resCode+")", new ValueCallback() {
            @Override
            public void onReceiveValue(String value) {
                //    js      

            }
        });
//ios
 [self.webView evaluateJavaScript:[NSString stringWithFormat:@"payResult(resCode)"] completionHandler:^(id _Nullable item, NSError * _Nullable error) {
        NSLog(@"error:%@",error);
    }];
でも、役に立たないことが分かります.iosで間違いを報告します.見てみます.
Error Domain=WKErrorDomain Code=4 "   JavaScript   " UserInfo={WKJavaScriptExceptionLineNumber=0, WKJavaScriptExceptionMessage=TypeError: undefined is not a function, WKJavaScriptExceptionColumnNumber=0, NSLocalizedDescription=   JavaScript   }
もう一つの先端の書き方は方法を直接にscriptタグに書いて、次のようなエラーを報告します.
Error Domain=WKErrorDomain Code=4 "   JavaScript   " UserInfo={WKJavaScriptExceptionLineNumber=1, WKJavaScriptExceptionMessage=ReferenceError: Can't find variable: payResult
iosとAndroidの書き方は大丈夫です.そして、私達の先端はvue 2.0で書いています.vueでは方法を全体にアップロードする必要があります.正しい先端の書き方はmounted方法の中にwindow.payResult=this.payResultを追加して、それからいいです.
mounted() {
    window.payResult = this.payResult
},
methods: {
   payResult:function(strings) {
          alert('  ');
   }
}
他の問題があれば、メッセージを残してもいいです.