基于nodejs+vue微信小程序加油站服务管理系统
发布人:shili8
发布时间:2025-03-06 17:30
阅读次数:0
**基于Node.js + Vue 的微信小程序加油站服务管理系统**
**系统概述**
本系统是为加油站服务提供的一套管理系统,主要功能包括用户管理、加油记录管理、订单管理等。系统使用 Node.js 和 Vue 构建,前端采用微信小程序开发。
**系统架构**
系统架构如下:
* **后端**: Node.js + Express.js* **前端**: 微信小程序 (Vue)
* **数据库**: MySQL**系统功能**
1. **用户管理**
* 用户注册和登录 * 用户信息管理(修改、删除)
2. **加油记录管理**
* 加油记录添加和编辑 * 加油记录列表展示3. **订单管理**
* 订单添加和编辑 * 订单列表展示**系统实现**
### 后端(Node.js + Express.js)
#### 用户管理
javascript// userController.jsconst express = require('express');
const router = express.Router();
const User = require('../models/User');
router.post('/register', async (req, res) => {
try {
const user = new User(req.body);
await user.save();
res.json({ message: 'User registered successfully' });
} catch (error) {
res.status(400).json({ message: error.message });
}
});
router.post('/login', async (req, res) => {
try {
const user = await User.findOne({ username: req.body.username });
if (!user) return res.status(401).json({ message: 'Invalid credentials' });
const isValidPassword = await user.comparePassword(req.body.password);
if (!isValidPassword) return res.status(401).json({ message: 'Invalid credentials' });
const token = jwt.sign({ userId: user._id }, process.env.SECRET_KEY, { expiresIn: '1h' });
res.json({ token });
} catch (error) {
res.status(400).json({ message: error.message });
}
});
#### 加油记录管理
javascript// fuelRecordController.jsconst express = require('express');
const router = express.Router();
const FuelRecord = require('../models/FuelRecord');
router.post('/add', async (req, res) => {
try {
const fuelRecord = new FuelRecord(req.body);
await fuelRecord.save();
res.json({ message: 'Fuel record added successfully' });
} catch (error) {
res.status(400).json({ message: error.message });
}
});
router.get('/list', async (req, res) => {
try {
const fuelRecords = await FuelRecord.find().sort({ createdAt: -1 }).exec();
res.json(fuelRecords);
} catch (error) {
res.status(400).json({ message: error.message });
}
});
#### 订单管理
javascript// orderController.jsconst express = require('express');
const router = express.Router();
const Order = require('../models/Order');
router.post('/add', async (req, res) => {
try {
const order = new Order(req.body);
await order.save();
res.json({ message: 'Order added successfully' });
} catch (error) {
res.status(400).json({ message: error.message });
}
});
router.get('/list', async (req, res) => {
try {
const orders = await Order.find().sort({ createdAt: -1 }).exec();
res.json(orders);
} catch (error) {
res.status(400).json({ message: error.message });
}
});
### 前端(微信小程序)
#### 用户管理
javascript// user.jsPage({
data: {
username: '',
password: ''
},
handleRegister() {
wx.cloud.callFunction({
name: 'user',
data: {
action: 'register',
username: this.data.username,
password: this.data.password }
}).then(res => {
console.log(res);
wx.showToast({ title: '注册成功' });
}).catch(error => {
console.error(error);
wx.showToast({ title: '注册失败', icon: 'none' });
});
},
handleLogin() {
wx.cloud.callFunction({
name: 'user',
data: {
action: 'login',
username: this.data.username,
password: this.data.password }
}).then(res => {
console.log(res);
wx.setStorageSync('token', res.result.token);
wx.showToast({ title: '登录成功' });
}).catch(error => {
console.error(error);
wx.showToast({ title: '登录失败', icon: 'none' });
});
}
});
#### 加油记录管理
javascript// fuelRecord.jsPage({
data: {
fuelRecords: []
},
handleAdd() {
wx.cloud.callFunction({
name: 'fuelRecord',
data: {
action: 'add',
...this.data.fuelRecord }
}).then(res => {
console.log(res);
this.setData({ fuelRecords: [...this.data.fuelRecords, res.result] });
wx.showToast({ title: '添加成功' });
}).catch(error => {
console.error(error);
wx.showToast({ title: '添加失败', icon: 'none' });
});
},
handleList() {
wx.cloud.callFunction({
name: 'fuelRecord',
data: { action: 'list' }
}).then(res => {
console.log(res);
this.setData({ fuelRecords: res.result });
}).catch(error => {
console.error(error);
wx.showToast({ title: '获取列表失败', icon: 'none' });
});
}
});
#### 订单管理
javascript// order.jsPage({
data: {
orders: []
},
handleAdd() {
wx.cloud.callFunction({
name: 'order',
data: {
action: 'add',
...this.data.order }
}).then(res => {
console.log(res);
this.setData({ orders: [...this.data.orders, res.result] });
wx.showToast({ title: '添加成功' });
}).catch(error => {
console.error(error);
wx.showToast({ title: '添加失败', icon: 'none' });
});
},
handleList() {
wx.cloud.callFunction({
name: 'order',
data: { action: 'list' }
}).then(res => {
console.log(res);
this.setData({ orders: res.result });
}).catch(error => {
console.error(error);
wx.showToast({ title: '获取列表失败', icon: 'none' });
});
}
});
**注意**
* 这是一个基本的示例,需要根据实际需求进行调整和扩展。
* 在生产环境中,请确保使用 HTTPS 和正确配置云函数。
* 如果您有任何问题或需要进一步帮助,请随时联系我。

