123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234 |
- var clipboardJS = require('./clipboardJS');
- import { previewImg } from "./preview.js"
- function splitData(oArr = [], length = 1) {
- let arr = [];
- let minArr = [];
- oArr.forEach(c => {
- if (minArr.length === length) {
- minArr = [];
- }
- if (minArr.length === 0) {
- arr.push(minArr);
- }
- minArr.push(c);
- });
- return arr;
- }
- function timeMuch(t) {
- let format = {
- d: '00',
- h: '00',
- m: '00',
- s: '00'
- };
- if (t > 0) {
- let d = Math.floor(t / 86400);
- let h = Math.floor((t / 3600) % 24);
- let m = Math.floor((t / 60) % 60);
- let s = Math.floor(t % 60);
- format.d = d < 10 ? '0' + d : d;
- format.h = h < 10 ? '0' + h : h;
- format.m = m < 10 ? '0' + m : m;
- format.s = s < 10 ? '0' + s : s;
- }
- return format;
- }
- function callPhone(phoneNumber = '') {
- let num = phoneNumber.toString()
- return new Promise((rs,rj)=>{
- uni.makePhoneCall({
- phoneNumber: num,
- success:()=> rs(),
- fail:(err)=> rj(err)
- });
- })
- }
- function scanCode(onlyFromCamera = true, scanType = ['barCode', 'qrCode', 'datamatrix','datamatrix']){
-
- return Promise.reject('不支持H5');
-
- return new Promise((rs,rj)=>{
- uni.scanCode({
- onlyFromCamera: onlyFromCamera,
- scanType: scanType,
- success: (res) => rs(res),
- fail:(error)=>rj(error)
- });
- })
- }
- function setClipboardData(data){
-
- return new Promise((rs,rj)=>{
- uni.setClipboardData({
- data: data,
- success:()=>rs(true),
- fail:(error)=>rj(error)
- });
- })
-
-
- return new Promise((rs,rj)=>{
- let btn = document.createElement('button');
- btn.style.display = 'none';
- btn.className='hi-test-hi';
- document.body.appendChild(btn);
- clipboardJS = clipboardJS.bind(window);
- let cb = new clipboardJS('.hi-test-hi', {
- text: () => data
- })
-
- cb.on('success', function (res) {
- rs(true);
- })
- cb.on('error', function (err) {
- rj(err)
- })
- btn.click = btn.click.bind(window.document.body.querySelector('.hi-test-hi'))
- btn.click()
- })
-
- }
- function getClipboardData(){
-
- return new Promise((rs, rj) => {
- uni.getClipboardData({
- success: (res) => rs(res.data),
- fail: (error) => rj(error)
- });
- })
-
-
- return Promise.reject('H5无法获取剪切板内容')
-
- }
- function setCookie(key, data) {
- try {
- uni.setStorageSync(key, data);
- return true;
- } catch (e) {
- return false;
- }
- }
- function delCookie(key) {
- try {
- uni.removeStorageSync(key);
- return true;
- } catch (e) {
- return false;
- }
- }
- function getCookie(key) {
- try {
- const value = uni.getStorageSync(key);
- try {
- let val = JSON.parse(value)
- return val;
- } catch (e) {
- return value;
- }
- } catch (e) {
- return undefined;
- }
- }
- function httpUrlAddKey(uri, key, value) {
- if (!value) {
- return uri;
- }
- var re = new RegExp("([?&])" + key + "=.*?(&|$)", "i");
- var separator = uri.indexOf("?") !== -1 ? "&" : "?";
- if (uri.match(re)) {
- return uri.replace(re, "$1" + key + "=" + value + "$2");
- } else {
- return uri + separator + key + "=" + value;
- }
- }
- export default {
- previewImg,
- splitData,
- timeMuch,
- callPhone,
- scanCode,
- setClipboardData,
- getClipboardData,
- setCookie,
- delCookie,
- getCookie,
- httpUrlAddKey,
- }
|