1.9.0-BatteryManager电池充电状态信息引入完成
This commit is contained in:
@@ -10,6 +10,9 @@ class ChargeDetailPage extends StatelessWidget {
|
||||
final double volt;
|
||||
final double curr;
|
||||
final int? wiredLevel;
|
||||
final double bmPower;
|
||||
final double bmVolt;
|
||||
final double bmCurr;
|
||||
|
||||
const ChargeDetailPage({
|
||||
super.key,
|
||||
@@ -19,6 +22,9 @@ class ChargeDetailPage extends StatelessWidget {
|
||||
required this.volt,
|
||||
required this.curr,
|
||||
this.wiredLevel,
|
||||
this.bmPower = 0,
|
||||
this.bmVolt = 0,
|
||||
this.bmCurr = 0,
|
||||
});
|
||||
|
||||
String _getProtocolDisplay() {
|
||||
@@ -62,18 +68,31 @@ class ChargeDetailPage extends StatelessWidget {
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
// ========== BMS 来源 ==========
|
||||
_buildSectionTitle(context, 'BMS 日志'),
|
||||
_buildTextRow(context, '协议', _getProtocolDisplay()),
|
||||
const Divider(),
|
||||
if (!isWireless) ...[
|
||||
_buildTextRow(context, '标定档位', _getRequestedDisplay()),
|
||||
_buildTextRow(
|
||||
context,
|
||||
'标定档位',
|
||||
_getRequestedDisplay(),
|
||||
valueFont: 'Flyme',
|
||||
),
|
||||
const Divider(),
|
||||
_buildTextRow(context, '实际功率', _getActualDisplay()),
|
||||
_buildTextRow(
|
||||
context,
|
||||
'实际功率',
|
||||
_getActualDisplay(),
|
||||
valueFont: 'Flyme',
|
||||
),
|
||||
const Divider(),
|
||||
] else ...[
|
||||
_buildTextRow(
|
||||
context,
|
||||
'功率',
|
||||
ChargeUtils.getDisplayPowerWireless(power),
|
||||
valueFont: 'Flyme',
|
||||
),
|
||||
const Divider(),
|
||||
],
|
||||
@@ -81,20 +100,19 @@ class ChargeDetailPage extends StatelessWidget {
|
||||
const Divider(),
|
||||
_buildDetailRow(context, '电流', curr, 'A'),
|
||||
const Divider(),
|
||||
if (isWireless) _buildTextRow(context, '类型', '无线'),
|
||||
if (!isWireless && wiredLevel == null)
|
||||
_buildTextRow(context, '档位', '自动'),
|
||||
|
||||
const SizedBox(height: 24),
|
||||
|
||||
// ========== BM 来源 ==========
|
||||
_buildSectionTitle(context, 'BatteryManager(电池端)'),
|
||||
_buildDetailRow(context, '电压', bmVolt, 'V'),
|
||||
const Divider(),
|
||||
_buildDetailRow(context, '电流', bmCurr, 'A'),
|
||||
const Divider(),
|
||||
bmPower > 0
|
||||
? _buildDetailRow(context, '功率', bmPower, 'W')
|
||||
: _buildTextRow(context, '功率', '读取中...'),
|
||||
const Spacer(),
|
||||
Center(
|
||||
child: Text(
|
||||
'数据来自 BMS 实时日志',
|
||||
style: TextStyle(
|
||||
fontFamily: 'HarmonyOS_Sans_SC',
|
||||
fontSize: 12,
|
||||
color: c.textTertiary,
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
@@ -102,7 +120,28 @@ class ChargeDetailPage extends StatelessWidget {
|
||||
);
|
||||
}
|
||||
|
||||
Widget _buildTextRow(BuildContext context, String label, String value) {
|
||||
Widget _buildSectionTitle(BuildContext context, String title) {
|
||||
final c = context.colors;
|
||||
return Padding(
|
||||
padding: const EdgeInsets.only(bottom: 8),
|
||||
child: Text(
|
||||
title,
|
||||
style: TextStyle(
|
||||
fontFamily: 'HarmonyOS_Sans_SC',
|
||||
fontSize: 13,
|
||||
fontWeight: FontWeight.w600,
|
||||
color: c.textTertiary,
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Widget _buildTextRow(
|
||||
BuildContext context,
|
||||
String label,
|
||||
String value, {
|
||||
String valueFont = 'HarmonyOS_Sans_SC',
|
||||
}) {
|
||||
final c = context.colors;
|
||||
return Padding(
|
||||
padding: const EdgeInsets.symmetric(vertical: 6.0),
|
||||
@@ -121,7 +160,7 @@ class ChargeDetailPage extends StatelessWidget {
|
||||
Text(
|
||||
value,
|
||||
style: TextStyle(
|
||||
fontFamily: 'HarmonyOS_Sans_SC',
|
||||
fontFamily: valueFont,
|
||||
fontSize: 16,
|
||||
fontWeight: FontWeight.w500,
|
||||
color: c.textPrimary,
|
||||
|
||||
Reference in New Issue
Block a user