一、技术栈剖析
前端:Uniapp
前端采用 Uniapp 进行开发,它是一个使用 Vue.js 开发跨平台应用的前端框架。通过编写一套代码,就能发布到多个平台,如微信小程序、H5、APP 等,大大提高了开发效率。
<template>
<view>
<text>这是一个 Uniapp 页面</text>
</view>
</template>
<script>
export default {
data() {
return {
// 数据定义
};
},
onLoad() {
// 页面加载逻辑
}
};
</script>
<style scoped>
.container { padding: 20px; }
</style>
后端:JAVA + Spring boot 框架
后端基于 JAVA 语言,并使用 Spring boot 框架,它极大地简化了 Spring 应用的搭建和开发过程。自动配置、起步依赖等特性,让开发者可以快速上手开发项目。
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello() {
return "Hello, Spring Boot!";
}
}
这段代码定义了一个 HelloController,通过 @RestController 注解表明这是一个处理 HTTP 请求的控制器,@GetMapping("/hello") 定义了一个处理 /hello 路径的 GET 请求的方法,返回一个简单的字符串。
数据库:MySQL
选用 MySQL 作为数据库,它是一款开源的关系型数据库,广泛应用于各种项目中。像在 Spring boot 项目中连接 MySQL 数据库,只需要在 application.properties 文件中配置相关参数:
spring.datasource.url=jdbc:mysql://localhost:3306/your_database_name
spring.datasource.username=root
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
开发工具
开发工具包括 jdk1.8,mysql5.6,node 9.4,redis6.2,npm6.9。JDK 1.8 提供了许多新特性,如 Lambda 表达式等,方便开发;MySQL 5.6 作为数据库服务;Node.js 和 npm 用于前端开发和包管理;Redis 6.2 则可以用于缓存数据,提高系统性能。
二、功能详解
外卖功能
- 商家入驻与商品发布:商家能够入驻平台并开设自己的店铺,发布各种商品。在数据库设计中,可以创建 merchant 表存储商家信息,product 表存储商品信息,通过商家 ID 建立关联。
- 用户购买与订单发布:用户在浏览商品后进行购买,平台会发布订单。订单相关信息可存储在 order 表中,包含用户 ID、商家 ID、商品 ID 等字段。
- 骑手接单与配送:骑手在 APP 端可以看到订单并接单,然后进行商品配送。在代码实现上,可以通过接口获取订单列表,骑手选择订单后更新订单状态为'已接单'。
跑腿功能
用户联系指定事件,骑手可进行接单并赚取佣金。同样在数据库中创建相关表,如 errand 表记录跑腿任务信息,骑手接单时更新任务状态。


