| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288 |
- import dayjs from "dayjs";
- /*
- * @params key 名字
- * @params value 值
- * @params path 路径
- * @params expireDays 存取的时间
- */
- export function setCookie(key, value, path, expireDays) {
- if (!key) return;
- let extDate = new Date();
- path = "path=" + (path || "") + "/;";
- extDate.setDate(extDate.getDate() + (expireDays || 0));
- expireDays = extDate.toGMTString();
- document.cookie = key.trim() + "=" + value + ";" + path + expireDays;
- }
- export function delCookie(key) {
- document.cookie = key + "=; path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;";
- }
- /**
- * 获取cookie值
- * @param name
- * @returns {null}
- */
- export const getCookie = function (name) {
- let arr,
- reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
- if (arr == document.cookie.match(reg)) {
- return unescape(arr[2]);
- } else {
- return null;
- }
- };
- export function setLocalStrage(key, value) {
- if (!key || !window.localStorage) {
- return;
- } else {
- window.localStorage.setItem(key.trim(), value);
- }
- }
- export function delLocalSt(key) {
- if (!key || !window.localStorage) {
- return;
- } else {
- window.localStorage.removeItem(key);
- }
- }
- export function getLocalStrage(key) {
- if (!key || !window.localStorage) {
- return;
- } else {
- window.localStorage.getItem(key);
- }
- }
- export const getRandomKey = () => {
- let key = "" + new Date().getTime() + Math.floor(Math.random() * 1000000);
- return key;
- };
- export function browser() {
- var u = navigator.userAgent;
- // app = navigator.appVersion;
- return {
- trident: u.indexOf("Trident") > -1, //IE内核
- presto: u.indexOf("Presto") > -1, //opera内核
- webKit: u.indexOf("AppleWebKit") > -1, //苹果、谷歌内核
- gecko: u.indexOf("Gecko") > -1 && u.indexOf("KHTML") == -1, //火狐内核
- mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
- ios: !!u.match(/Mac OS X/), //ios终端
- // ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
- android: u.indexOf("DAYAAPPA") > -1 || u.indexOf("Adr") > -1, //android终端
- iPhone: u.indexOf("DAYAAPPI") > -1, //是否为iPhone或者QQHD浏览器
- isApp: u.indexOf("DAYAAPPI") > -1 || u.indexOf("DAYAAPPA") > -1 || u.indexOf("Adr") > -1,
- iPad: u.indexOf("iPad") > -1, //是否iPad
- webApp: u.indexOf("Safari") == -1, //是否web应该程序,没有头部与底部
- weixin: u.indexOf("MicroMessenger") > -1, //是否微信 (2015-01-22新增)
- huawei: !!u.match(/huawei/i) || !!u.match(/honor/i),
- xiaomi: !!u.match(/mi\s/i) || !!u.match(/redmi/i) || !!u.match(/mix/i),
- };
- }
- // 获取时分秒
- export function utilDateInfo(date) {
- if (typeof date == "string") {
- date = date.replace(/-/gi, "/");
- }
- let d = new Date(date);
- let hour = d.getHours() >= 10 ? d.getHours() : "0" + d.getHours();
- let minute = d.getMinutes() >= 10 ? d.getMinutes() : "0" + d.getMinutes();
- return hour + ":" + minute + ":00";
- }
- // 获取年月日
- export function utilDate(date, type) {
- if (typeof date == "string") {
- date = date.replace(/-/gi, "/");
- }
- let d = new Date(date);
- let year = d.getFullYear() >= 10 ? d.getFullYear() : "0" + d.getFullYear();
- let month = d.getMonth() + 1 >= 10 ? d.getMonth() + 1 : "0" + (d.getMonth() + 1);
- let day = d.getDate() >= 10 ? d.getDate() : "0" + d.getDate();
- if (type == "ios") {
- return year + "/" + month + "/" + day;
- }
- return year + "-" + month + "-" + day;
- }
- /**
- * 小于10的数变成 (0x)
- * @param {数值} num
- */
- export function getSTD(num) {
- return Number(num) >= 10 ? num : "0" + num;
- }
- /**
- * 获取格式化的年月日
- * @param {日期} time
- * @param {不是IOS里使用(多用于接口参数)} noIos
- */
- export function getYMD(time, noIos) {
- let tempDate = time || new Date();
- if (typeof tempDate == "string") {
- tempDate = new Date(time.replace(/-/gi, "/"));
- }
- let t = noIos ? "-" : "/";
- let month = getSTD(tempDate.getMonth() + 1);
- let day = getSTD(tempDate.getDate());
- return tempDate.getFullYear() + t + month + t + day;
- }
- /**
- *
- * @param {周几的索引值} index
- */
- export function getWeekString(index) {
- let weekText = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];
- return weekText[index];
- }
- /**
- * 手机号验证
- * @param {手机号} phoneNumber
- */
- export function checkPhone(phoneNumber) {
- let result = true;
- if (!/^1(3|4|5|6|7|8|9)\d{9}$/.test(phoneNumber)) {
- result = false;
- }
- return result;
- }
- // 学生地址
- export function validStudentUrl() {
- let url = window.location.hostname;
- let returnUrl = "";
- if (/test/.test(url)) {
- // test环境
- returnUrl = "https://test.gym.lexiaoya.cn/mdaya";
- } else if (/dev/.test(url)) {
- // dev 环境
- returnUrl = "https://dev.gym.lexiaoya.cn/mdaya";
- } else {
- //线上
- returnUrl = "https://gym.lexiaoya.cn/mdaya";
- }
- return returnUrl;
- }
- // 老师地址
- export function validTeacherUrl() {
- let url = window.location.hostname;
- let returnUrl = "";
- if (/test/.test(url)) {
- // test环境
- returnUrl = "https://test.gym.lexiaoya.cn/mteacher";
- } else if (/dev/.test(url)) {
- // dev 环境
- returnUrl = "https://dev.gym.lexiaoya.cn/mteacher";
- } else {
- //线上
- returnUrl = "https://gym.lexiaoya.cn/mteacher";
- }
- return returnUrl;
- }
- export function vaildMusicScoreUrl() {
- const url = window.location.hostname
- let returnUrl = ""
- if (/dev/.test(url) || /192.168/.test(url)) {
- returnUrl = "https://test.gym.lexiaoya.cn"
- } else if (/test/.test(url)) {
- // test 环境
- returnUrl = "https://test.gym.lexiaoya.cn"
- } else {
- returnUrl = "https://gym.lexiaoya.cn"
- }
- return returnUrl
- }
- /**
- * @desc 函数防抖
- * @param func 目标函数
- * @param wait 延迟执行毫秒数
- */
- export function debounce(func, wait) {
- let timeout = null;
- return function () {
- let context = this;
- let args = arguments;
- if (timeout) clearTimeout(timeout);
- timeout = setTimeout(() => {
- func.apply(context, args);
- }, wait);
- };
- }
- /**
- * @desc 函数节流
- * @param func 函数
- * @param wait 延迟执行毫秒数
- */
- export function throttle(func, wait) {
- let timeout = null;
- return function () {
- let context = this;
- let args = arguments;
- if (!timeout) {
- timeout = setTimeout(() => {
- timeout = null;
- func.apply(context, args);
- }, wait);
- }
- };
- }
- /**
- * 转换金额为保留2位小数
- * @param x
- * @returns 强制保留2位小数的金额
- */
- export function changeTwoDecimal(amt) {
- let f_x = parseFloat(amt);
- if (isNaN(f_x)) {
- return "0.00";
- }
- f_x = Math.round(f_x * 100) / 100;
- let s_x = f_x.toString();
- let pos_decimal = s_x.indexOf(".");
- if (pos_decimal < 0) {
- pos_decimal = s_x.length;
- s_x += ".";
- }
- while (s_x.length <= pos_decimal + 2) {
- s_x += "0";
- }
- return s_x;
- }
- export function addTimerFormMinute(classDate, startTime, time) {
- let endTime = dayjs(classDate + " " + startTime).add(time, "minute");
- if (!dayjs(classDate + " " + "23:59:59").isBefore(endTime)) {
- return endTime.format("HH:mm:ss");
- } else {
- return "";
- }
- }
- export function diffTimerFormMinute(classDate, startTime, endTime) {
- return Math.abs(dayjs(classDate + " " + startTime).diff(classDate + " " + endTime, "Minute"));
- }
- export function timerFormMinute(classDate, startTime, time) {
- let endTime = dayjs(classDate + " " + startTime).add(time, "minute");
- if (!dayjs(classDate + " " + "21:00").isBefore(endTime)) {
- return endTime.format("HH:mm");
- } else {
- return "";
- }
- }
|