Uniapp开发

663 阅读4分钟

常见功能

小程序分包实现

组件

Uniapp 微信小程序前端生成海报并保存

使用subNvue

uniapp 引入自定义字体

Vuex :提交action的时候如何设置回调方法

js 日期时间的格式化

uniapp 封装请求,实现无痛刷新token

Mock模拟前端页面数据

uniapp 生成微信小程序码

苹果登录

微信小程序登录

apache 配置https中间证书防止SSL不受信任微信小程序报NET :: ERR_CERT_AUTHORITY_INVALID错误

uni-app中scroll-view的高度问题,填满剩下的高度且高度自适应

uni-app scroll-view横向滚动注意

# 微信小程序 Url Scheme 访问小程序实现

H5如何跳转微信小程序

Uniapp——ios端和android端微信分享,通过打开appStore和应用宝商店下载

微信H5跳转到指定的APP

iOS端需要设置UrlSchemes

H5使用JSSDK-微信开放标签

微信小程序 根据两个坐标点计算出两点之间的距离

uni-app h5端上传非视频图片文件

Uniapp预览PDF方法

new Date(date).getTime()在苹果手机不兼容

让CSS flex布局最后一行列表左对齐的N种方法

让CSS flex布局最后一行列表左对齐的N种方法

uniapp与webview之间的相互传值

Uniapp支付

uniapp实现swiper包含video的轮播图

实现方式

公众号网页H5授权登录

自定义底部导航栏

uni-app添加自定义底部导航栏,实现根据权限动态切换底部栏目的功能

微信小程序订阅消息

微信小程序图片压缩上传

防抖节流


/**  
 * 节流  
 */  
function throttle(fn, wait = 500, isImmediate = false) {  
  let flag = true;  
  if (isImmediate) {  
    return function() {  
      if (flag) {  
        fn.apply(this, arguments);  
        flag = false;  
        setTimeout(() => {  
          flag = true  
        }, wait)  
      }  
    }  
  }  
  return function() {  
    if (flag == true) {  
      flag = false  
      setTimeout(() => {  
        fn.apply(this, arguments)  
        flag = true  
      }, wait)  
    }  
  }  
}  

//防抖  
function debounce(fn, wait = 500, isImmediate = false) {  
  let timerId = null;  
  let flag = true;  
  if (isImmediate) {  
    return function() {  
      clearTimeout(timerId);  
      if (flag) {  
        fn.apply(this, arguments);  
        flag = false  
      }  
      timerId = setTimeout(() => {  
        flag = true  
      }, wait)  
    }  
  }  
  return function() {  
    clearTimeout(timerId);  
    timerId = setTimeout(() => {  
      fn.apply(this, arguments)  
    }, wait)  
  }  
}

uniapp长按与点击冲突处理

第三方SDK

环信

腾讯地图

小程序之间相互跳转

当前小程序->B小程序

参考文档


let path = '跳转的小程序路径';//如:'pages/index/index'
let extraData = {};//格外的参数

wx.navigateToMiniProgram({
    appId: '跳转的小程序APPID',
    path: path,
    extraData: extraData,
    envVersion: 'trial',//trial:体验版
    success(res) {
        // 打开成功
      }
  })

B小程序->当前小程序


wx.navigateBackMiniProgram({
    extraData: {
            respCode: '00', //签约成功
            msg: '签约成功'
    },//需要返回给上一个小程序的数据,上一个小程序可在 `App.onShow` 中获取到这份数据
    success: function() {
            console.log('!');
    }
});

当前小程序监听返回回来的数据

App({
    onShow(options) {
    if (options.referrerInfo ) {
      console.log(options.referrerInfo, 'B小程序返回的extraData');
      if (options.referrerInfo.extraData && options.referrerInfo.extraData.respCode == '00') {
        //业务处理代码。。。
      }
    }
  },
})