下面是一個基于 Uniapp 的油耗計算器實現,包含 Vue 組件和頁面代碼。
1. 創建頁面文件
在?pages
?目錄下創建?fuel-calculator
?頁面:
<!-- pages/fuel-calculator/fuel-calculator.vue -->
<template><view class="container"><view class="calculator"><view class="header"><text class="title">油耗計算器</text></view><view class="input-group"><text class="label">當前油價 (元/升)</text><input type="number" v-model="price" placeholder="例如:7.85" class="input"@input="validateInput('price')"/></view><view class="input-group"><text class="label">加油金額 (元)</text><input type="number" v-model="money" placeholder="例如:300" class="input"@input="validateInput('money')"/></view><view class="input-group"><text class="label">行駛里程 (公里)</text><input type="number" v-model="distance" placeholder="例如:450" class="input"@input="validateInput('distance')"/></view><button class="calculate-btn" @click="calculate">計算油耗</button><view class="result" v-if="showResult"><view class="result-header"><text class="result-title">計算結果</text></view><view class="result-item"><text>加油量:</text><text class="result-value">{{ fuel.toFixed(2) }} 升</text></view><view class="result-item"><text>百公里油耗:</text><text class="result-value">{{ consumption.toFixed(2) }} 升/百公里</text></view><view class="result-item"><text>每公里油費:</text><text class="result-value">{{ costPerKm.toFixed(2) }} 元</text></view></view></view></view>
</template><script>
export default {data() {return {price: '',money: '',distance: '',fuel: 0,consumption: 0,costPerKm: 0,showResult: false}},methods: {validateInput(field) {// 確保輸入是正數if (this[field] < 0) {this[field] = ''}},calculate() {// 驗證輸入if (!this.price || !this.money || !this.distance) {uni.showToast({title: '請填寫完整信息',icon: 'none'})return}if (this.price <= 0 || this.money <= 0 || this.distance <= 0) {uni.showToast({title: '請輸入大于0的數值',icon: 'none'})return}// 計算this.fuel = this.money / this.pricethis.consumption = (this.fuel / this.distance) * 100this.costPerKm = this.money / this.distancethis.showResult = true// 隱藏鍵盤uni.hideKeyboard()}}
}
</script><style>
.container {padding: 20px;background-color: #f5f5f5;min-height: 100vh;
}.calculator {background-color: #ffffff;border-radius: 10px;padding: 20px;box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}.header {margin-bottom: 25px;
}.title {font-size: 22px;font-weight: bold;color: #333;text-align: center;display: block;
}.input-group {margin-bottom: 20px;
}.label {font-size: 16px;color: #555;font-weight: bold;display: block;margin-bottom: 8px;
}.input {border: 1px solid #ddd;border-radius: 5px;padding: 12px;font-size: 16px;width: 100%;box-sizing: border-box;
}.calculate-btn {background-color: #4CAF50;color: white;border: none;border-radius: 5px;padding: 12px;font-size: 16px;margin-top: 10px;width: 100%;
}.calculate-btn:active {background-color: #45a049;
}.result {margin-top: 25px;padding: 15px;background-color: #f9f9f9;border-radius: 8px;
}.result-header {margin-bottom: 15px;
}.result-title {font-size: 18px;font-weight: bold;color: #333;
}.result-item {display: flex;justify-content: space-between;margin-bottom: 10px;font-size: 16px;
}.result-value {font-weight: bold;color: #2196F3;
}
</style>
2. 配置頁面路由
在?pages.json
?中添加頁面路由配置:
{"pages": [// ...其他頁面配置{"path": "pages/fuel-calculator/fuel-calculator","style": {"navigationBarTitleText": "油耗計算器"}}]
}
3. 功能說明
這個 Uniapp 油耗計算器具有以下特點:
-
響應式設計:適配各種屏幕尺寸
-
輸入驗證:確保輸入值為正數
-
計算結果:
-
加油量(升)
-
百公里油耗(升/百公里)
-
每公里油費(元)
-
-
用戶體驗優化:
-
計算后自動隱藏鍵盤
-
錯誤輸入提示
-
清晰的結果展示
-
4. 使用方法
-
將代碼添加到您的 Uniapp 項目中
-
通過路由跳轉或導航欄訪問油耗計算器頁面
-
輸入油價、加油金額和行駛里程
-
點擊"計算油耗"按鈕查看結果
5. 擴展建議
如果需要進一步增強功能,可以考慮:
-
添加歷史記錄功能,保存每次計算結果
-
實現多車管理,比較不同車輛的油耗
-
增加圖表展示,可視化油耗變化趨勢
-
添加分享功能,方便分享計算結果
這個組件已經包含了完整的計算邏輯和基本的UI界面,可以直接集成到您的Uniapp項目中使用。