79 lines
1.5 KiB
JavaScript
79 lines
1.5 KiB
JavaScript
/**
|
||
* 调试工具函数
|
||
* 提供安全的日志输出方法,避免真机调试时的文件系统问题
|
||
*/
|
||
|
||
// 是否启用调试模式
|
||
const DEBUG_MODE = false
|
||
|
||
/**
|
||
* 安全的日志输出
|
||
* @param {string} message - 日志消息
|
||
* @param {string} type - 日志类型 (log, warn, error)
|
||
*/
|
||
export function safeLog(message, type = 'log') {
|
||
if (!DEBUG_MODE) return
|
||
|
||
try {
|
||
switch (type) {
|
||
case 'warn':
|
||
console.warn(message)
|
||
break
|
||
case 'error':
|
||
console.error(message)
|
||
break
|
||
default:
|
||
console.log(message)
|
||
}
|
||
} catch (e) {
|
||
// 如果console输出失败,使用uni.showToast
|
||
uni.showToast({
|
||
title: typeof message === 'string' ? message : '调试信息',
|
||
icon: 'none',
|
||
duration: 2000,
|
||
})
|
||
}
|
||
}
|
||
|
||
/**
|
||
* 安全的错误处理
|
||
* @param {Error} error - 错误对象
|
||
* @param {string} context - 错误上下文
|
||
*/
|
||
export function safeError(error, context = '') {
|
||
if (!DEBUG_MODE) return
|
||
|
||
try {
|
||
console.error(`[${context}]`, error)
|
||
} catch (e) {
|
||
uni.showToast({
|
||
title: `错误: ${context}`,
|
||
icon: 'none',
|
||
})
|
||
}
|
||
}
|
||
|
||
/**
|
||
* 调试信息输出
|
||
* @param {string} message - 调试信息
|
||
*/
|
||
export function debug(message) {
|
||
safeLog(message, 'log')
|
||
}
|
||
|
||
/**
|
||
* 警告信息输出
|
||
* @param {string} message - 警告信息
|
||
*/
|
||
export function warn(message) {
|
||
safeLog(message, 'warn')
|
||
}
|
||
|
||
/**
|
||
* 错误信息输出
|
||
* @param {string} message - 错误信息
|
||
*/
|
||
export function error(message) {
|
||
safeLog(message, 'error')
|
||
}
|