You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
go-library/service/meituan/openapi.poi.go

122 lines
3.3 KiB

package meituan
import (
"encoding/json"
"net/http"
)
type OpenapiPoiCategoryResult struct {
Code int `json:"code"`
Data []struct {
Name string `json:"name"`
Subcate []struct {
Name string `json:"name"` // 品类名称
ID int `json:"id"` // 品类id
} `json:"subcate"`
ID int `json:"id"`
} `json:"data"`
}
// OpenapiPoiCategory 基础数据 - 品类接口 https://openapi.meituan.com/#api-0.%E5%9F%BA%E7%A1%80%E6%95%B0%E6%8D%AE-GetHttpsOpenapiMeituanComPoiDistrictCityid1
func (app *App) OpenapiPoiCategory(cityID int) (result OpenapiPoiCategoryResult, err error) {
param := NewParams()
param.Set("cityid", cityID)
// 参数
params := app.NewParamsWith(param)
// 请求
body, err := app.request("https://openapi.meituan.com/poi/category", params, http.MethodGet)
if err != nil {
return
}
if err = json.Unmarshal(body, &result); err != nil {
return
}
return
}
type OpenapiPoiAreaResult struct {
Code int `json:"code"`
Data []struct {
Area []struct {
Name string `json:"name"` // 商圈名称
ID int `json:"id"` // 商圈id
} `json:"area"`
Name string `json:"name"` // 行政区名称
ID int `json:"id"` // 行政区id
} `json:"data"`
}
// OpenapiPoiArea 基础数据 - 商圈接口 https://openapi.meituan.com/#api-0.%E5%9F%BA%E7%A1%80%E6%95%B0%E6%8D%AE-GetHttpsOpenapiMeituanComPoiAreaCityid1
func (app *App) OpenapiPoiArea(cityID int) (result OpenapiPoiAreaResult, err error) {
param := NewParams()
param.Set("cityid", cityID)
// 参数
params := app.NewParamsWith(param)
// 请求
body, err := app.request("https://openapi.meituan.com/poi/area", params, http.MethodGet)
if err != nil {
return
}
if err = json.Unmarshal(body, &result); err != nil {
return
}
return
}
type OpenapiPoiDistrictResult struct {
Code int `json:"code"` // 状态码 0表示请求正常
Data []struct {
Name string `json:"name"` // 行政区名称
ID int `json:"id"` // 行政区id
} `json:"data"` // 返回行政区列表
}
// OpenapiPoiDistrict 基础数据 - 城市的行政区接口 https://openapi.meituan.com/#api-0.%E5%9F%BA%E7%A1%80%E6%95%B0%E6%8D%AE-GetHttpsOpenapiMeituanComPoiDistrictCityid1
func (app *App) OpenapiPoiDistrict(cityID int) (result OpenapiPoiDistrictResult, err error) {
param := NewParams()
param.Set("cityid", cityID)
// 参数
params := app.NewParamsWith(param)
// 请求
body, err := app.request("https://openapi.meituan.com/poi/district", params, http.MethodGet)
if err != nil {
return
}
if err = json.Unmarshal(body, &result); err != nil {
return
}
return
}
type OpenapiPoiCityResult struct {
Code int `json:"code"` // 状态码 0表示请求正常
Data []struct {
Pinyin string `json:"pinyin"` // 城市拼音
Name string `json:"name"` // 城市名称
ID int `json:"id"` // 城市id
} `json:"data"` // 返回城市列表
}
// OpenapiPoiCity 基础数据 - 开放城市接口 https://openapi.meituan.com/#api-0.%E5%9F%BA%E7%A1%80%E6%95%B0%E6%8D%AE-GetHttpsOpenapiMeituanComPoiCity
func (app *App) OpenapiPoiCity() (result OpenapiPoiCityResult, err error) {
// 请求
body, err := app.request("https://openapi.meituan.com/poi/city", map[string]interface{}{}, http.MethodGet)
if err != nil {
return
}
if err = json.Unmarshal(body, &result); err != nil {
return
}
return
}