Skip to content

tinysimple/gree-miniprogram-h5-utils

Repository files navigation

gree-miniprogram-h5-utils

格力+小程序h5的工具包,不依赖于任何框架,可在任何项目中安装使用。

安装

1、Using npm

npm i -S gree-miniprogram-h5-utils

2、Using yarn

yarn add gree-miniprogram-h5-utils

使用方式:

1、ES6模块引入

第一种:(推荐使用此方式)
  // 引入
  import { isGreeMiniProgram } from 'gree-miniprogram-h5-utils';
  // 使用
  const isInGreeMiniProgramEnv = isGreeMiniProgram();
  if (isInGreeMiniProgramEnv) {
    // ...
  } else {
    // ...
  }


第二种:
  // 引入
  import greeMiniprogramH5Utils from 'gree-miniprogram-h5-utils';
  // 或者 import * as greeMiniprogramH5Utils from 'gree-miniprogram-h5-utils';
  // 使用
  greeMiniprogramH5Utils.isGreeMiniProgram();

2、CommonJS模块引入

  const { isGreeMiniProgram } = require('gree-miniprogram-h5-utils')



当前支持的工具函数

boolean isGreeMiniProgram(url?:string = window.location.href, queryKey?:string = 'passthrough', customKey?:string = 'origin', customVal?:string = 'greeapp') ——判断当前h5是否在gree+小程序主体中加载。

  url(非必填):字符串类型;h5的访问地址,若不填写该参数时,将window.location.href作为判断的url;若不填写该参数且window.location.href属性不存在时,会抛出一个异常。

  queryKey(非必填):字符串类型;指定url中的query的具体key为存放自定义数据的key,默认为 passthrough

  customKey(非必填):字符串类型;自定义数据中表示是否在格力+主体中的key,默认为origin

  customVal(非必填):字符串类型;自定义数据中表示是否在格力+主体中的key对应的值,默认为greeapp


object getParams(url?: string = window.location.href) ——获取当前url的所有参数


object getGreeParams(url?: string = window.location.href, key?: string = 'passthrough') ——获取格力侧自定义参数


object merge(obj1: object, obj2: object) ——合并两个对象的内容


Pormise untilFinished(promise: Promise | Promise[], millisecond: number) ——至少millisecond毫秒后才完成(可以用在loading状态处理:获取后端数据时显示loading状态,获取完成后取消显示loading状态,但如果后端返回较快,loading会闪一下立马消失)


any deepClone(original: any) ——深拷贝(真正意义上的深拷贝,可以弥补用JSON.parse和JSON.stringify来拷贝的局限性)


function debounce(fn: function, wait: number, immediate?: boolean) ——防抖函数,返回一个经过封装后的函数;

wait:设置防抖的时间周期,如果下一次触发离上一次触发的时间小于时间周期,那么上一次触发的函数不会执行;也就是说,存在N * wait 时间内只会执行一次函数的情况:函数每次触发都离上一次触发的时间小于wait。

immediate:可选,是否在第一次触发时执行函数。(默认为false,即延迟到最后一次触发后的wait时间后执行函数)


function throttle(func: function, wait: number) ——节流函数,返回一个经过封装后的函数;

wait:设置节流的时间周期,在这个周期内触发多次事件时,一定会执行一次。


function groupArray(arr: Array, groupSize?: number) ——将一维数组中的元素,每 groupSize 个为一组,转换为二维数组;

groupSize:分组后每个分组中的数组长度,如果设置为0,则返回原数组的浅拷贝;如果 < 0或者不传该参数,重置为0