强制合并
This commit is contained in:
@@ -5,24 +5,6 @@
|
||||
import lang from './lang.js';
|
||||
|
||||
|
||||
/**
|
||||
* 判断是否为「微信剪贴板隐私声明缺失」导致的复制失败
|
||||
*
|
||||
* 微信自 2023-09-15 起把剪贴板接口纳入《小程序用户隐私保护指引》,
|
||||
* 若小程序后台未声明「剪贴板」(或声明未审核通过),调用会返回:
|
||||
* { errno: 112, errMsg: 'setClipboardData:fail api scope is not declared in the privacy agreement' }
|
||||
* 这是平台侧配置问题,不改代码也能复现,因此不能把原始英文 errMsg 直接展示给用户。
|
||||
*
|
||||
* @param {*} err uni.setClipboardData 的 fail 回调参数
|
||||
* @returns {Boolean} true=剪贴板隐私声明缺失
|
||||
*/
|
||||
export const isClipboardPrivacyError = (err) => {
|
||||
if (!err) return false;
|
||||
if (Number(err.errno) === 112) return true;
|
||||
const msg = `${err.errMsg || err.message || ''}`;
|
||||
return /privacy agreement/i.test(msg) || /api scope is not declared/i.test(msg);
|
||||
};
|
||||
|
||||
/**
|
||||
* 显示错误信息
|
||||
* @param {Exception} err
|
||||
@@ -115,12 +97,8 @@ export const copyTextAsync = (text, { copySuccess = '', copyFailed = '' } = {})
|
||||
fail: (err) => {
|
||||
clearTimeout(timeoutId);
|
||||
try {
|
||||
// 剪贴板隐私声明缺失(errno 112)属平台配置问题, 用可读文案替代微信原始英文错误
|
||||
const tip = isClipboardPrivacyError(err)
|
||||
? lang.lang('uniappUtils.clipboardPrivacyNotDeclared')
|
||||
: (err.message || err.errMsg || copyFailed || lang.lang('uniappUtils.copyFailed'));
|
||||
uni.showToast({
|
||||
title: tip,
|
||||
title: err.message || err.errMsg || copyFailed || lang.lang('uniappUtils.copyFailed'),
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user