上一篇讲解了拼团提醒逻辑功能实现,现在继续实现页面功能。
Core项目
打开AbpZeroTemplate-zh-CN.xml语言文件,在末尾添加如下代码:
文件路径:D:\abp version\aspnet-zero-3.4.0\aspnet-zero-3.4.0\src\MyCompanyName.AbpZeroTemplate.Core\Localization\AbpZeroTemplate\AbpZeroTemplate-zh-CN.xml
打开文件AppPermissions.cs,在末尾添加如下代码:
文件路径:D:\abp version\aspnet-zero-3.4.0\aspnet-zero-3.4.0\src\MyCompanyName.AbpZeroTemplate.Core\Authorization\AppPermissions.cs
public const string Pages_Pdd = "Pages.Pdd";//权限路径
public const string Pages_Pdd_KaiTuan = "Pages.Pdd.KaiTuan";//权限路径
打开AppAuthorizationProvider.cs文件,在SetPermissions方法最后添加如下代码:
文件路径:D:\abp version\aspnet-zero-3.4.0\aspnet-zero-3.4.0\src\MyCompanyName.AbpZeroTemplate.Core\Authorization\AppAuthorizationProvider.cs
var pdd = pages.CreateChildPermission(AppPermissions.Pages_Pdd, L("Pdd"));
pdd.CreateChildPermission(AppPermissions.Pages_Pdd_KaiTuan, L("Pdd.KaiTuan"));
Web项目
打开文件PageNames.cs,
文件路径 :D:\abpweb\PddSellerAssistant\PddSellerAssistant.Web\App_Start\Navigation\PageNames.cs
在Command下添加一个常量:
public const string Pdd = "Pdd";
在32行位置添加如下代码:
///
///拼多多///
public static classPdd
{public const string KaiTuan = "KaiTuan"; //开团提醒
}
打开MpaNavigationProvider.cs文件,在末尾添加菜单,代码如下:
文件路径:D:\abpweb\PddSellerAssistant\PddSellerAssistant.Web\Areas\Mpa\Startup\MpaNavigationProvider.cs
.AddItem(newMenuItemDefinition(
PageNames.App.Common.Pdd,//一个常量,控制菜单是否被选中
L("Pdd"),//菜单显示名称,在语言文件中配置
url: "Mpa/Pdd",//菜单路径
icon: "icon-social-dropbox"//菜单图标
).AddItem(newMenuItemDefinition(
PageNames.App.Pdd.KaiTuan,//一个常量,控制菜单是否被选中
L("Pdd.KaiTuan"),//菜单显示名称,在语言文件中配置
url: "Mpa/KaiTuan",//菜单路径
icon: "icon-pie-chart",//菜单图标
requiredPermissionName: AppPermissions.Pages_Pdd_KaiTuan//菜单权限,登录用户所在角色有此权限才会显示出来
))
)
以上就把菜单添加好了,生成解决方案,浏览器打开网站后台,以管理员身份登录,但是并没有发现刚刚添加的菜单,这是因为加了菜单加权限的关系,接以下操作即可。
打开角色菜单,分别修改admin、user角色:
切换到权限选项卡,勾选我们需要显示的菜单,如下:
保存之后,再次登录就可以显示出来菜单了。以下是user角色的菜单:
控制器
我先在Areas\Mpa\Controllers目录下新建Pdd目录,用于保存所有跟拼多多相关的控制器。
添加文件 KaiTuanController.cs 代码如下:
文件路径:D:\abp version\aspnet-zero-3.4.0\aspnet-zero-3.4.0\src\MyCompanyName.AbpZeroTemplate.Web\Areas\Mpa\Controllers\Pdd\KaiTuanController.cs
///
///开团提醒///
public classKaiTuanController : AbpZeroTemplateControllerBase
{private readonlyIMallAppService _mallAppService;publicKaiTuanController(IMallAppService mallAppService)
{
_mallAppService=mallAppService;
}//GET: Mpa/KaiTuan
publicActionResult Index()
{returnView();
}publicActionResult CreateModal()
{return PartialView("_CreateModal");
}public ActionResult SharpModal(string title, string link, string img, stringtimeOut)
{
ViewBag.title=title;
ViewBag.link=link;
ViewBag.img=img;
ViewBag.timeOut=timeOut;return PartialView("_SharpModal");
}
}
视图
接着再创建对应的视图文件
添加文件Index.cshtml,代码如下:
文件路径:D:\abp version\aspnet-zero-3.4.0\aspnet-zero-3.4.0\src\MyCompanyName.AbpZeroTemplate.Web\Areas\Mpa\Views\KaiTuan\Index.cshtml
@using Abp.Web.Mvc.Extensions
@using MyCompanyName.AbpZeroTemplate.Web.Navigation
@{
ViewBag.CurrentPageName = PageNames.App.Pdd.KaiTuan;//作用就是选中菜单时会高亮
}
@section Styles{
}
}
@section Scripts
{
@Html.IncludeScript("~/metronic/assets/global/plugins/fuelux/js/spinner.min.js")
@Html.IncludeScript("~/metronic/assets/global/plugins/bootstrap-toastr/toastr.min.js")
@Html.IncludeScript("~/Areas/Mpa/Views/KaiTuan/Index.js")
@Html.IncludeScript("~/Areas/Mpa/Common/Scripts/GolbalHelper.js")
@Html.IncludeScript("~/Areas/Mpa/Views/KaiTuan/ui-toastr.js")
}
@L("Pdd.KaiTuan")