SemanticAgreement.cs 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261
  1. 
  2. #region Apache License Version 2.0
  3. /*----------------------------------------------------------------
  4. Copyright 2019 Jeffrey Su & Suzhou Senparc Network Technology Co.,Ltd.
  5. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
  6. except in compliance with the License. You may obtain a copy of the License at
  7. http://www.apache.org/licenses/LICENSE-2.0
  8. Unless required by applicable law or agreed to in writing, software distributed under the
  9. License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
  10. either express or implied. See the License for the specific language governing permissions
  11. and limitations under the License.
  12. Detail: https://github.com/JeffreySu/WeiXinMPSDK/blob/master/license.md
  13. ----------------------------------------------------------------*/
  14. #endregion Apache License Version 2.0
  15. /*----------------------------------------------------------------
  16. Copyright(C) 2017 Senparc
  17. 文件名:SemanticAgreement.cs
  18. 文件功能描述:语意理解相关协议
  19. 创建标识:Senparc - 20150211
  20. 修改标识:Senparc - 20150303
  21. 修改描述:整理接口
  22. ----------------------------------------------------------------*/
  23. namespace Senparc.Weixin.MP.AdvancedAPIs.Semantic
  24. {
  25. #region 语义输入协议
  26. /// <summary>
  27. /// 语义输入协议
  28. /// </summary>
  29. public class SemanticPostData
  30. {
  31. /// <summary>
  32. /// 输入文本串
  33. /// 必填
  34. /// </summary>
  35. public string query { get; set; }
  36. /// <summary>
  37. /// 需要使用的服务类别,多个用,隔开,不能为空
  38. /// 必填
  39. /// </summary>
  40. public string category { get; set; }
  41. /// <summary>
  42. /// 纬度坐标,与经度同时传入;与城市二选一传入
  43. /// 见说明,选填
  44. /// </summary>
  45. public float latitude { get; set; }
  46. /// <summary>
  47. /// 经度坐标,与纬度同时传入;与城市二选一传入
  48. /// 见说明,选填
  49. /// </summary>
  50. public float longitude { get; set; }
  51. /// <summary>
  52. /// 城市名称,与经纬度二选一传入
  53. /// 见说明,选填
  54. /// </summary>
  55. public string city { get; set; }
  56. /// <summary>
  57. /// 区域名称,在城市存在的情况下可省;与经纬度二选一传入`
  58. /// 见说明,选填
  59. /// </summary>
  60. public string region { get; set; }
  61. /// <summary>
  62. /// App id,开发者的唯一标识,用于区分开放者,如果为空,则没法使用上下文理解功能。
  63. /// 非必填
  64. /// </summary>
  65. public string appid { get; set; }
  66. /// <summary>
  67. /// 用户唯一id(并非开发者id),用于区分该开发者下不同用户,如果为空,则没法使用上下文理解功能。appid和uid同时存在的情况下,才可以使用上下文理解功能。
  68. /// 非必填
  69. /// </summary>
  70. public string uid { get; set; }
  71. }
  72. #endregion
  73. #region 时间相关协议
  74. /// <summary>
  75. /// 时间相关协议datetime
  76. /// </summary>
  77. public class Semantic_DateTime
  78. {
  79. /// <summary>
  80. /// 单时间的描述协议类型:“DT_SINGLE”。DT_SINGLE又细分为两个类别:DT_ORI和DT_INFER。DT_ORI是字面时间,比如:“上午九点”;DT_INFER是推理时间,比如:“提前5分钟”
  81. /// 时间段的描述协议类型:“DT_INTERVAL”
  82. /// 重复时间的描述协议类型:“DT_REPEAT” DT_ REPEAT又细分为两个类别:DT_RORI和DT_RINFER。DT_RORI是字面时间,比如:“每天上午九点”;DT_RINFER是推理时间,比如:“工作日除外”
  83. /// </summary>
  84. public string type { get; set; }
  85. /// <summary>
  86. /// 24小时制,格式:HH:MM:SS,默认为00:00:00
  87. /// </summary>
  88. public string time { get; set; }
  89. }
  90. /// <summary>
  91. /// 单时间的描述协议datetime
  92. /// </summary>
  93. public class Semantic_SingleDateTime : Semantic_DateTime
  94. {
  95. /// <summary>
  96. /// 格式:YYYY-MM-DD,默认是当天时间
  97. /// </summary>
  98. public string date { get; set; }
  99. /// <summary>
  100. /// date的原始字符串
  101. /// </summary>
  102. public string date_ori { get; set; }
  103. /// <summary>
  104. /// Time的原始字符串
  105. /// </summary>
  106. public string time_ori { get; set; }
  107. }
  108. /// <summary>
  109. /// 时间段的描述协议datetime
  110. /// </summary>
  111. public class Semantic_IntervalDateTime : Semantic_DateTime
  112. {
  113. /// <summary>
  114. /// 格式:YYYY-MM-DD,默认是当天时间
  115. /// </summary>
  116. public string date { get; set; }
  117. /// <summary>
  118. /// date的原始字符串
  119. /// </summary>
  120. public string date_ori { get; set; }
  121. /// <summary>
  122. /// time的原始字符串
  123. /// </summary>
  124. public string time_ori { get; set; }
  125. /// <summary>
  126. /// 格式:YYYY-MM-DD,默认是当前时间
  127. /// </summary>
  128. public string end_date { get; set; }
  129. /// <summary>
  130. /// date的原始字符串
  131. /// </summary>
  132. public string end_date_ori { get; set; }
  133. /// <summary>
  134. /// 24小时制,格式:HH:MM:SS
  135. /// </summary>
  136. public string end_time { get; set; }
  137. /// <summary>
  138. /// Time的原始字符串
  139. /// </summary>
  140. public string end_time_ori { get; set; }
  141. }
  142. /// <summary>
  143. /// 重复时间的描述协议datetime
  144. /// </summary>
  145. public class Semantic_RepeatDateTime : Semantic_DateTime
  146. {
  147. /// <summary>
  148. /// time的原始字符串
  149. /// </summary>
  150. public string time_ori { get; set; }
  151. /// <summary>
  152. /// 重复标记:0000000 注:依次代表周日,周六,…,周一;1表示该天要重复,0表示不重复
  153. /// </summary>
  154. public string repeat { get; set; }
  155. /// <summary>
  156. /// date的原始字符串
  157. /// </summary>
  158. public string repeat_ori { get; set; }
  159. }
  160. #endregion
  161. #region 地点相关协议
  162. /// <summary>
  163. /// 地点相关协议
  164. /// </summary>
  165. public class Semantic_Location
  166. {
  167. /// <summary>
  168. /// 大类型:“LOC” LOC又细分为如下类别:LOC_COUNTRY、LOC_PROVINCE、LOC_CITY、LOC_TOWN、LOC_POI、NORMAL_POI。
  169. /// </summary>
  170. public string type { get; set; }
  171. /// <summary>
  172. /// 国家
  173. /// </summary>
  174. public string country { get; set; }
  175. /// <summary>
  176. /// 省全称,例如:广东省
  177. /// </summary>
  178. public string province { get; set; }
  179. /// <summary>
  180. /// 省简称,例如:广东|粤
  181. /// </summary>
  182. public string province_simple { get; set; }
  183. /// <summary>
  184. /// 市全称,例如:北京市
  185. /// </summary>
  186. public string city { get; set; }
  187. /// <summary>
  188. /// 市简称,例如:北京
  189. /// </summary>
  190. public string city_simple { get; set; }
  191. /// <summary>
  192. /// 县区全称,例如:海淀区
  193. /// </summary>
  194. public string town { get; set; }
  195. /// <summary>
  196. /// 县区简称,例如:海淀
  197. /// </summary>
  198. public string town_simple { get; set; }
  199. /// <summary>
  200. /// poi详细地址
  201. /// </summary>
  202. public string poi { get; set; }
  203. /// <summary>
  204. /// 原始地名串
  205. /// </summary>
  206. public string loc_ori { get; set; }
  207. }
  208. #endregion
  209. #region 数字相关协议
  210. /// <summary>
  211. /// 说明:begin或end,如果为“-1”表示无上限或者下限,如果为“-2”,表示该字段无信息。
  212. ///NUM_PRICE:价格相关,例:200元左右
  213. ///NUM_RADIUS:距离相关,例:200米以内
  214. ///NUM_DISCOUNT:折扣相关,例:八折
  215. ///NUM_SEASON:部,季相关,例:第一部
  216. ///NUM_EPI:集相关,例:第一集
  217. /// </summary>
  218. public class Semantic_Number
  219. {
  220. /// <summary>
  221. /// 大类型:“NUMBER” NUMBER又细分为如下类别:NUM_PRICE、NUM_PADIUS、NUM_DISCOUNT、NUM_SEASON、NUM_EPI、NUM_CHAPTER。
  222. /// </summary>
  223. public string type { get; set; }
  224. /// <summary>
  225. /// 开始
  226. /// </summary>
  227. public string begin { get; set; }
  228. /// <summary>
  229. /// 结束
  230. /// </summary>
  231. public string end { get; set; }
  232. }
  233. #endregion
  234. }