123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228 |
- var app = getApp();
- var api = require('../config/api.js');
- 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-DOUYIN-VERIFY-Token': uni.getStorageSync('token'),
- 'app-id':api.appid
- },
- success: function (res) {
- if (res.statusCode == 200) {
- if (res.data.errno == 501) {
- // 清除登录相关内容
- try {
- uni.removeStorageSync('userInfo');
- uni.removeStorageSync('token');
- uni.removeStorageSync('openId');
- } 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: '' //标注是否不可约的原因之类的
- };
- if (new Date().getHours() >= 14 && i == 0) {
- continue;
- }
- 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 getBeginTimeList(time, type, dateName) {
- let timeList = [];
- if (time && time != null) {
- let startTime = 8;
- let endTime = '';
- if (type == 1) {
- startTime = 8;
- endTime = 21 - time > 12 ? 12 : 21 - time;
- } else {
- startTime = 12;
- endTime = 21 - time > 12 ? 21 - time : 12;
- }
- //控制当天的日期返回:当天可约时间 不能小于12点或当前时间+4小时 过14点 今日全天不可约
- if (dateName == '今天') {
- let date = new Date();
- let hour = date.getHours() + 4;
- if (date.getMinutes() > 30) {
- hour = hour + 1;
- }
- startTime = hour;
- if (hour > 18 || type == 1) {
- return [];
- } else if (hour < 12 && type == 2) {
- startTime = 12;
- }
- }
- //如果是今天20点后 预约明天 也是不可以约12点前
- if (dateName == '明天') {
- let date = new Date();
- if (date.getHours() >= 20 && type == 1) {
- return [];
- }
- }
- for (let i = startTime; i <= endTime; i++) {
- if (type == 2 && i == 12) {
- let halfTime = i < 10 ? '0' + i + ':30' : i + ':30';
- timeList.push({
- time: halfTime,
- value: i + 0.5
- });
- } else if (i < endTime) {
- let intTime = i < 10 ? '0' + i + ':00' : i + ':00';
- let halfTime = i < 10 ? '0' + i + ':30' : i + ':30';
- timeList.push({
- time: intTime,
- value: i
- });
- timeList.push({
- time: halfTime,
- value: i + 0.5
- });
- } else {
- let intTime = i < 10 ? '0' + i + ':00' : i + ':00';
- timeList.push({
- time: intTime
- });
- }
- }
- }
- return timeList;
- }
- module.exports = {
- formatTime,
- formetdate,
- request,
- redirect,
- showErrorToast,
- formatweek,
- getDateList,
- dateDifference,
- getBeginTimeList
- };
|