POS Self Order自助点餐源码分析 - xiaohao0576/odoo-doc GitHub Wiki

获取自助点餐页面所需的所有数据

URL: https://mydomain.odoo.com/pos-self/data/1

Method: POST

{
    "id": 0,
    "jsonrpc": "2.0",
    "method": "call",
    "params": {}
}

现在只需要向上面的链接POSTJSON数据,就会返回所有自助点餐所需要的数据,包含订单、订单行、还有所有菜品以及分类。 现在不需要验证access_token和table_identifier就能获取到所有的数据

查看源码

访问自助点餐主页

URL: https://mydomain.odoo.com/pos-self/1?access_token=<TOKEN>

直接使用浏览器访问上面格式的网址,就可以访问自助点餐的主页面,查看源码

打开的网页入口是pos_self_order.index, 查看源码

访问自助点餐子页面

查看self_order_index.xml文件,里面有很多具体的子路由,比如route="/pos-self/${selfOrder.config.id}/products"

所有子页面的定义,全部在文件夹addons/pos_self_order/static/src/app/pages

自助点餐用到的UI组建

所有的组建放在addons/pos_self_order/static/src/app/components文件夹

pos_self_order.ProductCard组件就是POS自助点餐页面的每行产品列表

pos_self_order.ProductInfoPopup是弹出的产品详情页,想要显示产品详情页,产品档案的public_description字段不能是空,应该放入HTML代码。这个设计,可以让产品详情页很灵活,完全自定义HTML代码

后端处理逻辑

后端http API主要有以下两个文件

addons/pos_self_order/controllers/self_entry.py查看源码

addons/pos_self_order/controllers/orders.py,查看源码

⚠️ **GitHub.com Fallback** ⚠️