共计 1050 个字符,预计需要花费 3 分钟才能阅读完成。
掌上生存是一个比拟先进的银行 App,不能单纯当做浏览器来解决,其有专门提供的 JS-SDK 供调用
JS-SDK: https://open.cmbchina.com/Platform/#/resource/document/jsSDK
如果不想引入这个库的话,有一些轻微但重要的性能能够间接仿写,比方判断是否在掌上生存中,就是通过正则匹配 UA 判断的
判断是否在掌上生存中:/cmblife/.test(ua);
在该 App 内想要唤起美团,也不能间接应用惯例的办法,而是必须通过其特有的 schema
在掌上生存中唤起美团并关上指定 H5 页面:cmblife://web/startApp/imeituan?uri=imeituan%3A%2F%2Fwww.meituan.com%2Fweb%3Furl%3Dhttps%253A%252F%252Fdpurl.cn%252Fn%252FVKV1ld8
其中前面的局部为 imeituan://www.meituan.com/web?url=encodeURI(url) 格局的再编码,也就是咱们外部本人的规范,要害就是后面 cmblife://web/startApp/imeituan?uri= 的局部必须要写对
对于唤起美团并关上指定页面,值得注意的是,掌上生存安卓当初是有 BUG 的,关上的页面 url 自身不能有 & 号,不然会呈现问题,也就意味着 url 不能携带一个以上的参数。咱们的解决方案是通过转成重定向的短链来解决,平台短链服务地址:http://infoplatform.dper.com/oss/operate/shortlink
如果切实须要传多参数,能够思考把所有参数都弄成一个转码后的 JSON 对象,而后设置惟一的参数进行传递
JS-SDK 中也提供了在掌上生存中唤起 App 的办法,不过如果不想引入的话,也能够思考本人写。和惯例唤起办法不太一样的是,不必辨别 IOS 和安卓,均应用 iframe 的形式即可,事实上因为其 UA 是定制化过的,想判断平台可能也会存在一些问题
想用掌上生存的线上包关上指定 url 的页面,须要用到 cmblife://go?url=web&next=&version=v2 留神 next 参数须要放的是 encodeURI 编码后的页面 url。因为波及到平安问题,所以关上的页面链接必须行方配置白名单才能够应用,须要和行方沟通协商
如果页面想要敞开本身,能够应用 cmblife://web/close 链接,以后安卓版有 BUG 可能导致无奈正确敞开,但这是他们应该解决的问题