Giter Site home page Giter Site logo

openflutter / fluwx Goto Github PK

View Code? Open in Web Editor NEW
3.0K 58.0 498.0 53.47 MB

Flutter版微信SDK.WeChat SDK for flutter.

License: Apache License 2.0

Ruby 4.70% Dart 40.07% Kotlin 21.94% Dockerfile 0.39% Objective-C 31.34% Java 0.84% HTML 0.72%
flutter wxsdk wechatsdk wechat

fluwx's Introduction

Fluwx

pub package Build status

logo

中文请移步此处

What's Fluwx

Fluwx is flutter plugin for WeChatSDK which allows developers to call
WeChatSDK native APIs.

Join QQ Group now: 1003811176

QQGroup

Capability

  • Share images, texts, music and so on to WeChat, including session, favorite and timeline.
  • Payment with WeChat.
  • Get auth code before you login in with WeChat.
  • Launch mini program in WeChat.
  • Subscribe Message.
  • Just open WeChat app.
  • Launch app From wechat link.

Preparation

Migrate to V4 now

Breaking changes :Fluwx won't request permission(WRITE_EXTERNAL_STORAGE) since 4.5.0. That means you will need to handle permission when sharing images, if FileProvider is not supported.

Fluwx is good but not God. You'd better read official documents before integrating Fluwx. Then you'll understand how to generate Android signature, what's universal link for iOS, how to add URL schema for iOS and so on.

Install

Add the following dependencies in your pubspec.yaml file:

Fluwx with pay:

dependencies:
  fluwx: ^${latestVersion}

pub package

Fluwx without pay:

Developers who need to exclude payment for iOS can enable no_pay in pubspec.yaml.

NOTE: Never forget to replace ^${latestVersion} with actual version.

Configurations

Fluwx enables multiple configurations in the section fluwx of pubspec.yaml from v4, you can reference pubspec.yaml for more details.

For iOS, some configurations, such as url_scheme,universal_link, LSApplicationQueriesSchemes, can be configured by fluwx, what you need to do is to fill configurations in pubspec.yaml

  • app_id. Recommend. It'll be used to generate scheme on iOS。This is not used to init WeChat SDK so you still need to call fluwx.registerApi manually.
  • debug_logging. Optional. Enable logs by setting it true.
  • flutter_activity. Optional. This is usually used by cold boot from WeChat on Android. Fluwx will try to launch launcher activity if not set.
  • universal_link. Recommend for iOS. It'll be used to generate universal link on your projects.
  • scene_delegate. Optional. Use AppDelegate or SceneDelegate. See official documents for more details.
  • For iOS If you are failing cannot load such file -- plist on iOS, please do the following steps:
# step.1 install missing dependencies
sudo gem install plist
# step.2 enter iOS folder(example/ios/,ios/)
cd example/ios/
# step.3 execute
pod install

Register WxAPI

Register your app via fluwx if necessary.

Fluwx fluwx = Fluwx();
fluwx.registerApi(appId: "wxd930ea5d5a228f5f",universalLink: "https://your.univerallink.com/link/");

The param universalLink only works with iOS. You can read this document to learn how to create universalLink. You can also learn how to add URL schema, how to add LSApplicationQueriesSchemes in your iOS project. This is essential.

For Android, you shall know to how generate signature for your app in this page. And you have to understand the difference between debug signature and release signature. Once the signature is incorrect, then you'll get errCode = -1.

It' better to register your API as early as possible.

Capability Document

For more capabilities, you can read the public functions of fluwx.

QA

These questions maybe help

Donate

Buy the writer a cup of coffee。

Subscribe Us On WeChat

subscribe

Star history

stars

LICENSE

Copyright 2023 OpenFlutter Project

Licensed to the Apache Software Foundation (ASF) under one or more contributor
license agreements.  See the NOTICE file distributed with this work for
additional information regarding copyright ownership.  The ASF licenses this
file to you under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License.  You may obtain a copy of
the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
License for the specific language governing permissions and limitations under
the License.

fluwx's People

Contributors

39251474 avatar 9527001 avatar alexv525 avatar asynclog avatar caijinglong avatar charleyzhu avatar chen412115 avatar davidyang1121 avatar jackliu-gulu avatar jarvanmo avatar jerryzhoujw avatar jobn123 avatar keepgagaga avatar lichfy avatar lopo12123 avatar mafanwei avatar mrspicetea avatar naivetoby avatar nelson1110 avatar oheroj avatar read0nly avatar sunpulun avatar tvolkert avatar unclexiao avatar vampiregain avatar weoil avatar wtdu avatar yintaibing avatar yumi0629 avatar zhangruiyu 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  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  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

fluwx's Issues

微信"确认登录"后无反应,isWeChatInstalled一直是false

Hi,遇到2个问题,都是在iPhone真机测试,麻烦确认下

  1. sendAuth后可以跳转到微信,但在微信里点击 确认登录 后 没有返回app,也没有任何返回值
// not callback
fluwx.responseFromAuth.listen((data) {
    print(data);
});
  1. isWeChatInstalled一直是false,确认安装了微信
fluwx.isWeChatInstalled().then((data){
      print(data); // always false
 });

IOS上和ShareSDK-For-Flutter插件冲突了,怎么解决冲突?

同时集成了 sharesdk 和 fluwx(微信支付插件),结果他们都有libwechatsdk.a。。。然后运行flutter run 就会报

target has libraries with conflicting names libwechatsdk.a

我在网上找到的解决方案是删除 libwechatsdk.a 文件,但是运行后又会报错提示没找到 libwechatsdk.a

请问该如何解决这个冲突?

请问ios端插件怎么开发

xcode只能启动example下的ios项目,根目录里的class通过pod引用?具体怎么能再xcode中编辑class中的文件呢,没有ios端开发经验,如果没有xcode直接编辑class,有点困难

如果没有安装微信,微信登录不了,导致iOS审核失败

以下,是iOS审核批复:

Guideline 4.2.3 - Design - Minimum Functionality

We were required to install the WeChat app before we could log in via WeChat . Users should be able to log in with WeChat and access their accounts without having to install any additional apps.

Next Steps

If you would like to offer authentication through WeChat , please use a mechanism that allows users to log in with WeChat from within your app without first having to install an additional app.

We recommend implementing the Safari View Controller API to display web content within your app. The Safari View Controller allows the display of a URL and inspection of the certificate from an embedded browser in an app so that customers can verify the webpage URL and SSL certificate to confirm they are entering their sign in credentials into a legitimate page.

Resources

For additional information on the Safari View Controller API, please review the What's New in Safari webpage.

Please see attached screenshot for details.

fluwx.isWeChatInstalled()一直为false

fluwx.isWeChatInstalled().then((installed){
print('install: ${installed}');
bool flag = installed ?? false;
if (flag) {
PayManager().payConfig(_auth, _checkinID, _isAlipay ? 'alipay' : 'wxpay',
_money.toString(), 'recharge', costData, null);
} else {
AppShare().showMessage('该设备暂未安装微信客户端~');
}
});
一直检测不到手机安装了微信 何解?

授权以后没有response

用的是example的运行。没有改过任何信息。

是不是哪里有错误,但是因为我手机问题看不到报错过程。

微信分享怎么没反应

接入SDK后,点击微信分享没反应,日志:

10-12 12:02:59.064 10292-10292/com.turing D/MicroMsg.SDK.WXMsgImplComm: ignore wechat app signature validation
10-12 12:02:59.066 10292-10292/com.turing D/MicroMsg.SDK.WXMsgImplComm: ignore wechat app signature validation
10-12 12:02:59.067 10292-10292/com.turing I/MicroMsg.SDK.WXApiImplV10: sendReq, req type = 2
10-12 12:02:59.070 10292-10292/com.turing D/MicroMsg.SDK.MMessageAct: send, targetPkgName = com.tencent.mm, targetClassName = com.tencent.mm.plugin.base.stub.WXEntryActivity
10-12 12:02:59.079 10292-10292/com.turing D/MicroMsg.SDK.MMessageAct: send mm message, intent=Intent { flg=0x18000000 cmp=com.tencent.mm/.plugin.base.stub.WXEntryActivity (has extras) }
10-12 12:03:00.432 10292-10292/com.turing I/MicroMsg.SDK.WXApiImplV10: handleIntent, cmd = 2

微信登录

android提示:包名不正确,检查了包名确实没问题啊

iOS构建时包路径问题

20180903221651

20180903221720

  • 每次flutter packages get后都会报这个路径问题,我都是手动把路径改好,不知道是不是个例。

求助,用户登录授权后获取不到响应信息

安卓平台,用您 exmaple 下的 包名,keystore 和 appid 是可以的。

当换成我自己的 包名,keystore,和 appid 后,点击登录能跳转到微信登录界面,但是用户点击授权登录后,在代码里获取不到响应信息,使用 onErr 回掉也捕获不到报错信息。

不知道哪里出错了,没有报错信息,fluwx 的分享倒是能用,登录也能跳到微信授权界面,但是获取不到响应信息。

我在微信开放平台里面已经开通微信登录了。

不知道差了哪一步。

求助,感谢。

ios 使用问题 wechat not installed

完整代码:

import 'package:flutter/material.dart';
import 'package:fluwx/fluwx.dart';
void main() => runApp(new MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      home: new MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => new _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  Fluwx fluwx;
  @override
  void initState() {
    super.initState();
    Fluwx.register(appId: 'wxaf***a8471d***',doOnIOS: true,doOnAndroid: true,enableMTA: false);
    fluwx = Fluwx();
  }

  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      appBar: new AppBar(
        title: new Text('testFluwx'),
      ),
      body: new Center(
        child: new Column(          
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[            
            RaisedButton(onPressed: (){
              fluwx.share(
                  WeChatShareTextModel(
                  text: "text from fluwx",
                  transaction: "transaction",
                  scene: WeChatScene.SESSION
                )
              );
            },child: Text('share'),)
          ],
        ),
      ),      
    );
  }
}

异常信息:

[VERBOSE-2:shell.cc(181)] Dart Error: Unhandled exception:
**PlatformException(wechat not installed, wechat not installed, null)**
#0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:551:7)
#1      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:279:18)
<asynchronous suspension>
#2      Fluwx.share (package:fluwx/src/fluwx_class.dart:91:29)
<asynchronous suspension>
#3      _MyHomePageState.build.<anonymous closure> (file:///Users/yxfmlbb/AndroidStudioProjects/flutter_testfluwx/lib/main.dart:39:21)
#4      _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:507:14)
#5      _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:562:30)
#6      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:102:24)
#7      TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:242:9)
#8      TapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:175:7)
#9      PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:315:9)
#10     PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:73:12)
#11     PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:101:11)
#12     _WidgetsFlutterBinding&BindingBase&GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:143:19)
#13     _WidgetsFlutterBinding&BindingBase&GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:121:22)
#14     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:101:7)
#15     _WidgetsFlutterBinding&BindingBase&GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:64:7)
#16     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:48:7)
#17     _invoke1 (dart:ui/hooks.dart:153:13)
#18     _dispatchPointerDataPacket (dart:ui/hooks.dart:107:5)

请指教,感谢!
创建工程时没有勾选swift 和 kotlin
IOS 真机运行

分像图片时,不传thumbnail或者传空,app崩溃

fluwx版本号:0.1.8
复现方式,example下,share_image_page.dart,98行,不传thumbnail或者传空。
错误堆栈:

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.graphics.Bitmap.setHasAlpha(boolean)' on a null object reference at android.graphics.Bitmap.createBitmap(Bitmap.java:835) at android.graphics.Bitmap.createBitmap(Bitmap.java:808) at android.graphics.Bitmap.createBitmap(Bitmap.java:739) at android.graphics.Bitmap.createScaledBitmap(Bitmap.java:615) at com.jarvan.fluwx.utils.ThumbnailCompressUtil.createScaledBitmap(ThumbnailCompressUtil.java:163) at com.jarvan.fluwx.utils.WeChatThumbnailUtil.createScaledBitmapWithRatio(WeChatThumbnailUtil.java:132) at com.jarvan.fluwx.utils.WeChatThumbnailUtil.compress(WeChatThumbnailUtil.java:120) at com.jarvan.fluwx.utils.WeChatThumbnailUtil.thumbnailForCommon(WeChatThumbnailUtil.java:97) at com.jarvan.fluwx.handler.FluwxShareHandler$getThumbnailByteArrayCommon$2.doResume(FluwxShareHandler.kt:157)

发起支付以后直接退出了程序

用的是您支付的范例代码。 我点击支付以后就崩溃了。

          Fluwx fluwx = new Fluwx();
          fluwx.pay(
            WeChatPayModel(
              appId: 'wxd930ea5d5a258f4f',
              partnerId: '1900000109',
              prepayId: '1101000000140415649af9fc314aa427',
              packageValue: 'Sign=WXPay',
              nonceStr: '1101000000140429eb40476f8896f4c9',
              timeStamp: '1398746574',
              sign: '7FFECB600D7157C5AA49810D2D8F28BC2811827B',
            ),
          );

转型错误

fluwx/ios/Classes/handler/FluwxPaymentHandler.m 30行
原 UInt32 timeStamp = (UInt32) call.arguments[@"timeStamp"];
会转型错误,是否应该采用
UInt32 timeStamp = [call.arguments[@"timeStamp"] unsignedIntValue];

IOS编译错误:No such module 'fluwx'

`
enbodeMac:flutter_app wenbo$ flutter run
Launching lib/main.dart on iPhone XR in debug mode...
Running pod install... 1.0s
CocoaPods' output:

Preparing

Analyzing dependencies

Inspecting targets to integrate
  Using `ARCHS` setting to build architectures of target `Pods-Runner`: (``)

Fetching external sources
-> Fetching podspec for `Flutter` from `.symlinks/flutter/ios`
-> Fetching podspec for `flutter_alipay` from `.symlinks/plugins/flutter_alipay/ios`
-> Fetching podspec for `flutter_picker` from `.symlinks/plugins/flutter_picker/ios`
-> Fetching podspec for `flutter_webview_plugin` from
`.symlinks/plugins/flutter_webview_plugin/ios`
-> Fetching podspec for `fluttertoast` from `.symlinks/plugins/fluttertoast/ios`
-> Fetching podspec for `fluwx` from `.symlinks/plugins/fluwx/ios`
-> Fetching podspec for `path_provider` from `.symlinks/plugins/path_provider/ios`
-> Fetching podspec for `photo_manager` from `.symlinks/plugins/photo_manager/ios`
-> Fetching podspec for `shared_preferences` from
`.symlinks/plugins/shared_preferences/ios`
-> Fetching podspec for `url_launcher` from `.symlinks/plugins/url_launcher/ios`

Resolving dependencies of `Podfile`

Comparing resolved specification to the sandbox manifest
  A AliPay
  A Flutter
  A flutter_alipay
  A flutter_picker
  A flutter_webview_plugin
  A fluttertoast
  A fluwx
  A path_provider
  A photo_manager
  A shared_preferences
  A url_launcher

Downloading dependencies

-> Installing AliPay (2.1.2)
  > Copying AliPay from
  `/Users/wenbo/Library/Caches/CocoaPods/Pods/Release/AliPay/2.1.2-2bd35` to
  `Pods/AliPay`

-> Installing Flutter (1.0.0)

-> Installing flutter_alipay (0.0.1)

-> Installing flutter_picker (0.0.1)

-> Installing flutter_webview_plugin (0.0.1)

-> Installing fluttertoast (0.0.2)

-> Installing fluwx (0.0.1)

-> Installing path_provider (0.0.1)

-> Installing photo_manager (0.0.1)

-> Installing shared_preferences (0.0.1)

-> Installing url_launcher (0.0.1)
  - Running pre install hooks
[!] The 'Pods-Runner' target has transitive dependencies that include static binaries:
(/Users/wenbo/Downloads/flutter_app/ios/Pods/AliPay/AlipaySDK.framework)

/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.0.beta.2/lib/cocoapods/installer/xcode/tar
get_validator.rb:81:in `block (2 levels) in
verify_no_static_framework_transitive_dependencies'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.0.beta.2/lib/cocoapods/installer/xcode/tar
get_validator.rb:73:in `each'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.0.beta.2/lib/cocoapods/installer/xcode/tar
get_validator.rb:73:in `block in verify_no_static_framework_transitive_dependencies'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.0.beta.2/lib/cocoapods/installer/xcode/tar
get_validator.rb:70:in `each'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.0.beta.2/lib/cocoapods/installer/xcode/tar
get_validator.rb:70:in `verify_no_static_framework_transitive_dependencies'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.0.beta.2/lib/cocoapods/installer/xcode/tar
get_validator.rb:36:in `validate!'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.0.beta.2/lib/cocoapods/installer.rb:459:in
`validate_targets'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.0.beta.2/lib/cocoapods/installer.rb:138:in
`install!'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.0.beta.2/lib/cocoapods/command/install.rb:
48:in `run'
/Library/Ruby/Gems/2.3.0/gems/claide-1.0.2/lib/claide/command.rb:334:in `run'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.0.beta.2/lib/cocoapods/command.rb:52:in
`run'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.0.beta.2/bin/pod:55:in `<top (required)>'
/usr/local/bin/pod:22:in `load'
/usr/local/bin/pod:22:in `<main>'

Error output from CocoaPods:

[!] Automatically assigning platform `ios` with version `8.0` on target `Runner`
because no platform was specified. Please specify a platform for this target in your
Podfile. See `https://guides.cocoapods.org/syntax/podfile.html#platform`.

Error running pod install
Error launching application on iPhone XR.
`

Android 支付没有唤起微信客户端,但返回结果为 true,iOS 报异常“PlatformException(wechat not installed, wechat not installed, null)”。

Code

        final result = await fluwx.pay(
          appId: trade['appid'] as String,
          partnerId: trade['mch_id'] as String,
          prepayId: trade['prepay_id'] as String,
          packageValue: 'Sign=WXPay',
          nonceStr: trade['nonce_str'] as String,
          timeStamp: (DateTime.now().millisecondsSinceEpoch / 1000).floor(),
          sign: trade['sign'] as String,
        );
        TblFactory().getLogger('wechat').fine(result);

具体参数值见下面的日志里。

Log

Android:

I/flutter (12431): TBLSERV 2018-10-26T16:36:00.423 FINE    request: GET /pay/wechat/trade {orderId: 51}
I/flutter (12431): TBLSERV 2018-10-26T16:36:01.345 FINE    response: 200 {code: 0, message: , data: {trade: {appid: wxe1a7f5b2cf4d029b, attach: , code_url: , mch_id: 1517478831, mweb_url: , nonce_str: vF44Qzurrw39LW8Q, prepay_id: wx26163602136841f0d079597f0564687436, result_code: SUCCESS, return_code: SUCCESS, return_msg: OK, sign: 0651D2EFC734C39629AEC106B4855CCC, trade_type: APP}}}
D/MicroMsg.SDK.WXMsgImplComm(12431): ignore wechat app signature validation
I/MicroMsg.SDK.WXApiImplV10(12431): sendReq, req type = 5
D/MicroMsg.SDK.MMessageAct(12431): send, targetPkgName = com.tencent.mm, targetClassName = com.tencent.mm.plugin.base.stub.WXPayEntryActivity
I/Timeline(12431): Timeline: Activity_launch_request time:370466278
D/MicroMsg.SDK.MMessageAct(12431): send mm message, intent=Intent { flg=0x18000000 cmp=com.tencent.mm/.plugin.base.stub.WXPayEntryActivity (has extras) }
I/flutter (12431): WECHAT  2018-10-26T16:36:01.417 FINE    {platform: android, result: true}
I/MicroMsg.SDK.WXApiImplV10(12431): handleIntent, cmd = 5
E/tag     (12431): heeeeee

iOS:

[VERBOSE-2:shell.cc(181)] Dart Error: Unhandled exception:
PlatformException(wechat not installed, wechat not installed, null)
#0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:551:7)
#1      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:279:18)
<asynchronous suspension>
#2      pay (package:fluwx/src/fluwx_iml.dart:160:25)
<asynchronous suspension>
#3      _BodyState._payByWechat.<anonymous closure> (file:///Users/jagger/projects/tangbole/app/lib/components/shop/order_screen.dart:110:30)
<asynchronous suspension>
#4      payWechatAppTradeParamsActionCreator.<anonymous closure> (file:///Users/jagger/projects/tangbole/app/lib/actions/pay.dart:42:41)
<asynchronous suspension>
#5      thunkMiddleware (package:redux_thunk/redux_thunk.dart:45:11)
#6      Store._createDispatchers.<anonymous closure> (package:redux/src/store.dart:238:43)
#7      LoggingMiddleware.call (package:redux_logging/redux_logging.dart:120:9)
#8      Store._createDispatchers.<anonymous closure> (package:redux/src/store.dart:238:43)
#9      Store.dispatch (package:redux/src/store.dart:250:20)
#10     _BodyState._payByWechat (file:///Users/jagger/projects/tangbole/app/lib/components/shop/order_screen.dart:107:18)
#11     _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:507:14)
#12     _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:562:30)
#13     GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:102:24)
#14     TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:242:9)
#15     TapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:175:7)
#16     PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:315:9)
#17     PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:73:12)
#18     PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:101:11)
#19     _WidgetsFlutterBinding&BindingBase&GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:143:19)
#20     _WidgetsFlutterBinding&BindingBase&GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:121:22)
#21     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:101:7)
#22     _WidgetsFlutterBinding&BindingBase&GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:64:7)
#23     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:48:7)
#24     _invoke1 (dart:ui/hooks.dart:153:13)
#25     _dispatchPointerDataPacket (dart:ui/hooks.dart:107:5)

您好,IOS版微信登录发起请求后,进入了一个空白界面

IOS系统中,微信分享和微信支付都可以,但是IOS版的微信登录发起请求后,会进入一个空白界面,只有左上角有一个完成按钮

fluwx版本是0.5.1
flutter版本是0.10.2
手机是 iphone 6

空白界面图片
我用的您的 fluwx 下的 example,但是微信ID是我自己的。
我在我自己的项目中也试过了,都是同样的情况。

请问关于iOS插件目录下 fluwx.podspec 文件相关的问题

问题一:在fluwx.podspec文件中 ,您写的 s.preserve_paths = 'Lib/.a' 与 s.vendored_libraries = "**/.a" 有什么区别呢 ?是一样都指向的的路径 ios-Lib-libWeChatSDK.a 这个文件的嘛 ?

问题二:请问要是我除了libWeChatSDK.a 之外还有其他多个的.a或者.framework文件,这个时候我要在fluwx.podspec文件中如何编辑呢 ?

关于图片分享问题

我现在想实现分享一个截图功能。
目前只能先将截图生成image,然后上传到服务器返回URL,在调用fluwx分享这个图片的URL,一套流程下来处理太慢了,有什么简便的方式直接分享本地图片吗?

Flutter build apk error

E:\androidProject\buso>Flutter build apk
Running "flutter packages get" in buso... 0.8s
Initializing gradle... 2.5s
Resolving dependencies... 16.9s
Gradle task 'assembleRelease'...

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':app:lintVitalRelease'.

Could not resolve all artifacts for configuration ':app:dynamicProfileRuntimeClasspath'.
Could not resolve project :fluwx.
Required by:
project :app
> java.lang.NullPointerException (no error message)
在dev 0.10.2版本上

ios handleLaunchMiniProgram build error

  • (void)handleLaunchMiniProgram:(FlutterMethodCall *)call result:(FlutterResult)result {
    NSString *userName = call.arguments[@"userName"];
    NSString *path = call.arguments[@"path"];
    WXMiniProgramType *miniProgramType = (call.arguments[@"miniProgramType"]

    [WXApiRequestHandler launchMiniProgramWithUserName:userName
    path:path
    type:miniProgramType;
    }

给指导下!!

配置完 public class WXEntryActivity extends FluwxWXEntryActivity{}运行项目报这个错误
Finished with error: FormatException: Bad UTF-8 encoding 0xb4 (at offset 156)

怎么苹果和安卓的返回值是完全不同类型的?

这个包包很不错,我用起来很方便。但是,安卓和ios返回的值不同,例如我调用fluwx.launchMiniProgram这个方法,安卓返回的是一个bool,苹果返回的是一个键值对。能不能统一统一呢。

请问需要改 android 包中的内容吗?

大佬您好,我照着你的 example ,把 android 整个复制到我的项目里面了,但是我把 debug.keystore 改成我自己的 keystore 后就不好使了。
请问能写一下配置的过程吗。
感谢。

使用期间遇到问题,请指正

  • ResponseType好像与Dio插件中的命名冲突

  • iOS集成后分享方式无效,三种类型调用后都是分享到对话,是我哪里配置不对吗?

listen多次调用

每次打开页面listen被多次赋值?导致之前的listen 也被调用,打开过多少次就有多少个listen被调用,Stream需要在dispose注销掉?
官方例子也有这个问题,请处理

ios运行不了

    Resolving dependencies of `Podfile`
    [!] CocoaPods could not find compatible versions for pod "fluwx":
      In Podfile:
        fluwx (from `.symlinks/plugins/fluwx/ios`)
    
    Specs satisfying the `fluwx (from `.symlinks/plugins/fluwx/ios`)` dependency were found, but they required a higher minimum deployment target.

fluwx.register used failed

_initFluwx() async { await fluwx.register( appId: "xxxxxxxxxxxx", doOnAndroid: true, doOnIOS: true, enableMTA: false); var result = await fluwx.isWeChatInstalled(); print("is installed $result"); }

printed is installed false.

图片传url地址时,创建文件失败

java.io.IOException: open failed: ENOENT (No such file or directory)

W/System.err(29211): java.io.IOException: open failed: ENOENT (No such file or directory)
W/System.err(29211): 	at java.io.File.createNewFile(File.java:939)
W/System.err(29211): 	at java.io.File.createTempFile(File.java:1004)
W/System.err(29211): 	at java.io.File.createTempFile(File.java:961)
W/System.err(29211): 	at com.jarvan.fluwx.utils.WeChatThumbnailUtil.downloadImage(WeChatThumbnailUtil.java:234)
W/System.err(29211): 	at com.jarvan.fluwx.utils.WeChatThumbnailUtil.thumbnailForCommon(WeChatThumbnailUtil.java:95)
W/System.err(29211): 	at com.jarvan.fluwx.handler.FluwxShareHandler$getThumbnailByteArrayCommon$2.doResume(FluwxShareHandler.kt:157)
W/System.err(29211): 	at kotlin.coroutines.experimental.jvm.internal.CoroutineImpl.resume(CoroutineImpl.kt:42)
W/System.err(29211): 	at kotlinx.coroutines.experimental.DispatchedTask$DefaultImpls.run(Dispatched.kt:150)
W/System.err(29211): 	at kotlinx.coroutines.experimental.DispatchedContinuation.run(Dispatched.kt:14)
W/System.err(29211): 	at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1388)
W/System.err(29211): 	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:251)
W/System.err(29211): 	at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:845)
W/System.err(29211): 	at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1674)
W/System.err(29211): 	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1629)
W/System.err(29211): 	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:108)
W/System.err(29211): Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory)
W/System.err(29211): 	at libcore.io.Posix.open(Native Method)
W/System.err(29211): 	at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)
W/System.err(29211): 	at java.io.File.createNewFile(File.java:932)
W/System.err(29211): 	... 14 more

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.