写点什么

Flutter OHOS harmony_fluwx 集成微信服务(二)

作者:flfljh
  • 2024-12-16
    湖南
  • 本文字数:1235 字

    阅读完需:约 4 分钟

harmony_fluwx 集成微信服务(2)

fluwx 链接:https://gitee.com/almost777/fluwx

接入功能

  • 分享图片,文本,音乐,视频等。支持分享到会话,朋友圈以及收藏.

  • 微信支付.

  • 在微信登录时,获取 Auth Code.

  • 拉起小程序.

  • 订阅消息.

  • 打开微信.

  • 从微信标签打开应用

初始化

注册 WxAPI


registerWxApi(appId: "wxd930ea5d5a228f5f",universalLink: "https://your.univerallink.com/link/");
复制代码

登录

sendWeChatAuth的目的是为了获取 code,拿到了 code 才能进行微信登录,可以通过官方文档查看具体流程。


 sendWeChatAuth(scope: "snsapi_userinfo", state: "wechat_sdk_demo_test");
复制代码


为什么不支持获取用户信息?获取用户信息应该后端来做,即使没有后端,你也可以在 dart 层自己实现.

从 H5 启动 app

Fluwx 支持从<wx-open-launch-app>启动你的 app, 并且支持传递extInfo给你的 app.对于 Android 来说,你要在AndroidManifest.xml中给你的Activity加上一个标签:


   <intent-filter>   <action android:name="${applicationId}.FlutterActivity" />   <category android:name="android.intent.category.DEFAULT" />   </intent-filter><intent-filter><action android:name="android.intent.action.VIEW" /><category android:name="android.intent.category.DEFAULT" /><dataandroid:host="${applicationId}"android:path="/"android:scheme="wechatextmsg" /></intent-filter>
复制代码


与此同时,你还需要在需要在 application 中加上<meta-data>,把你的 appId 放进去:


<meta-dataandroid:name="weChatAppId"android:value="12345678" />
复制代码


如果你想把extInfo传给 Flutter, 你要在MainActivity加上如下代码:


  override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)//If you didn't configure WxAPI, add the following codeWXAPiHandler.setupWxApi("wxd930ea5d5a258f4f",this)//Get Ext-Info from Intent.FluwxRequestHandler.handleRequestInfoFromIntent(intent)}
复制代码


如果你想自定义你的调用逻辑, 你需要在 application 中加上<meta-data>:


<meta-dataandroid:name="handleWeChatRequestByFluwx"android:value="false" />
复制代码


然后, 自己实现 FluwxRequestHandler.customOnReqDelegate.

兼容 Android 11

请在你的应用的AndroidManifest.xml中添加以下 queries:


<queries><intent><action android:name="${applicationId}.FlutterActivity" /></intent><intent><action android:name="android.intent.action.VIEW" /><dataandroid:host="${applicationId}"android:path="/"android:scheme="wechatextmsg" /></intent></queries>
复制代码

IOS

请在你的AppDelegate中主动注册WXApi


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {//向微信注册[[FluwxDelegate defaultManager] registerWxAPI:@"" universalLink:@""];return YES;}
复制代码


如你想主动获取从网页传进来的值 ,请主动调用fluwx.getExtMsg()


用户头像

flfljh

关注

还未添加个人签名 2024-10-29 加入

还未添加个人简介

评论

发布
暂无评论
Flutter OHOS harmony_fluwx 集成微信服务(二)_flfljh_InfoQ写作社区