From 34916e04281bd0d6ffd7678061b8a10e8866a295 Mon Sep 17 00:00:00 2001 From: liuxiaolong <liuxiaolong@aiotlink.com> Date: 星期四, 25 十一月 2021 20:11:38 +0800 Subject: [PATCH] fix users route --- appApi.go | 93 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 93 insertions(+), 0 deletions(-) diff --git a/appApi.go b/appApi.go index bd0eb0e..a4f690d 100644 --- a/appApi.go +++ b/appApi.go @@ -8,6 +8,13 @@ type AppApi struct{ } +type AppWithShop struct { + protomsg.App + RemoteVersion string `json:"remoteVersion"` //鍟嗗煄浠撳簱鐗堟湰鍙� + Installed bool `json:"installed"` //鏄惁宸插畨瑁� + IsUpgrade bool `json:"isUpgrade"` //鏄惁闇�瑕佸崌绾� + ProgressMsg string `json:"progressMsg"` //瀹夎鎴栧崌绾ц繘搴� +} func (api AppApi) FindAll(appName string) (list []protomsg.App) { url := DATA_URL_PREFIX + "/app/findAllApp" @@ -52,6 +59,64 @@ return res.Success } +func (api AppApi) GetAppInfo(id string) (flag bool, d interface{}) { + url := DATA_URL_PREFIX + "/app/getAppInfo" + netNode := getNetNode(url2Topic(Topic_AppCenter_Service, url)) + client := NewClient(WithNodes(netNode)) + paramMap := map[string]string { + "id": id, + } + body, err := client.DoGetRequest(url,paramMap,nil) + if err != nil { + return false, err.Error() + } + + var res Result + if err = json.Unmarshal(body, &res); err != nil { + return false, err.Error() + } + return res.Success, res.Data +} + +func (api AppApi) Delete(appId string) (bool,interface{}) { + url := DATA_URL_PREFIX + "/app/delete" + netNode := getNetNode(url2Topic(Topic_AppCenter_Service, url)) + client := NewClient(WithNodes(netNode)) + paramBody := map[string]interface{} { + "appId": appId, + } + body, err := client.DoPostRequest(url,CONTENT_TYPE_JSON,paramBody,nil,nil) + if err != nil { + return false, err.Error() + } + + var res Result + if err = json.Unmarshal(body, &res); err != nil { + return false, err.Error() + } + return res.Success, res.Data +} + +// id浼犵畻娉曟垨鑰呭簲鐢ㄧ殑id锛屼笅杞藉畨瑁呮垨鍗囩骇 +func (api AppApi) Upgrade(id string) (bool, interface{}) { + url := DATA_URL_PREFIX + "/sdk/sdkDownload" + netNode := getNetNode(url2Topic(Topic_AppCenter_Service, url)) + client := NewClient(WithNodes(netNode)) + paramMap := map[string]string { + "path": id, + } + body, err := client.DoGetRequest(url,paramMap,nil) + if err != nil { + return false, err.Error() + } + + var res Result + if err = json.Unmarshal(body, &res); err != nil { + return false, err.Error() + } + return res.Success, res.Data +} + //鑾峰彇鎵�鏈夊凡瀹夎鐨刟pp鍒楄〃,浠ackage涓簁ey func (api AppApi) FindAppMap() map[string]protomsg.App { m := make(map[string]protomsg.App) @@ -63,4 +128,32 @@ } return m +} + +//鑾峰彇甯﹀畨瑁呯姸鎬佺殑app鍒楄〃 +func (api AppApi) FindAppWithInstallStatus(appName string) (list []AppWithShop) { + url := DATA_URL_PREFIX + "/app/findAllApp" + netNode := getNetNode(url2Topic(Topic_AppCenter_Service, url)) + logPrint("netNode:", netNode) + client := NewClient(WithNodes(netNode)) + paramMap := make(map[string]string, 0) + paramMap["appName"] = appName + respBody, err := client.DoGetRequest(url, paramMap, nil) + logPrint("DoGetRequest err:", err) + if err !=nil { + return nil + } + var res Result + if err = json.Unmarshal(respBody, &res); err != nil { + logPrint(err) + return nil + } + bytes, _ := json.Marshal(res.Data) + err = json.Unmarshal(bytes, &list) + if err == nil { + return list + } else { + logPrint("unmarshal err:", err) + return nil + } } \ No newline at end of file -- Gitblit v1.8.0