/*--------------------------------------------------------------------------
* SmartAPI.cs
*Auth:deepleo
* Date:2015.01.15
* Email:2586662969@qq.com
* Website:http://www.weixinsdk.net
*--------------------------------------------------------------------------*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Http;
using Codeplex.Data;
namespace LYFZ.Weixin.SDK
{
///
/// 智能接口
/// http://mp.weixin.qq.com/wiki/index.php?title=%E8%AF%AD%E4%B9%89%E7%90%86%E8%A7%A3
///
public class SmartAPI
{
///
/// 语义理解
///
/// 根据appid和appsecret获取到的token
/// 输入文本串
/// 需要使用的服务类型,多个用“,”隔开,不能为空
/// 纬度坐标,与经度同时传入;与城市二选一传入
/// 经度坐标,与纬度同时传入;与城市二选一传入
/// 城市名称,与经纬度二选一传入
/// 区域名称,在城市存在的情况下可省;与经纬度二选一传入
/// 公众号唯一标识,用于区分公众号开发者
/// 用户唯一id(非开发者id),用户区分公众号下的不同用户(建议填入用户openid),如果为空,则无法使用上下文理解功能。appid和uid同时存在的情况下,才可以使用上下文理解功能。
///
public static dynamic Semantic(string access_token, string query, string category, string latitude, string longitude, string city, string region, string appid, string uid)
{
var builder = new StringBuilder();
builder
.Append("{")
.Append('"' + "query" + '"' + ":").Append(query).Append(",")
.Append('"' + "category" + '"' + ":").Append(category).Append(",")
.Append('"' + "latitude" + '"' + ":").Append(latitude).Append(",")
.Append('"' + "longitude" + '"' + ":").Append(longitude).Append(",")
.Append('"' + "city" + '"' + ":").Append(city).Append(",")
.Append('"' + "region" + '"' + ":").Append(region).Append(",")
.Append('"' + "appid" + '"' + ":").Append(appid).Append(",")
.Append('"' + "uid" + '"' + ":").Append(uid).Append(",")
.Append("}");
var client = new HttpClient();
var result = client.PostAsync(string.Format("https://api.weixin.qq.com/semantic/semproxy/search?access_token={0}", access_token), new StringContent(builder.ToString())).Result;
return DynamicJson.Parse(result.Content.ReadAsStringAsync().Result);
}
}
}