This commit is contained in:
zpc 2025-09-01 17:29:31 +08:00
parent 4722eada03
commit c5ced09149
9 changed files with 113 additions and 454 deletions

View File

@ -46,4 +46,26 @@ namespace CoreCms.Net.Model.ViewModels.UI
/// </summary>
public int code { get; set; } = 0;
}
/// <summary>
/// 微信接口回调Json实体
/// </summary>
public class WebApiDto
{
/// <summary>
/// 状态码
/// </summary>
public int Code { get; set; }
/// <summary>
/// 信息说明。
/// </summary>
public string Msg { get; set; } = "接口响应成功";
/// <summary>
/// 返回数据
/// </summary>
public object Data { get; set; }
}
}

View File

@ -309,9 +309,9 @@ namespace CoreCms.Net.Web.Admin.Controllers
{
var jm = new AdminUiCallBack();
if (entity.trueName.Length > 4)
if (entity.trueName.Length > 10)
{
jm.msg = "用户真实姓名不能大于4个字符。";
jm.msg = "用户真实姓名不能大于10个字符。";
return jm;
}

View File

@ -14,7 +14,7 @@
dbProvider="Microsoft.Data.SqlClient.SqlConnection, Microsoft.Data.SqlClient"
connectionString="Server=127.0.0.1;Database=BaseMIS;User ID=sa;Password=123456"
-->
<target name="log_database" xsi:type="Database" dbProvider="Microsoft.Data.SqlClient.SqlConnection, Microsoft.Data.SqlClient" connectionString="Server=192.168.195.8;uid=sa;pwd=Dbt@com@123;Database=CoreShop;MultipleActiveResultSets=true;pooling=true;min pool size=5;max pool size=32767;connect timeout=20;Encrypt=True;TrustServerCertificate=True;">
<target name="log_database" xsi:type="Database" dbProvider="Microsoft.Data.SqlClient.SqlConnection, Microsoft.Data.SqlClient" connectionString="Server=192.168.195.8;uid=sa;pwd=Dbt@com@123;Database=MaJiangYuYue;MultipleActiveResultSets=true;pooling=true;min pool size=5;max pool size=32767;connect timeout=20;Encrypt=True;TrustServerCertificate=True;">
<commandText>
INSERT INTO SysNLogRecords
(LogDate,LogLevel,LogType,LogTitle,Logger,Message,MachineName,MachineIp,NetRequestMethod

View File

@ -1,7 +1,7 @@
{
"ConnectionStrings": {
"DbType": "SqlServer", //SqlServer,MySql
"SqlConnection": "Server=192.168.195.8;uid=sa;pwd=Dbt@com@123;Database=CoreShop;MultipleActiveResultSets=true;pooling=true;min pool size=5;max pool size=32767;connect timeout=20;Encrypt=True;TrustServerCertificate=True;"
"SqlConnection": "Server=192.168.195.8;uid=sa;pwd=Dbt@com@123;Database=MaJiangYuYue;MultipleActiveResultSets=true;pooling=true;min pool size=5;max pool size=32767;connect timeout=20;Encrypt=True;TrustServerCertificate=True;"
//SqlServerMultipleActiveResultSets=true
// Service mysql
@ -14,7 +14,7 @@
"PassWord": "CoreShop"
},
"AppConfig": {
"AppUrl": "https://admin.demo.coreshop.cn/", //
"AppUrl": "http://localhost:1987/", //
"AppInterFaceUrl": "https://api.demo.coreshop.cn/" //
},
//redisredis

View File

@ -9,14 +9,42 @@
<!--当前位置结束-->
<style>
/* 重写样式 */
.layui-form-item label { width: 140px; }
.classifyimg { margin-bottom: 20px; width: 672px !important; }
.classifyimg-item { display: inline-block; width: 140px; }
.classifyimg img { width: 100px; display: block; }
.classifyimg .layui-form-radio { vertical-align: top; display: block; margin-bottom: 10px; }
.image_storage_type .item { display: none; }
.layui-elem-quote { margin: 10px; }
.layui-tab-content { padding: 15px 0; }
.layui-form-item label {
width: 140px;
}
.classifyimg {
margin-bottom: 20px;
width: 672px !important;
}
.classifyimg-item {
display: inline-block;
width: 140px;
}
.classifyimg img {
width: 100px;
display: block;
}
.classifyimg .layui-form-radio {
vertical-align: top;
display: block;
margin-bottom: 10px;
}
.image_storage_type .item {
display: none;
}
.layui-elem-quote {
margin: 10px;
}
.layui-tab-content {
padding: 15px 0;
}
</style>
<script type="text/html" template lay-type="Post" lay-url="{{ layui.setter.apiUrl }}Api/CoreCmsSetting/GetIndex" lay-done="layui.data.done(d);">
<div class="layui-fluid">
@ -31,53 +59,20 @@
<div class="layui-card-body">
<div class="layui-tab layui-tab-card" lay-filter="setting">
<ul class="layui-tab-title">
<li lay-id="platform" class="layui-this">特殊开关</li>
<li lay-id="platform">平台设置</li>
<li lay-id="share">分享设置</li>
<li lay-id="users">会员设置</li>
<li lay-id="goods">商品设置</li>
<li lay-id="order">订单管理</li>
<li lay-id="points">积分设置</li>
<li lay-id="cash">提现设置</li>
<li lay-id="inviteFriends">邀请好友设置</li>
<li lay-id="filesStorage">附件设置</li>
<li lay-id="other">其他设置</li>
</ul>
<div class="layui-tab-content">
<div class="layui-tab-item layui-show">
<blockquote class="layui-elem-quote" style="padding-top: 20px;line-height: 30px;">
1、如果开启【显示门店列表】模块则微信小程序审核如果发现可能会失败并提示“<text style="color: #ff0000;">【小程序涉及多个商家提供商品的在线交易及配送,请补充选择:电商平台-电商平台类目。】</text>”,可先关闭,审核后再开启。<br />
2、如果开启【显示充值】模块则微信小程序审核如果发现可能会失败并提示“<text style="color: #ff0000;">【小程序页面内容涉及账户充值服务,需补充商家自营-预付卡销售-发行方类目。】</text>”,可先关闭,审核后再开启。<br />
</blockquote>
<div class="layui-form coreshop-form">
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['showStoresSwitch']['sKey']}}</label>
<div class="layui-input-inline layui-inline-7">
<input type="radio" lay-filter="showStoresSwitch" name="showStoresSwitch" value="1" title="开启" {{d.data.configs['showStoresSwitch']['sValue']==="1" ? 'checked':''}}>
<input type="radio" lay-filter="showStoresSwitch" name="showStoresSwitch" value="2" title="不开启" {{d.data.configs['showStoresSwitch']['sValue']==="2" ? 'checked':''}}>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['showStoreBalanceRechargeSwitch']['sKey']}}</label>
<div class="layui-input-inline layui-inline-7">
<input type="radio" lay-filter="showStoreBalanceRechargeSwitch" name="showStoreBalanceRechargeSwitch" value="1" title="开启" {{d.data.configs['showStoreBalanceRechargeSwitch']['sValue']==="1" ? 'checked':''}}>
<input type="radio" lay-filter="showStoreBalanceRechargeSwitch" name="showStoreBalanceRechargeSwitch" value="2" title="不开启" {{d.data.configs['showStoreBalanceRechargeSwitch']['sValue']==="2" ? 'checked':''}}>
</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 class="layui-tab-item">
<div class="layui-form coreshop-form">
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['shopName']['sKey']}}</label>
@ -92,37 +87,7 @@
<textarea name="shopDesc" class="layui-textarea">{{d.data.configs['shopDesc']['sValue']}}</textarea>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['shopBeiAn']['sKey']}}</label>
<div class="layui-input-inline layui-inline-5">
<input type="text" name="shopBeiAn" value="{{d.data.configs['shopBeiAn']['sValue']}}" lay-verify="title" autocomplete="off" placeholder="请输入ICP备案号" class="layui-input">
</div>
<div class="layui-form-mid layui-word-aux">湘ICP备15004965号-2</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['aboutArticleId']['sKey']}}</label>
<div class="layui-input-inline layui-inline-5" style="margin-bottom: 10px">
<input type="text" id="aboutArticle" name="aboutArticle" readonly="readonly" value="{{d.data.configs['aboutArticle']['sValue']}}" required placeholder="请选择广告文章" autocomplete="off" class="layui-input">
<input type="hidden" id="articleId" name="aboutArticleId" value="{{d.data.configs['aboutArticleId']['sValue']}}">
</div>
<button class="layui-btn" lay-active="getAboutArticle">选择文章</button>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['userAgreementId']['sKey']}}</label>
<div class="layui-input-inline layui-inline-5" style="margin-bottom: 10px">
<input type="text" id="userAgreement" name="userAgreement" readonly="readonly" value="{{d.data.configs['userAgreement']['sValue']}}" required placeholder="请选择广告文章" autocomplete="off" class="layui-input" lay-active="article_list('userAgreementId', 'userAgreement')">
<input type="hidden" id="userAgreementId" name="userAgreementId" value="{{d.data.configs['userAgreementId']['sValue']}}">
</div>
<button class="layui-btn" lay-active="getUserAgreement">选择文章</button>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['privacyPolicyId']['sKey']}}</label>
<div class="layui-input-inline layui-inline-5" style="margin-bottom: 10px">
<input type="text" id="privacyPolicy" name="privacyPolicy" readonly="readonly" value="{{d.data.configs['privacyPolicy']['sValue']}}" required placeholder="请选择广告文章" autocomplete="off" class="layui-input" lay-active="article_list('privacyPolicyId', 'privacyPolicy')">
<input type="hidden" id="privacyPolicyId" name="privacyPolicyId" value="{{d.data.configs['privacyPolicyId']['sValue']}}">
</div>
<button class="layui-btn" lay-active="getPrivacyPolicy">选择文章</button>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['shopLogo']['sKey']}}</label>
<div class="layui-input-inline layui-inline-6">
@ -150,49 +115,37 @@
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['storeSwitch']['sKey']}}</label>
<div class="layui-input-inline layui-inline-7">
<input type="radio" lay-filter="storeSwitch" name="storeSwitch" value="1" title="开启" {{d.data.configs['storeSwitch']['sValue']==="1" ? 'checked':''}}>
<input type="radio" lay-filter="storeSwitch" name="storeSwitch" value="2" title="不开启" {{d.data.configs['storeSwitch']['sValue']==="2" ? 'checked':''}}>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['invoiceSwitch']['sKey']}}</label>
<div class="layui-input-inline layui-inline-7">
<input type="radio" lay-filter="invoiceSwitch" name="invoiceSwitch" value="1" title="开启" {{d.data.configs['invoiceSwitch']['sValue']==="1" ? 'checked':''}}>
<input type="radio" lay-filter="invoiceSwitch" name="invoiceSwitch" value="2" title="不开启" {{d.data.configs['invoiceSwitch']['sValue']==="2" ? 'checked':''}}>
</div>
</div>
<div class="layui-form-item" style="margin-top: 20px;">
<label class="layui-form-label">{{d.data.configs['recommendKeys']['sKey']}}</label>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['shopBeiAn']['sKey']}}</label>
<div class="layui-input-inline layui-inline-5">
<input type="text" name="recommendKeys" value="{{d.data.configs['recommendKeys']['sValue']}}" lay-verify="title" autocomplete="off" placeholder="搜索发现关键字" class="layui-input">
<input type="text" name="shopBeiAn" value="{{d.data.configs['shopBeiAn']['sValue']}}" lay-verify="title" autocomplete="off" placeholder="请输入ICP备案号" class="layui-input">
</div>
<div class="layui-form-mid layui-word-aux">多个【搜索发现】关键字请用 | 分割</div>
<div class="layui-form-mid layui-word-aux"></div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['cateStyle']['sKey']}}</label>
<div class="layui-input-inline layui-inline-12 classifyimg">
<div class="classifyimg-item">
<input type="radio" lay-filter="cateStyle" name="cateStyle" value="1" title="一级大图" {{d.data.configs['cateStyle']['sValue']==="1" ? 'checked':''}}>
<img src="/static/images/common/one-big.png" onclick="layui.coreHelper.viewImage('/static/images/common/one-big.png')">
</div>
<div class="classifyimg-item">
<input type="radio" lay-filter="cateStyle" name="cateStyle" value="2" title="一级小图" {{d.data.configs['cateStyle']['sValue']==="2" ? 'checked':''}}>
<img src="/static/images/common/one-small.png" onclick="layui.coreHelper.viewImage('/static/images/common/one-small.png')">
</div>
<div class="classifyimg-item">
<input type="radio" lay-filter="cateStyle" name="cateStyle" value="3" title="二级小图" {{d.data.configs['cateStyle']['sValue']==="3" ? 'checked':''}}>
<img src="/static/images/common/two-small.png" onclick="layui.coreHelper.viewImage('/static/images/common/two-small.png')">
</div>
<div class="layui-form-mid layui-word-aux list-tag">
1、一级大图分类图标尺寸建议350px*150px<br />
2、一级小图分类图标尺寸建议105px*105px<br />
3、二级分类图标尺寸建议60px*60px<br />
</div>
<label class="layui-form-label">{{d.data.configs['aboutArticleId']['sKey']}}</label>
<div class="layui-input-inline layui-inline-5" style="margin-bottom: 10px">
<input type="text" id="aboutArticle" name="aboutArticle" readonly="readonly" value="{{d.data.configs['aboutArticle']['sValue']}}" required placeholder="请选择广告文章" autocomplete="off" class="layui-input">
<input type="hidden" id="articleId" name="aboutArticleId" value="{{d.data.configs['aboutArticleId']['sValue']}}">
</div>
<button class="layui-btn" lay-active="getAboutArticle">选择文章</button>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['userAgreementId']['sKey']}}</label>
<div class="layui-input-inline layui-inline-5" style="margin-bottom: 10px">
<input type="text" id="userAgreement" name="userAgreement" readonly="readonly" value="{{d.data.configs['userAgreement']['sValue']}}" required placeholder="请选择广告文章" autocomplete="off" class="layui-input" lay-active="article_list('userAgreementId', 'userAgreement')">
<input type="hidden" id="userAgreementId" name="userAgreementId" value="{{d.data.configs['userAgreementId']['sValue']}}">
</div>
<button class="layui-btn" lay-active="getUserAgreement">选择文章</button>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['privacyPolicyId']['sKey']}}</label>
<div class="layui-input-inline layui-inline-5" style="margin-bottom: 10px">
<input type="text" id="privacyPolicy" name="privacyPolicy" readonly="readonly" value="{{d.data.configs['privacyPolicy']['sValue']}}" required placeholder="请选择广告文章" autocomplete="off" class="layui-input" lay-active="article_list('privacyPolicyId', 'privacyPolicy')">
<input type="hidden" id="privacyPolicyId" name="privacyPolicyId" value="{{d.data.configs['privacyPolicyId']['sValue']}}">
</div>
<button class="layui-btn" lay-active="getPrivacyPolicy">选择文章</button>
</div>
<div class="layui-form-item">
<label class="layui-form-label">&nbsp;</label>
@ -265,201 +218,7 @@
</div>
</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['goodsStocksWarn']['sKey']}}</label>
<div class="layui-input-inline layui-inline-2">
<input type="text" name="goodsStocksWarn" value="{{d.data.configs['goodsStocksWarn']['sValue']}}" lay-verify="title|number" 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">&nbsp;</label>
<div class="layui-input-block">
<button class="layui-btn" lay-submit="" lay-filter="save">保存更改</button>
</div>
</div>
</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['orderCancelTime']['sKey']}}</label>
<div class="layui-input-inline layui-inline-2">
<input type="number" min="1" max="999999" name="orderCancelTime" value="{{d.data.configs['orderCancelTime']['sValue']}}" lay-verify="title|number" autocomplete="off" placeholder="请输入正整数" class="layui-input" list="defaultNumbers">
</div>
<div class="layui-form-mid layui-word-aux">未付款订单取消的时间间隔单位为【分钟】请设置10分钟以上时间因为订单取消时间5分钟执行一次</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['orderCompleteTime']['sKey']}}</label>
<div class="layui-input-inline layui-inline-2">
<input type="number" min="1" max="999999" name="orderCompleteTime" value="{{d.data.configs['orderCompleteTime']['sValue']}}" lay-verify="title|number" autocomplete="off" placeholder="请输入正整数" class="layui-input" list="defaultNumbers">
</div>
<div class="layui-form-mid layui-word-aux">已付款的订单完成的时间间隔单位为【天】一般设置3天</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['orderAutoSignTime']['sKey']}}</label>
<div class="layui-input-inline layui-inline-2">
<input type="number" min="1" max="999999" name="orderAutoSignTime" value="{{d.data.configs['orderAutoSignTime']['sValue']}}" lay-verify="title|number" autocomplete="off" placeholder="请输入正整数" class="layui-input" list="defaultNumbers">
</div>
<div class="layui-form-mid layui-word-aux">发货后的订单自动确认收货时间,单位为【天】一般设置12天</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['orderAutoEvalTime']['sKey']}}</label>
<div class="layui-input-inline layui-inline-2">
<input type="number" min="1" max="999999" name="orderAutoEvalTime" value="{{d.data.configs['orderAutoEvalTime']['sValue']}}" lay-verify="title|number" autocomplete="off" placeholder="请输入正整数" class="layui-input" list="defaultNumbers">
</div>
<div class="layui-form-mid layui-word-aux">确认收货后的订单自动评价时间间隔,单位为【天】一般设置3天</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['remindOrderTime']['sKey']}}</label>
<div class="layui-input-inline layui-inline-2">
<input type="number" min="1" max="999999" name="remindOrderTime" value="{{d.data.configs['remindOrderTime']['sValue']}}" lay-verify="title|number" autocomplete="off" placeholder="请输入正整数" class="layui-input">
</div>
<div class="layui-form-mid layui-word-aux">订单催付款时间,单位为【分钟】请设置10分钟以上时间因为催付款任务5分钟执行一次</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['reshipName']['sKey']}}</label>
<div class="layui-input-inline layui-inline-3">
<input type="text" name="reshipName" value="{{d.data.configs['reshipName']['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['reshipMobile']['sKey']}}</label>
<div class="layui-input-inline layui-inline-3">
<input type="text" name="reshipMobile" value="{{d.data.configs['reshipMobile']['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['reshipAreaId']['sKey']}}</label>
<div class="layui-input-inline layui-inline-4 address-class">
<!--<input type="text" name="reshipAreaId" value="{{d.data.configs['reshipAreaId']['sValue']}}" lay-verify="title" autocomplete="off" placeholder="" class="layui-input">-->
<input type="hidden" name="reshipAreaId" value="{{d.data.configs['reshipAreaId']['sValue']}}">
</div>
<div class="layui-form-mid layui-word-aux">退货区域设置</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['reshipCoordinate']['sKey']}}</label>
<div class="layui-input-inline layui-inline-5">
<input type="text" name="reshipCoordinate" id="coordinateBox" lay-active="showMap" value="{{d.data.configs['reshipCoordinate']['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['reshipAddress']['sKey']}}</label>
<div class="layui-input-inline layui-inline-5">
<input type="text" name="reshipAddress" value="{{d.data.configs['reshipAddress']['sValue']}}" lay-verify="title" autocomplete="off" placeholder="退货地址" class="layui-input">
</div>
<div class="layui-form-mid layui-word-aux">退货的详细地址</div>
</div>
<blockquote class="layui-elem-quote">
发货相关
</blockquote>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['storeOrderAutomaticDelivery']['sKey']}}</label>
<div class="layui-input-inline layui-inline-7">
<input type="radio" lay-filter="storeOrderAutomaticDelivery" name="storeOrderAutomaticDelivery" value="1" title="开启" {{d.data.configs['storeOrderAutomaticDelivery']['sValue']==="1" ? 'checked':''}}>
<input type="radio" lay-filter="storeOrderAutomaticDelivery" name="storeOrderAutomaticDelivery" value="2" title="不开启" {{d.data.configs['storeOrderAutomaticDelivery']['sValue']==="2" ? 'checked':''}}>
</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 class="layui-tab-item">
<div class="layui-form coreshop-form">
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['pointSwitch']['sKey']}}</label>
<div class="layui-input-inline layui-inline-7">
<input type="radio" lay-filter="pointSwitch" name="pointSwitch" value="1" title="开启" {{d.data.configs['pointSwitch']['sValue']==="1" ? 'checked':''}}>
<input type="radio" lay-filter="pointSwitch" name="pointSwitch" value="2" title="不开启" {{d.data.configs['pointSwitch']['sValue']==="2" ? 'checked':''}}>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['pointDiscountedProportion']['sKey']}}</label>
<div class="layui-input-inline layui-inline-2">
<input type="number" name="pointDiscountedProportion" value="{{d.data.configs['pointDiscountedProportion']['sValue']}}" lay-verify="title|number" autocomplete="off" placeholder="请输入正整数" class="layui-input" min="0">
</div>
<div class="layui-form-mid layui-word-aux">多少积分可以折现1元人民币</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['ordersPointProportion']['sKey']}}</label>
<div class="layui-input-inline layui-inline-2">
<input type="number" name="ordersPointProportion" value="{{d.data.configs['ordersPointProportion']['sValue']}}" lay-verify="title|number" autocomplete="off" placeholder="请输入正整数" class="layui-input" max="100" min="0">
</div>
<div class="layui-form-mid layui-word-aux">%)单个订单积分折现最大百分比</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['ordersRewardProportion']['sKey']}}</label>
<div class="layui-input-inline layui-inline-2">
<input type="number" name="ordersRewardProportion" value="{{d.data.configs['ordersRewardProportion']['sValue']}}" lay-verify="title|number" autocomplete="off" placeholder="请输入正整数" class="layui-input" min="0">
</div>
<div class="layui-form-mid layui-word-aux">订单多少人民币奖励1个积分</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['signPointType']['sKey']}}</label>
<div class="layui-input-inline layui-inline-7">
<input type="radio" lay-filter="signPointType" name="signPointType" value="1" title="固定奖励" {{d.data.configs['signPointType']['sValue']==="1" ? 'checked':''}}>
<input type="radio" lay-filter="signPointType" name="signPointType" value="2" title="随机奖励" {{d.data.configs['signPointType']['sValue']==="2" ? 'checked':''}}>
</div>
<input type="hidden" id="signPointType" value="{{d.data.configs['signPointType']['sValue']}}">
</div>
<div class="sign-random">
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['signRandomMin']['sKey']}}</label>
<div class="layui-input-inline layui-inline-2">
<input type="text" name="signRandomMin" value="{{d.data.configs['signRandomMin']['sValue']}}" lay-verify="title|number" 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['signRandomMax']['sKey']}}</label>
<div class="layui-input-inline layui-inline-2">
<input type="text" name="signRandomMax" value="{{d.data.configs['signRandomMax']['sValue']}}" lay-verify="title|number" autocomplete="off" placeholder="请输入正整数" class="layui-input">
</div>
<div class="layui-form-mid layui-word-aux">签到随机最大奖励积分</div>
</div>
</div>
<div class="sign-fixed">
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['firstSignPoint']['sKey']}}</label>
<div class="layui-input-inline layui-inline-2">
<input type="text" name="firstSignPoint" value="{{d.data.configs['firstSignPoint']['sValue']}}" lay-verify="title|number" 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['continuitySignAdditional']['sKey']}}</label>
<div class="layui-input-inline layui-inline-2">
<input type="text" name="continuitySignAdditional" value="{{d.data.configs['continuitySignAdditional']['sValue']}}" lay-verify="title|number" 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['signMostPoint']['sKey']}}</label>
<div class="layui-input-inline layui-inline-2">
<input type="text" name="signMostPoint" value="{{d.data.configs['signMostPoint']['sValue']}}" lay-verify="title|number" autocomplete="off" placeholder="请输入正整数" class="layui-input">
</div>
<div class="layui-form-mid layui-word-aux">连续签到奖励积分单日上限</div>
</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 class="layui-tab-item">
<div class="layui-form coreshop-form">
<div class="layui-form-item">
@ -492,47 +251,6 @@
</div>
</div>
<div class="layui-tab-item">
<div class="layui-form coreshop-form">
<blockquote class="layui-elem-quote">
佣金设置(当不开启三级分销时候,推广好友三级统一返现比例)
</blockquote>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['commissionType']['sKey']}}</label>
<div class="layui-input-inline layui-inline-7">
<input type="radio" lay-filter="commissionType" name="commissionType" value="1" title="百分比" {{d.data.configs['distributionStore']['sValue']==="1" ? 'checked':''}}>
<input type="radio" lay-filter="commissionType" name="commissionType" value="2" title="固定金额" {{d.data.configs['distributionStore']['sValue']==="2" ? 'checked':''}}>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['commissionFirst']['sKey']}}</label>
<div class="layui-input-inline layui-inline-2">
<input type="text" name="commissionFirst" value="{{d.data.configs['commissionFirst']['sValue']}}" lay-verify="title|money" autocomplete="off" placeholder="%" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['commissionSecond']['sKey']}}</label>
<div class="layui-input-inline layui-inline-2">
<input type="text" name="commissionSecond" value="{{d.data.configs['commissionSecond']['sValue']}}" lay-verify="title|money" autocomplete="off" placeholder="%" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['commissionThird']['sKey']}}</label>
<div class="layui-input-inline layui-inline-2">
<input type="text" name="commissionThird" value="{{d.data.configs['commissionThird']['sValue']}}" lay-verify="title|money" 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 class="layui-tab-item">
<div class="layui-form coreshop-form">
<div class="layui-form-item">
@ -706,6 +424,7 @@
</div>
</div>
</div>
</div>
</div>
</div>

View File

@ -15,8 +15,10 @@ using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Aliyun.OSS;
using Aliyun.OSS.Util;
using CoreCms.Net.Configuration;
using CoreCms.Net.IServices;
using CoreCms.Net.Model.Entities;
@ -25,13 +27,16 @@ using CoreCms.Net.Model.ViewModels.Options;
using CoreCms.Net.Model.ViewModels.UI;
using CoreCms.Net.Utility.Extensions;
using CoreCms.Net.Utility.Helper;
using COSXML;
using COSXML.Auth;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;
using SqlSugar;
namespace CoreCms.Net.Web.WebApi.Controllers
@ -89,118 +94,31 @@ namespace CoreCms.Net.Web.WebApi.Controllers
/// 返回配置数据文件V2.0
/// </summary>
/// <returns></returns>
[HttpPost]
public async Task<WebApiCallBack> GetConfigV2()
[HttpGet]
public async Task<WebApiDto> GetConfig()
{
var jm = new WebApiCallBack { status = true, msg = "接口访问正常", data = DateTime.Now };
var jm = new WebApiDto();
var allConfigs = await _settingServices.GetConfigDictionaries();
var shopLogo = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.ShopLogo); //店铺logo
var shopName = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.ShopName); //店铺名称
var shopBeiAn = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.ShopBeiAn); //店铺备案
var shopDesc = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.ShopDesc); //店铺描述
var showStoresSwitch = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.ShowStoresSwitch).ObjectToInt(2); //显示门店列表
var showStoreBalanceRechargeSwitch = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.ShowStoreBalanceRechargeSwitch).ObjectToInt(2); //显示充值功能
var imageMax = 5; //前端上传图片最多几张
var storeSwitch = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.StoreSwitch).ObjectToInt(); //开启门店自提状态
var cateStyle = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.CateStyle).ObjectToInt(); //分类样式
var cateType = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.CateType).ObjectToInt(); //H5分类类型
var toCashMoneyLow = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.TocashMoneyLow); //最低提现
var toCashMoneyRate = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.TocashMoneyRate); //服务费
var pointSwitch = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.PointSwitch).ObjectToInt(); //是否开启积分功能
var statistics = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.StatisticsCode); //获取统计代码
var recommendKeysStr = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.RecommendKeys);
var recommendKeys = !string.IsNullOrEmpty(recommendKeysStr) ? recommendKeysStr.Split("|") : new string[] { }; //搜索推荐关键字
var invoiceSwitch = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.InvoiceSwitch).ObjectToInt(); //发票功能开关
var goodsStocksWarn = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.GoodsStocksWarn).ObjectToInt(); //库存报警数量
var shopDefaultImage = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.ShopDefaultImage); //获取默认图片
var shopMobile = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.ShopMobile); //店铺联系电话
var openDistribution = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.OpenDistribution).ObjectToInt(); //是否开启分销
var distributionNotes = string.Empty;
var distributionAgreement = string.Empty;
var distributionStore = 2;
if (openDistribution == 1)
{
distributionNotes = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.DistributionNotes); //用户须知
distributionAgreement = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.DistributionAgreement); //分销协议
distributionStore = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.DistributionStore).ObjectToInt(2); //是否开启店铺
}
var showInviter = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.ShowInviterInfo).ObjectToInt(); //是否显示邀请人信息
var shareTitle = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.ShareTitle); //分享标题
var shareDesc = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.ShareDesc); //分享描述
var shareImage = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.ShareImage); //分享图片
var aboutArticleId = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.AboutArticleId).ObjectToInt(2); //关于我们文章
var entId = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.EntId); //客服ID
//var entId = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.EntId); //客服ID
var userAgreementId = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.UserAgreementId).ObjectToInt(3); //用户协议
var privacyPolicyId = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.PrivacyPolicyId).ObjectToInt(4); //隐私政策
var reshipName = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.ReshipName); //退货联系人
var reshipMobile = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.ReshipMobile); //退货联系方式
var reshipAreaId = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.ReshipAreaId); //退货区域
var reshipAddress = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.ReshipAddress); //退货联系方式
var reshipCoordinate = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.ReshipCoordinate); //退货坐标
var orderCancelTime = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.OrderCancelTime).ObjectToInt(60); //订单取消时间
//代理
var isOpenAgent = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.IsOpenAgent).ObjectToInt(); //是否开启代理模块
var isShowAgentPortal = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.IsShowAgentPortal).ObjectToInt(); //是否显示代理模块入口
var agentNotes = string.Empty;
var agentAgreement = string.Empty;
if (isOpenAgent == 1 && isShowAgentPortal == 1)
{
agentNotes = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.AgentNotes); //用户须知
agentAgreement = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.AgentAgreement); //分销协议
}
var model = new
var data = new
{
shopLogo,
shopName,
shopBeiAn = shopBeiAn,
shopDesc,
imageMax,
storeSwitch,
showStoresSwitch,
showStoreBalanceRechargeSwitch,
cateStyle,
cateType,
toCashMoneyLow,
toCashMoneyRate,
pointSwitch,
statistics,
recommendKeys,
invoiceSwitch,
goodsStocksWarn,
shopDefaultImage,
shopMobile,
openDistribution,
distributionNotes,
distributionAgreement,
distributionStore,
showInviter,
shareTitle,
shareDesc,
shareImage,
aboutArticleId,
entId,
userAgreementId,
privacyPolicyId,
reshipName,
reshipMobile,
reshipAreaId,
reshipAddress,
reshipCoordinate,
orderCancelTime,
isOpenAgent,
isShowAgentPortal,
agentNotes,
agentAgreement
};
jm.data = model;
jm.Data = data;
return jm;
}
#endregion

View File

@ -192,7 +192,7 @@
</summary>
<returns></returns>
</member>
<member name="M:CoreCms.Net.Web.WebApi.Controllers.CommonController.GetConfigV2">
<member name="M:CoreCms.Net.Web.WebApi.Controllers.CommonController.GetConfig">
<summary>
返回配置数据文件V2.0
</summary>

View File

@ -14,7 +14,7 @@
dbProvider="Microsoft.Data.SqlClient.SqlConnection, Microsoft.Data.SqlClient"
connectionString="Server=127.0.0.1;Database=BaseMIS;User ID=sa;Password=123456"
-->
<target name="log_database" xsi:type="Database" dbProvider="Microsoft.Data.SqlClient.SqlConnection, Microsoft.Data.SqlClient" connectionString="Server=192.168.195.8;uid=sa;pwd=Dbt@com@123;Database=CoreShop;MultipleActiveResultSets=true;pooling=true;min pool size=5;max pool size=32767;connect timeout=20;Encrypt=True;TrustServerCertificate=True;">
<target name="log_database" xsi:type="Database" dbProvider="Microsoft.Data.SqlClient.SqlConnection, Microsoft.Data.SqlClient" connectionString="Server=192.168.195.8;uid=sa;pwd=Dbt@com@123;Database=MaJiangYuYue;MultipleActiveResultSets=true;pooling=true;min pool size=5;max pool size=32767;connect timeout=20;Encrypt=True;TrustServerCertificate=True;">
<commandText>
INSERT INTO SysNLogRecords
(LogDate,LogLevel,LogType,LogTitle,Logger,Message,MachineName,MachineIp,NetRequestMethod

View File

@ -1,7 +1,7 @@
{
"ConnectionStrings": {
"DbType": "SqlServer", //SqlServer,MySql
"SqlConnection": "Server=192.168.195.8;uid=sa;pwd=Dbt@com@123;Database=CoreShop;MultipleActiveResultSets=true;pooling=true;min pool size=5;max pool size=32767;connect timeout=20;Encrypt=True;TrustServerCertificate=True;"
"SqlConnection": "Server=192.168.195.8;uid=sa;pwd=Dbt@com@123;Database=MaJiangYuYue;MultipleActiveResultSets=true;pooling=true;min pool size=5;max pool size=32767;connect timeout=20;Encrypt=True;TrustServerCertificate=True;"
//SqlServerMultipleActiveResultSets=true
// Service mysql
@ -18,8 +18,8 @@
//Swagger访
"SwaggerConfig": {
"RoutePrefix": "doc", //doc
"UserName": "",
"PassWord": ""
"UserName": "doc",
"PassWord": "doc"
},
"AppConfig": {
"AppUrl": "https://admin.demo.coreshop.cn/", //
@ -34,9 +34,9 @@
},
//jwt
"JwtConfig": {
"SecretKey": "", //token16+
"Issuer": "", //CoreShop.Professional
"Audience": "coreshop" //corecms
"SecretKey": "wI5xE7nO0vW1nZ7iZ2mL5aK4wY9oS8rF", //token16+
"Issuer": "api", //CoreShop.Professional
"Audience": "mp" //corecms
},
//
"Cors": {