123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194 |
- var api = require('../config/api.js');
- var app = getApp();
- function formatTime(date) {
- var year = date.getFullYear();
- var month = date.getMonth() + 1;
- var day = date.getDate();
- var hour = date.getHours();
- var minute = date.getMinutes();
- var second = date.getSeconds();
- return [year, month, day].map(formatNumber).join('-') + ' ' + [hour, minute, second].map(formatNumber).join(':');
- }
- function formetdate(date) {
- var year = date.getFullYear();
- var month = date.getMonth() + 1;
- var day = date.getDate();
- return [year, month, day].map(formatNumber).join('-');
- }
- function formatNumber(n) {
- n = n.toString();
- return n[1] ? n : '0' + n;
- }
- /**
- * 封封微信的的request
- */
- function request(url, data = {}, method = 'GET') {
- return new Promise(function (resolve, reject) {
- uni.request({
- url: url,
- data: data,
- method: method,
- header: {
- 'Content-Type': 'application/json',
- 'X-JZ-Token': uni.getStorageSync('token')
- },
- success: function (res) {
- if (res.statusCode == 200) {
- if (res.data.errno == 501) {
- // 清除登录相关内容
- try {
- uni.removeStorageSync('userInfo');
- uni.removeStorageSync('token');
- } catch (e) {
- console.log('CatchClause', e);
- console.log('CatchClause', e);
- } // Do something when catch error
- // 切换到登录页面
- uni.navigateTo({
- url: '/pages/auth/login/login'
- });
- } else {
- resolve(res.data);
- }
- } else {
- reject(res.errMsg);
- }
- },
- fail: function (err) {
- reject(err);
- }
- });
- });
- }
- function redirect(url) {
- //判断页面是否需要登录
- uni.redirectTo({
- url: url
- });
- }
- function showErrorToast(msg) {
- uni.showToast({
- title: msg,
- image: '/static/images/icon_error.png'
- });
- }
- function formatweek(date) {
- let week = date.getDay();
- let weekArr = '';
- switch (week) {
- case 1:
- weekArr = '周一';
- break;
- case 2:
- weekArr = '周二';
- break;
- case 3:
- weekArr = '周三';
- break;
- case 4:
- weekArr = '周四';
- break;
- case 5:
- weekArr = '周五';
- break;
- case 6:
- weekArr = '周六';
- break;
- case 0:
- weekArr = '周日';
- break;
- }
- return weekArr;
- }
- function getDateList(date, interval, length) {
- let dateList = [];
- let len = length ? length : 7;
- for (let i = 0; i < len; i++) {
- let datestamp = new Date(date.getTime() + i * 60 * 60 * 1000 * 24 * interval);
- let dateItem = {
- week: formatweek(datestamp),
- date: formetdate(datestamp),
- id: new Date(datestamp).getDay(),
- isBook: true,
- //是否可约
- name: i == 0 ? '今天' : i == 1 ? '明天' : '',
- mark: '' //标注是否不可约的原因之类的
- };
- dateList.push(dateItem);
- }
- return dateList;
- }
- function dateDifference(end) {
- // //比较2个日期
- // console.log(start + ",," + end);
- // var stime = new Date(start).getTime();
- var stime = new Date().getTime();
- console.log(end.replace(/-/g, '/'));
- var etime = new Date(end.replace(/-/g, '/')).getTime();
- var usedTime = etime - stime; //两个时间戳相差的毫秒数
- var days = Math.floor(usedTime / 86400000);
- //计算出小时数
- var leave1 = usedTime % 86400000; //计算天数后剩余的毫秒数
- var hours = Math.floor(leave1 / 3600000);
- //计算相差分钟数
- var leave2 = leave1 % 3600000; //计算小时数后剩余的毫秒数
- var minutes = Math.floor(leave2 / 60000);
- if (days == 0 && hours == 0) {
- return minutes + '分钟';
- }
- if (days == 0) {
- return hours + '时' + minutes + '分钟';
- }
- var time = days + '天' + hours + '时' + minutes + '分钟';
- // var time = days;
- return time;
- }
- //获取下个月和下下个月的天数
- function getNextMonthDays(next) {
- const today = new Date();
- const currentMonth = today.getMonth(); // 获取当前月份,月份从0开始
- const currentYear = today.getFullYear(); // 获取当前年份
- if(next==1){
- // 计算下个月的第一天
- const nextMonth = (currentMonth + 1) % 12;
- const nextYear = currentMonth === 11 ? currentYear + 1 : currentYear;
- // 如果下个月是当前年的1月,则年份加1
- if (nextMonth === 0) {
- nextYear++;
- }
- // 创建下个月第一天的日期对象
- const firstDayNextMonth = new Date(nextYear, nextMonth, 1);
- // 获取下个月的天数
- const daysInNextMonth = new Date(firstDayNextMonth.getFullYear(), firstDayNextMonth.getMonth() + 1, 0).getDate();
- return daysInNextMonth;
- }else{
- const nextMonth = (currentMonth + 2) % 12;
- const nextYear = currentMonth === 10 ? currentYear + 1 : currentYear;
- if (nextMonth === 0) {
- nextYear++;
- }
- const firstDayNextMonth = new Date(nextYear, nextMonth, 1);
- const daysInNextMonth = new Date(firstDayNextMonth.getFullYear(), firstDayNextMonth.getMonth() + 1, 0).getDate();
- return daysInNextMonth;
- }
- }
- module.exports = {
- formatTime,
- formetdate,
- request,
- redirect,
- showErrorToast,
- formatweek,
- getDateList,
- dateDifference,
- getNextMonthDays
- };
|