帖子
帖子
用户
博客
课程
显示全部楼层
143
帖子
2
勋章
4万+
Y币

案例-如何获取单据的打印预览的pdf文件

[复制链接]
发表于 2024-2-20 15:17:23
一、说明

目前平台提供了接口可以获取如上图pdf文件的fileId,但不是开放平台api,三方无法调用,只能在ys单据的前端脚本中获取。获取fileId后,可以使用附件相关的api获取预览链接或下载链接。

二、前端脚本示例
viewModel.get('button25nj').on('click', (args) => {
  let id = viewModel.get('id').getValue();
  const proxy = viewModel.setProxy({
    getPdf: {
      //https://c3.yonyoucloud.com 替换为自己租户实际的域名
      url: 'https://c3.yonyoucloud.com/iuap-apcom-print/external/file/print',
      method: 'POST',
      options: {
        mask: false,
      },
    },
  });

  let params = {
    keepAlive: false,
    printParam: {
      meta: '5',
      printTaskParam: [
        {
          templateCode: 'u8c1705114955000',
          domainParams: {
            billno: 'printBill',
            printcountswitch: true,
            printrefreshinterval: 1000,
            context_path: '/mdf-node/uniform',
            ids: [id],
          },
        },
      ],
    },
  };
  // 调用
  proxy.getPdf(params, function (data) {
    console.log('success', data);

    let fileId = JSON.parse(data.data).fileId;
    //调用文件服务的jsapi获取下载链接
    window.YYCooperationBridge.YYGetDownloadUrlV2({
      fileId: fileId,
      extraParams: {},
    }).then((data) => {
      //这里获取到下载链接
      console.log(data);
    });
  });
});

三、参数说明
templateCode:打印模板编码,如下图获取

billno:打印的单据编码

ids:打印的单据的主键id
四、响应结果

{
    "code": 1,
    "message": "success",
    "data": "{\"baseName\":\"23b3f168-147b-4066-bc0a-79f357a491cb\",\"downloadUrl\":\"iuap-apcom-file-public/iuap-apcom-file/a2dvwyc8/2024022014/99f81964-ee24-4730-8a52-c48c7df6867e.pdf\",\"extension\":\".pdf\",\"fileId\":\"65d44d4a70cd9e2184af9f3a\",\"filePath\":\"iuap-apcom-file-public/iuap-apcom-file/a2dvwyc8/2024022014/99f81964-ee24-4730-8a52-c48c7df6867e.pdf\",\"md5Hex\":\"8757099eaf0f47a97044facfafa476c9\",\"name\":\"23b3f168-147b-4066-bc0a-79f357a491cb.pdf\",\"size\":34241}",
    "extra": null
}
从上面的data中获取fileId,然后再使用附件相关的jsapi获取下载链接



本帖子中包含更多资源,您需要 登录 才可以下载或查看,没有帐号?立即注册

X
22
帖子
2
勋章
1634
Y币
很有用,谢谢老师分享
您需要登录后才可以回帖 登录

本版积分规则