You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

126 lines
2.7 KiB
JavaScript

11 months ago
/**
* 通用消息框
* @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,
};