1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- //节流
- export const trottle = (func, time = 1000, context) => {
- let previous = new Date(0).getTime()
- return function(...args) {
- let now = new Date().getTime()
- if (now - previous > time) {
- func.apply(context, args)
- previous = now
- }
- }
- }
- //获取url后的参数 以对象返回
- export function strToParams(str) {
- var newparams = {}
- for (let item of str.split('&')) {
- newparams[item.split('=')[0]] = item.split('=')[1]
- }
- return newparams
- }
- //对象参数转为以?&拼接的字符
- export function paramsToStr(params) {
- let p = '';
- if (typeof params == 'object') {
- p = '?'
- for (let props in params) {
- p += `${props}=${params[props]}&`
- }
- p = p.slice(0, -1)
- }
- return p
- }
- /**
- * @description 复制到剪切板
- * @param value { String } 复制内容
- * @return { Promise } resolve | reject
- */
- export const copyClipboard = (value) => {
- const elInput = document.createElement('input')
- elInput.setAttribute('value', value)
- document.body.appendChild(elInput)
- elInput.select()
- try{
- if(document.execCommand('copy'))
- return Promise.resolve()
- else
- throw new Error()
- } catch(err) {
- return Promise.reject(err)
- } finally {
- document.body.removeChild(elInput)
- }
- }
|