Taro,前端如何对接微信物流查询插件

taro小程序开发 对接微信物流查询组件(一切的基础在于 后台配置了这个插件)

一、在app.config.ts中进行配置

由于插件的使用可能导致打包体积过大,采取分包加载的形式,将插件写入要使用的包中

export default defineAppConfig({
  pages: [
    'pages/home/default/index', 
    'pages/tab1/default/index', 
    'pages/tab2/default/index', 
    'pages/tab3/index', 
  ],
  subpackages: [
    {
      root: 'packageA',
      name: 'packageA',
      pages: [
        'project/index', 
        'project/video-play', 
      ],
    },
    {
      root: 'packageB',
      name: 'packageB',
      pages: [
        'address/index', 
        'address/addAddress/index', 
      ],
      // 添加插件需要授权使用
      plugins: {
        logisticsPlugin: {
          version: '2.2.19',
          provider: 'wx9ad912bf20548d92',
        },
      },
    },
  ],
  window: {
    backgroundTextStyle: 'light',
    navigationBarBackgroundColor: '#fff',
    navigationBarTitleText: 'xxxxxxxxx',
    navigationBarTextStyle: 'black',
  },
  tabBar: {
    position: 'bottom',
    selectedColor: '#44CBB4',
    borderStyle: 'black',
    list: [
      {
        pagePath: 'picUrl',
        text: '首页',
        iconPath: 'picUrl',
        selectedIconPath: 'picUrl',
      },
      {
        pagePath: 'picUrl',
        text: 'tab2',
        iconPath: 'picUrl',
        selectedIconPath: 'picUrl',
      },
      {
        pagePath: 'picUrl',
        text: 'tab3',
        iconPath: 'picUrl',
        selectedIconPath: 'picUrl',
      },
      {
        pagePath: 'picUrl',
        text: 'tab4',
        iconPath: 'picUrl',
        selectedIconPath: 'picUrl',
      },
    ],
  },

});

二、常见错误

在app.config.ts注册插件之后,再次运行yarn dev:weapp运行项目可能会遇到一些错误

TypeError: Function.prototype.apply was called on WeakMap.prototype.get, which is a string and not a function

解决这个错误 安装qs指定版本即可

yarn add qs@6.9.6  / npm install qs@6.9.6  安装qs指定版本依赖包

三、使用

  import Taro, { requirePlugin } from '@tarojs/taro';
    const plugin = requirePlugin('logisticsPlugin');

  //此接口由后端提供
  const goLogistics = async (id) => {
    const { data } = await getDeliver({
      id: id, //订单id
      appid: '传入自己的appid',
    });
    const { waybill_token } = JSON.parse(data);
    // 物流插件
    plugin.openWaybillTracking({
      waybillToken: waybill_token,
    });
  };

ps: 物流查询插件只能查询通过微信支付的订单

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Taro.js是一种支持多个小程序平台开发的框架,它提供了一种简洁、高效的方式来创建微信小程序。在Taro.js中,我们可以使用城市选择列表组件来方便地实现城市选择功能。 微信小程序城市选择列表是指用户可以在小程序中选择所在城市的功能。使用Taro.js开发微信小程序时,我们可以通过调用微信小程序提供的定位功能,获取用户所在位置的经纬度信息。然后,我们可以将经纬度信息传递给城市选择列表组件,让用户选择所在城市。 城市选择列表通常包括省份和城市两级下拉菜单。当用户选择省份时,城市列表会动态更新为该省份对应的城市列表。用户可以通过滚动或搜索的方式,在城市列表中选择目标城市。用户选择完成后,我们可以将所选择的城市信息传递给后端服务器,进行进一步的处理。 在Taro.js中,我们可以使用类似以下的代码来实现城市选择列表: ``` import { View, Picker } from '@tarojs/components' const cities = { 北京: ['北京市'], 上海: ['上海市'], 广东: ['广州市', '深圳市', '珠海市', '东莞市'], ... } export default class CitySelector extends Component { state = { province: '', city: '', } handleProvinceChange = e => { const province = e.detail.value const city = cities[province][0] this.setState({ province, city }) } handleCityChange = e => { const city = e.detail.value this.setState({ city }) } render() { const { province, city } = this.state return ( <View> <Picker mode='selector' range={Object.keys(cities)} onChange={this.handleProvinceChange}> <View>{province || '请选择省份'}</View> </Picker> <Picker mode='selector' range={cities[province]} onChange={this.handleCityChange}> <View>{city || '请选择城市'}</View> </Picker> </View> ) } } ``` 以上代码中,我们定义了一个城市选择列表组件`CitySelector`,其中使用了`Picker`组件来实现下拉选择功能。`cities`对象存储了各省份对应的城市列表。当用户选择省份时,触发`handleProvinceChange`函数,在城市列表中显示对应省份的城市。当用户选择城市时,触发`handleCityChange`函数,更新城市信息。最终,用户选择的省份和城市会保存在`state`中,方便后续的数据处理和传递。 通过这样的方式,我们可以在Taro.js微信小程序中实现城市选择列表的功能。希望这个回答能对你有所帮助。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值