小程序常用方法
Jiuge 2022/11/11 微信小程序
注:公共方法建议写在util下的util.js文件中
// 示例
const 方法名 = (入参) => {
方法体
}
// 导出方法
module.exports = {
方法名
}
// 在其他页面使用
import { 方法名 } from "/util/util.js"
# 加载提示
需搭配vant-weapp组件 (opens new window)使用
/**
* 加载提示
* @params text:提示文本;time:提示时长
*/
const loading = (text, time) => {
Toast.loading({
message: text ? text : '加载中...',
forbidClick: true,
loadingType: 'spinner',
duration: time ? time : 0
});
}
# 返回页面判断
/**
* 判断是否有返回页面
* 有页面返回true,否则返回false
* @params
*/
const judgeBackPage = () => {
const pages = getCurrentPages();
// console.log("page", pages);
if (pages.length == 1) {
return false
} else {
return true
}
}
# 加载页面
/**
* 加载页面
* @params len:需加载的页面位置(1:当前页面,2:上一个页面...以此类推)
*/
const reloadPage = (len) => {
const pages = getCurrentPages();
const rePage = pages[pages.length - len]
if (rePage) {
rePage.onLoad()
}
}
# 获取页面元素
/**
* 获取页面元素
* @params id:页面元素id
*/
const getElement = (id) => {
return new Promise((resolve, reject) => {
const el = wx.createSelectorQuery();
el.select(`.${id}`).boundingClientRect();
el.exec(function (rect) {
if (rect[0]) {
resolve(rect)
} else {
reject("获取失败");
}
});
})
}
# 格式化日期
/**
* 格式化日期(年月日 时分秒 周)
* @params date:Date对象new Date();sign:年月日间隔符
*/
const formatTime = (date, sign) => {
const year = date.getFullYear()
const month = (date.getMonth() + 1 + "").padStart(2, "0")
const day = (date.getDate() + "").padStart(2, "0")
const hour = (date.getHours() + "").padStart(2, "0")
const minute = (date.getMinutes() + "").padStart(2, "0")
const second = (date.getSeconds() + "").padStart(2, "0")
const week = date.getDay()
const weekArr = ["周日", "周一", "周二", "周三", "周四", "周五", "周六"];
return `${[year, month, day].join(sign ? sign : '-')} ${[hour, minute, second].join(':')} ${weekArr[week]}`
}