找回密码
 立即注册
搜索

技术分享 # 快应用ROUTER接口的多种使用姿势

0
回复
3148
查看
[复制链接]

11

主题

87

帖子

795

积分

 楼主| 2019-12-26 17:49:09 显示全部楼层 |阅读模式
本帖最后由 dadong 于 2020-4-24 09:55 编辑 router接口在快应用中是个很强大的接口,可以实现很多神奇的操作,比起小程序里的路由来不知高到哪里去了(逃。只是目前快应用生态社区内容还不够丰富,示例代码和相关开源项目也比较少,因此萌生了下一篇博客专门记录在实战开发中使用router接口的方法。 打开网页
  1. sheme: https://[host]/[path]?[query] http://[host]/[path]?[query]
  2. router.push({
  3. uri: "https://www.google.com"
  4. })
复制代码
打电话
  1. sheme: tel:[telephoneNumber]
  2. router.push({
  3. uri: "tel:12345"
  4. })
复制代码
发短信 发送短信多了一个参数`body`,这个参数用于传递发送的短信内容。
  1. sheme: sms:[telephoneumber]
  2. router.push({
  3. uri: "tel:10086",
  4. params: {
  5. body: '给我充值一个亿!'
  6. }
  7. })
复制代码
跳转快应用
  1. sheme: hap://app/[packageName]/[path]?[query]
  2. router.push({
  3. uri: "hap://app/com.quickapp.center"
  4. })
复制代码
跳转快应用时query的值可以在跳转页面中获取到,一般来讲query的形式是`?key=value`。要在跳转过去的快应用中获取key和value,只需采取方式`this[key]`,即可获取。前提是要在跳转对应的path页面中才可以。还是上代码说明: 跳转的代码
  1. router.push({
  2. uri: "hap://app/com.example.quickapp/index?content={text:'奥利给'}"
  3. })
复制代码
跳转对应的index.ux页面的代码
  1. <template>
  2. <div>
  3. <text>{{content.text}}</text>
  4. </div>
  5. </template>
  6. <script>
  7. export default {
  8. data: {
  9. content: ''
  10. },
  11. onInit() {
  12. try { // 防止传入的值不能被序列化为JSON而报错
  13. this.content = JSON.parse(this.content);
  14. } catch(e) {
  15. console.log(e);
  16. }
  17. }
  18. }
  19. </script>
  20. <style></style>
复制代码
在拉起成功之后,页面的content值会被onInit中的方法初始化为`{text:"奥利给"}`,所以页面上会显示`奥利给`的文本内容。当然也可以不明确的在data中声明content属性,但是建议声明一下,可以提高代码的可维护性,免得后面自己都不知道这个content是哪里来的。 打开系统WIFI设置页(需要引擎版本大于1040)
  1. router.push({
  2. uri: "hap://settings/wlan_manager"
  3. })
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册