| | |
| | | return await utils.WxSend(new SendRequest |
| | | { |
| | | WxmpCode = request.WxmpCode, |
| | | EnvVersion = request.EnvVersion, |
| | | template_id = request.template_id, |
| | | page = request.page, |
| | | touser = request.touser, |
| | | data = request.data, |
| | | miniprogram_state = request.miniprogram_state, |
| | | lang = request.lang |
| | | //EnvVersion = request.EnvVersion, |
| | | Template_id = request.Template_id.ToString(), |
| | | Page = request.Page, |
| | | Touser = request.Touser, |
| | | Data = request.Data, |
| | | //miniprogram_state = request.miniprogram_state, |
| | | Lang = request.Lang |
| | | }); |
| | | } |
| | | } |
| | |
| | | 小程序编号 |
| | | </summary> |
| | | </member> |
| | | <member name="P:ApiTools.Core.SaveWxSendCommand.EnvVersion"> |
| | | <member name="P:ApiTools.Core.SaveWxSendCommand.Template_id"> |
| | | <summary> |
| | | 要打开的小程序版本。正式版为 "release",体验版为 "trial",开发版为 "develop"。默认是正式版。 |
| | | 所需下发的订阅模板id(做成枚举) |
| | | </summary> |
| | | </member> |
| | | <member name="P:ApiTools.Core.SaveWxSendCommand.template_id"> |
| | | <member name="P:ApiTools.Core.SaveWxSendCommand.Page"> |
| | | <summary> |
| | | 所需下发的订阅模板id |
| | | 点击模板卡片后的跳转页面,仅限本小程序内的页面。支持带参数,(示例index?foo=bar)。该字段不填则模板无跳转(做到配置文件里面) |
| | | </summary> |
| | | </member> |
| | | <member name="P:ApiTools.Core.SaveWxSendCommand.page"> |
| | | <summary> |
| | | 点击模板卡片后的跳转页面,仅限本小程序内的页面。支持带参数,(示例index?foo=bar)。该字段不填则模板无跳转 |
| | | </summary> |
| | | </member> |
| | | <member name="P:ApiTools.Core.SaveWxSendCommand.touser"> |
| | | <member name="P:ApiTools.Core.SaveWxSendCommand.Touser"> |
| | | <summary> |
| | | 接收者(用户)的 openid |
| | | </summary> |
| | | </member> |
| | | <member name="P:ApiTools.Core.SaveWxSendCommand.data"> |
| | | <member name="P:ApiTools.Core.SaveWxSendCommand.Data"> |
| | | <summary> |
| | | 模板内容,格式形如{ "phrase3": { "value": "审核通过" }, "name1": { "value": "订阅" }, "date2": { "value": "2019-12-25 09:42" } } |
| | | </summary> |
| | | </member> |
| | | <member name="P:ApiTools.Core.SaveWxSendCommand.Lang"> |
| | | <summary> |
| | | 语言(默认中文) |
| | | </summary> |
| | | </member> |
| | | <member name="T:ApiTools.Core.SaveWxSettingCommand"> |
| | |
| | | 要打开的小程序版本。正式版为 "release",体验版为 "trial",开发版为 "develop"。默认是正式版。 |
| | | </summary> |
| | | </member> |
| | | <member name="P:ApiTools.Core.SendRequest.template_id"> |
| | | <member name="P:ApiTools.Core.SendRequest.Template_id"> |
| | | <summary> |
| | | 所需下发的订阅模板id |
| | | </summary> |
| | | </member> |
| | | <member name="P:ApiTools.Core.SendRequest.page"> |
| | | <member name="P:ApiTools.Core.SendRequest.Page"> |
| | | <summary> |
| | | 点击模板卡片后的跳转页面,仅限本小程序内的页面。支持带参数,(示例index?foo=bar)。该字段不填则模板无跳转 |
| | | </summary> |
| | | </member> |
| | | <member name="P:ApiTools.Core.SendRequest.touser"> |
| | | <member name="P:ApiTools.Core.SendRequest.Touser"> |
| | | <summary> |
| | | 接收者(用户)的 openid |
| | | </summary> |
| | | </member> |
| | | <member name="P:ApiTools.Core.SendRequest.data"> |
| | | <member name="P:ApiTools.Core.SendRequest.Data"> |
| | | <summary> |
| | | 模板内容,格式形如{ "phrase3": { "value": "审核通过" }, "name1": { "value": "订阅" }, "date2": { "value": "2019-12-25 09:42" } } |
| | | </summary> |
| New file |
| | |
| | | using Furion.FriendlyException; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | |
| | | namespace ApiTools.Core.Enums.WxmpUtils |
| | | { |
| | | [ErrorCodeType] |
| | | public enum EnumTemplate |
| | | { |
| | | [ErrorCodeItemMetadata("模板1")] |
| | | Template01 = 01, |
| | | |
| | | [ErrorCodeItemMetadata("模板2")] |
| | | Template02 = 02, |
| | | } |
| | | } |
| | |
| | | using MediatR; |
| | | using ApiTools.Core.Enums.WxmpUtils; |
| | | using MediatR; |
| | | using Newtonsoft.Json; |
| | | using System; |
| | | using System.Collections.Generic; |
| | |
| | | /// </summary> |
| | | public string WxmpCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 要打开的小程序版本。正式版为 "release",体验版为 "trial",开发版为 "develop"。默认是正式版。 |
| | | /// </summary> |
| | | public string EnvVersion { get; set; } |
| | | ///// <summary> |
| | | ///// 要打开的小程序版本。正式版为 "release",体验版为 "trial",开发版为 "develop"。默认是正式版。(读取配置) |
| | | ///// </summary> |
| | | //public string EnvVersion { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 所需下发的订阅模板id |
| | | /// 所需下发的订阅模板id(做成枚举) |
| | | /// </summary> |
| | | public string template_id { get; set; } |
| | | public EnumTemplate Template_id { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 点击模板卡片后的跳转页面,仅限本小程序内的页面。支持带参数,(示例index?foo=bar)。该字段不填则模板无跳转 |
| | | /// 点击模板卡片后的跳转页面,仅限本小程序内的页面。支持带参数,(示例index?foo=bar)。该字段不填则模板无跳转(做到配置文件里面) |
| | | /// </summary> |
| | | public string page { get; set; } |
| | | public string Page { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 接收者(用户)的 openid |
| | | /// </summary> |
| | | public string touser { get; set; } |
| | | public string Touser { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 模板内容,格式形如{ "phrase3": { "value": "审核通过" }, "name1": { "value": "订阅" }, "date2": { "value": "2019-12-25 09:42" } } |
| | | /// </summary> |
| | | public object data { get; set; } |
| | | public string miniprogram_state { get; set; } |
| | | public object Data { get; set; } |
| | | |
| | | public string lang { get; set; } |
| | | ///// <summary> |
| | | ///// 跳转小程序类型:developer为开发版;trial为体验版;formal为正式版;默认为正式版 |
| | | ///// </summary> |
| | | //public string miniprogram_state { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 语言(默认中文) |
| | | /// </summary> |
| | | public string Lang { get; set; } |
| | | } |
| | | } |
| | |
| | | /// <summary> |
| | | /// 所需下发的订阅模板id |
| | | /// </summary> |
| | | [JsonProperty("template_id")] |
| | | [JsonProperty("Template_id")] |
| | | [Required] |
| | | public string template_id { get; set; } |
| | | public string Template_id { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 点击模板卡片后的跳转页面,仅限本小程序内的页面。支持带参数,(示例index?foo=bar)。该字段不填则模板无跳转 |
| | | /// </summary> |
| | | [JsonProperty("page")] |
| | | [JsonProperty("Page")] |
| | | [Required] |
| | | public string page { get; set; } |
| | | public string Page { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 接收者(用户)的 openid |
| | | /// </summary> |
| | | [JsonProperty("touser")] |
| | | [JsonProperty("Touser")] |
| | | [Required] |
| | | public string touser { get; set; } |
| | | public string Touser { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 模板内容,格式形如{ "phrase3": { "value": "审核通过" }, "name1": { "value": "订阅" }, "date2": { "value": "2019-12-25 09:42" } } |
| | | /// </summary> |
| | | [JsonProperty("data")] |
| | | [JsonProperty("Data")] |
| | | [Required] |
| | | public object data { get; set; } |
| | | public object Data { get; set; } |
| | | |
| | | [JsonProperty("跳转小程序类型:developer为开发版;trial为体验版;formal为正式版;默认为正式版")] |
| | | [Required] |
| | | public string miniprogram_state { get; set; } |
| | | public string Miniprogram_state { get; set; } |
| | | |
| | | [JsonProperty("进入小程序查看”的语言类型,支持zh_CN(简体中文)、en_US(英文)、zh_HK(繁体中文)、zh_TW(繁体中文),默认为zh_CN")] |
| | | [Required] |
| | | public string lang { get; set; } |
| | | public string Lang { get; set; } |
| | | |
| | | } |
| | | |
| | |
| | | using Azure.Core; |
| | | using Furion.FriendlyException; |
| | | using Furion.HttpRemote; |
| | | using Furion.JsonSerialization; |
| | | using Mapster; |
| | | using Microsoft.Extensions.Caching.Distributed; |
| | | using Microsoft.Extensions.Options; |
| | |
| | | using System.Net.Http.Json; |
| | | using System.Text; |
| | | using System.Text.Json.Nodes; |
| | | using System.Text.Unicode; |
| | | using System.Threading; |
| | | using System.Threading.Tasks; |
| | | using static System.Net.Mime.MediaTypeNames; |
| | | |
| | | namespace ApiTools.Core |
| | | { |
| | |
| | | .WithQueryParameter("access_token", accessToken) |
| | | .SetJsonContent(jsonContent)); |
| | | response.EnsureSuccessStatusCode(); |
| | | if (response.Content.Headers.ContentType.ToString() == "application/json; charset=UTF-8") |
| | | //var a = response.Content.Headers.ContentType.ToString(); |
| | | //application/json; encoding=utf-8 |
| | | //if (response.Content.Headers.ContentType.ToString() == "application/json; charset=UTF-8") |
| | | if (response.Content.Headers.ContentType.ToString() == "application/json; encoding=utf-8") |
| | | { |
| | | var jsonResult = await response.Content.ReadAsStringAsync(); |
| | | var callback = jsonResult.JsonTo<SendResponse>(); |
| | | if (callback == null || callback.ErrorCode != 0) |
| | | //var callback = jsonResult.JsonTo<SendResponse>(); |
| | | //if (callback == null || callback.ErrorCode != 0) |
| | | //throw Oops.Oh(EnumErrorCodeType.s510, $"获取小程序码失败:{callback.errmsg},请联系管理员"); |
| | | return jsonResult; |
| | | } |