招商银行-掌上生活-运行H5页面JS-SDK及其特有schema
Posted 魔芋药丸
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了招商银行-掌上生活-运行H5页面JS-SDK及其特有schema相关的知识,希望对你有一定的参考价值。
掌上生活是一个比较先进的银行App,不能单纯当做浏览器来处理,其有专门提供的JS-SDK供调用
JS-SDK: https://open.cmbchina.com/Pla...
如果不想引入这个库的话,有一些细微但重要的功能可以直接仿写,比如判断是否在掌上生活中,就是通过正则匹配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/...
如果实在需要传多参数,可以考虑把所有参数都弄成一个转码后的JSON对象,然后设置唯一的参数进行传递
JS-SDK中也提供了在掌上生活中唤起App的方法,不过如果不想引入的话,也可以考虑自己写。和常规唤起方法不太一样的是,不用区分ios和安卓,均使用iframe的方式即可,事实上因为其UA是定制化过的,想判断平台可能也会存在一些问题
想用掌上生活的线上包打开指定url的页面,需要用到cmblife://go?url=web&next=&version=v2 注意next参数需要放的是encodeURI编码后的页面url。因为涉及到安全问题,所以打开的页面链接必须行方配置白名单才可以使用,需要和行方沟通协商
如果页面想要关闭自身,可以使用cmblife://web/close链接,当前安卓版有BUG可能导致无法正确关闭,但这是他们应该解决的问题
以上是关于招商银行-掌上生活-运行H5页面JS-SDK及其特有schema的主要内容,如果未能解决你的问题,请参考以下文章