Factory.cs 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. using System;
  2. using Alipay.EasySDK.Kernel;
  3. namespace Alipay.EasySDK.Factory
  4. {
  5. /// <summary>
  6. /// 客户端工厂,用于快速配置和访问各种场景下的API Client
  7. ///
  8. /// 注:该Factory获取的Client不可储存重复使用,请每次均通过Factory完成调用
  9. /// </summary>
  10. public static class Factory
  11. {
  12. public const string SDK_VERSION = "alipay-easysdk-net-2.0.0";
  13. /// <summary>
  14. /// 将一些初始化耗时较多的信息缓存在上下文中
  15. /// </summary>
  16. private static Context context;
  17. /// <summary>
  18. /// 设置客户端参数,只需设置一次,即可反复使用各种场景下的API Client
  19. /// </summary>
  20. /// <param name="options">客户端参数对象</param>
  21. public static void SetOptions(Config options)
  22. {
  23. context = new Context(options, SDK_VERSION);
  24. }
  25. /// <summary>
  26. /// 基础能力相关
  27. /// </summary>
  28. public static class Base
  29. {
  30. /// <summary>
  31. /// 获取图片相关API Client
  32. /// </summary>
  33. /// <returns>图片相关API Client</returns>
  34. public static EasySDK.Base.Image.Client Image()
  35. {
  36. return new EasySDK.Base.Image.Client(new Client(context));
  37. }
  38. /// <summary>
  39. /// 获取视频相关API Client
  40. /// </summary>
  41. /// <returns>视频相关API Client</returns>
  42. public static EasySDK.Base.Video.Client Video()
  43. {
  44. return new EasySDK.Base.Video.Client(new Client(context));
  45. }
  46. /// <summary>
  47. /// 获取OAuth认证相关API Client
  48. /// </summary>
  49. /// <returns>OAuth认证相关API Client</returns>
  50. public static EasySDK.Base.OAuth.Client OAuth()
  51. {
  52. return new EasySDK.Base.OAuth.Client(new Client(context));
  53. }
  54. /// <summary>
  55. /// 获取小程序二维码相关API Client
  56. /// </summary>
  57. /// <returns>小程序二维码相关API Client</returns>
  58. public static EasySDK.Base.Qrcode.Client Qrcode()
  59. {
  60. return new EasySDK.Base.Qrcode.Client(new Client(context));
  61. }
  62. }
  63. /// <summary>
  64. /// 营销能力相关
  65. /// </summary>
  66. public static class Marketing
  67. {
  68. /// <summary>
  69. /// 获取生活号相关API Client
  70. /// </summary>
  71. /// <returns>生活号相关API Client</returns>
  72. public static EasySDK.Marketing.OpenLife.Client OpenLife()
  73. {
  74. return new EasySDK.Marketing.OpenLife.Client(new Client(context));
  75. }
  76. /// <summary>
  77. /// 获取支付宝卡包相关API Client
  78. /// </summary>
  79. /// <returns>支付宝卡包相关API Client</returns>
  80. public static EasySDK.Marketing.Pass.Client Pass()
  81. {
  82. return new EasySDK.Marketing.Pass.Client(new Client(context));
  83. }
  84. /// <summary>
  85. /// 获取小程序模板消息相关API Client
  86. /// </summary>
  87. /// <returns>小程序模板消息相关API Client</returns>
  88. public static EasySDK.Marketing.TemplateMessage.Client TemplateMessage()
  89. {
  90. return new EasySDK.Marketing.TemplateMessage.Client(new Client(context));
  91. }
  92. }
  93. /// <summary>
  94. /// 会员能力相关
  95. /// </summary>
  96. public static class Member
  97. {
  98. /// <summary>
  99. /// 获取支付宝身份认证相关API Client
  100. /// </summary>
  101. /// <returns>支付宝身份认证相关API Client</returns>
  102. public static EasySDK.Member.Identification.Client Identification()
  103. {
  104. return new EasySDK.Member.Identification.Client(new Client(context));
  105. }
  106. }
  107. /// <summary>
  108. /// 支付能力相关
  109. /// </summary>
  110. public static class Payment
  111. {
  112. /// <summary>
  113. /// 获取支付通用API Client
  114. /// </summary>
  115. /// <returns>支付通用API Client</returns>
  116. public static EasySDK.Payment.Common.Client Common()
  117. {
  118. return new EasySDK.Payment.Common.Client(new Client(context));
  119. }
  120. /// <summary>
  121. /// 获取当面付API Client
  122. /// </summary>
  123. /// <returns>当面付API Client</returns>
  124. public static EasySDK.Payment.FaceToFace.Client FaceToFace()
  125. {
  126. return new EasySDK.Payment.FaceToFace.Client(new Client(context));
  127. }
  128. /// <summary>
  129. /// 获取花呗API Client
  130. /// </summary>
  131. /// <returns>花呗API Client</returns>
  132. public static EasySDK.Payment.Huabei.Client Huabei()
  133. {
  134. return new EasySDK.Payment.Huabei.Client(new Client(context));
  135. }
  136. /// <summary>
  137. /// 获取手机APP支付API Client
  138. /// </summary>
  139. /// <returns>手机APP支付API Client</returns>
  140. public static EasySDK.Payment.App.Client App()
  141. {
  142. return new EasySDK.Payment.App.Client(new Client(context));
  143. }
  144. /// <summary>
  145. /// 获取电脑网站支付API Client
  146. /// </summary>
  147. /// <returns>电脑网站支付API</returns>
  148. public static EasySDK.Payment.Page.Client Page()
  149. {
  150. return new EasySDK.Payment.Page.Client(new Client(context));
  151. }
  152. /// <summary>
  153. /// 获取手机网站支付API Client
  154. /// </summary>
  155. /// <returns>手机网站支付API</returns>
  156. public static EasySDK.Payment.Wap.Client Wap()
  157. {
  158. return new EasySDK.Payment.Wap.Client(new Client(context));
  159. }
  160. }
  161. /// <summary>
  162. /// 安全能力相关
  163. /// </summary>
  164. public static class Security
  165. {
  166. /// <summary>
  167. /// 获取文本风险识别相关API Client
  168. /// </summary>
  169. /// <returns>文本风险识别相关API Client</returns>
  170. public static EasySDK.Security.TextRisk.Client TextRisk()
  171. {
  172. return new EasySDK.Security.TextRisk.Client(new Client(context));
  173. }
  174. }
  175. /// <summary>
  176. /// 辅助工具
  177. /// </summary>
  178. public static class Util
  179. {
  180. /// <summary>
  181. /// 获取OpenAPI通用接口,可通过自行拼装参数,调用几乎所有OpenAPI
  182. /// </summary>
  183. /// <returns>OpenAPI通用接口</returns>
  184. public static EasySDK.Util.Generic.Client Generic()
  185. {
  186. return new EasySDK.Util.Generic.Client(new Client(context));
  187. }
  188. /// <summary>
  189. /// 获取AES128加解密相关API Client,常用于会员手机号的解密
  190. /// </summary>
  191. /// <returns>AES128加解密相关API Client</returns>
  192. public static EasySDK.Util.AES.Client AES()
  193. {
  194. return new EasySDK.Util.AES.Client(new Client(context));
  195. }
  196. }
  197. }
  198. }