愛星物聯(lián)平臺(tái)提供了很多 API,想要開發(fā)一個(gè)獨(dú)立業(yè)務(wù),又不想要和平臺(tái)提供 API 項(xiàng)目糅合在一起?那小伙伴們可以考慮增加新的自定義接口服務(wù)和業(yè)務(wù)服務(wù)。
今天來試試弄一個(gè)自己的業(yè)務(wù) API 服務(wù),用來實(shí)現(xiàn)廚房智能小家電里常用的食譜模塊吧。
創(chuàng)建服務(wù):
1、搭建新的業(yè)務(wù) API 服務(wù),需要用到 iot_demo_api_service 模板;
2、搭建新的業(yè)務(wù)服務(wù),需要用到 iot_demo_service 模板;
我們先將模板目錄 Copy 出來,修改里面的項(xiàng)目名稱,這里我將項(xiàng)目名稱定義為 iot_recipes_api_service、iot_recipes_service,這個(gè)兩個(gè)服務(wù)專門用于給廚房類家電提供制作食譜相關(guān)業(yè)務(wù)接口;
數(shù)據(jù)庫表創(chuàng)建:
初步設(shè)計(jì)有如下數(shù)據(jù)表:
食譜類型表
食譜信息表
食材表
食材類型表
食譜步驟表
食譜步驟食材關(guān)聯(lián)表
食譜評(píng)論評(píng)分表
食譜贊、踩、收藏表
業(yè)務(wù)代碼生成:
使用代碼目錄的代碼生成工具,生成食譜業(yè)務(wù)的所有代碼
在生成之前,我們先編輯下代碼生成工具的配置文件
編輯 gen.bat 文件
執(zhí)行 gen.bat,實(shí)現(xiàn)食譜模塊的所有代碼生成
將生成所得的 convert、handler、service 目錄直接復(fù)制到 iot_recipes_service 服務(wù)的根目錄,注意 handler 目錄有一個(gè) handler 注冊(cè)的方法需要手寫,你需要打開手動(dòng)編寫下,將所有 handler 進(jìn)行注冊(cè);
進(jìn)入到 iot_model 目錄,創(chuàng)建目錄 db_recipes,生成和存放食譜相關(guān)的 model 和 orm,創(chuàng)建 gentoo.bat 文件,添加如下代碼:
執(zhí)行 gentoo.bat,得到生成后的 model 和 orm
經(jīng)過如上操作,基礎(chǔ)功能的添刪改查就完成。
App api 接口實(shí)現(xiàn):
APP 中增加食譜類型表、食譜信息表、食材表、食材類型表、食譜步驟表數(shù)據(jù)查詢接口,增加食譜評(píng)論評(píng)分表、食譜贊、踩、收藏表維護(hù)功能
Cloud api 接口實(shí)現(xiàn)(添加到 iot_cloud_api_service 服務(wù)):
APP 中增加食譜類型表、食譜信息表、食材表、食材類型表、食譜步驟表配置功能接口,增加食譜評(píng)論評(píng)分表、食譜贊、踩、收藏表查詢功能;
前端功能實(shí)現(xiàn):
開放平臺(tái)增加食譜管理、食譜類型管理、食材管理、食材類型管理、食材統(tǒng)計(jì)等功能頁面;
前端大部分組件使用的 ant-design-vue 的原生組件,直接參照官方文檔就可以開發(fā)了;另外框架自定義了 ChartCard、ColorPicker、DemoStep、detailChange、Editor、GlobalHeader、IconFont、IconSelector、ImgCutterDialog、MultiTab、NoData、NProgress、PreviewModal、SelectLang、tableCard、uploadButton、uploadCard、VueQrCode 組件,你可以參照已實(shí)現(xiàn)示例進(jìn)行使用;
APP 開發(fā):
因?yàn)槠脚_(tái)提供的開源版 APP 我沒有拿到源代碼,無法直接修改,于是我想到一個(gè)非常特別的方式來實(shí)現(xiàn) APP 的功能,就是我創(chuàng)建了一個(gè)食譜的產(chǎn)品,然后編寫了一套食譜的控制面板,這個(gè)食譜的產(chǎn)品默認(rèn)添加給每一個(gè)注冊(cè)用戶,然后食譜面板中是完整的食譜 APP 功能。
于是我寫了一個(gè)食譜的 H5 項(xiàng)目,作為產(chǎn)品的方式默認(rèn)引入到 APP 中, 當(dāng)然你可以使用官方提供的面板的模板進(jìn)行改造,這樣可以使用到于原生交互和設(shè)備控制的功能。
接下來家庭數(shù)據(jù)獲取,為每一個(gè)用戶提供一個(gè)默認(rèn)食譜面板入口;
找到:
iot_app_api_service/controls/user/services/home_service.go,在大概 196 行的位置增加默認(rèn)食譜面板的引用,以產(chǎn)品面板的方式加載食譜模塊。
注意:deviceList 中的設(shè)備類型修改 3,這樣就不會(huì)出現(xiàn)開關(guān)圖標(biāo)了。
完美!!
我讓愛星物聯(lián)開源 APP
擴(kuò)展了一個(gè)食譜的模塊
快來試試吧~
審核編輯 黃宇
-
接口
+關(guān)注
關(guān)注
33文章
8691瀏覽量
151707 -
API
+關(guān)注
關(guān)注
2文章
1510瀏覽量
62296
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論