最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

使用Express,React

网站源码admin14浏览0评论

使用Express,React

使用Express,React

我正在使用HelloSign API生成Webview以便在React Native中进行合同签署。端点如下。

app.get('/api/contract/signcontract', Contract.viewAndSignContract);

此端点在生成embedlink(与问题无关)后被命中,并且呈现骨架index.jade并传递hellosign.open embedlink(在传递到端点之前先对URI进行编码,因此进行解码)

exports.viewAndSignContract = function(req, res, next) {
  const embedLink = decodeURIComponent(req.query.url);
  res.render('index', {embedLink});
}

[使用hellosign.open()渲染hellosign嵌入式流。我相信您已经看到了这一方面,它完全是股票代码。端点是通过Web视图上的源URL命中的,这是本机代码,但足以说明一切都很正常。

<WebViewBridge
          ref="webviewbridge"
          onBridgeMessage={this.onBridgeMessage.bind(this)}
          source={{ uri: `${ROOT_URL}/api/contract/signcontract?url=${encodeURIComponent(this.props.partner.embedLink)}` }}
          style={{ flex: 1 }}
 />

错误是,几乎每当用户打开嵌入式流时,至少有2个get请求:

第一个是偶然的,并非每次都这样。只是重定向。

"GET /api/contract/signcontract?url= HTTP/1.1" 304 - "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 10_2 like Mac OS X) AppleWebKit/602.3.12 (KHTML, like Gecko) Mobile/14C89"

这是两个问题:

"GET /api/contract/signcontract?ux_version=2?parent_url=http%3A%2F%2Flocalhost%3A3000%2Fapi%2Fcontract%2Fsigncontract&skip_domain_verification=1&client_id=ID_HIDDEN&user_culture=en_US&debug=true&js_version=1.2.5 HTTP/1.1" 304 - "http://localhost:3000/api/contract/signcontract?url=" "Mozilla/5.0 (iPhone; CPU iPhone OS 10_2 like Mac OS X) AppleWebKit/602.3.12 (KHTML, like Gecko) Mobile/14C89"

和这里真正的错误是这个/ contract / undefined,尽管我不明白为什么访问一个网页时会有多个GET请求。

"GET /api/contract/undefined?ux_version=2&parent_url=http%3A%2F%2Flocalhost%3A3000%2Fapi%2Fcontract%2Fsigncontract&skip_domain_verification=1&client_id=ID_HIDDEN&user_culture=en_US&debug=true&js_version=1.2.5 HTTP/1.1" 404 262 "http://localhost:3000/api/contract/signcontract?ux_version=2?parent_url=http%3A%2F%2Flocalhost%3A3000%2Fapi%2Fcontract%2Fsigncontract&skip_domain_verification=1&client_id=ID_HIDDENc&user_culture=en_US&debug=true&js_version=1.2.5" "Mozilla/5.0 (iPhone; CPU iPhone OS 10_2 like Mac OS X) AppleWebKit/602.3.12 (KHTML, like Gecko) Mobile/14C89"

这些是本地终端日志,但是查看Heroku日志却是同一故事。没有/contract/:params路由,因此我看不到/signcontract的格式和undefined的格式如何。这些请求总是在完全相同的时间戳上发生,一个请求不会始终在另一个时间戳之前始终发生,因此会触发。我还想提一提,它不会破坏整个应用程序。

这两个GET请求始终存在,但是在最坏的情况下,它将在Web视图中短暂显示Cannot GET /api/contract/undefined?rest_of_params,然后重定向到真正的hellosign嵌入式流,一旦出现蓝月亮,它将不会重定向,并且将停留在“无法GET”屏幕。这一切对我来说似乎都是违反直觉的,我无法查明问题的根源。

回答如下:

我希望您的问题此后得到解决。

[但是,从这个问题来看,似乎要在后端生成sign_url之前调用要生成iFrame的初始API调用。因此,在这种情况下进行两次GET调用的原因是:一个没有sign_url,一个带有sign_url。

  1. 生成请求
  2. 为相应的signature_id生成一个sign_url
  3. 将sign_url传递到客户端以填充iFrame

如前所述,联系HelloSign支持的最佳方法是直接与我们的API小组联系。谢谢!

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论