0

上次我们为 JS SDK 导入最新代码时,Adobe 更改了他们的 GitHub。它曾经有预先生成的浏览器特定的 JS 文件,您可以复制粘贴到代码中,现在它使用 Swagger 自动生成到 Node.Js 文件中,并希望用户对其进行浏览化以在浏览器 js 中使用它。

TL:DR 我不知道如何将 node.js 文件转换为浏览器文件

我已经尝试按照他们在自述文件中的所有说明进行操作,但似乎没有任何效果。我唯一没有尝试过的(这可能是关键)是将我的代码写在一个带有 node.js“require()”的 JS 文件中以导入 js 文件,然后浏览我的代码。如果那是我必须做的,那么很遗憾我将无法升级。

现在我用来访问 api 的代码是这样的

<!-- supplied by Adobe before -->
<script type="text/javascript" src="~/scripts/sha1-min.js"></script>
<script type="text/javascript" src="~/scripts/adobe-sign-sdk.js"></script>
<script type="text/javascript" src="~/scripts/superagent.min.js"></script>
<script type="text/javascript" src="~/scripts/validator.min.js"><</script>


 async function GenerateAuthForm() {
        var context = new AdobeSignSdk.Context();
        //Initialize the Widget API
        var agreementApi = new AdobeSignSdk.AgreementsApi(context);
        //Get the Widget model
        var widgetsModel = AdobeSignSdk.AgreementsModel;
        var agreementsModel = AdobeSignSdk.AgreementsModel;
        //Populate the access token
        /**/
        var agreementCreationInfo = new agreementsModel.DocumentCreationInfo();
        //does more work below

这非常容易调用和使用。

我希望能够执行相同的过程,但使用更新的版本,因此我可以使用工作流而不是协议。

编辑:我试图浏览位于 /AdobeSignNodeJsSdk/src 的 index.js,它确实结合了所有文件,但我无法调用它,或者我不明白如何调用它。我试着这样称呼它

<script src="~/Scripts/bundle.js"></script>
<script>
   var context = new SwaggerJsClient.ApiClient(); //this was undefined
   var api = new context.WorkflowsApi()
   //do stuff with the api or model

此外,在通过 browserify 放置的文件中,它引用了 root.SwaggerJsClient.apiormethod,所以我认为有某种方法可以调用它,但我只是不知道它是什么。

4

1 回答 1

0

我正在关闭这个问题,因为我想出了如何像这样使用 browserify 正确导入代码

browserify -r ./index.js:AdobeSignSdk > bundle.js

然后像这样引用它

var adobeSignSdk = require('AdobeSignSdk');
var context = new adobeSignSdk.ApiClient();

而且我想报告的是,在查看代码并确定如何使用它之后,“最新版本”的功能比以前的版本要少得多。您无法通过 2.0 创建工作流程,您只能获取现有的工作流程及其状态。当您尝试创建工作流时,上一版本 1.1.0 仍然无法正常工作,因为它们不包含

customWorkflowAgreementCreationRequest.getDocumentCreationInfo()

因此,当您尝试创建一个时,它会因错误而失败。

TypeError: customWorkflowAgreementCreationRequest.getDocumentCreationInfo is not a function

这是不幸的,因为这是我需要的功能,我现在可能不得不将我的应用程序从 JS 切换到 C# REST Api,无论如何都需要发生这种情况,只是等待它不那么紧急。

于 2019-05-01T16:02:43.307 回答