愛(ài)星物聯(lián)平臺(tái)提供了很多 API,想要開(kāi)發(fā)一個(gè)獨(dú)立業(yè)務(wù),又不想要和平臺(tái)提供 API 項(xiàng)目糅合在一起?那小伙伴們可以考慮增加新的自定義接口服務(wù)和業(yè)務(wù)服務(wù)。
今天來(lái)試試弄一個(gè)自己的業(yè)務(wù) API 服務(wù),用來(lái)實(shí)現(xiàn)廚房智能小家電里常用的食譜模塊吧。
創(chuàng)建服務(wù):
1、搭建新的業(yè)務(wù) API 服務(wù),需要用到 iot_demo_api_service 模板;
2、搭建新的業(yè)務(wù)服務(wù),需要用到 iot_demo_service 模板;
我們先將模板目錄 Copy 出來(lái),修改里面的項(xiàng)目名稱(chēng),這里我將項(xiàng)目名稱(chēng)定義為 iot_recipes_api_service、iot_recipes_service,這個(gè)兩個(gè)服務(wù)專(zhuān)門(mén)用于給廚房類(lèi)家電提供制作食譜相關(guān)業(yè)務(wù)接口;

數(shù)據(jù)庫(kù)表創(chuàng)建:
初步設(shè)計(jì)有如下數(shù)據(jù)表:
食譜類(lèi)型表
食譜信息表
食材表
食材類(lèi)型表
食譜步驟表
食譜步驟食材關(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è)的方法需要手寫(xiě),你需要打開(kāi)手動(dòng)編寫(xiě)下,將所有 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)過(guò)如上操作,基礎(chǔ)功能的添刪改查就完成。
App api 接口實(shí)現(xiàn):
APP 中增加食譜類(lèi)型表、食譜信息表、食材表、食材類(lèi)型表、食譜步驟表數(shù)據(jù)查詢(xún)接口,增加食譜評(píng)論評(píng)分表、食譜贊、踩、收藏表維護(hù)功能

Cloud api 接口實(shí)現(xiàn)(添加到 iot_cloud_api_service 服務(wù)):
APP 中增加食譜類(lèi)型表、食譜信息表、食材表、食材類(lèi)型表、食譜步驟表配置功能接口,增加食譜評(píng)論評(píng)分表、食譜贊、踩、收藏表查詢(xún)功能;

前端功能實(shí)現(xiàn):
開(kāi)放平臺(tái)增加食譜管理、食譜類(lèi)型管理、食材管理、食材類(lèi)型管理、食材統(tǒng)計(jì)等功能頁(yè)面;

前端大部分組件使用的 ant-design-vue 的原生組件,直接參照官方文檔就可以開(kāi)發(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 開(kāi)發(fā):
因?yàn)槠脚_(tái)提供的開(kāi)源版 APP 我沒(méi)有拿到源代碼,無(wú)法直接修改,于是我想到一個(gè)非常特別的方式來(lái)實(shí)現(xiàn) APP 的功能,就是我創(chuàng)建了一個(gè)食譜的產(chǎn)品,然后編寫(xiě)了一套食譜的控制面板,這個(gè)食譜的產(chǎn)品默認(rèn)添加給每一個(gè)注冊(cè)用戶(hù),然后食譜面板中是完整的食譜 APP 功能。

于是我寫(xiě)了一個(gè)食譜的 H5 項(xiàng)目,作為產(chǎn)品的方式默認(rèn)引入到 APP 中, 當(dāng)然你可以使用官方提供的面板的模板進(jìn)行改造,這樣可以使用到于原生交互和設(shè)備控制的功能。

接下來(lái)家庭數(shù)據(jù)獲取,為每一個(gè)用戶(hù)提供一個(gè)默認(rèn)食譜面板入口;
找到:
iot_app_api_service/controls/user/services/home_service.go,在大概 196 行的位置增加默認(rèn)食譜面板的引用,以產(chǎn)品面板的方式加載食譜模塊。
注意:deviceList 中的設(shè)備類(lèi)型修改 3,這樣就不會(huì)出現(xiàn)開(kāi)關(guān)圖標(biāo)了。

完美!!
我讓愛(ài)星物聯(lián)開(kāi)源 APP
擴(kuò)展了一個(gè)食譜的模塊
快來(lái)試試吧~

審核編輯 黃宇
-
接口
+關(guān)注
關(guān)注
33文章
9520瀏覽量
157021 -
API
+關(guān)注
關(guān)注
2文章
2371瀏覽量
66761
發(fā)布評(píng)論請(qǐng)先 登錄
利用愛(ài)星物聯(lián)服務(wù)腳手架實(shí)現(xiàn)定制服務(wù)
云商美食平臺(tái)
微信小程序連接阿里云物聯(lián)網(wǎng)平臺(tái)云端API實(shí)現(xiàn)物聯(lián)操控
手機(jī)App是怎樣通過(guò)愛(ài)星物聯(lián)IoT物聯(lián)網(wǎng)控制空氣凈化器的呢?
手機(jī)App是如何通過(guò)愛(ài)星物聯(lián)IoT物聯(lián)網(wǎng)控制空氣凈化器的
15分鐘如何用愛(ài)星物聯(lián)開(kāi)發(fā)一個(gè)新產(chǎn)品 ?
家里的加濕器怎么接入愛(ài)星物聯(lián)云平臺(tái),實(shí)現(xiàn)智能控制?
作為一個(gè)平臺(tái)開(kāi)發(fā)工程師,我如何使用愛(ài)星物聯(lián)?
使用愛(ài)星物聯(lián)平臺(tái)如何讓設(shè)備快速入云呢?
使用愛(ài)星物聯(lián)平臺(tái),如何讓設(shè)備快速入云?
一次平臺(tái)開(kāi)發(fā)工程師的“熱辣滾燙”:愛(ài)星物聯(lián)使用流程
愛(ài)星物聯(lián)開(kāi)源IoT平臺(tái)助力企業(yè)構(gòu)建安全可定制化的IoT解決方案
愛(ài)星物聯(lián)IoT平臺(tái)正式開(kāi)源
使用愛(ài)星物聯(lián)IoT平臺(tái)時(shí),哪些參數(shù)配置是開(kāi)發(fā)者必須知道的?
想要自行開(kāi)發(fā)愛(ài)星物聯(lián)的網(wǎng)頁(yè),對(duì)著代碼一頭霧水?
如何用愛(ài)星物聯(lián)平臺(tái)做自己專(zhuān)屬的美食食譜?
評(píng)論