123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253 |
- import * as db from './db.js' //引入common
- import store from '../store/index.js'
- //把obj对象里的值覆盖到newobj里面
- function deepCopy(newobj, obj) {
- if (typeof obj != 'object') {
- return obj
- }
- for (var attr in obj) {
- var a = {}
- if (newobj[attr]) {
- a = newobj[attr]
- }
- newobj[attr] = deepCopy(a, obj[attr])
- }
- return newobj
- }
- //操作成功后,的提示信息
- function successToShow(msg, callback = function() {}) {
- setTimeout(function() {
- uni.showToast({
- title: msg,
- icon: 'success',
- duration: 1000,
- success() {
- setTimeout(function() {
- callback()
- }, 500)
- }
- })
- }, 100)
- }
- //操作失败的提示信息
- function errorToShow(msg = '操作失败', callback = function() {}) {
- setTimeout(function() {
- uni.showToast({
- title: msg,
- icon: 'none',
- duration: 1500,
- success() {
- setTimeout(function() {
- callback()
- }, 1500)
- }
- })
- }, 100)
- }
- //加载显示
- function loadToShow(msg = '加载中') {
- uni.showToast({
- title: msg,
- icon: 'loading'
- })
- }
- //加载隐藏
- function loadToHide() {
- uni.hideToast()
- }
- // 提示框
- function modelShow(
- title = '提示',
- content = '确认执行此操作吗?',
- callback = () => {},
- showCancel = true,
- cancelText = '取消',
- confirmText = '确定'
- ) {
- uni.showModal({
- title: title,
- content: content,
- showCancel: showCancel,
- cancelText: cancelText,
- confirmText: confirmText,
- cancelText: cancelText,
- success: function(res) {
- if (res.confirm) {
- // 用户点击确定操作
- setTimeout(() => {
- callback()
- }, 500)
- } else if (res.cancel) {
- // 用户取消操作
- }
- }
- })
- }
- //时间戳转时间格式
- function timeToDate(date, flag = false) {
- var date = new Date(date * 1000) //如果date为13位不需要乘1000
- var Y = date.getFullYear() + '-'
- var M =
- (date.getMonth() + 1 < 10 ?
- '0' + (date.getMonth() + 1) :
- date.getMonth() + 1) + '-'
- var D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '
- var h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'
- var m =
- (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':'
- var s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds()
- if (flag) {
- return Y + M + D
- } else {
- return Y + M + D + h + m + s
- }
- }
- function timeToDateObj(micro_second) {
- var time = {}
- // 总秒数
- var second = Math.floor(micro_second)
- // 天数
- time.day = Math.floor(second / 3600 / 24)
- // 小时
- time.hour = Math.floor((second / 3600) % 24)
- // 分钟
- time.minute = Math.floor((second / 60) % 60)
- // 秒
- time.second = Math.floor(second % 60)
- return time
- }
- //货币格式化
- function formatMoney(number, places, symbol, thousand, decimal) {
- number = number || 0
- places = !isNaN((places = Math.abs(places))) ? places : 2
- symbol = symbol !== undefined ? symbol : '¥'
- thousand = thousand || ','
- decimal = decimal || '.'
- var negative = number < 0 ? '-' : '',
- i = parseInt((number = Math.abs(+number || 0).toFixed(places)), 10) + '',
- j = (j = i.length) > 3 ? j % 3 : 0
- return (
- symbol +
- negative +
- (j ? i.substr(0, j) + thousand : '') +
- i.substr(j).replace(/(\d{3})(?=\d)/g, '$1' + thousand) +
- (places ?
- decimal +
- Math.abs(number - i)
- .toFixed(places)
- .slice(2) :
- '')
- )
- }
- function throttle(fn, context, delay) {
- clearTimeout(fn.timeoutId)
- fn.timeoutId = setTimeout(function() {
- fn.call(context)
- }, delay)
- }
- // 时间格式化输出,如11:03 25:19 每1s都会调用一次
- function dateformat(micro_second) {
- var time = {}
- // 总秒数
- var second = Math.floor(micro_second / 1000) // 天数
- time.day = PrefixInteger(Math.floor(second / 3600 / 24), 2) // 小时
- time.hour = PrefixInteger(Math.floor((second / 3600) % 24), 2) // 分钟
- time.minute = PrefixInteger(Math.floor((second / 60) % 60), 2) // 秒
- time.second = PrefixInteger(Math.floor(second % 60), 2)
- return time
- }
- //不足位数前面补0
- function PrefixInteger(num, length) {
- return (Array(length).join('0') + num).slice(-length)
- }
- //验证是否是手机号
- function isPhoneNumber(str) {
- var myreg = /^[1][3,4,5,6,7,8,9][0-9]{9}$/
- if (!myreg.test(str)) {
- return false
- } else {
- return true
- }
- }
- /**
- *
- * 对象参数转为url参数
- *
- */
- function builderUrlParams(url, data) {
- if (typeof url == 'undefined' || url == null || url == '') {
- return ''
- }
- if (typeof data == 'undefined' || data == null || typeof data != 'object') {
- return ''
- }
- url += url.indexOf('?') != -1 ? '' : '?'
- for (var k in data) {
- url += (url.indexOf('=') != -1 ? '&' : '') + k + '=' + encodeURI(data[k])
- }
- return url
- }
- /**
- * 使用循环的方式判断一个元素是否存在于一个数组中
- * @param {Object} arr 数组
- * @param {Object} value 元素值
- */
- function isInArray(arr, value) {
- for (var i = 0; i < arr.length; i++) {
- if (value === arr[i]) {
- return true
- }
- }
- return false
- }
- /**
- * 统一跳转
- */
- function navigateTo(url) {
- uni.navigateTo({
- url: url,
- animationType: 'pop-in',
- animationDuration: 300
- })
- }
- /**
- * 关闭当前页面并跳转
- */
- function redirectTo(url) {
- uni.redirectTo({
- url: url,
- animationType: 'pop-in',
- animationDuration: 300
- })
- }
- export {
- deepCopy,
- timeToDate,
- formatMoney,
- successToShow,
- throttle,
- errorToShow,
- isPhoneNumber,
- isInArray,
- loadToShow,
- loadToHide,
- navigateTo,
- redirectTo,
- modelShow,
- builderUrlParams,
- dateformat,
- timeToDateObj,
- }
|