• Fluwx:微信SDK在Flutter上的实现


    前言

    随着 Flutter越来越火热,我相信越来越多的小伙伴都跃跃欲试。但是一个很重要的问题是,很多第三方
    SDK,如微信SDK,都无法在Flutter上直接使用。所以,我这几天开发了一个微信SDK的插件,希望能够一定程度上帮助到大家。

    Fluwx要做什么

    • 分享
    • 登录
    • 支付

    这是Fluwx的目标。现在Fluwx仍在开发阶段,android分享部分已经完成,ios部分还在持续开发。如果你想也成为Fluwx的开发者,可以给我留言。

    需要准备的

    使用Fluwx之前,强烈建议先阅读微信SDK官方文档
    这有助于你使用FluwxFluwx的api字段名称基本和官方的字段名称是一致的。

    引入

    pubspec.yaml文件中添加如下代码:

    1.  
      dependencies:
    2.  
      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上:

    isWeChatRegistered = YES;
    

    你也可以取消注册你的app。

    Fluwx.unregisterApp(RegisterModel(doOnAndroid: true, doOnIOS: true));
    
    注意:尽管可以通过Fluwx完成微信注册,但一些操作依然需要在对应平台进行设置,如配置iOS的URLSchema等。
    

    开始分享

    以分享文本和网址为例:

    1.  
      var fluwx = Fluwx();
    2.  
      fluwx.share(WeChatShareImageModel(image: "imagePath",thumbnail: "thumbanailPath"));
    3.  
      fluwx.share(
    4.  
      WeChatShareWebPageModel(
    5.  
      webPage: "https://github.com/JarvanMo/fluwx",
    6.  
      title: "Fluwx",
    7.  
      thumbnail: "http://d.hiphotos.baidu.com/image/h%3D300/sign=1057e22c6ed9f2d33f1122ef99ee8a53/3bf33a87e950352aadfff8c55f43fbf2b3118b65.jpg",
    8.  
      )).then((result){
    9.  
      },
    10.  
      onError: (msg){
    11.  
      });

    fluwx.share(WeChatShareModel)目前仅支持系统内WeChatShareModel的子类,不支持自定义。
    所有字段名字和官方文档基本是一致的。

    图片处理

    图片仅支持pngjpg
    目前所有需要图片的地方支持网络图片及assets图片。</br>
    使用assets图片需要添加assets://。</br>
    也可以在assets图片添加?package=package_name以读取指定包的图片。</br>
    未来可能支持file://。</br>
    如果不指定schema或者schema错误,将会被处理为网络图片,请谨慎。</br>

    注意

    所有涉及缩略的最好给Fluwx一个合格的图片(小于32k,小程序小于120k),否则Fluwx将会对图片进行处理,这样做的结果可能并不是你所预期的,如缩略图被裁剪。

  • 相关阅读:
    linux php.ini又一次载入问题
    String、StringBuilder、 StringBuffer 深入分析 源代码解析
    hdu 4902 Nice boat(线段树区间改动,输出终于序列)
    鸿雁电器oa系统中决策支持模块效果
    POJ3321:Apple Tree(树状数组)
    ASP.NET六大巨头——内置对象(1)
    insmod hello.ko -1 Invalid module format最简单的解决的方法
    poj
    iOS项目开发实战——制作视图的缩放动画
    读配置文件能够保持顺序的 Java Properties 类
  • 原文地址:https://www.cnblogs.com/zxh1919/p/12564605.html
Copyright © 2020-2023  润新知