修改定时任务。
This commit is contained in:
parent
48709faa88
commit
3eaef44538
|
|
@ -405,6 +405,21 @@ namespace CoreCms.Net.Configuration
|
|||
/// </summary>
|
||||
public const string Kuaidi100Key = "kuaidi100Key";
|
||||
|
||||
/// <summary>
|
||||
/// 客服H5地址
|
||||
/// </summary>
|
||||
public const string CustomerServiceH5Url = "customerServiceH5Url";
|
||||
|
||||
/// <summary>
|
||||
/// 客服后台管理地址
|
||||
/// </summary>
|
||||
public const string CustomerServiceAdminUrl = "customerServiceAdminUrl";
|
||||
|
||||
/// <summary>
|
||||
/// 客服后台地址
|
||||
/// </summary>
|
||||
public const string CustomerServiceBackendUrl = "customerServiceBackendUrl";
|
||||
|
||||
|
||||
//搜索发现关键字============================================================================
|
||||
/// <summary>
|
||||
|
|
|
|||
|
|
@ -158,6 +158,11 @@ namespace CoreCms.Net.Configuration
|
|||
di.Add(SystemSettingConstVars.Kuaidi100Customer, new DictionaryKeyValues() { sKey = "公司编号", sValue = "" });
|
||||
di.Add(SystemSettingConstVars.Kuaidi100Key, new DictionaryKeyValues() { sKey = "授权key", sValue = "" });
|
||||
|
||||
// 客服配置
|
||||
di.Add(SystemSettingConstVars.CustomerServiceH5Url, new DictionaryKeyValues() { sKey = "客服H5地址", sValue = "" });
|
||||
di.Add(SystemSettingConstVars.CustomerServiceAdminUrl, new DictionaryKeyValues() { sKey = "客服后台管理地址", sValue = "" });
|
||||
di.Add(SystemSettingConstVars.CustomerServiceBackendUrl, new DictionaryKeyValues() { sKey = "客服后台地址", sValue = "" });
|
||||
|
||||
//统计代码
|
||||
di.Add(SystemSettingConstVars.StatisticsCode, new DictionaryKeyValues() { sKey = "百度统计代码", sValue = "" });
|
||||
//发票开关
|
||||
|
|
|
|||
|
|
@ -142,5 +142,15 @@ namespace CoreCms.Net.Model.Entities
|
|||
[SugarColumn(ColumnDescription = "删除标志 有数据就是删除")]
|
||||
[Required(ErrorMessage = "请输入{0}")]
|
||||
public System.Boolean isDelete { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 重置余额
|
||||
/// </summary>
|
||||
[Display(Name = "重置余额")]
|
||||
[SugarColumn(ColumnDescription = "重置余额")]
|
||||
[Required(ErrorMessage = "请输入{0}")]
|
||||
public System.Decimal reBalance { get; set; }
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -133,6 +133,7 @@ namespace CoreCms.Net.Repository
|
|||
isDelete = p.isDelete,
|
||||
type = (int)sWeChatInfo.type,
|
||||
parentNickName = sParentUser.nickName,
|
||||
reBalance= p.reBalance,
|
||||
childNum = SqlFunc.Subqueryable<CoreCmsUser>().Where(o => o.parentId == p.id).Count()
|
||||
})
|
||||
.MergeTable().With(SqlWith.Null)
|
||||
|
|
|
|||
|
|
@ -62,9 +62,12 @@ namespace CoreCms.Net.Task
|
|||
//每天凌晨5点定期清理7天前操作日志
|
||||
RecurringJob.AddOrUpdate<RemoveOperationLogJob>(s => s.Execute(), "0 0 5 * * ? ", TimeZoneInfo.Local); // 每天5点固定时间清理一次
|
||||
|
||||
//定时刷新获取微信AccessToken
|
||||
//定时刷新获取微信AccessToken
|
||||
RecurringJob.AddOrUpdate<RefreshWeChatAccessTokenJob>(s => s.Execute(), "0 0/4 * * * ? ", TimeZoneInfo.Local); // 每2分钟刷新获取微信AccessToken
|
||||
|
||||
//每天5点定时刷新用户余额
|
||||
RecurringJob.AddOrUpdate<RefreshUserBalanceJob>(s => s.Execute(), "0 0 5 * * ?", TimeZoneInfo.Local);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
|
|
|||
96
CoreCms.Net.Task/RefreshUserBalanceJob.cs
Normal file
96
CoreCms.Net.Task/RefreshUserBalanceJob.cs
Normal file
|
|
@ -0,0 +1,96 @@
|
|||
using CoreCms.Net.Caching.AutoMate.RedisCache;
|
||||
using CoreCms.Net.Configuration;
|
||||
using CoreCms.Net.IServices;
|
||||
using CoreCms.Net.Model.Entities;
|
||||
using CoreCms.Net.WeChat.Service.HttpClients;
|
||||
using CoreCms.Net.WeChat.Service.Options;
|
||||
using Microsoft.Extensions.Options;
|
||||
using Newtonsoft.Json;
|
||||
using SKIT.FlurlHttpClient.Wechat.Api.Models;
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CoreCms.Net.Task
|
||||
{
|
||||
/// <summary>
|
||||
/// 定时重置用户余额,当用户刷新余额大于0的时候,每天会将用户余额数量设置为刷新余额数量。
|
||||
/// </summary>
|
||||
public class RefreshUserBalanceJob
|
||||
{
|
||||
|
||||
private readonly ISysTaskLogServices _taskLogServices;
|
||||
private readonly ICoreCmsUserServices _userServices;
|
||||
|
||||
public RefreshUserBalanceJob(IRedisOperationRepository redisOperationRepository, ISysTaskLogServices taskLogServices, IOptions<WeChatOptions> weChatOptions, IWeChatApiHttpClientFactory weChatApiHttpClientFactory, IWeChatAccessTokenServices weChatAccessTokenServices, ICoreCmsUserServices userServices)
|
||||
{
|
||||
_taskLogServices = taskLogServices;
|
||||
_userServices = userServices;
|
||||
}
|
||||
|
||||
public async System.Threading.Tasks.Task Execute()
|
||||
{
|
||||
try
|
||||
{
|
||||
// 查询所有需要刷新余额的用户(reBalance > 0)
|
||||
var users = await _userServices.QueryListByClauseAsync(p => p.reBalance > 0);
|
||||
if (users == null || users.Count == 0)
|
||||
{
|
||||
var emptyLog = new SysTaskLog
|
||||
{
|
||||
createTime = DateTime.Now,
|
||||
isSuccess = true,
|
||||
name = "刷新用户余额",
|
||||
parameters = JsonConvert.SerializeObject(new { total = 0, updated = 0, skipped = 0 })
|
||||
};
|
||||
await _taskLogServices.InsertAsync(emptyLog);
|
||||
return;
|
||||
}
|
||||
|
||||
int total = users.Count;
|
||||
int updated = 0;
|
||||
int skipped = 0;
|
||||
|
||||
foreach (var u in users)
|
||||
{
|
||||
var delta = u.reBalance - u.balance;
|
||||
if (delta == 0)
|
||||
{
|
||||
skipped++;
|
||||
continue;
|
||||
}
|
||||
|
||||
var res = await _userServices.UpdateBalance(u.id, delta);
|
||||
if (res != null && res.code == 0)
|
||||
{
|
||||
updated++;
|
||||
}
|
||||
}
|
||||
|
||||
var log = new SysTaskLog
|
||||
{
|
||||
createTime = DateTime.Now,
|
||||
isSuccess = true,
|
||||
name = "刷新用户余额",
|
||||
parameters = JsonConvert.SerializeObject(new { total, updated, skipped })
|
||||
};
|
||||
await _taskLogServices.InsertAsync(log);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
//插入日志
|
||||
var model = new SysTaskLog
|
||||
{
|
||||
createTime = DateTime.Now,
|
||||
isSuccess = false,
|
||||
name = "刷新用户余额",
|
||||
parameters = JsonConvert.SerializeObject(ex)
|
||||
};
|
||||
await _taskLogServices.InsertAsync(model);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1583,5 +1583,34 @@ namespace CoreCms.Net.Web.Admin.Controllers
|
|||
|
||||
#endregion
|
||||
|
||||
#region 获取客服后台地址============================================================
|
||||
|
||||
/// <summary>
|
||||
/// 获取客服后台管理与客服后台地址
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("获取客服后台地址")]
|
||||
public async Task<AdminUiCallBack> GetCustomerServiceUrls()
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var allConfigs = await _settingServices.GetConfigDictionaries();
|
||||
var adminUrl = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.CustomerServiceAdminUrl);
|
||||
var backendUrl = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.CustomerServiceBackendUrl);
|
||||
|
||||
jm.code = 0;
|
||||
jm.msg = "数据获取正常";
|
||||
jm.data = new
|
||||
{
|
||||
adminUrl,
|
||||
backendUrl
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -422,6 +422,7 @@ namespace CoreCms.Net.Web.Admin.Controllers
|
|||
oldModel.grade = entity.grade;
|
||||
oldModel.updataTime = DateTime.Now;
|
||||
oldModel.status = entity.status;
|
||||
oldModel.reBalance = entity.reBalance;
|
||||
//事物处理过程结束
|
||||
var bl = await _coreCmsUserServices.UpdateAsync(oldModel);
|
||||
jm.code = bl ? 0 : 1;
|
||||
|
|
|
|||
|
|
@ -759,6 +759,12 @@
|
|||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:CoreCms.Net.Web.Admin.Controllers.ToolsController.GetCustomerServiceUrls">
|
||||
<summary>
|
||||
获取客服后台管理与客服后台地址
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:CoreCms.Net.Web.Admin.Controllers.CoreCmsDistributionController">
|
||||
<summary>
|
||||
分销商表
|
||||
|
|
|
|||
|
|
@ -40,16 +40,16 @@
|
|||
<cite>促销</cite>
|
||||
</a>
|
||||
</li>
|
||||
<li class="layui-col-xs3">
|
||||
<a href="javascript:;" lay-href="/shop/ship/">
|
||||
<li class="layui-col-xs3" id="customerServiceAdminItem" style="display:none;">
|
||||
<a href="javascript:;" id="customerServiceAdminLink">
|
||||
<i class="layui-icon layui-icon-release"></i>
|
||||
<cite>配送</cite>
|
||||
<cite>客服后台管理</cite>
|
||||
</a>
|
||||
</li>
|
||||
<li class="layui-col-xs3">
|
||||
<a href="javascript:;" lay-href="/distribution/distributor/">
|
||||
<li class="layui-col-xs3" id="customerServiceBackendItem" style="display:none;">
|
||||
<a href="javascript:;" id="customerServiceBackendLink">
|
||||
<i class="layui-icon layui-icon-snowflake"></i>
|
||||
<cite>分销商</cite>
|
||||
<cite>客服后台</cite>
|
||||
</a>
|
||||
</li>
|
||||
<li class="layui-col-xs3">
|
||||
|
|
@ -207,6 +207,37 @@
|
|||
var util = layui.util;
|
||||
var laytpl = layui.laytpl;
|
||||
var carousel = layui.carousel;
|
||||
var csAdminUrl = '';
|
||||
var csBackendUrl = '';
|
||||
|
||||
// 获取客服后台地址并绑定点击事件(未配置则隐藏入口)
|
||||
coreHelper.Post("Api/Tools/GetCustomerServiceUrls", {}, function (res) {
|
||||
if (res && res.code === 0 && res.data) {
|
||||
csAdminUrl = res.data.adminUrl || '';
|
||||
csBackendUrl = res.data.backendUrl || '';
|
||||
if (csAdminUrl) {
|
||||
$('#customerServiceAdminItem').show();
|
||||
}
|
||||
if (csBackendUrl) {
|
||||
$('#customerServiceBackendItem').show();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$('#customerServiceAdminLink').on('click', function () {
|
||||
if (csAdminUrl) {
|
||||
window.open(csAdminUrl, '_blank');
|
||||
} else {
|
||||
layui.layer.msg('未配置客服后台管理地址');
|
||||
}
|
||||
});
|
||||
$('#customerServiceBackendLink').on('click', function () {
|
||||
if (csBackendUrl) {
|
||||
window.open(csBackendUrl, '_blank');
|
||||
} else {
|
||||
layui.layer.msg('未配置客服后台地址');
|
||||
}
|
||||
});
|
||||
|
||||
getBackLog();
|
||||
ordersEcharts();
|
||||
|
|
|
|||
|
|
@ -42,6 +42,7 @@
|
|||
<li lay-id="inviteFriends">邀请好友设置</li>
|
||||
<li lay-id="filesStorage">附件设置</li>
|
||||
<li lay-id="other">其他设置</li>
|
||||
<li lay-id="customerService">客服配置</li>
|
||||
</ul>
|
||||
<div class="layui-tab-content">
|
||||
<div class="layui-tab-item layui-show">
|
||||
|
|
@ -706,6 +707,34 @@
|
|||
</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['customerServiceH5Url']['sKey']}}:</label>
|
||||
<div class="layui-input-inline layui-inline-8">
|
||||
<input type="text" name="customerServiceH5Url" value="{{d.data.configs['customerServiceH5Url']['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['customerServiceAdminUrl']['sKey']}}:</label>
|
||||
<div class="layui-input-inline layui-inline-8">
|
||||
<input type="text" name="customerServiceAdminUrl" value="{{d.data.configs['customerServiceAdminUrl']['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['customerServiceBackendUrl']['sKey']}}:</label>
|
||||
<div class="layui-input-inline layui-inline-8">
|
||||
<input type="text" name="customerServiceBackendUrl" value="{{d.data.configs['customerServiceBackendUrl']['sValue']}}" lay-verify="title" autocomplete="off" placeholder="可为空" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"> </label>
|
||||
<div class="layui-input-block">
|
||||
<button class="layui-btn" lay-submit="" lay-filter="save">保存更改</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -713,7 +742,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</script>
|
||||
</script>
|
||||
<script>
|
||||
var indexData;
|
||||
var debug = layui.setter.debug;
|
||||
|
|
|
|||
|
|
@ -1,24 +1,8 @@
|
|||
<div class="layui-card-header">版本信息</div>
|
||||
|
||||
<div class="layui-card-body layui-text layadmin-about">
|
||||
<script type="text/html" template>
|
||||
<p>当前版本:{{ layui.setter.version }}</p>
|
||||
</script>
|
||||
<div class="layui-btn-container">
|
||||
<a href="http://www.coreshop.cn/" target="_blank" class="layui-btn layui-btn-sm layui-btn-danger">官网下载</a>
|
||||
<a href="https://github.com/CoreUnion/CoreShop" target="_blank" class="layui-btn layui-btn-sm">GitHub下载</a>
|
||||
<a href="https://gitee.com/CoreUnion/CoreShop" target="_blank" class="layui-btn layui-btn-sm">Gitee下载</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="layui-card-header">关于版权</div>
|
||||
<div class="layui-card-body layui-text layadmin-about">
|
||||
|
||||
<blockquote class="layui-elem-quote" style="border: none;">
|
||||
允许个人学习研究使用,支持二次开发。<br />
|
||||
允许商业用途,但仅限自运营,如果商用必须保留版权信息,望自觉遵守。<br />
|
||||
不允许对程序代码以任何形式、任何目的的再发行或出售,否则将追究侵权者法律责任。<br />
|
||||
软件受国家计算机软件著作权保护(登记号:<a href="https://files.cdn.coreshop.cn/images/coreshopcopyright.jpeg" target="_blank">2020SR1224749</a>)。<br />
|
||||
我们的团队水平有限,也是在探索中学习、改进。开源,是为了让认可我们的用户能自由的使用、学习软件的内部架构,让更多的人有机会阅读并发现Bug、对软件项目提出改进意见。
|
||||
</blockquote>
|
||||
<p>© 2021 <a href="http://www.coreshop.cn/" target="_blank">coreshop.cn</a> 版权所有</p>
|
||||
</div>
|
||||
|
||||
|
|
@ -7,19 +7,25 @@
|
|||
<div class="col-lg-7 d-none d-md-flex justify-content-center align-items-center gradient-brand-color vh-100">
|
||||
<figure class="figure pattern-svg">
|
||||
<svg xmlns=http://www.w3.org/2000/svg xmlns:xlink=http://www.w3.org/1999/xlink width=690px height=519px>
|
||||
<path fill-rule=evenodd opacity=0.412 fill="rgb(255, 255, 255)" d="M0.010,293.142 L7.857,289.009 L11.990,296.857 L4.142,300.989 L0.010,293.142 Z" />
|
||||
<path fill-rule=evenodd opacity=0.6 fill="rgb(255, 255, 255)" d="M680.839,148.992 L689.997,154.833 L684.156,163.991 L674.998,158.149 L680.839,148.992 Z" />
|
||||
<path fill-rule=evenodd opacity=0.2 fill="rgb(255, 255, 255)" d="M145.500,508.000 C148.538,508.000 151.000,510.462 151.000,513.500 C151.000,516.538 148.538,519.000 145.500,519.000 C142.462,519.000 140.000,516.538 140.000,513.500 C140.000,510.462 142.462,508.000 145.500,508.000 Z" />
|
||||
<path fill-rule=evenodd opacity=0.302 fill="rgb(255, 255, 255)" d="M633.500,357.000 C635.985,357.000 638.000,359.015 638.000,361.500 C638.000,363.985 635.985,366.000 633.500,366.000 C631.015,366.000 629.000,363.985 629.000,361.500 C629.000,359.015 631.015,357.000 633.500,357.000 Z" />
|
||||
<path fill-rule=evenodd opacity=0.8 fill="rgb(255, 255, 255)" d="M574.672,8.047 L583.310,0.211 L585.650,11.982 L574.672,8.047 Z" />
|
||||
<path fill-rule=evenodd opacity=0.6 fill="rgb(255, 255, 255)" d="M140.000,18.000 C141.657,18.000 143.000,19.343 143.000,21.000 C143.000,22.657 141.657,24.000 140.000,24.000 C138.343,24.000 137.000,22.657 137.000,21.000 C137.000,19.343 138.343,18.000 140.000,18.000 Z" />
|
||||
<path fill-rule=evenodd opacity=0.412 fill="rgb(255, 255, 255)"
|
||||
d="M0.010,293.142 L7.857,289.009 L11.990,296.857 L4.142,300.989 L0.010,293.142 Z" />
|
||||
<path fill-rule=evenodd opacity=0.6 fill="rgb(255, 255, 255)"
|
||||
d="M680.839,148.992 L689.997,154.833 L684.156,163.991 L674.998,158.149 L680.839,148.992 Z" />
|
||||
<path fill-rule=evenodd opacity=0.2 fill="rgb(255, 255, 255)"
|
||||
d="M145.500,508.000 C148.538,508.000 151.000,510.462 151.000,513.500 C151.000,516.538 148.538,519.000 145.500,519.000 C142.462,519.000 140.000,516.538 140.000,513.500 C140.000,510.462 142.462,508.000 145.500,508.000 Z" />
|
||||
<path fill-rule=evenodd opacity=0.302 fill="rgb(255, 255, 255)"
|
||||
d="M633.500,357.000 C635.985,357.000 638.000,359.015 638.000,361.500 C638.000,363.985 635.985,366.000 633.500,366.000 C631.015,366.000 629.000,363.985 629.000,361.500 C629.000,359.015 631.015,357.000 633.500,357.000 Z" />
|
||||
<path fill-rule=evenodd opacity=0.8 fill="rgb(255, 255, 255)"
|
||||
d="M574.672,8.047 L583.310,0.211 L585.650,11.982 L574.672,8.047 Z" />
|
||||
<path fill-rule=evenodd opacity=0.6 fill="rgb(255, 255, 255)"
|
||||
d="M140.000,18.000 C141.657,18.000 143.000,19.343 143.000,21.000 C143.000,22.657 141.657,24.000 140.000,24.000 C138.343,24.000 137.000,22.657 137.000,21.000 C137.000,19.343 138.343,18.000 140.000,18.000 Z" />
|
||||
</svg>
|
||||
</figure>
|
||||
<div class="w-75 px-4">
|
||||
<div class="swiper-container pt-5 pb-5">
|
||||
<div class="swiper-wrapper text-center">
|
||||
<div class="swiper-slide testimony__slide">
|
||||
<p class=mb-5><strong class="super-lead color--white">“是否有核心,由你来确定。”</strong>
|
||||
<p class=mb-5><strong class="super-lead color--white">“雨宝庄严”</strong>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -28,36 +34,46 @@
|
|||
<div class="col-lg-5 d-flex align-items-md-baseline py-5 background--light vh-md-100 overflow-auto">
|
||||
<div class="w-75 mt-3 mt-md-5 mx-auto overflow-hidden px-md-5 px-lg-3">
|
||||
<header class="mb-5">
|
||||
<img src='/static/images/common/logo.png' style="height: 80px;">
|
||||
<!-- <img src='/static/images/common/logo.png' style="height: 80px;"> -->
|
||||
<h1>后台管理</h1>
|
||||
</header>
|
||||
<main class="main">
|
||||
<div class="form-validate layui-form">
|
||||
<div class="row">
|
||||
<div class="col-sm-12 mb-2">
|
||||
<div class=form-group>
|
||||
<input type="text" name="username" id="LAY-user-login-username" lay-verType="tips" lay-verify="required" placeholder="用户名" class="form-control">
|
||||
<input type="text" name="username" id="LAY-user-login-username" lay-verType="tips"
|
||||
lay-verify="required" placeholder="用户名" class="form-control">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-12 mb-2">
|
||||
<div class=form-group>
|
||||
<input type="password" name="password" id="LAY-user-login-password" lay-verType="tips" lay-verify="required" placeholder="密码" class="form-control">
|
||||
<input type="password" name="password" id="LAY-user-login-password"
|
||||
lay-verType="tips" lay-verify="required" placeholder="密码" class="form-control">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-12 mb-2">
|
||||
<button type="button" class="btn btn-info w-100" lay-submit lay-filter="LAY-user-login-submit" id="loginSubmit">登录</button>
|
||||
<button type="button" class="btn btn-info w-100" lay-submit
|
||||
lay-filter="LAY-user-login-submit" id="loginSubmit">
|
||||
登录
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
<footer class=mt-5>
|
||||
<small>©2020 - <a href="http://www.coreshop.cn/" target="_blank">CoreShop.Cn</a> All rights reserved. <br><span>推荐使用 <a href="//www.microsoft.com/zh-cn/edge" target=_blank>新版 Microsoft Edge 浏览器</a> 访问本系统</span></small>
|
||||
<!-- <small>©2020 - <a href="http://www.coreshop.cn/" target="_blank">CoreShop.Cn</a> All rights reserved. <br><span>推荐使用 <a href="//www.microsoft.com/zh-cn/edge" target=_blank>新版 Microsoft Edge 浏览器</a> 访问本系统</span></small> -->
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<style>
|
||||
body { font-family: 'Inter',sans-serif; line-height: 1.5; color: #4f5464; }
|
||||
body {
|
||||
font-family: 'Inter', sans-serif;
|
||||
line-height: 1.5;
|
||||
color: #4f5464;
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
layui.use(['admin', 'form', 'coreHelper'], function () {
|
||||
|
|
|
|||
|
|
@ -79,6 +79,17 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline layui-input-wrap layui-input-wrap-prefix">
|
||||
<label class="layui-form-label">重置余额:</label>
|
||||
<div class="layui-input-inline">
|
||||
<div class="layui-input-prefix">
|
||||
<i class="layui-icon layui-icon-rmb"></i>
|
||||
</div>
|
||||
<input type="number" step="0.01" name="reBalance" class="layui-input" lay-verify="number" placeholder="0.00" value="0.00">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label" for="avatarImage">头像:</label>
|
||||
|
|
|
|||
|
|
@ -72,6 +72,14 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">重置余额:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="number" step="0.01" name="reBalance" class="layui-input" lay-verify="number" value="{{ d.params.data.model.reBalance || 0 }}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label" for="avatarImage">头像:</label>
|
||||
|
|
|
|||
|
|
@ -210,6 +210,7 @@
|
|||
return html;
|
||||
}
|
||||
},
|
||||
{ field: 'reBalance', title: '重置余额', sort: false, width: 90 },
|
||||
{
|
||||
field: 'point', title: '积分', sort: false, width: 70, templet: function (data) {
|
||||
var html = '<a class="link-hot option-show point" data-id="' + data.id + '">' + data.point + '</a>';
|
||||
|
|
|
|||
|
|
@ -132,6 +132,7 @@ namespace CoreCms.Net.Web.WebApi.Controllers
|
|||
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 customerServiceH5Url = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.CustomerServiceH5Url); //客服H5地址
|
||||
var userAgreementId = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.UserAgreementId).ObjectToInt(3); //用户协议
|
||||
var privacyPolicyId = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.PrivacyPolicyId).ObjectToInt(4); //隐私政策
|
||||
|
||||
|
|
@ -187,6 +188,7 @@ namespace CoreCms.Net.Web.WebApi.Controllers
|
|||
shareImage,
|
||||
aboutArticleId,
|
||||
entId,
|
||||
customerServiceH5Url,
|
||||
userAgreementId,
|
||||
privacyPolicyId,
|
||||
reshipName,
|
||||
|
|
@ -203,6 +205,7 @@ namespace CoreCms.Net.Web.WebApi.Controllers
|
|||
jm.data = model;
|
||||
return jm;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 获取区域配置=============================================================================
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user