/** * @description 小程序常用公共函数二次封装 * @author // web3399 小严 盗版必究 */ /** * @description 设置各自页面Data * @method setData * @param {Object} that // this指向 * @param {String} key // 任意键名 * @param {*} value // 任意键值 */ export const setData = function (that, key, value) { that.setData({ [key]: value }) } /** * @description 小程序登录方法二次封装 * @method wechatLogin * @returns {Promise} // 返回 异步Promise */ export const wechatLogin = function () { return new Promise(function (resolve,reject) { const loginOptions = { success: res => resolve(res), fail: err => reject(err) }; wx.login(loginOptions); }); } /** * @description 小程序模态对话框二次封装 * @method wechatMiniModal * @param {String} message // 提示信息 * @returns {Promise} // 返回 异步Promise */ export const wechatMiniModal = function (message) { return new Promise(function (resolve,reject) { const modalOptions = { title: '温馨提示', content: message, success: res => resolve(res), fail: err => reject(err) }; wx.showModal(modalOptions); }); } /** * @description 判断是否为空对象 * @method isObjEmpty * @param {Object} data // 传入的数据 * @returns {Boolean} // 返回布尔值 */ export const isObjEmpty = function (data){ if (Object.prototype.toString.call(data === '[object Object]')) { return Object.getOwnPropertyNames(data).length === 0; } } /** * @description 小程序跳转方法二次封装 1 => switchTab, 2 => reLaunch, 3 => redirectTo, 4 => navigateTo * @method wechatMiniPagesJump * @param {String | Number} key // 对象键值 * @param {String} pagesUrl // 跳转的小程序完整路径 */ export const wechatMiniPagesJump = async function (key, pagesUrl) { const options = { url: pagesUrl }; const jumpType = { '1': 'switchTab', // 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面 '2': 'reLaunch', // 关闭所有页面,打开到应用内的某个页面 '3': 'redirectTo', // 关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面 '4': 'navigateTo' // 保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面 }; await wx[jumpType[key]](options); } /** * @description 验证小程序登录是否过期 * @method wechatMiniCheckLogin * @returns {Promise} // 返回 异步Promise */ export const wechatMiniCheckLogin = async function () { return new Promise(function(resolve, reject) { const checkLoginOptions = { success: res => resolve(res), fail: err => reject(err) }; wx.checkSession(checkLoginOptions); }); }