sunpengfei
2025-11-28 312ebed2d86858e4fb57ec09679244e9b806b57f
feat:开发
4个文件已修改
87 ■■■■■ 已修改文件
ApiTools.Core/ApiTools.Core.xml 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ApiTools.Core/Utils/WxmpUtils/WxmpOptions.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ApiTools.Core/Utils/WxmpUtils/WxmpUtils.cs 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ApiTools.Web.Entry/appsettings.json 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ApiTools.Core/ApiTools.Core.xml
@@ -7140,21 +7140,6 @@
            微信小程序配置
            </summary>
        </member>
        <member name="P:ApiTools.Core.WxmpOptions.SubscribMessageTemplates">
            <summary>
            订阅消息模板
            </summary>
        </member>
        <member name="P:ApiTools.Core.WxmpOptionsSubscribMessageTemplate.TemplateId">
            <summary>
            模板Id
            </summary>
        </member>
        <member name="P:ApiTools.Core.WxmpOptionsSubscribMessageTemplate.Page">
            <summary>
            页面
            </summary>
        </member>
        <member name="P:ApiTools.Core.WxmpOptionsItem.Code">
            <summary>
            编号
ApiTools.Core/Utils/WxmpUtils/WxmpOptions.cs
@@ -18,24 +18,6 @@
        }
        public List<WxmpOptionsItem> Items { get; set; }
        /// <summary>
        /// 订阅消息模板
        /// </summary>
        public Dictionary<string, WxmpOptionsSubscribMessageTemplate> SubscribMessageTemplates { get; set; } = [];
    }
    public class WxmpOptionsSubscribMessageTemplate
    {
        /// <summary>
        /// 模板Id
        /// </summary>
        public string TemplateId { get; set; }
        /// <summary>
        /// 页面
        /// </summary>
        public string Page { get; set; }
    }
    public class WxmpOptionsItem
ApiTools.Core/Utils/WxmpUtils/WxmpUtils.cs
@@ -161,11 +161,6 @@
            if (option == null || option.AppId.IsNull() || option.AppSecret.IsNull())
                throw Oops.Oh(EnumErrorCodeType.s400, "发送订阅消息失败,缺失配置:WxmpOptions");
            command.EnvVersion = option.EnvVersion;
            //if (!options.Value.SubscribMessageTemplates.ContainsKey(command.TemplateId))
            //    throw Oops.Oh(EnumErrorCodeType.s400, "发送订阅消息失败,模板不存在");
            //var template = options.Value.SubscribMessageTemplates[command.TemplateId];
            //command.TemplateId = template.TemplateId;
            //if (command.Page.IsNull()) command.Page = template.Page;
            var accessToken = await GetAccessToken(command.WxmpCode);
            var jsonContent = JsonConvert.SerializeObject(command, new JsonSerializerSettings
            {
@@ -176,13 +171,10 @@
                .WithQueryParameter("access_token", accessToken)
                .SetJsonContent(jsonContent));
            response.EnsureSuccessStatusCode();
            if (response.Content.Headers.ContentType.ToString() == "application/json; charset=UTF-8")
            {
                var jsonResult = await response.Content.ReadAsStringAsync();
                var callback = jsonResult.JsonTo<WxmpSendSubscribMessageResponse>();
                if (callback == null || callback.ErrorCode != 0)
                    throw Oops.Oh(EnumErrorCodeType.s510, $"发送订阅消息失败:{callback.ErrorMessage},请联系管理员");
            }
            var jsonResult = await response.Content.ReadAsStringAsync();
            var callback = jsonResult.JsonTo<WxmpSendSubscribMessageResponse>();
            if (callback == null || callback.ErrorCode != 0)
                throw Oops.Oh(EnumErrorCodeType.s510, $"发送订阅消息失败:{callback.ErrorMessage},请联系管理员");
        }
    }
}
ApiTools.Web.Entry/appsettings.json
@@ -58,39 +58,7 @@
        "AppSecret": "9a132eda735bc925200b0e215cffe20a",
        "EnvVersion": "trial"
      }
    ],
    "SubscribMessageTemplates": {
      // 支付成功提醒  结算完成后向承揽端管理员推送
      "SettlementCompletedToSupplier": {
        "TemplateId": "dz2HCc-EnR4WEfsuj2GuduF8SLu40J83xez1bLLbaC0",
        "Page": "pages/workbenches/workbenches"
      },
      // 报酬结算审核结果通知  甲方结算确认后向承揽端管理员推送
      "SettlementAuditCompletedToSupplier": {
        "TemplateId": "Qp6cetvhwONMS1y9LOBt4dZgq49Hc14lIsm-LVE0Hfo",
        "Page": "pages/workbenches/workbenches"
      },
      // 工资发放通知  结算完成后向C端人员通知
      "SettlementReceiveCompletedToUser": {
        "TemplateId": "pw-WntZZJjADXfLsxcs5S8pKlpTrSc-HtJs0ZZvqliE",
        "Page": "pages/home/index"
      },
      // 报名录用结果通知  被录用后向C端人员通知
      "HireCompletedToUser": {
        "TemplateId": "dz2HCc-EnR4WEfsuj2GuduF8SLu40J83xez1bLLbaC0",
        "Page": "pages/home/index"
      },
      // 排班成功通知  排班后向C端人员通知
      "ArrangeCompletedToUser": {
        "TemplateId": "dz2HCc-EnR4WEfsuj2GuduF8SLu40J83xez1bLLbaC0",
        "Page": "pages/home/index"
      },
      // 测试
      "Test": {
        "TemplateId": "T7Gta6H6TROZjcqeSWVTG2wWGGInWh0fGTOgCCgVBuk",
        "Page": "pages/home/index"
      }
    }
    ]
  },
  "Task": {
    "SettlementTime": "T0"
@@ -123,7 +91,7 @@
    "Password": "8af9s7",
    "TemplateCodes": {
      //818平台登录/注册
      "LoginOrRegister": "验证码${code},用户您好,您正在进行平台登录/注册,验证码10分钟内有效。",
      "LoginOrRegister": "验证码${code},用户您好,您正在进行平台登录/注册,验证码3分钟内有效。",
      //818手机号码修改
      "UpdateUserPhoneNumber": "验证码${code},您正在进行修改手机号码操作,请勿泄露,若非本人操作请忽略。",
      //818钱包开通
@@ -200,7 +168,7 @@
        "VerifyCode": "SMS_471100021",
        //818平台登录/注册 验证码${code},用户您好,您正在进行平台登录/注册,验证码10分钟内有效。
        "LoginOrRegister": "SMS_472170005",
        "LoginOrRegister": "SMS_498465483",
        //818账号开通(管理端)尊敬的用户您好,人力无忧账号已开通,账号:${account},密码:${pwd},请登录网址 https://admin.81812333.com
        "CreateOperationAccount": "SMS_471970028",
        //818手机号码修改 验证码${code},您正在进行修改手机号码操作,请勿泄露,若非本人操作请忽略。