前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
开发者导航
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
开发者导航

好物快应用、H5端开发小结

首页
2018-10-19 16:50:43
Front-End
JavaScript快应用

# 一、deepLink跳转

# 1.1 快应用中呼起deepLink

第一步:检测是安装了app

前提条件:需要知道app的包名

// 判断用户是否安装了app
export const checkInstalledApp = (pkg_name) => {
  const pkg = require('@system.package')
  return new Promise((resolve,reject)=>{
    pkg.hasInstalled({
      package: pkg_name,
      success: function (data) {
        resolve(data.result) //返回true、false
      },
      fail: function (data, code) {
        reject(code)
      }
    })
  })
}
@前端进阶之旅: 代码已经复制到剪贴板

第二步:调起deepLink

let pkg = 'com.newsqq.fda' // 传入包名
let deep_link = '' // 跳转到app的地址
let params = {}

checkInstalledApp(pkg).then(hasInstalledApp=>{
    // 用户已经安装了app, deep_link直接跳转
    if(hasInstalledApp && deep_link){
      params = {uri:deep_link}
    }else{ // 否则跳转到H5地址
      params = {
        uri:'Webview',//对应于manifest中的配置
        params:{
          url,
          title:goods_name
        }
      }
    }
    this.$app.$def.router.push(params)
})

@前端进阶之旅: 代码已经复制到剪贴板

# 1.2 H5页面呼起快应用

引入快应用 官方提供的代码,这里做了一下处理

fe
  • 一、deepLink跳转
    • 1.1 快应用中呼起deepLink
    • 1.2 H5页面呼起快应用
    • 1.3 H5页面呼起deepLink
  • 二、剪贴板分享
  • 三、加载更多
  • 四、搜索历史
  • 五、骨架屏的应用
  • 六、游客点赞
  • 七、nodejs递归文件夹上传到阿里云
  • 八、nodejs实现复制目录到指定文件夹
  • 九、优化

← jQuery的deferred对象详解学会使用Graphviz绘制流程图 →