123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298 |
- import { get } from "./db.js";
- // 检验手机号格式
- export const checkPhone = (mobile) => {
- // return /^1[345678]\d{9}$/.test(mobile);
- if (mobile.length == 0) {
- return false;
- }
- if (mobile.length != 11) {
- return false;
- }
- // var myreg = /^0?(13[0-9]|15[0-9]|17[013678]|18[0-9]|14[57]|19[0-9]|18[0-9])[0-9]{8}$/;
- var myreg = /^1(3|4|5|6|7|8|9)\d{9}$/;
- if (!myreg.test(mobile)) {
- return false;
- }
- return true;
- };
- // 密码验证格式
- export const checkPwd = (pwd) => {
- if (pwd.length == 0) {
- return false;
- }
- var reg = /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,16}$/;
- var re = new RegExp(reg);
- if (re.test(pwd)) {
- return true;
- } else {
- return false;
- }
- };
- //不足位数前面补0
- export const PrefixInteger = (num, length) => {
- return (Array(length).join("0") + num).slice(-length);
- };
- //深拷贝
- export const 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;
- };
- //轻提示
- export const toast = (msg = "", callback = function () {}) => {
- uni.showToast({
- title: msg,
- icon: "none",
- duration: 1000,
- success() {
- setTimeout(function () {
- callback();
- }, 1500);
- },
- });
- };
- /* 弹窗 */
- export const modal = (title = "", content, callback = function () {}) => {
- uni.showModal({
- title: title,
- content: content,
- confirmColor: "#376cbb",
- success: function (res) {
- if (res.confirm) {
- callback();
- } else if (res.cancel) {
- }
- },
- });
- };
- /* 弹窗 */
- export const modalShow = (title = "", content, confirm, callback = function () {}) => {
- uni.showModal({
- title: title,
- content: content,
- showCancel: false,
- confirmText: confirm == "" ? "确定" : "知道了",
- confirmColor: "#376cbb",
- success: function (res) {
- if (res.confirm) {
- callback();
- } else if (res.cancel) {
- }
- },
- });
- };
- /* 处理时间格式 */
- export const dateFormatter = (str, bol = false, bol2 = false) => {
- //默认返回yyyy-MM-dd HH-mm-ss
- var dateStr = String(str);
- if (!(dateStr.indexOf("-") > -1 && dateStr.indexOf("T") > -1)) {
- dateStr = dateStr.replace(/\-/g, "/");
- }
- var d = new Date(dateStr);
- var year = d.getFullYear();
- var month = d.getMonth() + 1 < 10 ? "0" + (d.getMonth() + 1) : d.getMonth() + 1;
- var day = d.getDate() < 10 ? "0" + d.getDate() : d.getDate();
- var hour = d.getHours() < 10 ? "0" + d.getHours() : d.getHours();
- var minute = d.getMinutes() < 10 ? "0" + d.getMinutes() : d.getMinutes();
- var second = d.getSeconds() < 10 ? "0" + d.getSeconds() : d.getSeconds();
- if (bol) {
- if (bol2) {
- return `${month}月${day}日 ${hour}时${minute}分${second}秒`;
- }
- return [year, month, day].join("-") + " " + [hour, minute, second].join(":");
- } else {
- if (bol2) {
- return `${month}月${day}日`;
- }
- return [year, month, day].join("-");
- }
- };
- //加载显示
- export const loading = (msg = "加载中") => {
- uni.showToast({
- title: msg,
- icon: "loading",
- });
- };
- //加载隐藏
- export const loadHide = () => {
- uni.hideToast();
- };
- /**
- * 函数防抖 (只执行最后一次点击)
- * @param fn
- * @param delay
- * @returns {Function}
- * @constructor
- */
- export const Debounce = (fn, t = 300) => {
- let timer;
- return function () {
- let args = arguments;
- if (timer) {
- clearTimeout(timer);
- }
- timer = setTimeout(() => {
- timer = null;
- fn.apply(this, args);
- }, t);
- };
- };
- /**
- * 函数节流
- * @param fn
- * @param interval
- * @returns {Function}
- * @constructor
- */
- export const Throttle = (fn, t = 500) => {
- let last;
- let timer;
- return function () {
- let args = arguments;
- let now = +new Date();
- if (last && now - last < t) {
- clearTimeout(timer);
- timer = setTimeout(() => {
- last = now;
- fn.apply(this, args);
- }, t);
- } else {
- last = now;
- fn.apply(this, args);
- }
- };
- };
- // 上传图片封装
- export const upload = {
- /* 单张上传 */
- Single: function (Funurl, fn, isCamera) {
- // 获取用户token和用户信息
- let token = get("access_token");
- let authHeader = token || "";
- uni.chooseImage({
- count: 1, ///最多可以选择一张图片
- sizeType: ["original", "compressed"], //原图或压缩图
- sourceType: isCamera ? ["album"] : ["album", "camera"], //图片来源
- success: function (res) {
- const tempFilePaths = res.tempFilePaths; //相当于src路径
- uni.showToast({
- title: "正在上传...",
- icon: "loading",
- mask: true,
- duration: 10000,
- });
- uni.uploadFile({
- header: {
- "Content-Type": "multipart/form-data",
- Authorization: authHeader,
- },
- name: "file",
- url: Funurl,
- filePath: tempFilePaths[0],
- success(res) {
- fn(res);
- uni.hideToast();
- uni.showToast({
- title: "上传成功",
- icon: "none",
- mark: true,
- });
- },
- fail(err) {
- uni.hideToast();
- uni.showModal({
- title: "错误提示",
- content: "上传图片失败" + err,
- showCancel: false,
- success: function (res) {},
- });
- },
- });
- },
- });
- },
- //上传多张图片
- Much: function (Funurl, fn, count) {
- // 获取用户token和用户信息
- let token = get("access_token");
- let authHeader = token || "";
- var list = new Array();
- uni.chooseImage({
- count: count, //最多可以选择3张图
- sizeType: ["original", "compressed"],
- sourceType: ["album", "camera"],
- success: function (res) {
- const tempFilePaths = res.tempFilePaths;
- let uploadImgCount = 0;
- uni.showToast({
- title: "正在上传...",
- icon: "loading",
- mask: true,
- duration: 10000,
- });
- for (var i = 0; i < tempFilePaths.length; i++) {
- uni.uploadFile({
- url: Funurl,
- name: "file",
- filePath: tempFilePaths[i], //第几张图片
- header: {
- "Content-Type": "multipart/form-data",
- Authorization: authHeader,
- },
- success(res) {
- uploadImgCount++;
- fn(res);
- //如果是最后一张,则隐藏等待中
- if (uploadImgCount === tempFilePaths.length) {
- uni.hideToast();
- // uni.showToast({
- // title: '上传图片成功',
- // icon: 'none',
- // mark: true,
- // })
- } else {
- that.upload(imgs);
- }
- },
- fail(res) {
- uni.hideToast();
- uni.showModal({
- title: "错误提示",
- content: "上传图片失败",
- showCancel: false,
- success: function (res) {},
- });
- },
- });
- }
- },
- });
- },
- };
- // 判断是否大于当前时间
- export const isTimeGreaterThanCurrent = (timeToCheck) => {
- const time = new Date(timeToCheck);
- const currentTime = new Date();
- return time.getTime() < currentTime.getTime();
- };
- // 判断离结束时间 是否大于指定时间
- export const isWithinOneHour = (activityTime, endTime) => {
- const str = activityTime.replace(/-/g, "/");
- const date = new Date(str);
- const times = date.getTime();
- const num = new Date().getTime();
- return times - num <= endTime;
- };
|