tijian_tieying/web/dccdc/Common/Deepleo.Weixin.SDK/SmartAPI.cs
2025-02-20 12:14:39 +08:00

57 lines
3.0 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*--------------------------------------------------------------------------
* 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 Deepleo.Weixin.SDK
{
/// <summary>
/// 智能接口
/// http://mp.weixin.qq.com/wiki/index.php?title=%E8%AF%AD%E4%B9%89%E7%90%86%E8%A7%A3
/// </summary>
public class SmartAPI
{
/// <summary>
/// 语义理解
/// </summary>
/// <param name="access_token">根据appid和appsecret获取到的token</param>
/// <param name="query">输入文本串</param>
/// <param name="category">需要使用的服务类型,多个用“,”隔开,不能为空</param>
/// <param name="latitude">纬度坐标,与经度同时传入;与城市二选一传入</param>
/// <param name="longitude">经度坐标,与纬度同时传入;与城市二选一传入</param>
/// <param name="city">城市名称,与经纬度二选一传入</param>
/// <param name="region">区域名称,在城市存在的情况下可省;与经纬度二选一传入</param>
/// <param name="appid">公众号唯一标识,用于区分公众号开发者</param>
/// <param name="uid">用户唯一id非开发者id用户区分公众号下的不同用户建议填入用户openid如果为空则无法使用上下文理解功能。appid和uid同时存在的情况下才可以使用上下文理解功能。</param>
/// <returns></returns>
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);
}
}
}