## 1.2.4(2021-12-06)

【修复】修复分销设置成为分销商的条件为【无需审核】但不生效的问题。#I4LA2A
【修复】取消未授权验证可浏览问题,修改为强制验证模式。#I4L198
【修复】修复前端coreshop.vue页面编码为gb问题,调整为utf-8。#I4L0YR
【修复】修复判断商品是否参加团购或者秒杀的方法运算符使用错误的问题。#I4KZ1K
【优化】因配置文件中微信支付证书路径windows服务器与linux服务器有差异,增加示例说明。#I4KVWL
【新增】调整短信固定内容模板样式,新增可后台自定义短信发送内容模板。#I4KLK1
【修复】修复全局促销如果促销结果为小数,导致数据异常的问题。#I4L9H6
pull/178/head
JianWeie 3 years ago
parent d08a27530a
commit ced32d7034

@ -185,6 +185,11 @@ namespace CoreCms.Net.Auth.Policys
}
return;
}
else
{
context.Fail();
return;
}
}
else
{
@ -192,11 +197,11 @@ namespace CoreCms.Net.Auth.Policys
return;
}
//判断没有登录时是否访问登录的url,并且是Post请求并且是form表单提交类型否则为失败
if (!questUrl.Equals(requirement.LoginPath.ToLower(), StringComparison.Ordinal) && (!httpContext.Request.Method.Equals("POST") || !httpContext.Request.HasJsonContentType()))
{
context.Fail();
return;
}
//if (!questUrl.Equals(requirement.LoginPath.ToLower(), StringComparison.Ordinal) && (!httpContext.Request.Method.Equals("POST") || !httpContext.Request.HasJsonContentType()))
//{
// context.Fail();
// return;
//}
}
context.Succeed(requirement);

@ -157,6 +157,11 @@ namespace CoreCms.Net.Auth.Policys
}
return;
}
else
{
context.Fail();
return;
}
}
else
{
@ -164,11 +169,11 @@ namespace CoreCms.Net.Auth.Policys
return;
}
//判断没有登录时是否访问登录的url,并且是Post请求并且是form表单提交类型否则为失败
if (!questUrl.Equals(requirement.LoginPath.ToLower(), StringComparison.Ordinal) && (!httpContext.Request.Method.Equals("POST") || !httpContext.Request.HasJsonContentType()))
{
context.Fail();
return;
}
//if (!questUrl.Equals(requirement.LoginPath.ToLower(), StringComparison.Ordinal) && (!httpContext.Request.Method.Equals("POST") || !httpContext.Request.HasJsonContentType()))
//{
// context.Fail();
// return;
//}
}
context.Succeed(requirement);

@ -2264,6 +2264,29 @@ namespace CoreCms.Net.Configuration
COMMISSION_TYPE_FIXED = 2,
}
/// <summary>
/// 成为分销商条件
/// </summary>
public enum DistributionConditionType
{
/// <summary>
/// 无条件(需审核)
/// </summary>
[Description("无条件(需审核)")]
Unconditional = 1,
/// <summary>
/// 申请(需审核)
/// </summary>
[Description("申请(需审核)")]
Apply = 2,
/// <summary>
/// 无需审核
/// </summary>
[Description("无需审核")]
NoReview = 3,
}
#endregion
#region 快递100api接口相关===================

@ -539,6 +539,61 @@ namespace CoreCms.Net.Configuration
public const string SmsSignature = "smsSignature";
/// <summary>
/// 账户注册-短信内容模板
/// </summary>
public const string SmsTplForReg = "smsTplForReg";
/// <summary>
/// 账户登录-短信内容模板
/// </summary>
public const string SmsTplForLogin = "smsTplForLogin";
/// <summary>
/// 验证验证码-短信内容模板
/// </summary>
public const string SmsTplForVeri = "smsTplForVeri";
/// <summary>
/// 下单成功时-短信内容模板
/// </summary>
public const string SmsTplForCreateOrder = "smsTplForCreateOrder";
/// <summary>
/// 订单支付成功时-短信内容模板
/// </summary>
public const string SmsTplForOrderPayed = "smsTplForOrderPayed";
/// <summary>
/// 订单催付提醒-短信内容模板
/// </summary>
public const string SmsTplForRemindOrderPay = "smsTplForRemindOrderPay";
/// <summary>
/// 订单发货通知-短信内容模板
/// </summary>
public const string SmsTplForDeliveryNotice = "smsTplForDeliveryNotice";
/// <summary>
/// 售后确认通过-短信内容模板
/// </summary>
public const string SmsTplForAfterSalesPass = "smsTplForAfterSalesPass";
/// <summary>
/// 用户退款成功通知-短信内容模板
/// </summary>
public const string SmsTplForRefundSuccess = "smsTplForRefundSuccess";
/// <summary>
/// 订单付款成功平台通知-短信内容模板
/// </summary>
public const string SmsTplForSellerOrderNotice = "smsTplForSellerOrderNotice";
/// <summary>
/// 通用类型-短信内容模板
/// </summary>
public const string SmsTplForCommon = "smsTplForCommon";
//网络打印机============================================================================
/// <summary>
/// 是否开启

@ -194,6 +194,19 @@ namespace CoreCms.Net.Configuration
di.Add(SystemSettingConstVars.FilesStorageQiNiuBucketName, new DictionaryKeyValues() { sKey = "七牛云桶名称", sValue = "CoreShop" });
//短信发送内容模板
di.Add(SystemSettingConstVars.SmsTplForReg, new DictionaryKeyValues() { sKey = "账户注册", sValue = "您正在注册账号,验证码是{code},请勿告诉他人。" });
di.Add(SystemSettingConstVars.SmsTplForLogin, new DictionaryKeyValues() { sKey = "账户登录", sValue = "您正在登陆账号,验证码是{code},请勿告诉他人。" });
di.Add(SystemSettingConstVars.SmsTplForVeri, new DictionaryKeyValues() { sKey = "验证验证码", sValue = "您的验证码是{code},请勿告诉他人。" });
di.Add(SystemSettingConstVars.SmsTplForCreateOrder, new DictionaryKeyValues() { sKey = "下单成功时", sValue = "恭喜您,订单创建成功,祝您购物愉快。" });
di.Add(SystemSettingConstVars.SmsTplForOrderPayed, new DictionaryKeyValues() { sKey = "订单支付成功时", sValue = "恭喜您,订单支付成功,祝您购物愉快。" });
di.Add(SystemSettingConstVars.SmsTplForRemindOrderPay, new DictionaryKeyValues() { sKey = "订单催付提醒", sValue = "您的订单还有1个小时就要取消了请及时进行支付。" });
di.Add(SystemSettingConstVars.SmsTplForDeliveryNotice, new DictionaryKeyValues() { sKey = "订单发货通知", sValue = "您好,您的订单已经发货。" });
di.Add(SystemSettingConstVars.SmsTplForAfterSalesPass, new DictionaryKeyValues() { sKey = "售后确认通过", sValue = "您好,您的售后已经通过。" });
di.Add(SystemSettingConstVars.SmsTplForRefundSuccess, new DictionaryKeyValues() { sKey = "用户退款成功通知", sValue = "用户您好,您的退款已经处理,请确认。" });
di.Add(SystemSettingConstVars.SmsTplForSellerOrderNotice, new DictionaryKeyValues() { sKey = "订单付款成功平台通知", sValue = "您有新的订单了,请及时处理。" });
di.Add(SystemSettingConstVars.SmsTplForCommon, new DictionaryKeyValues() { sKey = "通用类型", sValue = "欢迎您访问我们的微信小程序,有问题请联系客服。" });
return di;
}

@ -144,7 +144,7 @@ namespace CoreCms.Net.Services
//查询获取几级返利
var user = await _userServices.QueryByClauseAsync(p => p.id == order.userId);
if (user != null && user.parentId > 0)
if (user is { parentId: > 0 })
{
//获取购物明细
var orderItems = await _orderItemServices.QueryListByClauseAsync(p => p.orderId == order.orderId);

@ -234,10 +234,18 @@ namespace CoreCms.Net.Services
iData.gradeId = disGradeModel.id;
}
}
if (iData.verifyStatus == 0)
var allConfigs = await _settingServices.GetConfigDictionaries();
var distributionType = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.DistributionType).ObjectToInt(0);
if (distributionType == (int)GlobalEnumVars.DistributionConditionType.NoReview)
{
iData.verifyStatus = (int)GlobalEnumVars.DistributionVerifyStatus.VerifyYes;
}
else
{
iData.verifyStatus = (int)GlobalEnumVars.DistributionVerifyStatus.VerifyWait;
}
iData.isDelete = false;
iData.createTime = DateTime.Now;

@ -24,6 +24,7 @@ using CoreCms.Net.Model.Entities.Expression;
using CoreCms.Net.Model.FromBody;
using CoreCms.Net.Model.ViewModels.Basics;
using CoreCms.Net.Model.ViewModels.UI;
using CoreCms.Net.Utility.Extensions;
using CoreCms.Net.Utility.Helper;
using Newtonsoft.Json;
using SqlSugar;
@ -454,7 +455,7 @@ namespace CoreCms.Net.Services
goodId = "",
num = 0,
});
if (obj.goodId == goodId.ToString()) return false;
if (obj.goodId.ObjectToInt(0) != goodId) return false;
promotionsModel = promotions;
return true;
}

@ -225,7 +225,111 @@ namespace CoreCms.Net.Services
{
isUsed = true;
}
var str = SmsHelper.GetTemp(code, parameters);
var str = string.Empty;
var allConfigs = await _settingServices.GetConfigDictionaries();
if (code == GlobalEnumVars.SmsMessageTypes.Reg.ToString())
{
// 账户注册
var msg = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.SmsTplForReg);
if (!string.IsNullOrEmpty(msg))
{
var sendCode = string.Empty;
if (parameters.ContainsKey("code"))
{
sendCode = parameters["code"]?.ToString();
}
str = msg.Replace("{code}", sendCode);
}
}
else if (code == GlobalEnumVars.SmsMessageTypes.Login.ToString())
{
// 账户登录
var msg = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.SmsTplForLogin);
if (!string.IsNullOrEmpty(msg))
{
var sendCode = string.Empty;
if (parameters.ContainsKey("code"))
{
sendCode = parameters["code"]?.ToString();
}
str = msg.Replace("{code}", sendCode);
}
}
else if (code == GlobalEnumVars.SmsMessageTypes.Veri.ToString())
{
// 验证验证码
var msg = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.SmsTplForVeri);
if (!string.IsNullOrEmpty(msg))
{
var sendCode = string.Empty;
if (parameters.ContainsKey("code"))
{
sendCode = parameters["code"]?.ToString();
}
str = msg.Replace("{code}", sendCode);
}
}
else if (code == GlobalEnumVars.PlatformMessageTypes.CreateOrder.ToString())
{
// 订单创建
var msg = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.SmsTplForCreateOrder);
str = !string.IsNullOrEmpty(msg) ? msg : string.Empty;
}
else if (code == GlobalEnumVars.PlatformMessageTypes.OrderPayed.ToString())
{
// 订单支付通知买家
var msg = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.SmsTplForOrderPayed);
str = !string.IsNullOrEmpty(msg) ? msg : string.Empty;
}
else if (code == GlobalEnumVars.PlatformMessageTypes.RemindOrderPay.ToString())
{
// 未支付催单
var msg = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.SmsTplForRemindOrderPay);
str = !string.IsNullOrEmpty(msg) ? msg : string.Empty;
}
else if (code == GlobalEnumVars.PlatformMessageTypes.DeliveryNotice.ToString())
{
// 订单发货
var msg = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.SmsTplForDeliveryNotice);
str = !string.IsNullOrEmpty(msg) ? msg : string.Empty;
}
else if (code == GlobalEnumVars.PlatformMessageTypes.AfterSalesPass.ToString())
{
// 售后审核通过
var msg = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.SmsTplForAfterSalesPass);
str = !string.IsNullOrEmpty(msg) ? msg : string.Empty;
}
else if (code == GlobalEnumVars.PlatformMessageTypes.RefundSuccess.ToString())
{
// 退款已处理
var msg = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.SmsTplForRefundSuccess);
str = !string.IsNullOrEmpty(msg) ? msg : string.Empty;
}
else if (code == GlobalEnumVars.PlatformMessageTypes.SellerOrderNotice.ToString())
{
// 订单支付通知卖家
var msg = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.SmsTplForSellerOrderNotice);
str = !string.IsNullOrEmpty(msg) ? msg : string.Empty;
}
else if (code == GlobalEnumVars.PlatformMessageTypes.Common.ToString())
{
//通用类型
var tpl = string.Empty;
if (parameters.ContainsKey("tpl"))
{
tpl = parameters["tpl"]?.ToString();
}
str = tpl;
if (!string.IsNullOrEmpty(str))
{
var msg = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.SmsTplForCommon);
str = !string.IsNullOrEmpty(msg) ? msg : string.Empty;
}
}
if (string.IsNullOrEmpty(str))
{
jm.msg = GlobalErrorCodeVars.Code10009;

@ -31,7 +31,7 @@ namespace CoreCms.Net.Services
{
private readonly ICoreCmsPromotionResultRepository _dal;
private ICoreCmsPromotionConditionServices _promotionConditionServices;
private readonly ICoreCmsPromotionConditionServices _promotionConditionServices;
private readonly IUnitOfWork _unitOfWork;
@ -156,7 +156,7 @@ namespace CoreCms.Net.Services
{
case (int)GlobalEnumVars.PromotionType.Promotion:
//总促销修改
cart.orderPromotionMoney = cart.orderPromotionMoney + (decimal)parameters["money"];
cart.orderPromotionMoney += (decimal)parameters["money"];
//设置促销列表
if (cart.promotionList.ContainsKey(promotionInfo.id))
{
@ -171,7 +171,7 @@ namespace CoreCms.Net.Services
case (int)GlobalEnumVars.PromotionType.Coupon:
//优惠券促销金额
cart.couponPromotionMoney = cart.couponPromotionMoney + (decimal)parameters["money"];
cart.couponPromotionMoney += (decimal)parameters["money"];
break;
}
return true;
@ -190,7 +190,7 @@ namespace CoreCms.Net.Services
//var objDiscount = Convert.ToInt32(parameters["discount"]);
if (!parameters.ContainsKey("discount")) return true;
var objDiscount = parameters["discount"].ObjectToInt(0);
var objDiscount = parameters["discount"].ObjectToDecimal(0);
//判断参数是否设置的正确
if (objDiscount >= 10 || objDiscount <= 0)
@ -264,7 +264,7 @@ namespace CoreCms.Net.Services
public decimal result_GOODS_DISCOUNT(JObject parameters, CartProducts cartProducts, CoreCmsPromotion promotionInfo)
{
if (!parameters.ContainsKey("discount")) return 0;
var objDiscount = parameters["discount"].ObjectToInt(0);
var objDiscount = parameters["discount"].ObjectToDecimal(0);
decimal promotionMoney = 0;
decimal goodsPrice = cartProducts.products.price;

@ -1,47 +1,47 @@
<template>
<view>
<block v-for="(item,index) in coreshopdata" :key="index">
<!--搜索修复-->
<!--搜索修复-->
<coreshopsearch :coreshopdata="item" v-if="item.widgetCode=='search' "></coreshopsearch>
<!--切换-->
<!--切换-->
<coreshoptabbar :coreshopdata="item" v-if="item.widgetCode=='tabBar' "></coreshoptabbar>
<!--公告修复-->
<!--公告修复-->
<coreshopnotice :coreshopdata="item" v-if="item.widgetCode=='notice' "></coreshopnotice>
<!--图片轮播修复-->
<!--图片轮播修复-->
<coreshopimgSlide :coreshopdata="item" v-if="item.widgetCode=='imgSlide' "></coreshopimgSlide>
<!--优惠券修复-->
<!--优惠券修复-->
<coreshopcoupon :coreshopdata="item" v-if="item.widgetCode=='coupon' "></coreshopcoupon>
<!--空格修复-->
<!--空格修复-->
<coreshopblank :coreshopdata="item" v-if="item.widgetCode=='blank' "></coreshopblank>
<!--多行文本输入区修复-->
<!--多行文本输入区修复-->
<coreshoptextarea :coreshopdata="item" v-if="item.widgetCode=='textarea' "></coreshoptextarea>
<!--视频修复-->
<!--视频修复-->
<coreshopvideo :coreshopdata="item" v-if="item.widgetCode=='video' "></coreshopvideo>
<!--图片集修复-->
<!--图片集修复-->
<coreshopimgWindow :coreshopdata="item" v-if="item.widgetCode=='imgWindow' "></coreshopimgWindow>
<!--图片--修复-->
<!--图片--修复-->
<coreshopimgSingle :coreshopdata="item" v-if="item.widgetCode=='imgSingle' "></coreshopimgSingle>
<!--商品修复-->
<!--商品修复-->
<coreshopgoods :coreshopdata="item" v-if="item.widgetCode=='goods' "></coreshopgoods>
<!--商品选项卡修复-->
<!--商品选项卡修复-->
<coreshopgoodTabBar :coreshopdata="item" v-if="item.widgetCode=='goodTabBar' "></coreshopgoodTabBar>
<!--文章修复-->
<!--文章修复-->
<coreshoparticle :coreshopdata="item" v-if="item.widgetCode=='article' "></coreshoparticle>
<!--文章分类修复-->
<!--文章分类修复-->
<coreshoparticleClassify :coreshopdata="item" v-if="item.widgetCode=='articleClassify' "></coreshoparticleClassify>
<!--宫格自定义导航修复-->
<!--宫格自定义导航修复-->
<coreshopnavBar :coreshopdata="item" v-if="item.widgetCode=='navBar' "></coreshopnavBar>
<!--团购修复-->
<!--团购修复-->
<coreshopgroupPurchase :coreshopdata="item" v-if="item.widgetCode=='groupPurchase' "></coreshopgroupPurchase>
<!--浏览记录修复-->
<!--浏览记录修复-->
<coreshoprecord :coreshopdata="item" v-if="item.widgetCode=='record' "></coreshoprecord>
<!--拼团修复-->
<!--拼团修复-->
<coreshoppinTuan :coreshopdata="item" v-if="item.widgetCode=='pinTuan' "></coreshoppinTuan>
<!--服务修复-->
<!--服务修复-->
<coreshopservice :coreshopdata="item" v-if="item.widgetCode=='service' "></coreshopservice>
<!--弹窗广告-->
<!--弹窗广告-->
<coreshopadpop :coreshopdata="item" v-if="item.widgetCode=='adpop' "></coreshopadpop>
<!--文本内容修复-->
<!--文本内容修复-->
<coreshopContent :coreshopdata="item" v-if="item.widgetCode=='content' "></coreshopContent>
</block>
</view>

@ -97,6 +97,7 @@
// API(.p12)
// API(.p12)v3
// (.p12) / (.p12)base64
//windowslinux WxPayCert/apiclient_cert.p12
"Certificate": "WxPayCert\\apiclient_cert.p12",
// RSA
// "企业付款到银行卡API"使"获取RSA加密公钥API"

@ -29,6 +29,7 @@
<div class="layui-tab layui-tab-card" lay-filter="setting">
<ul class="layui-tab-title">
<li lay-id="sms" class="layui-this">短信设置</li>
<li lay-id="smsstr">短信内容模板</li>
</ul>
<div class="layui-tab-content">
@ -90,6 +91,104 @@
</div>
</div>
<div class="layui-tab-item">
<div class="layui-form coreshop-form">
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['smsTplForReg']['sKey']}}</label>
<div class="layui-input-inline layui-inline-12">
<input type="text" name="smsTplForReg" value="{{d.data.configs['smsTplForReg']['sValue']}}" lay-verify="title" autocomplete="off" placeholder="" class="layui-input">
</div>
<div class="layui-form-mid layui-word-aux">{code}将替换代码中的数字验证码,请保持此规则</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['smsTplForLogin']['sKey']}}</label>
<div class="layui-input-inline layui-inline-12">
<input type="text" name="smsTplForLogin" value="{{d.data.configs['smsTplForLogin']['sValue']}}" lay-verify="title" autocomplete="off" placeholder="" class="layui-input">
</div>
<div class="layui-form-mid layui-word-aux">{code}将替换代码中的数字验证码,请保持此规则</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['smsTplForVeri']['sKey']}}</label>
<div class="layui-input-inline layui-inline-12">
<input type="text" name="smsTplForVeri" value="{{d.data.configs['smsTplForVeri']['sValue']}}" lay-verify="title" autocomplete="off" placeholder="" class="layui-input">
</div>
<div class="layui-form-mid layui-word-aux">{code}将替换代码中的数字验证码,请保持此规则</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['smsTplForCreateOrder']['sKey']}}</label>
<div class="layui-input-inline layui-inline-12">
<input type="text" name="smsTplForCreateOrder" value="{{d.data.configs['smsTplForCreateOrder']['sValue']}}" lay-verify="title" autocomplete="off" placeholder="" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['smsTplForOrderPayed']['sKey']}}</label>
<div class="layui-input-inline layui-inline-12">
<input type="text" name="smsTplForOrderPayed" value="{{d.data.configs['smsTplForOrderPayed']['sValue']}}" lay-verify="title" autocomplete="off" placeholder="" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['smsTplForRemindOrderPay']['sKey']}}</label>
<div class="layui-input-inline layui-inline-12">
<input type="text" name="smsTplForRemindOrderPay" value="{{d.data.configs['smsTplForRemindOrderPay']['sValue']}}" lay-verify="title" autocomplete="off" placeholder="" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['smsTplForDeliveryNotice']['sKey']}}</label>
<div class="layui-input-inline layui-inline-12">
<input type="text" name="smsTplForDeliveryNotice" value="{{d.data.configs['smsTplForDeliveryNotice']['sValue']}}" lay-verify="title" autocomplete="off" placeholder="" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['smsTplForAfterSalesPass']['sKey']}}</label>
<div class="layui-input-inline layui-inline-12">
<input type="text" name="smsTplForAfterSalesPass" value="{{d.data.configs['smsTplForAfterSalesPass']['sValue']}}" lay-verify="title" autocomplete="off" placeholder="" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['smsTplForRefundSuccess']['sKey']}}</label>
<div class="layui-input-inline layui-inline-12">
<input type="text" name="smsTplForRefundSuccess" value="{{d.data.configs['smsTplForRefundSuccess']['sValue']}}" lay-verify="title" autocomplete="off" placeholder="" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['smsTplForSellerOrderNotice']['sKey']}}</label>
<div class="layui-input-inline layui-inline-12">
<input type="text" name="smsTplForSellerOrderNotice" value="{{d.data.configs['smsTplForSellerOrderNotice']['sValue']}}" lay-verify="title" autocomplete="off" placeholder="" class="layui-input">
</div>
<div class="layui-form-mid layui-word-aux">此短信是用来通知商家有新的订单使用。</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['smsTplForCommon']['sKey']}}</label>
<div class="layui-input-inline layui-inline-12">
<input type="text" name="smsTplForCommon" value="{{d.data.configs['smsTplForCommon']['sValue']}}" lay-verify="title" autocomplete="off" placeholder="" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">&nbsp;</label>
<div class="layui-input-block">
<button class="layui-btn" lay-submit="" lay-filter="save">保存更改</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>

@ -97,6 +97,7 @@
// API(.p12)
// API(.p12)v3
// (.p12) / (.p12)base64
//windowslinux WxPayCert/apiclient_cert.p12
"Certificate": "WxPayCert\\apiclient_cert.p12",
// RSA
// "企业付款到银行卡API"使"获取RSA加密公钥API"

Loading…
Cancel
Save