import { getDicts } from '@/api/dict.js' /** * 显示消息提示框 * @param content 提示的标题 */ export function toast(content) { uni.showToast({ icon: 'none', title: content, mask: true, }) } /** * 显示模态弹窗 * @param content 提示的标题 */ export function showConfirm(content, showCancel) { if (!showCancel) showCancel = false return new Promise((resolve, reject) => { uni.showModal({ title: '提示', content: content, cancelText: '取消', showCancel: showCancel, confirmText: '确定', success: function(res) { resolve(res) } }) }) } /** * 参数处理 * @param params 参数 */ export function tansParams(params) { let result = '' for (const propName of Object.keys(params)) { const value = params[propName] var part = encodeURIComponent(propName) + "=" if (value !== null && value !== "" && typeof(value) !== "undefined") { if (typeof value === 'object') { for (const key of Object.keys(value)) { if (value[key] !== null && value[key] !== "" && typeof(value[key]) !== 'undefined') { let params = propName + '[' + key + ']' var subPart = encodeURIComponent(params) + "=" result += subPart + encodeURIComponent(value[key]) + "&" } } } else { result += part + encodeURIComponent(value) + "&" } } } return result } // 返回上一页 export function back() { uni.navigateBack({ delta: 1 }) } // 页面跳转 export function navigateTo(url) { uni.navigateTo({ url: url }) } // 回显数据字典 export function transDictLabel(datas, value) { if (value === undefined) { return ""; } var actions = []; Object.keys(datas).some((key) => { if (datas[key].value == ('' + value)) { actions.push(datas[key].text); return true; } }) if (actions.length === 0) { actions.push(value); } return actions.join(''); } /** * 批量获取字典数据 * dictTypeArr: 字典名称数组 * result: 接数据容器 */ export function getDictList(dictTypeArr, result) { dictTypeArr.forEach(dictType => { getDicts(dictType).then(res => { if (res.code !== 200) return result[dictType] = changeDictAttrName(res.data) }) }) } // 更改字典数据的属性名 export function changeDictAttrName(array) { let result = JSON.stringify(array).replaceAll('dictLabel', 'text').replaceAll('dictValue', 'value') return JSON.parse(result) } // 匹配字典值 export function getDictInfo(array, value) { return array.filter(e => e.text.includes(value)) } /** * @description 本地图片转base64方法(兼容APP、H5、小程序) * @param {number} path 图片本地路径 * @returns Promise对象 */ const toBase64 = (path) => { return new Promise((resolve, reject) => { // #ifdef APP-PLUS plus.io.resolveLocalFileSystemURL(path, (entry) => { entry.file((file) => { let fileReader = new plus.io.FileReader() fileReader.readAsDataURL(file) fileReader.onloadend = (evt) => { let base64 = evt.target.result.split(",")[1] resolve(base64) } }) }) // #endif // #ifdef H5 uni.request({ url: path, responseType: 'arraybuffer', success: (res) => { resolve(uni.arrayBufferToBase64(res.data)) } }) // #endif // #ifdef MP-WEIXIN uni.getFileSystemManager().readFile({ filePath: path, encoding: 'base64', success: (res) => { resolve(res.data) } }) // #endif }) } export { toBase64 }