/** * 通用消息框 * @param content string 消息内容 * @param fn function 回调 * */ import api from "@/http/"; import apiUrl from "../http/api.js"; const msgToast = (content, fn, type = "none") => { uni.showToast({ title: content, duration: 2000, icon: type, success: fn ? () => { setTimeout(() => { fn(); }, 1500); } : function () {}, }); }; /* 手机号验证 */ const vefTel = (key) => { let reg_tel = /^1(3[0-9]|4[01456879]|5[0-35-9]|6[2567]|7[0-8]|8[0-9]|9[0-35-9])\d{8}$/; ///^(((13[0-9]{1})|(15[0-9]{1})|(16[0-9]{1})|(17[3-8]{1})|(18[0-9]{1})|(19[0-9]{1})|(14[5-7]{1}))+\d{8})$/; // 11位手机号 if (key === "" || key === undefined || key === null) { uni.showToast({ title: "请输入手机号", duration: 2000, icon: "none", }); return false; } else if (!reg_tel.test(key)) { uni.showToast({ title: "手机号码格式不正确", duration: 2000, icon: "none", }); return false; } else { return true; } }; /* 非空验证 */ const vefEmpty = (key, msg) => { if (key === "" || key === undefined || key === null) { uni.showToast({ title: msg, duration: 2000, icon: "none", }); return false; } else { return true; } }; const logout = () => { msgToast("登录已过期,请重新登录", () => { uni.removeStorageSync("userInfo"); uni.redirectTo({ url: "../login/login", }); }); }; /** * @description: H5 App通用方案 解决H5刷新返回失败问题 * @param {*} params */ const navigateBack = (params) => { const pages = getCurrentPages(); if (pages.length === 1) { if (typeof params === "number") { history.go(-params); } else { history.back(); } } else { uni.navigateBack(); } }; /** * @description: 获取url参数 * @param {*} params */ const getLocationParams = (name) => { const pages = getCurrentPages(); const curPage = pages[pages.length - 1]; return name ? curPage.options[name] : curPage.options; }; const getOpenId = async () => { const res = await api.request("/api/appointment/wx/info", null, "GET"); console.log(res); if (res.status === 0) { uni.setStorageSync("open_id", res.data.wxUser.openID); } else { console.log("没有open_id"); if (!document.cookie) { console.log("没有cookie"); // 设置cookie setTimeout(() => { window.location.href = `${ apiUrl.backUrl }/api/appointment/wx?notifyUrl=${encodeURIComponent( window.location.href )}`; }, 2000); } } }; export default { msgToast, vefTel, vefEmpty, logout, navigateBack, getLocationParams, getOpenId, };