文档中心 > 千牛开放平台2.0

如何支持降级

更新时间:2017/06/12 访问次数:3239

目前QAP项目依赖的Nuke UI、JS SDK、Weex、Rax等库与客户端不兼容时,插件需要使用webview容器渲染页面。如何让QAP项目支持降级运行至关重要。


发布H5版本

isv除了发布无需任何附加处理,直接把工程文件的_output/qap文件夹拿来发布,qap里会默认为每个page自动创建一个同名的html。无需做任何更改,如果你QAP的第一个页面是qianniu.js 发布后应该会有一个http://xxxx/qianniu.html,这个就是降级页面。

具体的操作步骤为:

  • 项目打包后,发布_output/qap目录。为了方便阐述,发布后的url类似http://xxx.xxx.com/qap,记作qapUrl、首屏页面记作indexUrl
  • 工程下的qap.json文件,确保WebRootPath字段正确的指向了qapUrl(即降级目录发布的地址)。
  • qap-cli工具会为qap.json中,所有带有capability的page,生成h5Url字段。生成的逻辑为:WebRootPath + url.path。开发者可以自行配置h5Url,确保h5Url指向正确的路径。h5Url的用处是:插件降级后,协议路由(如tradeDetail)时客户端会直接打开页面的h5Url。
{
  "appKey": "21085840",
  "version": "1.0",
  "pages": [
    {
      "default": true,
      "capability": "itemChoose",
      "url": "qap:///index.js"
    }
  ],
  "iconfonts": [
  ],
  "WebRootPath": "https://xxx.xxx.com/qap",
  "min_qn_android": "5.8.8",
  "min_qn_ios": "5.8.2",
  "jssdk": "1.0.14"
}
  • 开发者每次发布提交版本的时候,设置插件的回调地址(callback url)为indexUrl。现阶段开发这个也可以将回调地址(callback url)设置为目前线上稳定的H5版本的url。

允许跨域

以https发布_output/qap文件夹时,为了防止出现跨域问题,可以将JS文件的response header增加Access-Control-Allow-Origin:*来允许跨域。目前阿里CDN所有的js都是允许跨域的。如下图所示:

FAQ

关于此文档暂时还没有FAQ
返回
顶部