export function formatDate(date, fmt) { const o = { 'M+': date.getMonth() + 1, // 月份 'd+': date.getDate(), // 日 'h+': date.getHours(), // 小时 'm+': date.getMinutes(), // 分 's+': date.getSeconds(), // 秒 S: date.getMilliseconds() // 毫秒 }; if (/(y+)/.test(fmt)) { // eslint-disable-next-line no-param-reassign fmt = fmt.replace(RegExp.$1, `${date.getFullYear()}`.substr(4 - RegExp.$1.length)); } for (const k in o) { if (new RegExp(`(${k})`).test(fmt)) { // eslint-disable-next-line no-param-reassign fmt = fmt.replace(RegExp.$1, RegExp.$1.length === 1 ? o[k] : `00${o[k]}`.substr(`${o[k]}`.length)); } } return fmt; } export function copyText(text) { uni.setClipboardData({ data: text, success: () => { uni.showToast({ title: '复制成功', icon: 'none' }); }, fail: (err) => { uni.showToast({ title: '复制失败', icon: 'none' }); } }); }; export function textToSpeech(text, options = {}) { return new Promise(async (resolve, reject) => { const { token = '24.1c8cc30b5f7be445723b6d4b19a36152.2592000.1765094496.282335-120706844', tex = text, cuid = 'uni-app-demo', ctp = 1, lan = 'zh', spd = 5, pit = 5, vol = 5, per = 0 } = options const url = 'https://tsn.baidu.com/text2audio' const params = { tex: encodeURIComponent(tex), cuid, ctp, lan, spd, pit, vol, per, tok: token } // 构建查询字符串 const queryString = Object.keys(params).map(key => { return `${key}=${params[key]}` }).join('&'); const platform = uni.getSystemInfoSync().uniPlatform; const result = await uni.downloadFile({ url: `${url}?${queryString}` }); resolve(result.tempFilePath); }) }