Fluwx:微信SDK在Flutter上的實現

前言

隨着 Flutter愈來愈火熱,我相信愈來愈多的小夥伴都躍躍欲試。可是一個很重要的問題是,不少第三方 SDK,如微信SDK,都沒法在Flutter上直接使用。因此,我這幾天開發了一個微信SDK的插件,但願可以必定程度上幫助到你們。android

Fluwx要作什麼

  • 分享
  • 登陸
  • 支付

這是Fluwx的目標。如今Fluwx仍在開發階段,android分享部分已經完成,ios部分還在持續開發。若是你想也成爲Fluwx的開發者,能夠給我留言。ios

須要準備的

使用Fluwx以前,強烈建議先閱讀微信SDK官方文檔, 這有助於你使用FluwxFluwx的api字段名稱基本和官方的字段名稱是一致的。git

引入

pubspec.yaml文件中添加以下代碼:github

dependencies:
 fluwx: ^0.0.1
複製代碼

初始化

Fluwx.registerApp(RegisterModel(appId: "your app id", doOnAndroid: true, doOnIOS: true));
複製代碼
  • appId:在微信平臺申請的appId。
  • doOnAndroid:是否在android平臺上執行此操做。
  • doOnIOS:是否在平臺上執行此操做。 每個字段都是非必須的,可是若是不傳appId或doOnAndroid: false或者doOnIOS: false,請務必在對應平臺手動註冊WXApi,以保證 Fluwx正常工做。 註冊完成後,請在對應平臺添加以下代碼: 在Android上:
FluwxShareHandler.setWXApi(wxapi)
複製代碼

在iOS上:web

isWeChatRegistered = YES;
複製代碼

你也能夠取消註冊你的app。objective-c

Fluwx.unregisterApp(RegisterModel(doOnAndroid: true, doOnIOS: true));
複製代碼
注意:儘管能夠經過Fluwx完成微信註冊,但一些操做依然須要在對應平臺進行設置,如配置iOS的URLSchema等。
複製代碼

開始分享

以分享文本和網址爲例:小程序

var fluwx = Fluwx();
  fluwx.share(WeChatShareImageModel(image: "imagePath",thumbnail: "thumbanailPath"));
  fluwx.share(
              WeChatShareWebPageModel(
              webPage: "https://github.com/JarvanMo/fluwx",
              title: "Fluwx",
              thumbnail: "http://d.hiphotos.baidu.com/image/h%3D300/sign=1057e22c6ed9f2d33f1122ef99ee8a53/3bf33a87e950352aadfff8c55f43fbf2b3118b65.jpg",
              )).then((result){
               },
               onError: (msg){
               });
複製代碼

fluwx.share(WeChatShareModel)目前僅支持系統內WeChatShareModel的子類,不支持自定義。 全部字段名字和官方文檔基本是一致的。api

圖片處理

圖片僅支持pngjpg。 目前全部須要圖片的地方支持網絡圖片及assets圖片。
使用assets圖片須要添加assets://
也能夠在assets圖片添加?package=package_name以讀取指定包的圖片。
將來可能支持file://
若是不指定schema或者schema錯誤,將會被處理爲網絡圖片,請謹慎。
微信

注意

全部涉及縮略的最好給Fluwx一個合格的圖片(小於32k,小程序小於120k),不然Fluwx將會對圖片進行處理,這樣作的結果可能並非你所預期的,如縮略圖被裁剪。網絡

Fluwx傳送門 歡迎加入OpenFlutter交流羣:892398530.

相關文章
相關標籤/搜索