📜  停车场项目 (1)

📅  最后修改于: 2023-12-03 15:36:44.084000             🧑  作者: Mango

停车场项目介绍

项目背景

随着汽车的普及,城市中的道路拥堵和停车难已成为影响城市交通的一大问题。在解决停车难的问题中,建设停车场是一个重要的手段。本项目是一个停车场管理系统,为用户提供了在线预约、实时泊车、缴纳停车费等功能。

项目目标

本项目的主要目标是实现一个完整的停车场管理系统,包括前台网站、后台管理系统和移动端应用,主要实现以下功能:

  1. 用户注册和登录功能,管理用户信息。
  2. 停车位管理,支持在线预约和实时停车。
  3. 计费管理,支持在线缴费和查询车辆信息。
  4. 数据统计,支持对用户、车辆和收入等数据进行统计和分析。
项目技术栈

本项目主要采用以下技术:

  1. 前端:HTML、CSS、JavaScript、Vue.js、Element-ui等。
  2. 后端:Java、Spring Boot、MyBatis、MySQL等。
  3. 移动端:React Native、Expo等。
项目进度

目前,本项目已完成了前台网站和后台管理系统的开发工作,包括用户注册、停车位管理、计费管理等核心功能的实现。后续将继续开发移动端应用和数据统计模块。

代码片段
// 用户信息实体类
public class User {
    private Long id;
    private String username;
    private String password;
    private String email;
    private String phone;
    // getter和setter方法省略
}

// 用户Service接口
public interface UserService {
    User addUser(User user);
    User getUserById(Long id);
    User getUserByUsername(String username);
    User updateUser(User user);
    void deleteUserById(Long id);
}
<template>
  <div class="user-list">
    <el-table :data="users">
      <el-table-column prop="id" label="ID"></el-table-column>
      <el-table-column prop="username" label="用户名"></el-table-column>
      <el-table-column prop="email" label="邮箱"></el-table-column>
      <el-table-column prop="phone" label="电话"></el-table-column>
      <el-table-column label="操作">
        <template slot-scope="{row}">
          <el-button type="primary" @click="editUser(row)">编辑</el-button>
          <el-button type="danger" @click="deleteUser(row.id)">删除</el-button>
        </template>
      </el-table-column>
    </el-table>
  </div>
</template>

<script>
import { getUsers, deleteUser } from '@/api/user'

export default {
  data() {
    return {
      users: []
    }
  },
  created() {
    this.fetchUsers()
  },
  methods: {
    fetchUsers() {
      getUsers().then(res => {
        this.users = res.data
      })
    },
    editUser(user) {
      // TODO: 编辑用户信息
    },
    deleteUser(userId) {
      deleteUser(userId).then(res => {
        this.fetchUsers()
      })
    }
  }
}
</script>