flutter微信登錄與支付(一)

首先抱怨一下sharesdk這個三方,上個kottlin版的項目是使用sharesdk的,然後本想着flutter版也要sharesdk的,結果到集成的時候,各種調用不起來,把flutter版的demo跑了起來也是出現調用不起來的情況,測試手機:華爲7,榮耀還是唱響?,我的P10也是不行,後面因爲急着上線iOS就耽擱了一個禮拜。

今天又抽空把微信登錄做了一遍,算了還是用原生的寫,索性的用了網上的fluwx,感覺還可以,還集成了微信支付在裏面。

直接上步驟:

項目地址:

https://github.com/OpenFlutter/fluwx

直接在https://pub.dev/上搜索:fluwx

配置:

flutter中的yaml文件中進行配置:

  fluwx: ^1.0.4
初始化:

main.dart中進行初始化操作,儘可能早的初始化

    await fluwx.register(
        appId: "wxxxxxxxxxxxxx",
        doOnAndroid: true,
        doOnIOS: true,
        enableMTA: false);
    var result = await fluwx.isWeChatInstalled();
  • 記得填寫你的appId
登錄頁進行

例如在login.dart中


  String _result = "無";
  
  
  @override
  void initState() {
    super.initState();
    fluwx.responseFromAuth.listen((data) {
      if (mounted) {
      }
      // 這裏返回結果,errCode=1爲微信用戶授權成功的標誌,其他看微信官方開發文檔
      setState(() {
        _result = "initState ======   ${data.errCode}  --- ${data.code}";
        int errCode = data.errCode;
        if (errCode == Constant.WECHAT_SUCCESS) {
          String code = data.code;
          print('code  $code');
          getWeChatAccessToken(code);
        }else {
          Util.showToast("${data.code}");
        }
        print('aaaa ====== >   $_result');
      });
    });
  }

  @override
  void dispose() {
    super.dispose();
    _result = null;
  }


// 某個按鈕觸發的操作
  void _weChatLogin(){
    fluwx.sendAuth(
        scope: "snsapi_userinfo", state: "wechat_sdk_demo_test")
        .then((data) {
          setState(() {
          });
    }).catchError((e){print('weChatLogin  e  $e');});
  }

到這裏我們就已經將微信登錄的操作完成了,這裏我們只獲取到微信登錄裏的code,我們可以通過這個code去請求access_tokenopen_id,再通過access_token獲取到微信用戶信息等。


更多資源請訪問:

超詳細圖文搭建個人免費博客

關注「蛇崽網盤教程資源」公衆號 ,在微信後臺回覆「領取資源」,獲取IT資源200G乾貨大全。

在微信後臺回覆「130個小程序」,即可免費領取享有導入就能跑的微信小程序

在微信後臺回覆「Flutter移動電商」,即可免費領取Flutter移動電商系列全套
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章