公共csss
/* 全局公共css */
*{
margin: 0;
padding: 0;
}
text{
font-weight: 400;
color: #000;
font-size: 24rpx;
}
input{
font-weight: 400;
}
.block{
display: block;
}
button::after{
border: unset;
}
/* flex布局 */
.flex{
display: flex;
}
.justify-center{
justify-content: center;
}
.justify-between{
justify-content: space-between;
}
.justify-around{
justify-content: space-around;
}
.justify-end{
justify-content: flex-end;
}
.justify-start{
justify-content: flex-start;
}
.align-center{
align-items: center;
}
.align-start{
align-items: flex-start;
}
.align-end{
align-items: flex-end;
}
.flex-shrink{
flex-shrink: 0;
}
.flex-wrap{
flex-wrap: wrap;
}
/* font - 字体 */
.bold{
font-weight: bold;
}
.f500{
font-weight: 500;
}
/* color - 字体颜色 */
.white{
color: #fff;
}
.black{
color: #000;
}
.c3{
color: #333;
}
.c6{
color: #666;
}
.c9{
color: #999;
}
/* 背景色 */
.bgwhite{
background-color: #fff;
}
/* 边距 */
.border-box{
box-sizing: border-box;
}
/* 单行文字省略 */
.text-overflow{
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
/* 多行文字省略 */
.text-overflow2{
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
}
.text-overflow3{
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
overflow: hidden;
}
/* 宽100% */
.w100{
width: 100%;
}
/* 加载 */
.loading-end{
box-sizing: border-box;
padding: 20rpx 0;
}
.loading-end text{
font-size: 12px;
text-align: center;
color: #666;
}
工具类
// 工具类
/**
* @param {Object} url 跳转的路径
*/
const navigateTo = (url) => {
uni.navigateTo({
url: url
})
};
/**
* 手机号校验
* @param {Object} phone 手机号
*/
const isPhone = (phone) => {
let phoneCodeVerification = /^[1][3,4,5,7,8,9][0-9]{9}$/;
//[3,4,5,7,8,9] 为1后边的数字,如果不是这几个开头会不支持
return phoneCodeVerification.test(phone);
};
/**
* 判断是否是纯数字
*/
const isNumber = (number) => {
var reg = /^[0-9]+.?[0-9]*$/;
if (reg.test(number)) {
return true;
}
return false;
}
/**
* 判断是否为空
* @param {Object} val
*/
const isEmpty = (val) => {
var regu = "^[ ]+$";
var re = new RegExp(regu);
return val == null || typeof (val) == 'undefined' || val == "" || re.test(val);
};
/**
* 消除空格
* @param {Object} str
*/
const delSpace = (str) => {
return (str || "").replace(/^\s+|\s+$/g, "");
};
/** 日期格式
* @param {Object} time
*/
const conversionTime = (time) => {
let date = new Date(parseInt(time));
var fullYear = date.getFullYear(); // 年
var month = date.getMonth() + 1;
var _date = date.getDate();
var hours = date.getHours();
var minutes = date.getMinutes();
var seconds = date.getSeconds();
if(month < 10){month = '0'+month} // 月
if(_date < 10){_date = '0'+_date} // 天
if(hours < 10){hours = '0'+hours} // 时
if(minutes < 10){minutes = '0'+minutes} // 分
if(seconds < 10){seconds = '0'+seconds} // 秒
let str = fullYear + '-' + month + '-' + _date;
return str;
};
/**
* 身份证校验
*/
const isIdCard = (card) => {
var regExp = /^[1-9]\d{5}(?:18|19|20)\d{2}(?:(?:0[1-9])|(?:[1-2][0-9]))(?:(?:0[1-9])|(?:[1-2][0-9])|(?:[3][0-1]))\d{3}[\dxX]$/;
if (regExp.test(card)) {
return true; // 符合身份证格式要求
} else {
return false; // 不符合身份证格式要求
}
}
/**
* token获取
*/
const getToken = () => {
let token = uni.getStorageSync('token');
return token;
}
var x_PI = 3.14159265358979324 * 3000.0 / 180.0;
var PI = 3.1415926535897932384626;
var a = 6378245.0;
var ee = 0.00669342162296594323;
/**
* WGS84坐标系转火星坐标系GCj02 / 即WGS84 转谷歌、高德
* @param { Number } lng
* @param { Number } lat
*/
const wgs84togcj02 = (lng, lat) => {
var dlat = transformlat(lng - 105.0, lat - 35.0)
var dlng = transformlng(lng - 105.0, lat - 35.0)
var radlat = lat / 180.0 * PI
var magic = Math.sin(radlat)
magic = 1 - ee * magic * magic
var sqrtmagic = Math.sqrt(magic)
dlat = (dlat * 180.0) / ((a * (1 - ee)) / (magic * sqrtmagic) * PI)
dlng = (dlng * 180.0) / (a / sqrtmagic * Math.cos(radlat) * PI)
const mglat = lat + dlat
const mglng = lng + dlng
return [mglng, mglat]
}
/**
* 经度转换
* @param { Number } lng
* @param { Number } lat
*/
function transformlat (lng, lat) {
var ret = -100.0 + 2.0 * lng + 3.0 * lat + 0.2 * lat * lat + 0.1 * lng * lat + 0.2 * Math.sqrt(Math.abs(lng))
ret += (20.0 * Math.sin(6.0 * lng * PI) + 20.0 * Math.sin(2.0 * lng * PI)) * 2.0 / 3.0
ret += (20.0 * Math.sin(lat * PI) + 40.0 * Math.sin(lat / 3.0 * PI)) * 2.0 / 3.0
ret += (160.0 * Math.sin(lat / 12.0 * PI) + 320 * Math.sin(lat * PI / 30.0)) * 2.0 / 3.0
return ret
}
/**
* 纬度转换
* @param { Number } lng
* @param { Number } lat
*/
function transformlng (lng, lat) {
var ret = 300.0 + lng + 2.0 * lat + 0.1 * lng * lng + 0.1 * lng * lat + 0.1 * Math.sqrt(Math.abs(lng))
ret += (20.0 * Math.sin(6.0 * lng * PI) + 20.0 * Math.sin(2.0 * lng * PI)) * 2.0 / 3.0
ret += (20.0 * Math.sin(lng * PI) + 40.0 * Math.sin(lng / 3.0 * PI)) * 2.0 / 3.0
ret += (150.0 * Math.sin(lng / 12.0 * PI) + 300.0 * Math.sin(lng / 30.0 * PI)) * 2.0 / 3.0
return ret
}
/**
* @deprecated 获取手机剩余空间
* @returns {string}
*/
function getPhoneStoreSize() {
var internalMemSize = {};
if (plus.os.name == "Android") {
var environment = plus.android.importClass("android.os.Environment");
var statFs = plus.android.importClass("android.os.StatFs");
var files = plus.android.importClass("java.io.File");
var Files = environment.getDataDirectory();
var StatFs = new statFs(Files.getPath());
var blockSize = parseFloat(StatFs.getBlockSize());
var blockCount = parseFloat(StatFs.getBlockCount());
internalMemSize = blockSize * blockCount;
} else if (plus.os.name == "iOS") {
var BundleClass = plus.ios.importClass("NSBundle");
var BundleObj = BundleClass.mainBundle();
var filenamagerobj = plus.ios.newObject("NSFileManager");
var FileAttr = plus.ios.invoke(filenamagerobj, "attributesOfFileSystemForPath:error:", BundleObj.bundlePath(),null);
var surplus = plus.ios.invoke(FileAttr, "objectForKey:", "NSFileSystemFreeSize");
var NSFileSystemFreeSize = plus.ios.newObject("NSNumberFormatter");
internalMemSize = plus.ios.invoke(NSFileSystemFreeSize, "stringFromNumber:", surplus);
}
return parseInt(internalMemSize * 0.2);
}
// 获取CID
function getCid() {
const clientInfo = plus.push.getClientInfo();
console.log("客户端标识:", clientInfo);
return clientInfo;
}
export default{
navigateTo,
isPhone,
isEmpty,
delSpace,
conversionTime,
isIdCard,
getToken,
isNumber,
wgs84togcj02,
getPhoneStoreSize,
getCid
}