首页 > 代码库 > 从零开始编写属于我的CMS:(二)系统讲解
从零开始编写属于我的CMS:(二)系统讲解
目录
1 系统管理
1.1 系统设置
1.2 路由设置
1.3 缓存管理
1.4 模板管理
2 系统用户
2.1 角色管理
2.2 管理员管理
3 站点管理
3.1 站点设置
3.2 频道管理
3.3 栏目管理
3.4 项目管理
4 内容管理
5 高级管理
5.1 内容回收
5.2 表单管理
5.3 插件管理(未实现)
正文
1.1 系统设置
主要用于设置系统相关信息,包括基本信息,前线设置,邮箱设置。
表结构
整个系统设置只是一个键值对的值,KEY:SysConfig VALUE:xml/json
使用时,根据KEY取出配置序列化即可。这样方便维护和后期扩展,毕竟这个只是一条数据而已,该表还有可能存储系统其他配置信息。目前约束,都是键值对存值且值都是xml/json格式。
实体
1 public enum SiteStatus 2 { 3 [Description("开启")] 4 Open = 0, 5 [Description("关闭")] 6 Close = 1 7 } 8 public enum LogStatus 9 { 10 [Description("开启")] 11 Open = 0, 12 [Description("关闭")] 13 Close = 1 14 } 15 public class SysConfig 16 { 17 public string SiteName { get; set; } 18 public string SiteDomain { get; set; } 19 public string CompanyName { get; set; } 20 public string CompanyAddress { get; set; } 21 public string CompanyTelephone { get; set; } 22 public string CompanyMail { get; set; } 23 public string ICP { get; set; } 24 25 26 public SiteStatus SiteStatus { get; set; } 27 public string SiteRemark { get; set; } 28 public LogStatus LogStatus { get; set; } 29 30 31 public string SmtpServer { get; set; } 32 public string SmtpPort { get; set; } 33 public string MailAccount { get; set; } 34 public string MailPassword { get; set; } 35 public string MailNickName { get; set; } 36 }
1.2 路由设置
路由是对前台所有访问路径的管理,同时也是连接访问路径和模板关联的纽带。
路由是区分多站点的,(多站点看后面),每个站点都自己一套路由配置,一个路由可以设置调用的Controller和Action以及对应的模板。路由最重要的当然路径规则,每个路由可以对应多个路径规则,路径规则一律使用正则匹配,根据配置顺序匹配,匹配到一个即止。路由参数(可多个)也可以在此配置,可以含有默认参数,如无默认参数用$1,$2...占位。
如图,
表结构
实体
1 public enum RouteType 2 { 3 [Description("")] 4 None, 5 [Description("主页")] 6 Index, 7 [Description("列表")] 8 List, 9 [Description("详情")] 10 Detail, 11 //[Description("插件")] 12 //Plugin, 13 [Description("其他")] 14 Other 15 } 16 public class Route 17 { 18 public string Id { get; set; } 19 public string SiteId { get; set; } 20 public string Name { get; set; } 21 public RouteType Type { get; set; } 22 public string ControllerName { get; set; } 23 public string ActionName { get; set; } 24 public string TempletFile { get; set; } 25 public string Remark { get; set; } 26 public string RouteExp 27 { 28 get 29 { 30 try 31 { 32 return Commons.SerializeHelper.ToJson<List<RouteExp>>(RouteExpList); 33 } 34 catch 35 { 36 return null; 37 } 38 } 39 set 40 { 41 try 42 { 43 RouteExpList = Commons.SerializeHelper.FromJson<List<RouteExp>>(value); 44 } 45 catch { } 46 } 47 } 48 49 public List<RouteExp> RouteExpList { get; set; } 50 public Route() 51 { 52 RouteExpList = new List<RouteExp>(); 53 } 54 } 55 public class RouteExp 56 { 57 public string UrlExp { get; set; } 58 public string ParExp { get; set; } 59 60 //扩展字段 61 public bool IsExist { get; set; } 62 }
改天继续写
从零开始编写属于我的CMS:(二)系统讲解
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。