Flutter微信分享小程序卡片时如何自定义参数?

在Flutter中实现微信分享小程序卡片时,遇到自定义参数的问题。使用官方插件fluwx进行分享,发现通过path传递的参数在微信客户端无法正确获取。具体表现为:

  1. 按照文档设置path: 'pages/index/index?foo=bar'格式,但小程序端接收时参数丢失
  2. 尝试过URL编码和base64处理参数,仍无效
  3. 安卓/iOS表现不一致,iOS完全无法获取

请问如何稳定地传递自定义参数?是否需要特定格式或额外配置?官方文档未明确说明此场景的处理方式。

3 回复

在Flutter中通过flutter_wechat插件实现微信分享小程序卡片时,可以通过shareMiniProgram方法自定义参数。首先,确保已配置好微信开放平台并绑定小程序。

  1. 初始化微信SDK。
  2. 调用shareMiniProgram,传入WeChatMiniProgramModel对象,设置path(小程序页面路径)和webpageUrl(网页地址,用于兼容非微信客户端)。
  3. WeChatMiniProgramModel中,通过extMsg字段添加自定义参数。该字段是一个字符串,微信不会解析它,但可以用于接收方处理。

例如:

final model = WeChatMiniProgramModel(
  appId: 'your-mini-program-app-id',
  path: 'pages/index/index?customParam=value',
  webPageUrl: '',
  miniProgramType: MiniProgramType.RELEASE, // 正式版
  extMsg: 'customData123', // 自定义数据
);
bool result = await FlutterWeChat.shareMiniProgram(model);

接收方通过onMenuShareAppMessage等事件获取extMsg值。

更多关于Flutter微信分享小程序卡片时如何自定义参数?的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在Flutter中通过flutter_wechat插件实现微信分享小程序卡片并自定义参数时,需构造SendMessageToWX.Req对象,并设置wxEntryPathextMsg字段。具体步骤如下:

  1. 初始化SendMessageToWX.Req对象。
  2. 设置text为分享的文本内容。
  3. 构造wxEntryPath为目标小程序路径,格式如pages/index/index?foo=bar
  4. extMsg中添加自定义JSON字符串,如{"key1":"value1", "key2":"value2"},用于传递额外参数。
  5. 调用api.sendReq(req)发送请求。

示例代码:

var req = WeChatShareMiniProgramModel();
req.text = "分享内容";
req.wxEntryPath = "/pages/index/index?foo=bar";
req.extMsg = '{"customKey":"customValue"}';
await api.shareMiniProgram(req);

注意:确保已正确配置微信开放平台及APPID。

在Flutter中实现微信分享小程序卡片并自定义参数,可以通过fluwx插件实现。以下是关键步骤和示例代码:

  1. 首先确保已配置好fluwx和微信开放平台相关配置

  2. 分享小程序卡片时自定义参数的代码示例:

import 'package:fluwx/fluwx.dart' as fluwx;

void shareMiniProgram() {
  fluwx.shareToWeChat(fluwx.WeChatShareMiniProgramModel(
    title: '小程序标题', 
    description: '描述内容',
    path: 'pages/index/index?foo=bar&key=value', // 自定义参数在这里
    userName: '原始ID', // 小程序原始ID
    thumb: 'assets/images/thumbnail.png', // 缩略图
    miniProgramType: fluwx.MiniProgramType.PREVIEW, // 类型:正式/预览/测试
  ));
}

关键点说明:

  • 自定义参数需要放在path参数中,格式为path?key=value
  • 微信小程序接收参数的方式与网页URL参数相同
  • 参数总长度不能超过128字节
  • 缩略图大小不能超过128KB

注意事项:

  1. 确保fluwx已初始化 (fluwx.registerWxApi)
  2. 安卓需要添加文件provider配置
  3. iOS需要在Info.plist中添加微信白名单

如需处理回调,可以监听fluwx_response事件流。

回到顶部