Fluwx:微信SDK在Flutter上的实现
前言
随着 Flutter越来越火热,我相信越来越多的小伙伴都跃跃欲试。但是一个很重要的问题是,很多第三方
SDK,如微信SDK,都无法在Flutter上直接使用。所以,我这几天开发了一个微信SDK的插件,希望能够一定程度上帮助到大家。
Fluwx要做什么
- 分享
- 登录
- 支付
这是Fluwx的目标。现在Fluwx仍在开发阶段,android分享部分已经完成,ios部分还在持续开发。如果你想也成为Fluwx的开发者,可以给我留言。
需要准备的
使用Fluwx
之前,强烈建议先阅读微信SDK官方文档,
这有助于你使用Fluwx
。Fluwx
的api字段名称基本和官方的字段名称是一致的。
引入
在pubspec.yaml
文件中添加如下代码:
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上:
isWeChatRegistered = YES;
你也可以取消注册你的app。
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
的子类,不支持自定义。
所有字段名字和官方文档基本是一致的。
图片处理
图片仅支持png
和jpg
。
目前所有需要图片的地方支持网络图片及assets图片。</br>
使用assets图片需要添加assets://
。</br>
也可以在assets图片添加?package=package_name
以读取指定包的图片。</br>
未来可能支持file://
。</br>
如果不指定schema或者schema错误,将会被处理为网络图片,请谨慎。</br>
注意
所有涉及缩略的最好给Fluwx一个合格的图片(小于32k,小程序小于120k),否则Fluwx将会对图片进行处理,这样做的结果可能并不是你所预期的,如缩略图被裁剪。
项目传送门

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
一个对复用view下滑动流畅度优化,图片和内存处理,稳定性都非常强大的android开源框架(beyondPhysics)
github开源地址https://github.com/xihuan22d/BeyondPhysics 你的收藏是作者前进的动力哦,欢迎在github留星哦, 欢迎阿里的大牛们给予宝贵的意见... 框架demo下载地址: http://47.97.113.47:4126/apks/beyondPhysics.apk 相比其他开源框架的优点: 1.对第三方库无依赖,统一普通请求、图片请求三级缓存(支持gif)、下载、断点下载、上传请求,使得开发的软件不再是各种不同来源的开源框架糅合而成(网络框架,图片框架等等,可减少不必要的性能开销和缩小apk体积,开发一般的android软件apk可以很容易的控制在3m到4m之间),且这5类请求是以继承和泛型方式实现的,从而使得可以被进一步继承达到自定义 2.使用其他开源框架不曾设想过的特殊请求分发处理架构,请求核心处理层使用LinkedHasMap替代BlockingQueue完成队列,使得请求可以被更良好的移除和管理(这样可以非常方便的立即移除无效请求和实现相同图片请求key的请求回调等),当然为了解决LinkedHasMap的缺陷,可以选择启用...
- 下一篇
Android中的设计模式之解释器模式
参考 《设计模式:可复用面向对象软件的基础 》5.3 Interpreter 解释器 类行为型模式 《Android源码设计模式解析与实战》第10章 化繁为简的翻译机--解释器模式 意图 给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器适用该表示来解释语言中的句子。 适用场景 当有一个语言需要解释执行,并且你可将该语言中的句子表示为一个抽象语法树时,可使用解释器模式。而当存在以下情况时该模式效果最好: 该文法简单对于复杂的文法,文法的类层次变得庞大而又无法管理。 效率不是一个关键问题最高效的解释器通常不是通过直接解释语法分析树实现的,而是首先将它们转换为另一种形式。 非终结符号与终止符号 例: S ::= abA*ef A ::= cd 符号“::=”表示推导;符号“*”表示闭包,意思就是符号A可以有0或有N个重复;S和A称为非终结符号,因为他们能推导出式子右边的表达式,同时又因为整个推导式是从S出发的,因此,这个S也称为初始符号;而abef和cd这些字符不能再被推导我们称之为终结符号。 结构 interpreterPattern AbstractExpression...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,CentOS7官方镜像安装Oracle11G
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS关闭SELinux安全模块
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2全家桶,快速入门学习开发网站教程