mirror of
http://git.coreshop.cn/jianweie/coreshoppro.git
synced 2025-12-06 18:13:26 +08:00
【新增】优化广告组件,表【CoreCmsAdvertPosition】新增【platform】广告平台字段,【type】广告位类型两个字段,用于区分pc,h5,小程序多端,以及图片还是轮播图展示形式。
This commit is contained in:
@@ -1790,7 +1790,7 @@ namespace CoreCms.Net.Configuration
|
||||
/// <summary>
|
||||
/// 广告表类型【关联CoreCmsAdvertisement.type字段】
|
||||
/// </summary>
|
||||
public enum AdvertPositionType
|
||||
public enum AdvertisementType
|
||||
{
|
||||
/// <summary>
|
||||
/// 网址URL
|
||||
@@ -1820,35 +1820,39 @@ namespace CoreCms.Net.Configuration
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 广告模板编码
|
||||
/// 广告表类型【关联CoreCmsAdvertPosition.type字段】
|
||||
/// </summary>
|
||||
public enum AdvertTemplateCode
|
||||
public enum AdvertPositionType
|
||||
{
|
||||
/// <summary>
|
||||
/// 首页幻灯片广告位
|
||||
/// 图片
|
||||
/// </summary>
|
||||
[Description("首页幻灯片广告位")]
|
||||
TplSlider = 1,
|
||||
[Description("<button type=\"button\" class=\"layui-btn layui-btn-normal layui-btn-xs\">图片</button>")]
|
||||
Image = 1,
|
||||
/// <summary>
|
||||
/// 首页广告位1
|
||||
/// 轮播图
|
||||
/// </summary>
|
||||
[Description("首页广告位1")]
|
||||
TplIndexBanner1 = 2,
|
||||
[Description("<button type=\"button\" class=\"layui-btn layui-btn-warm layui-btn-xs\">轮播图</button>")]
|
||||
Swiper = 2
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 首页广告位2
|
||||
/// 广告来源
|
||||
/// </summary>
|
||||
[Description("首页广告位2")]
|
||||
TplIndexBanner2 = 3,
|
||||
/// <summary>
|
||||
/// 首页广告位3
|
||||
/// </summary>
|
||||
[Description("首页广告位3")]
|
||||
TplIndexBanner3 = 4,
|
||||
/// <summary>
|
||||
/// 分类页广告位
|
||||
/// </summary>
|
||||
[Description("分类页广告位")]
|
||||
TplClassBanner1 = 5
|
||||
public enum AdvertPlatform
|
||||
{
|
||||
[Description("PC页面")]
|
||||
PC页面 = 1,
|
||||
[Description("H5页面")]
|
||||
H5页面 = 2,
|
||||
[Description("微信小程序")]
|
||||
微信小程序 = 3,
|
||||
[Description("支付宝小程序")]
|
||||
支付宝小程序 = 4,
|
||||
[Description("APP")]
|
||||
APP = 5,
|
||||
[Description("头条系小程序")]
|
||||
头条 = 6
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
</member>
|
||||
<member name="M:CoreCms.Net.Model.Entities.CoreCmsAdvertPosition.#ctor">
|
||||
<summary>
|
||||
广告位置表
|
||||
构造函数
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:CoreCms.Net.Model.Entities.CoreCmsAdvertPosition.id">
|
||||
@@ -104,6 +104,16 @@
|
||||
更新时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:CoreCms.Net.Model.Entities.CoreCmsAdvertPosition.platform">
|
||||
<summary>
|
||||
广告平台
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:CoreCms.Net.Model.Entities.CoreCmsAdvertPosition.type">
|
||||
<summary>
|
||||
广告位类型
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:CoreCms.Net.Model.Entities.CoreCmsAdvertPosition.isEnable">
|
||||
<summary>
|
||||
是否启用
|
||||
@@ -9394,9 +9404,14 @@
|
||||
用户统一标识
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:CoreCms.Net.Model.FromBody.WxAdvert.codes">
|
||||
<member name="P:CoreCms.Net.Model.FromBody.WxAdvert.code">
|
||||
<summary>
|
||||
广告位置
|
||||
广告位置编码
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:CoreCms.Net.Model.FromBody.WxAdvert.platform">
|
||||
<summary>
|
||||
广告位值类型
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:CoreCms.Net.Model.FromBody.FMCreateAgentGood.good">
|
||||
|
||||
@@ -4,10 +4,12 @@
|
||||
* Web: https://www.corecms.net
|
||||
* Author: 大灰灰
|
||||
* Email: jianweie@163.com
|
||||
* CreateTime: 2021-06-08 22:14:58
|
||||
* CreateTime: 2023/1/9 23:43:27
|
||||
* Description: 暂无
|
||||
***********************************************************************/
|
||||
***********************************************************************/
|
||||
|
||||
using SqlSugar;
|
||||
using System.ComponentModel;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace CoreCms.Net.Model.Entities
|
||||
@@ -15,11 +17,10 @@ namespace CoreCms.Net.Model.Entities
|
||||
/// <summary>
|
||||
/// 广告位置表
|
||||
/// </summary>
|
||||
[SugarTable("CoreCmsAdvertPosition",TableDescription = "广告位置表")]
|
||||
public partial class CoreCmsAdvertPosition
|
||||
{
|
||||
/// <summary>
|
||||
/// 广告位置表
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
public CoreCmsAdvertPosition()
|
||||
{
|
||||
@@ -29,50 +30,111 @@ namespace CoreCms.Net.Model.Entities
|
||||
/// 序列
|
||||
/// </summary>
|
||||
[Display(Name = "序列")]
|
||||
[SugarColumn(ColumnDescription = "序列", IsPrimaryKey = true, IsIdentity = true)]
|
||||
|
||||
[SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
|
||||
|
||||
[Required(ErrorMessage = "请输入{0}")]
|
||||
|
||||
|
||||
|
||||
public System.Int32 id { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 名称
|
||||
/// </summary>
|
||||
[Display(Name = "名称")]
|
||||
[SugarColumn(ColumnDescription = "名称")]
|
||||
|
||||
[Required(ErrorMessage = "请输入{0}")]
|
||||
[StringLength(120, ErrorMessage = "【{0}】不能超过{1}字符长度")]
|
||||
[StringLength(maximumLength:120,ErrorMessage = "{0}不能超过{1}字")]
|
||||
|
||||
|
||||
public System.String name { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 位置编码
|
||||
/// </summary>
|
||||
[Display(Name = "位置编码")]
|
||||
[SugarColumn(ColumnDescription = "位置编码")]
|
||||
|
||||
[Required(ErrorMessage = "请输入{0}")]
|
||||
[StringLength(32, ErrorMessage = "【{0}】不能超过{1}字符长度")]
|
||||
[StringLength(maximumLength:32,ErrorMessage = "{0}不能超过{1}字")]
|
||||
|
||||
|
||||
public System.String code { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 添加时间
|
||||
/// </summary>
|
||||
[Display(Name = "添加时间")]
|
||||
[SugarColumn(ColumnDescription = "添加时间", IsNullable = true)]
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public System.DateTime? createTime { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 更新时间
|
||||
/// </summary>
|
||||
[Display(Name = "更新时间")]
|
||||
[SugarColumn(ColumnDescription = "更新时间", IsNullable = true)]
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public System.DateTime? updateTime { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 广告平台
|
||||
/// </summary>
|
||||
[Display(Name = "广告平台")]
|
||||
|
||||
[Required(ErrorMessage = "请输入{0}")]
|
||||
|
||||
|
||||
|
||||
public System.Int32 platform { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 广告位类型
|
||||
/// </summary>
|
||||
[Display(Name = "广告位类型")]
|
||||
|
||||
[Required(ErrorMessage = "请输入{0}")]
|
||||
|
||||
|
||||
|
||||
public System.Int32 type { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 是否启用
|
||||
/// </summary>
|
||||
[Display(Name = "是否启用")]
|
||||
[SugarColumn(ColumnDescription = "是否启用")]
|
||||
|
||||
[Required(ErrorMessage = "请输入{0}")]
|
||||
|
||||
|
||||
|
||||
public System.Boolean isEnable { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 排序
|
||||
/// </summary>
|
||||
[Display(Name = "排序")]
|
||||
[SugarColumn(ColumnDescription = "排序")]
|
||||
|
||||
[Required(ErrorMessage = "请输入{0}")]
|
||||
|
||||
|
||||
|
||||
public System.Int32 sort { get; set; }
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -20,9 +20,14 @@ namespace CoreCms.Net.Model.FromBody
|
||||
public class WxAdvert
|
||||
{
|
||||
/// <summary>
|
||||
/// 广告位置
|
||||
/// 广告位置编码
|
||||
/// </summary>
|
||||
public string codes { get; set; }
|
||||
public string code { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 广告位值类型
|
||||
/// </summary>
|
||||
public int platform { get; set; }
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -2,38 +2,63 @@
|
||||
<view>
|
||||
<!--提示框组件-->
|
||||
<u-toast ref="uToast" />
|
||||
<view v-if="position && advert">
|
||||
<view v-if="position.type==1">
|
||||
<view v-for="(item, index) in advert" :key="index">
|
||||
<u--image :showLoading="true" :src="item.imageUrl" mode="widthFix" width="100%" height="auto" @click="showSliderInfo(item.type, item.val)"></u--image>
|
||||
</view>
|
||||
</view>
|
||||
<view v-else>
|
||||
<u-swiper :list="advert" indicator indicatorMode="line" circular keyName="imageUrl" :showTitle="showTitle" @click="clickSwiper"></u-swiper>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
props: {
|
||||
codes: {
|
||||
code: {
|
||||
type: String,
|
||||
required: true,
|
||||
default: 'tpl1_class_banner1'
|
||||
}
|
||||
},
|
||||
showTitle: {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
default: false
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
position: {},
|
||||
advert: [],
|
||||
}
|
||||
},
|
||||
created() {
|
||||
//console.log(this.codes);
|
||||
this.getData();
|
||||
},
|
||||
methods: {
|
||||
getData() {
|
||||
this.$u.api.advert({
|
||||
codes: this.codes
|
||||
code: this.code,
|
||||
platform: 3
|
||||
}).then(res => {
|
||||
this.advert = res.data;
|
||||
if (res.status) {
|
||||
this.advert = res.data.childs;
|
||||
this.position = res.data.position;
|
||||
if (this.advert) {
|
||||
for (var i = 0; i < this.advert.length; i++) {
|
||||
this.advert[i].title = this.advert[i].name;
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
clickSwiper(index) {
|
||||
console.log(index);
|
||||
this.showSliderInfo(this.advert[index].type, this.advert[index].val)
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -69,7 +69,12 @@
|
||||
</view>
|
||||
</u-sticky>
|
||||
|
||||
<view class="coreshop-padding-10">
|
||||
<coreshop-advert code="TplIndexBanner1" showTitle="true"></coreshop-advert>
|
||||
</view>
|
||||
|
||||
<view class="wrapper">
|
||||
|
||||
<view class="list">
|
||||
<view class="category" v-for="(good, key) in goodsList" :key="key" :id="`cate-${good.id}`">
|
||||
<view class="items">
|
||||
|
||||
@@ -166,6 +166,20 @@ namespace CoreCms.Net.Web.Admin.Controllers
|
||||
//排序 int
|
||||
var sort = Request.Form["sort"].FirstOrDefault().ObjectToInt(0);
|
||||
if (sort > 0) @where = @where.And(p => p.sort == sort);
|
||||
|
||||
//广告平台 int
|
||||
var platform = Request.Form["platform"].FirstOrDefault().ObjectToInt(0);
|
||||
if (platform > 0)
|
||||
{
|
||||
where = where.And(p => p.platform == platform);
|
||||
}
|
||||
//广告位类型 int
|
||||
var type = Request.Form["type"].FirstOrDefault().ObjectToInt(0);
|
||||
if (type > 0)
|
||||
{
|
||||
where = where.And(p => p.type == type);
|
||||
}
|
||||
|
||||
//获取数据
|
||||
var list = await _coreCmsAdvertPositionServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent,
|
||||
pageSize);
|
||||
@@ -192,6 +206,15 @@ namespace CoreCms.Net.Web.Admin.Controllers
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
|
||||
var advertPlatform = EnumHelper.EnumToList<GlobalEnumVars.AdvertPlatform>();
|
||||
var advertPositionType = EnumHelper.EnumToList<GlobalEnumVars.AdvertPositionType>();
|
||||
jm.data = new
|
||||
{
|
||||
advertPlatform,
|
||||
advertPositionType
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
@@ -210,6 +233,15 @@ namespace CoreCms.Net.Web.Admin.Controllers
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
|
||||
var advertPlatform = EnumHelper.EnumToList<GlobalEnumVars.AdvertPlatform>();
|
||||
var advertPositionType = EnumHelper.EnumToList<GlobalEnumVars.AdvertPositionType>();
|
||||
jm.data = new
|
||||
{
|
||||
advertPlatform,
|
||||
advertPositionType
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
@@ -269,7 +301,16 @@ namespace CoreCms.Net.Web.Admin.Controllers
|
||||
}
|
||||
|
||||
jm.code = 0;
|
||||
jm.data = model;
|
||||
|
||||
var advertPlatform = EnumHelper.EnumToList<GlobalEnumVars.AdvertPlatform>();
|
||||
var advertPositionType = EnumHelper.EnumToList<GlobalEnumVars.AdvertPositionType>();
|
||||
jm.data = new
|
||||
{
|
||||
advertPlatform,
|
||||
advertPositionType,
|
||||
model
|
||||
};
|
||||
|
||||
|
||||
return jm;
|
||||
}
|
||||
@@ -311,6 +352,8 @@ namespace CoreCms.Net.Web.Admin.Controllers
|
||||
oldModel.updateTime = DateTime.Now;
|
||||
oldModel.isEnable = entity.isEnable;
|
||||
oldModel.sort = entity.sort;
|
||||
oldModel.platform = entity.platform;
|
||||
oldModel.type = entity.type;
|
||||
|
||||
//事物处理过程结束
|
||||
var bl = await _coreCmsAdvertPositionServices.UpdateAsync(oldModel);
|
||||
|
||||
@@ -225,7 +225,7 @@ namespace CoreCms.Net.Web.Admin.Controllers
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
var types = EnumHelper.EnumToList<GlobalEnumVars.AdvertPositionType>();
|
||||
var types = EnumHelper.EnumToList<GlobalEnumVars.AdvertisementType>();
|
||||
jm.data = new
|
||||
{
|
||||
types
|
||||
@@ -250,7 +250,7 @@ namespace CoreCms.Net.Web.Admin.Controllers
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
|
||||
var advertPosition = await _coreCmsAdvertPositionServices.QueryAsync();
|
||||
var types = EnumHelper.EnumToList<GlobalEnumVars.AdvertPositionType>();
|
||||
var types = EnumHelper.EnumToList<GlobalEnumVars.AdvertisementType>();
|
||||
jm.data = new
|
||||
{
|
||||
advertPosition,
|
||||
@@ -311,7 +311,7 @@ namespace CoreCms.Net.Web.Admin.Controllers
|
||||
|
||||
jm.code = 0;
|
||||
var advertPosition = await _coreCmsAdvertPositionServices.QueryAsync();
|
||||
var types = EnumHelper.EnumToList<GlobalEnumVars.AdvertPositionType>();
|
||||
var types = EnumHelper.EnumToList<GlobalEnumVars.AdvertisementType>();
|
||||
|
||||
jm.data = new
|
||||
{
|
||||
|
||||
@@ -326,8 +326,6 @@ namespace CoreCms.Net.Admin.Admin.Controllers
|
||||
};
|
||||
jm.code = 0;
|
||||
return jm;
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -622,6 +622,45 @@
|
||||
<None Include="wwwroot\static\js\common.js" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Content Update="wwwroot\views\content\advert\advertisement\create.html">
|
||||
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
|
||||
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
|
||||
</Content>
|
||||
<Content Update="wwwroot\views\content\advert\advertisement\edit.html">
|
||||
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
|
||||
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
|
||||
</Content>
|
||||
<Content Update="wwwroot\views\content\advert\advertisement\getArticle.html">
|
||||
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
|
||||
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
|
||||
</Content>
|
||||
<Content Update="wwwroot\views\content\advert\advertisement\getArticleType.html">
|
||||
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
|
||||
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
|
||||
</Content>
|
||||
<Content Update="wwwroot\views\content\advert\advertisement\getGoods.html">
|
||||
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
|
||||
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
|
||||
</Content>
|
||||
<Content Update="wwwroot\views\content\advert\advertisement\index.html">
|
||||
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
|
||||
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
|
||||
</Content>
|
||||
<Content Update="wwwroot\views\content\advert\advertposition\create.html">
|
||||
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
|
||||
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
|
||||
</Content>
|
||||
<Content Update="wwwroot\views\content\advert\advertposition\edit.html">
|
||||
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
|
||||
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
|
||||
</Content>
|
||||
<Content Update="wwwroot\views\content\advert\advertposition\index.html">
|
||||
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
|
||||
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Update="Dockerfile">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
|
||||
@@ -96,6 +96,7 @@
|
||||
cols: [
|
||||
[
|
||||
{ field: 'id', title: '序列', width: 60, sort: false },
|
||||
{ field: 'positionId', title: '广告位序列', sort: false },
|
||||
{ field: 'name', title: '广告名称', sort: false },
|
||||
{
|
||||
field: 'imageUrl', title: '广告图片', width: 100, sort: false,
|
||||
|
||||
@@ -1,6 +1,30 @@
|
||||
<script type="text/html" template lay-done="layui.data.done(d);">
|
||||
<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-CoreCmsAdvertPosition-createForm" id="LAY-app-CoreCmsAdvertPosition-createForm">
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="platform" class="layui-form-label layui-form-required">广告来源</label>
|
||||
<div class="layui-input-block">
|
||||
<select name="platform" required lay-verify="required" lay-reqText="请选择广告来源">
|
||||
<option value="">请选择</option>
|
||||
{{# layui.each(d.params.data.advertPlatform, function(index, item){ }}
|
||||
<option value="{{ item.value }}">{{ item.description }}</option>
|
||||
{{# }); }}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="platform" class="layui-form-label layui-form-required">广告位类型</label>
|
||||
<div class="layui-input-block">
|
||||
<select name="type" required lay-verify="required" lay-reqText="请选择广告位类型">
|
||||
<option value="">请选择</option>
|
||||
{{# layui.each(d.params.data.advertPositionType, function(index, item){ }}
|
||||
<option value="{{ item.value }}">{{- item.description }}</option>
|
||||
{{# }); }}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="name" class="layui-form-label">名称</label>
|
||||
<div class="layui-input-inline">
|
||||
@@ -28,7 +52,7 @@
|
||||
<div class="layui-input-inline">
|
||||
<input type="number" min="0" max="999999" name="sort" id="sort" lay-verify="required|number" class="layui-input" value="1" placeholder="请输入排序" lay-reqText="请输入排序并为数字" />
|
||||
</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 core-hidden">
|
||||
|
||||
@@ -1,11 +1,37 @@
|
||||
<script type="text/html" template lay-done="layui.data.sendParams(d);">
|
||||
<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-CoreCmsAdvertPosition-editForm" id="LAY-app-CoreCmsAdvertPosition-editForm">
|
||||
<input type="hidden" name="id" id="id" value="{{d.params.data.id || '' }}" />
|
||||
<input type="hidden" name="id" id="id" value="{{d.params.data.model.id || '' }}" />
|
||||
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="platform" class="layui-form-label layui-form-required">广告来源</label>
|
||||
<div class="layui-input-block">
|
||||
<select name="platform" required lay-verify="required" lay-reqText="请选择广告来源">
|
||||
<option value="">请选择</option>
|
||||
{{# layui.each(d.params.data.advertPlatform, function(index, item){ }}
|
||||
<option value="{{ item.value }}" {{item.value===d.params.data.model.platform?'selected="selected"':''}}>{{ item.title }}</option>
|
||||
{{# }); }}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="platform" class="layui-form-label layui-form-required">广告位类型</label>
|
||||
<div class="layui-input-block">
|
||||
<select name="type" required lay-verify="required" lay-reqText="请选择广告位类型">
|
||||
<option value="">请选择</option>
|
||||
{{# layui.each(d.params.data.advertPositionType, function(index, item){ }}
|
||||
<option value="{{ item.value }}" {{item.value===d.params.data.model.type?'selected="selected"':''}}>{{- item.description }}</option>
|
||||
{{# }); }}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="name" class="layui-form-label">名称</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="name" id="name" lay-verify="required|verifyname" class="layui-input" placeholder="请输入名称" lay-reqText="请输入名称" value="{{d.params.data.name || '' }}" />
|
||||
<input name="name" id="name" lay-verify="required|verifyname" class="layui-input" placeholder="请输入名称" lay-reqText="请输入名称" value="{{d.params.data.model.name || '' }}" />
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">请输入不超过120个字符内容</div>
|
||||
</div>
|
||||
@@ -13,7 +39,7 @@
|
||||
<div class="layui-form-item">
|
||||
<label for="code" class="layui-form-label">位置编码</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="code" id="code" lay-verify="required|verifycode" class="layui-input" lay-reqText="请输入位置编码" placeholder="请输入位置编码" value="{{d.params.data.code || '' }}"/>
|
||||
<input name="code" id="code" lay-verify="required|verifycode" class="layui-input" lay-reqText="请输入位置编码" placeholder="请输入位置编码" value="{{d.params.data.model.code || '' }}" />
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">请输入英文</div>
|
||||
</div>
|
||||
@@ -21,16 +47,16 @@
|
||||
<div class="layui-form-item" pane>
|
||||
<label for="isEnable" class="layui-form-label">是否启用</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="checkbox" lay-filter="switch" name="isEnable" id="isEnable" {{ d.params.data.isEnable ? 'checked' : '' }} lay-skin="switch" lay-text="开启|关闭">
|
||||
<input type="checkbox" lay-filter="switch" name="isEnable" id="isEnable" {{ d.params.data.model.isEnable ? 'checked' : '' }} lay-skin="switch" lay-text="开启|关闭">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="sort" class="layui-form-label">排序</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="number" min="0" max="999999" name="sort" id="sort" lay-verify="required|number" class="layui-input" value="{{d.params.data.sort}}" placeholder="请输入排序" lay-reqText="请输入排序并为数字" />
|
||||
<input type="number" min="0" max="999999" name="sort" id="sort" lay-verify="required|number" class="layui-input" value="{{d.params.data.model.sort}}" placeholder="请输入排序" lay-reqText="请输入排序并为数字" />
|
||||
</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 core-hidden">
|
||||
|
||||
@@ -35,6 +35,26 @@
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<div class="layui-input-inline">
|
||||
<select name="platform">
|
||||
<option value="">广告平台</option>
|
||||
{{# layui.each(indexData.advertPlatform, function(index, item){ }}
|
||||
<option value="{{ item.value }}">{{ item.description }}</option>
|
||||
{{# }); }}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<div class="layui-input-inline">
|
||||
<select name="type">
|
||||
<option value="">广告类型</option>
|
||||
{{# layui.each(indexData.advertPositionType, function(index, item){ }}
|
||||
<option value="{{ item.value }}">{{ item.description }}</option>
|
||||
{{# }); }}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<div class="layui-input-inline core-time-input">
|
||||
<input type="text" name="updateTime" id="searchTime-CoreCmsAdvertPosition-updateTime" placeholder="请输入更新时间" class="layui-input">
|
||||
@@ -104,6 +124,28 @@
|
||||
[
|
||||
//{ type: "checkbox", fixed: "left" },
|
||||
{ field: 'id', title: '序列', width: 60, sort: false },
|
||||
{
|
||||
field: 'platform', title: '广告来源', sort: false,
|
||||
templet: function (data) {
|
||||
for (var i = 0; i < d.data.advertPlatform.length; i++) {
|
||||
if (data.platform == d.data.advertPlatform[i].value) {
|
||||
return d.data.advertPlatform[i].description;
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'type', title: '广告位类型', sort: false,
|
||||
templet: function (data) {
|
||||
for (var i = 0; i < d.data.advertPositionType.length; i++) {
|
||||
if (data.type == d.data.advertPositionType[i].value) {
|
||||
return d.data.advertPositionType[i].description;
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
},
|
||||
{ field: 'name', title: '名称', sort: false },
|
||||
{ field: 'code', title: '位置编码', sort: false },
|
||||
{ field: 'createTime', title: '添加时间', width: 130, sort: false },
|
||||
@@ -149,7 +191,7 @@
|
||||
admin.popup({
|
||||
shadeClose: false,
|
||||
title: '创建数据',
|
||||
area: ['600px', '330px'],
|
||||
area: ['600px', '400px'],
|
||||
id: 'LAY-popup-CoreCmsAdvertPosition-create',
|
||||
success: function (layero, index) {
|
||||
view(this.id).render('content/advert/advertposition/create', { data: e.data }).done(function () {
|
||||
@@ -194,7 +236,7 @@
|
||||
admin.popup({
|
||||
shadeClose: false,
|
||||
title: '编辑数据',
|
||||
area: ['600px', '330px'],
|
||||
area: ['600px', '400px'],
|
||||
id: 'LAY-popup-CoreCmsAdvertPosition-edit',
|
||||
success: function (layero, index) {
|
||||
view(this.id).render('content/advert/advertposition/edit', { data: e.data }).done(function () {
|
||||
|
||||
@@ -77,8 +77,6 @@ namespace CoreCms.Net.Web.WebApi.Controllers
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
#region 获取广告位置信息=============================================================================
|
||||
/// <summary>
|
||||
/// 获取广告位置信息
|
||||
@@ -90,7 +88,7 @@ namespace CoreCms.Net.Web.WebApi.Controllers
|
||||
{
|
||||
var jm = new WebApiCallBack();
|
||||
|
||||
var position = await _advertPositionServices.QueryByClauseAsync(p => p.isEnable && p.code == entity.codes);
|
||||
var position = await _advertPositionServices.QueryByClauseAsync(p => p.isEnable && p.code == entity.code && p.platform == entity.platform);
|
||||
if (position == null)
|
||||
{
|
||||
jm.msg = "未获取到广告位置信息";
|
||||
@@ -98,13 +96,15 @@ namespace CoreCms.Net.Web.WebApi.Controllers
|
||||
}
|
||||
|
||||
jm.status = true;
|
||||
jm.data = await _advertisementServices.QueryListByClauseAsync(p => p.positionId == position.id);
|
||||
jm.data = new
|
||||
{
|
||||
position,
|
||||
childs = await _advertisementServices.QueryListByClauseAsync(p => p.positionId == position.id, p => p.sort, OrderByType.Desc, true)
|
||||
};
|
||||
|
||||
return jm;
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
2
数据库/MySql/20230110/升级脚本.sql
Normal file
2
数据库/MySql/20230110/升级脚本.sql
Normal file
@@ -0,0 +1,2 @@
|
||||
ALTER TABLE CoreCmsAdvertPosition ADD COLUMN platform int DEFAULT 0 NOT NULL COMMENT '广告平台' AFTER sort;
|
||||
ALTER TABLE CoreCmsAdvertPosition ADD COLUMN type int DEFAULT 0 NOT NULL COMMENT '广告位类型' AFTER sort;
|
||||
BIN
数据库/MySql/20230110/完整数据库带商品演示20230110.rar
Normal file
BIN
数据库/MySql/20230110/完整数据库带商品演示20230110.rar
Normal file
Binary file not shown.
@@ -1,3 +1,7 @@
|
||||
2022-01-10
|
||||
【新增】表【CoreCmsAdvertPosition】新增【platform】广告平台字段
|
||||
【新增】表【CoreCmsAdvertPosition】新增【type】广告位类型
|
||||
|
||||
2022-12-30
|
||||
【新增】新增表【WeChatMessageResponse】微信公众号回复消息表。
|
||||
【新增】新增表【WeChatUserAccessToken】微信用户accessToken表。
|
||||
|
||||
BIN
数据库/SqlServer/20230110/1、升级脚本.rar
Normal file
BIN
数据库/SqlServer/20230110/1、升级脚本.rar
Normal file
Binary file not shown.
BIN
数据库/SqlServer/20230110/完整数据库带商品演示20230110.rar
Normal file
BIN
数据库/SqlServer/20230110/完整数据库带商品演示20230110.rar
Normal file
Binary file not shown.
@@ -1,3 +1,7 @@
|
||||
2022-01-10
|
||||
【新增】表【CoreCmsAdvertPosition】新增【platform】广告平台字段
|
||||
【新增】表【CoreCmsAdvertPosition】新增【type】广告位类型
|
||||
|
||||
2022-12-30
|
||||
【新增】新增表【WeChatMessageResponse】微信公众号回复消息表。
|
||||
【新增】新增表【WeChatUserAccessToken】微信用户accessToken表。
|
||||
|
||||
Reference in New Issue
Block a user