/* pages/error-log/index.wxss */ .error-log-container { padding: 20rpx; background-color: #f5f5f5; min-height: 100vh; } /* 页面标题 */ .header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 30rpx; padding: 20rpx; background-color: #fff; border-radius: 12rpx; box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.1); } .title { font-size: 36rpx; font-weight: bold; color: #333; } .header-actions { display: flex; gap: 20rpx; } .action-btn { padding: 12rpx 24rpx; font-size: 28rpx; border-radius: 8rpx; border: none; } .export-btn { background-color: #007aff; color: #fff; } .clear-btn { background-color: #ff3b30; color: #fff; } /* 错误日志列表 */ .error-list { display: flex; flex-direction: column; gap: 20rpx; } .error-item { background-color: #fff; border-radius: 12rpx; padding: 24rpx; box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.1); border-left: 8rpx solid #ff3b30; } .error-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16rpx; } .error-type { padding: 8rpx 16rpx; border-radius: 20rpx; font-size: 24rpx; font-weight: bold; } .error-type.error { background-color: #ffebee; color: #d32f2f; } .error-type.warning { background-color: #fff3e0; color: #f57c00; } .error-type.info { background-color: #e3f2fd; color: #1976d2; } .error-time { font-size: 24rpx; color: #666; } .error-message { font-size: 28rpx; color: #333; margin-bottom: 12rpx; line-height: 1.4; } .error-preview { background-color: #f8f9fa; padding: 12rpx; border-radius: 8rpx; border: 1rpx solid #e9ecef; } .url { font-size: 24rpx; color: #007aff; word-break: break-all; } /* 空状态 */ .empty-state { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 100rpx 40rpx; background-color: #fff; border-radius: 12rpx; box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.1); } .empty-icon { font-size: 80rpx; margin-bottom: 20rpx; } .empty-text { font-size: 28rpx; color: #999; } /* 错误详情弹窗 */ .error-detail-modal { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0, 0, 0, 0.5); display: flex; align-items: center; justify-content: center; z-index: 1000; padding: 40rpx; } .modal-content { background-color: #fff; border-radius: 16rpx; width: 100%; max-height: 80vh; display: flex; flex-direction: column; } .modal-header { display: flex; justify-content: space-between; align-items: center; padding: 30rpx; border-bottom: 1rpx solid #e9ecef; } .modal-title { font-size: 32rpx; font-weight: bold; color: #333; } .close-btn { font-size: 48rpx; color: #999; width: 60rpx; height: 60rpx; display: flex; align-items: center; justify-content: center; } .modal-body { flex: 1; padding: 30rpx; max-height: 60vh; } .detail-section { margin-bottom: 40rpx; } .section-title { font-size: 28rpx; font-weight: bold; color: #333; margin-bottom: 20rpx; padding-bottom: 10rpx; border-bottom: 2rpx solid #007aff; } .detail-item { display: flex; margin-bottom: 16rpx; align-items: flex-start; } .label { font-size: 26rpx; color: #666; min-width: 120rpx; margin-right: 20rpx; } .value { font-size: 26rpx; color: #333; flex: 1; word-break: break-all; } .url-text { color: #007aff; } .copy-btn { padding: 8rpx 16rpx; font-size: 22rpx; background-color: #f8f9fa; color: #007aff; border: 1rpx solid #007aff; border-radius: 6rpx; margin-left: 20rpx; } .error-msg-box, .json-box, .stack-box { background-color: #f8f9fa; padding: 20rpx; border-radius: 8rpx; border: 1rpx solid #e9ecef; position: relative; } .error-msg, .json-text, .stack-text { font-size: 24rpx; color: #333; line-height: 1.5; font-family: 'Courier New', monospace; word-break: break-all; white-space: pre-wrap; } .modal-footer { display: flex; gap: 20rpx; padding: 30rpx; border-top: 1rpx solid #e9ecef; } .modal-btn { flex: 1; padding: 20rpx; font-size: 28rpx; border-radius: 8rpx; border: none; } .copy-all-btn { background-color: #007aff; color: #fff; } .close-modal-btn { background-color: #f8f9fa; color: #333; border: 1rpx solid #e9ecef; }