|
|
import { login, getUserInfo } from '@/common/js/api/homePage/login.js'
|
|
|
|
|
|
export default {
|
|
|
/**
|
|
|
* opt object | string
|
|
|
* to_url object | string
|
|
|
* 例:
|
|
|
* this.Tips('/pages/test/test'); 跳转不提示
|
|
|
* this.Tips({title:'提示'},'/pages/test/test'); 提示并跳转
|
|
|
* this.Tips({title:'提示'},{tab:1,url:'/pages/index/index'}); 提示并跳转值table上
|
|
|
* tab=1 一定时间后跳转至 table上
|
|
|
* tab=2 一定时间后跳转至非 table上
|
|
|
* tab=3 一定时间后返回上页面
|
|
|
* tab=4 关闭所有页面跳转至非table上
|
|
|
* tab=5 关闭当前页面跳转至table上
|
|
|
*/
|
|
|
Tips: function(opt, to_url) {
|
|
|
if (typeof opt == 'string') {
|
|
|
to_url = opt;
|
|
|
opt = {};
|
|
|
}
|
|
|
let title = opt.title || '',
|
|
|
icon = opt.icon || 'none',
|
|
|
endtime = opt.endtime || 2000,
|
|
|
success = opt.success;
|
|
|
if (title) uni.showToast({
|
|
|
title: title,
|
|
|
icon: icon,
|
|
|
duration: endtime,
|
|
|
success
|
|
|
})
|
|
|
if (to_url != undefined) {
|
|
|
if (typeof to_url == 'object') {
|
|
|
let tab = to_url.tab || 1,
|
|
|
url = to_url.url || '';
|
|
|
switch (tab) {
|
|
|
case 1:
|
|
|
//一定时间后跳转至 table
|
|
|
setTimeout(function() {
|
|
|
uni.switchTab({
|
|
|
url: url
|
|
|
})
|
|
|
}, endtime);
|
|
|
break;
|
|
|
case 2:
|
|
|
//跳转至非table页面
|
|
|
setTimeout(function() {
|
|
|
uni.navigateTo({
|
|
|
url: url,
|
|
|
})
|
|
|
}, endtime);
|
|
|
break;
|
|
|
case 3:
|
|
|
//返回上页面
|
|
|
setTimeout(function() {
|
|
|
// #ifndef H5
|
|
|
uni.navigateBack({
|
|
|
delta: parseInt(url),
|
|
|
})
|
|
|
// #endif
|
|
|
// #ifdef H5
|
|
|
history.back();
|
|
|
// #endif
|
|
|
}, endtime);
|
|
|
break;
|
|
|
case 4:
|
|
|
//关闭当前所有页面跳转至非table页面
|
|
|
setTimeout(function() {
|
|
|
uni.reLaunch({
|
|
|
url: url,
|
|
|
})
|
|
|
}, endtime);
|
|
|
break;
|
|
|
case 5:
|
|
|
//关闭当前页面跳转至非table页面
|
|
|
setTimeout(function() {
|
|
|
uni.redirectTo({
|
|
|
url: url,
|
|
|
})
|
|
|
}, endtime);
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
} else if (typeof to_url == 'function') {
|
|
|
setTimeout(function() {
|
|
|
to_url && to_url();
|
|
|
}, endtime);
|
|
|
} else {
|
|
|
//没有提示时跳转不延迟
|
|
|
setTimeout(function() {
|
|
|
uni.navigateTo({
|
|
|
url: to_url,
|
|
|
})
|
|
|
}, title ? endtime : 0);
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
* 移除数组中的某个数组并组成新的数组返回
|
|
|
* @param array array 需要移除的数组
|
|
|
* @param int index 需要移除的数组的键值
|
|
|
* @param string | int 值
|
|
|
* @return array
|
|
|
*
|
|
|
*/
|
|
|
ArrayRemove: function(array, index, value) {
|
|
|
const valueArray = [];
|
|
|
if (array instanceof Array) {
|
|
|
for (let i = 0; i < array.length; i++) {
|
|
|
if (typeof index == 'number' && array[index] != i) {
|
|
|
valueArray.push(array[i]);
|
|
|
} else if (typeof index == 'string' && array[i][index] != value) {
|
|
|
valueArray.push(array[i]);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
return valueArray;
|
|
|
},
|
|
|
|
|
|
|
|
|
/*
|
|
|
* 合并数组
|
|
|
*/
|
|
|
SplitArray(list, sp) {
|
|
|
if (typeof list != 'object') return [];
|
|
|
if (sp === undefined) sp = [];
|
|
|
for (var i = 0; i < list.length; i++) {
|
|
|
sp.push(list[i]);
|
|
|
}
|
|
|
return sp;
|
|
|
},
|
|
|
|
|
|
trim(str) {
|
|
|
return String.prototype.trim.call(str);
|
|
|
},
|
|
|
|
|
|
toStringValue: function(obj) {
|
|
|
if (obj instanceof Array) {
|
|
|
var arr = [];
|
|
|
for (var i = 0; i < obj.length; i++) {
|
|
|
arr[i] = toStringValue(obj[i]);
|
|
|
}
|
|
|
return arr;
|
|
|
} else if (typeof obj == 'object') {
|
|
|
for (var p in obj) {
|
|
|
obj[p] = toStringValue(obj[p]);
|
|
|
}
|
|
|
} else if (typeof obj == 'number') {
|
|
|
obj = obj + '';
|
|
|
}
|
|
|
return obj;
|
|
|
},
|
|
|
|
|
|
showModal: (title="",infor="", fnSure = () =>{}, fnCancel= () =>{}) => {
|
|
|
uni.showModal({
|
|
|
title,
|
|
|
content: infor,
|
|
|
showCancel: true, // 不显示取消按钮
|
|
|
success: function (res) {
|
|
|
if (res.confirm) {
|
|
|
fnSure()
|
|
|
} else if (res.cancel) {
|
|
|
fnCancel()
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
|
|
|
// 验证是否已登录
|
|
|
checkLogin: ()=>{
|
|
|
let userNum = uni.getStorageSync('userNum');
|
|
|
if(!userNum){
|
|
|
return false //未登陆
|
|
|
}else{
|
|
|
return true //已登录
|
|
|
}
|
|
|
},
|
|
|
|
|
|
// 获取地址
|
|
|
getAdress: (fn = () =>{})=>{
|
|
|
return new Promise((resolve,reject) =>{
|
|
|
uni.getLocation({
|
|
|
type: 'wgs84',
|
|
|
success: function (res) {
|
|
|
console.log('获取位置成功:', res)
|
|
|
getApp().globalData.latitude = res.latitude;
|
|
|
getApp().globalData.longitude = res.longitude;
|
|
|
},
|
|
|
fail:function(err){
|
|
|
//点击取消
|
|
|
if(err.errMsg.indexOf('auth denied') > -1 || err.errMsg.indexOf('auth deny') > -1 ){
|
|
|
console.log('用户点击取消授权:',err)
|
|
|
}
|
|
|
//手机未开启GPS定位
|
|
|
else if(err.errMsg.indexOf('ERROR_NOCELL&WIFI_LOCATIONSWITCHOFF') > -1){
|
|
|
console.log('用户手机未开启GPS:',err)
|
|
|
}
|
|
|
else{
|
|
|
console.log(err)
|
|
|
}
|
|
|
reject()
|
|
|
}
|
|
|
})
|
|
|
})
|
|
|
},
|
|
|
|
|
|
setStorage: (key, data)=>{
|
|
|
uni.setStorageSync({
|
|
|
key,
|
|
|
data,
|
|
|
success: function() {
|
|
|
console.log(key + "已储存");
|
|
|
},
|
|
|
fail: function() {
|
|
|
console.log(key + "未储存");
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
* 格式化时间
|
|
|
* @param {number} seconds 秒
|
|
|
* @param {String} connect 连接符 非必填
|
|
|
* 格式 : 默认 *时*分*秒
|
|
|
* connect 为 ‘:’ == 时 :分 :秒
|
|
|
*/
|
|
|
formatTime : (seconds, connect) =>{
|
|
|
if (seconds) {
|
|
|
let result = '';
|
|
|
let hour = connect ? connect : '时';
|
|
|
let minute = connect ? connect : '分'
|
|
|
let second = connect ? '' : '秒';
|
|
|
let _seconds = parseInt(seconds % 60) > 9 ? parseInt(seconds % 60) : '0' + parseInt(seconds % 60);
|
|
|
let _mins = parseInt(seconds % 3600 / 60) > 9 ? parseInt(seconds % 3600 / 60) : '0' + parseInt(seconds % 3600 / 60);
|
|
|
let _hour = parseInt(seconds / 3600) > 9 ? parseInt(seconds / 3600) : '0' + parseInt(seconds / 3600);
|
|
|
if(_hour > 0) {
|
|
|
result = `${_hour}${hour}${padZero(_mins)}${minute}${padZero(_seconds)}${second}`
|
|
|
}else if(_mins > 0) {
|
|
|
result = `00${hour}${padZero(_mins)}${minute}${padZero(_seconds)}${second}`
|
|
|
}else{
|
|
|
result = `00${hour}00${minute}${padZero(_seconds)}${second}`
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
},
|
|
|
|
|
|
formatDate(date, fmt) {
|
|
|
if (/(y+)/.test(fmt)) {
|
|
|
fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
|
|
|
}
|
|
|
let convertLocale = date.getTime();
|
|
|
let nowOffset = new Date().getTimezoneOffset() * 60 * 1000; // 当前时间与utc时间差
|
|
|
let nowUtc = convertLocale;
|
|
|
let aValue = new Date(nowUtc); // 格式化UTC时间
|
|
|
let o = {
|
|
|
'Y+': aValue.getFullYear(),
|
|
|
'M+': aValue.getMonth() + 1,
|
|
|
'd+': aValue.getDate(),
|
|
|
'h+': aValue.getHours(),
|
|
|
'm+': aValue.getMinutes(),
|
|
|
's+': aValue.getSeconds()
|
|
|
};
|
|
|
for (let k in o) {
|
|
|
if (new RegExp(`(${k})`).test(fmt)) {
|
|
|
let str = o[k] + '';
|
|
|
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padZero(str));
|
|
|
}
|
|
|
}
|
|
|
return fmt;
|
|
|
},
|
|
|
|
|
|
// 登录
|
|
|
loginFun: (username, password)=>{
|
|
|
return new Promise((resolve,reject) =>{
|
|
|
login({
|
|
|
account: username,
|
|
|
password: password,
|
|
|
tenantId:0
|
|
|
}).then(res =>{
|
|
|
if(res.code == 200){
|
|
|
resolve(res)
|
|
|
}else{
|
|
|
uni.showToast({
|
|
|
title: res.message,
|
|
|
icon: 'none',
|
|
|
})
|
|
|
reject(res)
|
|
|
}
|
|
|
})
|
|
|
})
|
|
|
},
|
|
|
|
|
|
// 获取用户信息
|
|
|
getUserInfoFun: (username, password)=>{
|
|
|
return new Promise((resolve,reject) =>{
|
|
|
getUserInfo().then(res =>{
|
|
|
if(res.code == 200){
|
|
|
resolve(res)
|
|
|
}else{
|
|
|
reject(res)
|
|
|
}
|
|
|
})
|
|
|
})
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
function padZero (num) {
|
|
|
return new RegExp(/^\d$/g).test(num) ? `0${num}` : num;
|
|
|
}
|
|
|
|
|
|
|
|
|
|