问题分析对router.push接口跳转的代码进行分析。 快应用A使用router.push接口跳转快应用B的Hello页面时,并携带参数srcurl,该接口的参数uri使用的是快应用deeplink的hap链接格式: hap://app/<package>/[path][?key=value&] 跳转代码中srcurl对应hap格式中的key,而它的value值是一个H5地址,但H5地址中又携带了&quality=80&size=b9999_10000&sec=1571113692640等参数,快应用引擎会认为后面的&参数都是hap链接中的参数,而不是H5中的,所以导致H5地址中的参数被截断了。 解决方法快应用的router.push接口格式是支持携带参数的,其格式为: router.push({uri: 'hap链接', params: { key:’value '}}); 可以把hap链接里的参数放到params中。 快应用A修改后代码如下: router.push({ uri: "hap://app/com.huawei.text/Hello", params: { srcurl: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1571113692640&di=9ed87b0302d9b8ce9ca66f6ab7e18394&imgtype=jpg&src=http%3A%2F%2Fimg0.imgtn.bdimg.com%2Fit%2Fu%3D2161827460%2C376403171%26fm%3D214%26gp%3D0.jpg' } }) 快应用B获取效果如下: 参考案例:https://developer.huawei.com/consumer/cn/doc/development/quickApp-Guides/quickapp-case#h1-1611817746960 |