From f7e90b2c0be1c888bce883b344534d971dee3502 Mon Sep 17 00:00:00 2001 From: chen-xin-zhi <3588068430@qq.com> Date: Sat, 17 May 2025 23:17:50 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E4=BA=86=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- utils/request.js | 17 +++++++++++++++++ utils/validate.js | 18 ++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 utils/request.js create mode 100644 utils/validate.js diff --git a/utils/request.js b/utils/request.js new file mode 100644 index 0000000..206f05a --- /dev/null +++ b/utils/request.js @@ -0,0 +1,17 @@ +// utils/request.js +/** + * 封装 wx.request 为 Promise + * @param {Object} options 同 wx.request 参数 + * @returns {Promise} resolve 值为 wx.request 的 success 回调参数 + */ +function requestAsync(options) { + return new Promise((resolve, reject) => { + wx.request({ + ...options, + success: res => resolve(res), + fail: err => reject(err) + }); + }); +} + +module.exports = { requestAsync }; diff --git a/utils/validate.js b/utils/validate.js new file mode 100644 index 0000000..248449a --- /dev/null +++ b/utils/validate.js @@ -0,0 +1,18 @@ +// utils/validate.js +/** + * 通用非空校验 + * @param {Object} data - 当前页面的 this.data + * @param {Object} rules - 校验规则,格式:{ fieldName: '提示文案', ... } + * @returns {boolean} - 校验通过返回 true,失败时已经 wx.showToast 提示并返回 false + */ +function validate(data, rules) { + for (const [field, message] of Object.entries(rules)) { + if (!data[field]) { + wx.showToast({ title: message, icon: 'none' }); + return false; + } + } + return true; +} + +module.exports = { validate };