其他分享
首页 > 其他分享> > 点餐系统项目

点餐系统项目

作者:互联网

项目名称:点餐系统

代码链接:https://github.com/fangbaorui/Linux/tree/master/sys_order

1. 项目描述

2.市场调研

3.技术调研

4.项目实现

4.1数据管理模块:

4.2业务处理模块:

4.3.前端界面模块:

5.详细设计

5.1.数据管理模块

  1. 菜品信息表:菜品ID,菜品名称,菜品单价,添加时间
  2. 订单信息表:订单ID,订单菜品,订单状态,修改时间
  1. 菜品数据类:添加菜品,删除菜品,修改菜品,获取菜品(所有,单个)
  2. 订单数据类:添加订单,删除订单,修改订单(菜品,状态)
    获取订单(所有,指定id)
  1. 搭建服务器: HTTP服务器(采用httplib库搭建)
  2. 通信接口设计:什么样的请求对应什么样的业务处理和响应
    1.静态页面请求: html页面(以及依赖的css/js文件)
    index.htmI–菜品信息的展示以及下单界面
    GET /index.html HTTP/1.1
    HTTP/1.1200 OK

    Content-Type: textml
    Content-Length:文件长度
    /index.html文件数据
    2.动态数据请求:菜品数据,订单数据
    通信接口采用restful风格接口设计:
    基于http协议,使用xml或者json格式定义正文序列化方式
    定义操作类型:新增- POST;删除- DELETE;修改- PUT;获取-GET

6.前端界面模块

html的编写渲染

实现: html+css+js

  1. Json:Value类: json 与外界进行数据中转的一个对象类
    重载了大量的操作符:赋值运算符
    包含了大量的类型转换函数: .
  2. Json::Reader类:实现反序列化,
    将json格式字符串转换为多个数据对象,存储在Json::Value对象中
    .parse(std::string &buf, Json::Value &val)
  3. Json::Writer类:实现序列化
    基类–子类: Json::FastWriter / Json::StyledWriter
    将Json:Value对象中的数据序列化成为json格式的字符串
    std::string write(Json::Value &val)

7.MySQL数据库的基本操作: SQL

7.1库的操作:

7.2表的操作:

MySQL操作:

8线程他

client:tcp服务器

当服务端收到一个客户端连接,则将新建连接抛入线程池,线程池中的线程负责与指定客户端进行通信(http通信)。

  1. 接收请求数据,按照http请求协议格式进行解析。
    实例化httplib:.Request对象,将解析的信息填入其中
    GET /hello HTTP/1.1
    class Request{
    Content-Length:0

    string method=GET; 1
    Connection: keep- alive
    string path=/hello; d

    version= HTTP/1.1
    body= “”
    <string, string> param
    <string, string> headers

tcp服务器

  1. 据请求找处理函数,线程池
  2. 执行函数hello (req, rsp)
  3. 根据rsp组织响应
    注册路由成员函数Server.Get()/Post()/Put()/Delete()
    设置静态资源默认路径接口:设置了这个路径之后,当前端在请求静态资源的时候/index.html,就会自动的先到这个路径下查找有没有对应静态资源文件,如果有则自动读取文件数据进行回复
    Server.set_ base_ _dir(char *path)

9.渲染

标签:HTTP,1.1,项目,mysql,菜品,系统,int,MYSQL,点餐
来源: https://blog.csdn.net/qq_45975614/article/details/118674585