1.9.0 • Published 9 months ago

@xhyyfe/wxmp-sdk v1.9.0

Weekly downloads
-
License
-
Repository
-
Last release
9 months ago

小猴云印微应用接入文档

一、安装

安装小猴云印微应用 sdk

npm install @xhyyfe/wxmp-sdk

二、配置

小程序配置

域名相关配置请联系我们!

三、接入

通过小程序 webview 组件进入微应用。

代码参考示例:

<!-- .wxml -->
<web-view src="{{url}}" bindmessage="onmessage"></web-view>
// js
import Xhyy from "@xhyyfe/wxmp-sdk";

let xhyy;
let resolver;

Page({
  data: {
    url: "",
  },
  onLoad() {
    xhyy = new Xhyy({
      // 当前小程序appid
      appid: "xxx",
      // 指定环境 test | production
      env: "test",
      // 1.9.0版本后废弃
      version: "1.0.0",
      // 首页标题 可选 默认值"小猴云印"
      title: "xxx",
      // 首页banner图 可选 数组每一项为图片链接
      banner: ["xxx", "xxx"],
      // 主题配置 可选 json配置文件url
      theme: "https://xxx.com/theme.json",
    });

    // 当微应用页面发生跳转会触发entry回调
    xhyy.entry((url) => this.setData({ url }));

    // 事件监听委派
    // 若传入相应事件将覆盖微应用本身默认行为,可在事件处理函数中自定义处理
    xhyy.on({
      // 支付成功事件:result.orderId(订单ID)
      "pay-success": (result) => console.log(result),
      // 支付失败事件: error(失败原因) result.orderId(订单ID) result.isCancel(是否为用户取消支付)
      "pay-fail": (error, result) => console.log(error, result),
    });

    // 访问页面
    xhyy.access({
      // 从服务端接口获取授权码 详细说明见"授权"
      // 首次进入必传,授权成功后在一定时间内后续访问页面可不传
      code: "xxx",
      // 渠道id 可选
      channelId: "xxx",
      // 指定进入的页面(名称)
      // 目前支持直跳页面有:
      // files(文件列表),orders(订单列表),order(订单详情),address(地址列表),
      // price(价格列表),problem(常见问题),protocol(隐私协议)
      // pay-success(支付成功),pay-fail(支付失败)
      // zip(压缩包上传打印)
      to: "files",
      // 通过对象形式传递,只有以下列出页面支持页面参数
      to: {
        // 订单列表
        name: "orders",
        params: {
          // 控制进入时,初始tab所在位置
          status_type: "pay", // ''(全部)  pay(待付款)  print(待打印)  express(待收货)  succ(已完成)  reissue(退款/售后)
        },
      },
      to: {
        // 订单详情
        name: "order",
        params: {
          // 订单号
          orderId: "xxx",
        },
      },
      to: {
        // 文件列表
        name: "files",
        params: {
          // 带入需要打印的文件,files(对象数组类型) name(带后缀文件名) url(文件链接)
          files: [{ name: "xxx.pdf", url: "https://xxx.com/xxx.pdf" }],
        },
      },
      to: {
        // 支付成功
        name: "pay-success",
        params: {
          // 订单号
          orderId: "xxx",
        },
      },
      to: {
        // 支付失败
        name: "pay-fail",
        params: {
          // 订单号 可选
          orderId: "xxx",
        },
      },
      to: {
        // 压缩包上传打印
        name: "zip",
        params: {
          // 带后缀文件名
          name: "xxx",
          // 文件链接(支持.zip, .rar, .7z)
          url: "xxx",
        },
      },
    });

    // 创建微应用消息解析器
    resolver = xhyy.createResolver();
  },
  onmessage(event) {
    resolver(event);
  },
});

注:此示例以简单方式实现,实际可将 xhyy 实例对象从单独模块导出,在 webview 页面导入使用。

注:此示例以微信小程序原生代码实现,如用框架或其他编译技术实现,可遇到不兼容问题,可采用混编方式。

四、授权

接入方实现

  1. 接入方需实现生成"code"的接口,作为授权获取用户信息的凭证。
  2. 接入方需实现授权接口,应用方通过"code"凭证调用授权接口获取用户信息。用户信息需包含以下字段:
字段名字段类型长度限制是否必填字段说明
errcodeint错误码,0 表示正确,其他错误码自定义
errmsgstring错误消息自定义
appidstring25小程序 appid
openidstring100用户 openid
mobilestring15用户手机号
nicknamestring25用户昵称
avatarstring255用户头像图片链接

注:在进入微应用前需提前获取以上必填字段相关信息。

1.9.0

9 months ago

1.8.0

1 year ago

1.7.0

1 year ago

1.6.2

2 years ago

1.6.0

2 years ago

1.4.2

2 years ago

1.5.0

2 years ago

1.4.1

2 years ago

1.4.0

2 years ago

1.3.0

2 years ago

1.2.0

2 years ago

1.1.0

2 years ago

1.0.0

2 years ago

0.7.0

2 years ago

0.6.1

2 years ago

0.6.0

2 years ago

0.5.0

2 years ago

0.4.0

2 years ago

0.3.0

2 years ago

0.2.0

2 years ago

0.1.0

2 years ago