精华内容
下载资源
问答
  • 模块管理常规功能自定义系统的设计与实现(03--基本系统)

    基本系统架构简介


    1. 基本系统架构

            只包括系统模块、配置信息模块、菜单、权限、部门、操作员等模块。这些模块互相关联,组成了整个系统运行的基本架构。主要架构图如下:



            系统所需的所有配置信息都是保存在相应的数据库表里,java通过hibernate读取组织好以后,通过ajax传送给前台,前台再解释生成各个模块的界面,根据权限的配置来生成各相关操作按钮。

            在hibernate java bean中只定义了模块的几个基本要素,在实际的配置中有更多的选项可以进行配置。

    下面列出了一个模块的可设置的信息:






    具体字段内容以后会根据需要进行解释。


    模块字段的字义如下图所示:



    (以上图的模块和字段的窗体即为系统根据配置自动生成)。

    这节介绍了系统的一些基本情况,下节开始,将会往系统中加入具体的业务模块。




    展开全文
  • 常规功能模块自定义系统 (cfcmms)—014模块自定义概述  前面的章节讲了一些搭建系统和Extjs6的一些相关内容,这节开始介绍一下《常规功能模块自定义系统》中的模块自定义的部分。  本系统从最终的结果来看,...

    常规功能和模块自定义系统 (cfcmms)—014模块自定义概述(1)


      前面的章节讲了一些搭建系统和Extjs6的一些相关内容,这节开始介绍一下《常规功能和模块自定义系统》中的模块自定义的部分。
      本系统从最终的结果来看,其实就是给数据库做了一个在浏览器中可操作、可查询的界面。数据库中的表对应于模块,表中的字段也对应于本系统中的模块字段,表间的约束关系根据字段属性设置来定义。对于普通的管理系统而言,必定能将其数据结构按照关系数据库的范式来进行设计。模块之间的分层清晰,没有循环引用和网状数据,这也是本系统能够处理数据库的基本要求。
      系统中最基本的元素就是模块及字段,其他所有的附加和延伸功能都是在这二个元素的基础上扩展的。
      首先我们来对模块做一个定义。一个模块就是对数据库中的一张表(table)、一个查询(query)、存贮过程或者一条sql语句的总体描述,可以用模块名称、模块类型来描述具体信息。对于一个模块的属性字段我能想到的设置见下图(以后可根据实际需要增加新的模块属性字段):

      每个模块的属性定义数据也是放在数据库的表中,表名为_Module,java bean为_Module.java,在com.jfok.cfcmms.hibernate.system.module的包下面。本系统中的系统表的维护和用户表的维护是一样的。
      下面是_Module.java的定义的一部分:
    @TableDefine(group = "系统模块", id = 9902, title = "系统模块")
    public class _Module implements _IModuleControlInterface, Serializable {
      @Id
      @FieldDefine(title = "模块ID号", number = 10, fieldGroup = "基本信息")
      @Column(nullable = false, length = 10)
      private String tf_moduleId; // 模块ID,模块序号
    
      @JsonIgnore
      @ManyToOne(cascade = CascadeType.REFRESH, fetch = FetchType.EAGER)
      @JoinColumn(name = "tf_moduleGroupId", nullable = false)
      @FieldDefine(title = "模块分组", number = 20, fieldGroup = "基本信息")
      private _ModuleGroup tf_ModuleGroup;
    
      @FieldDefine(title = "模块标识", number = 30, fieldGroup = "基本信息")
      @Column(nullable = false, length = 50, updatable = false)
      private String tf_moduleName; // 模块英文名称
    
      @FieldDefine(title = "模块名称", nameField = true, number = 40, fieldGroup = "基本信息")
      @Column(nullable = false, length = 50)
      private String tf_title; // 模块中文名称
    
      @FieldDefine(title = "模块简称", number = 50, fieldGroup = "基本信息")
      @Column(length = 20)
      private String tf_shortname; // 简称
    
      @FieldDefine(title = "英文简称", number = 60, fieldGroup = "基本信息")
      @Column(length = 20)
      private String tf_englishname; // 英文简称,在新增序号的时候,可以把这字母加进去
    
      @FieldDefine(title = "表名", number = 70, fieldGroup = "基本信息")
      @Column(length = 50)
      private String tf_tableName;
      在类的上面有一个自定义的标注TableDefine,里面定义了这个模块的一些主要属性。这个功能主要是用于导入模块而设置的,在你设计好一个用户模块以后,可以在模块上面和字段上面加上自定义的标注语句,然后就可以将模块导入到系统里面,标注信息会自动的加进去。
      上面这个TableDefine的的部分定义如下:
    @Retention(RetentionPolicy.RUNTIME)
    /**
     * 定义在模块bean类上的标注,用来描述该模块的各种属性。
     * 
     * (在该bean属性导入到数据库以后,标注的信息将会失效,最终的各种属性值以数据库中的为准)
     * 
     * 系统中存放所有模块信息的表为 _Module(所有以_开头的表都是系统表,请业务表不要加此下划线)
     * 
     * @author jiangfeng
     *
     */
    public @interface TableDefine {
    
    	/**
    	 * 
    	 * 模块的唯一标识符,默认是该类的类名,在将模块属性导入到数据库中时自动使用类名。
    	 * 
    	 * (整个系统中不允许有相同的hibernate bean类名,哪怕是在不同的package中也不能有相同的类名。
    	 * 
    	 * moduleName
    	 * 
    	 */
    
    	/**
    	 * 模块的id号,为一个6位数字,用来代表一个唯一的模块,在生成查询语句的时候,用 _t{id} 来表示此表的别名
    	 * 
    	 * @return
    	 */
    	int id();
    
    	/**
    	 * 如果在数据库中使用的表或视图和此bean的名称不一致,需要设置tableName ,在生成sql语句的时候,会用此
    	 * tableName的值来作为table名。
    	 * 
    	 * 如果一致,则不用设置此字段。
    	 * 
    	 * @return
    	 */
    	String tableName() default "";
    
    	/**
    	 * 此模块的具体名称描述,用来显示在window,panel中的title部分
    	 * 
    	 * @return
    	 */
    	String title();
    
      一般情况下,类名和数据库中的表名(视图名)是一一对应的,当然也可以设置别名。模块只有一个父级的约束,就是模块分组。

      一个中小型的的管理系统一般有几十个模块,再加上系统模块就要超过一百多了了。因此为了管理方便,需要对模块进行一下分组。因此又要建立一个_ModuleGroup的模块。java bean文件如下:
    package com.jfok.cfcmms.hibernate.system.module;
    
    import ......
    /**
     * 模块分组,每一个module都被分配到了一个组中,组是分级的,每个模块必须放在最末级的分组上。
     * 
     * 暂定分级为2,2,2即最大可分成3级,每级2位代码
     * 
     * @author jfok 2012.11.7
     */
    @SuppressWarnings("serial")
    @Entity
    @JsonSerialize(include = JsonSerialize.Inclusion.NON_EMPTY)
    @org.hibernate.annotations.Entity(dynamicUpdate = true)
    @TableDefine(group = "系统模块", id = 9901, title = "模块分组", codeLevel = "2,2,2", 
        isSystem = true, defaultOrderField = "tf_moduleGroupId")
    public class _ModuleGroup implements _IModuleControlInterface, Serializable {
    
      public static final String TITLE = "tf_title";
    
      @Id
      @FieldDefine(title = "模块分组编码", number = 10)
      @Column(nullable = false, length = 10)
      private String tf_moduleGroupId;
    
      @FieldDefine(title = "父节点编码", hidden = true, number = 15)
      private String tf_pid;
    
      @FieldDefine(title = "模块分组名称", nameField = true, number = 20)
      @Column(nullable = false, length = 50, unique = true)
      private String tf_title;
    
      @FieldDefine(title = "系统组", number = 30)
      private Boolean tf_isSystemGroup;
    
      @FieldDefine(title = "描述", number = 40)
      @Column(length = 50)
      private String tf_description;
    
      @FieldDefine(title = "图标Cls", number = 50)
      @Column(length = 50)
      private String tf_iconCls;
    
      @FieldDefine(title = "图标地址", number = 60)
      @Column(length = 50)
      private String tf_iconUrl;
    
      @JsonIgnore
      @FieldDefine(title = "图标文件", number = 70)
      @Column(length = 50)
      private Blob tf_iconFile;
    
      @FieldDefine(title = "备注", number = 190)
      private String tf_remark;

      在_Module中有一个ManyToOne的标注
      @ManyToOne(cascade = CascadeType.REFRESH, fetch = FetchType.EAGER)
      @JoinColumn(name = "tf_moduleGroupId", nullable = false)
      @FieldDefine(title = "模块分组", number = 20, fieldGroup = "基本信息")
      private _ModuleGroup tf_ModuleGroup;
      表明_ModuleGroup是_Module的一个父模块。在新增一个模块的时候,必须选择一个模块分组。然后能够在我的这个系统里看到的最直接的就是父模块可以作为子模块的导航列表。如下图,可以根据模块分组来显示相应的模块。




    展开全文
  • 常规功能模块自定义系统 (cfcmms)—015模块自定义概述(2)  模块的权限的自定义也是这个系统的重要部分。在本系统中现在模块的权限有三大类:模块操作权限、记录可视范围限定、附加操作权限。 模块操作权限:...

    常规功能和模块自定义系统 (cfcmms)—015模块自定义概述(2权限)


      模块的权限的自定义也是这个系统的重要部分。在本系统中现在模块的权限有三大类:模块操作权限、记录可视范围限定、附加操作权限。
    • 模块操作权限:可以对模块进行浏览、新增、修改、删除、审核、审批等的设置。可以通过生成和隐藏相应的按钮来具体控制权限的设置。如某人无删除权限,则在该模块的操作界面上没有删除按钮。对于一般的管理系统而言这些功能基本上是够用了。
    • 记录可视范围限定:可以在任意模块加上可视范围的限定。在某个父模块上加上可视范围限定之后,其所有的子模块同时也会限定在父模块的可视范围之下。在取得本模块的数据、综合查询时都会加入模块限定值。
    • 附加操作权限:每个模块可以定义若干个附加功能,可以是显示某些数据或执行某些操作。所有的权限都可以单独设置。
      下面看一下模块操作权限的设置和展示的部分。下图中在权限设置中,可以对以前加入的一个模块“省份”来设置相关的权限。
    1. 可浏览表示可以在菜单中显示,可以打开模块查看里面的数据。
    2. 可新增、可修改、可删除是三个基本的数据操作的权限。
    3. 可审核是系统内置的一个操作流程,可以设置对记录进行审核和取消审核的操作。某条记录在审核后将不充许修改和删除。
    4. 直接修改是一个高级权限,表示审核过后的数据也可能由具有该权限的人进行修改。
    5. 附件浏览:具有此权限的人可以浏览此模块记录的附件。但是要具有相关的操作权限以后,才可以增加、修改、删除附件。
    6. 对省份模块新增了一个附件的功能,叫“设置地图”,用来完成上传该省份地图的功能。完成这个任务的前后台是需要额外编程的。在具有这个功能的人员的操作界面中会加入相应的按钮来执行此功能。以后可以考虑,将前台的js文件的执行语句也在调试好后放在这个附件功能的记录里面,保存在数据库中。这样前台的js代码就更统一了。



      记录可视范围的限定:这一块的设置过程非常简单,主要都是在后台进行异常复杂的处理。先来看一下前台如何加一个设定。还是以省份这个模块为例。现在有一个操作员需要管理江浙沪三省的数据。操作步骤如下:
    1. 建立一个记录筛选角色。名称为:江浙沪省份限定。
    2. 在该筛选角色下面加进需要筛选的具体模块和值。一个筛选角色可以同时加入若干个模块的限定。

    3. 加入省份的筛选条件,选中新增的记录,点击“设置筛选条件”按钮。会显示省份模块的所有记录,打勾选中后保存。
    4. 保存后将会显示筛选信息。
    5. 给操作员设置筛选角色。在这里我们给管理员增加了这个角色。
    6. 重新登录后,角色将会生效。显示省份的时候将只会显示3条记录。

      以上为前台设置角色的一些操作,由于本系统的开发宗旨是完全自定义,因此权限的自定义也是系统中重要一环。为了能使自定义筛选功能能够顺利使用,需要在系统设计的时候规划好各个模块的层次关系。
      这种自定义权限的设计也可以进行扩充,比如可以根据省份人口数量的多少来设计权限、或者根据所属区域来进行权限设置等等。

    展开全文
  • 自2020年直播电商走向高潮,吸引了很...首先直播带货源码功能模块大致分为六大模块:登录注册、直播、商城、购物、店铺、我的。 一、登录注册模块 启动APP,打开APP显示;隐私协议;注册,手机号+验证码+密码。 登录:.

    自2020年直播电商走向高潮,吸引了很多电商行业商家、网红加入直播带货的浪潮。直播带货是许多商家拓宽销售渠道的重要方式,用户们已经习惯明星直播带货,通过直播带货源码可以帮助商家搭建起一个线上直播带货平台,帮助商家开展商城卖货业务。抛去这个不说,商家使用直播带货源码系统需要哪些功能呢?下面小编为您解答直播带货源码的热门功能详解。
    直播带货源码

    首先直播带货源码功能模块大致分为六大模块:登录注册、直播、商城、购物、店铺、我的。

    一、登录注册模块
    启动APP,打开APP显示;隐私协议;注册,手机号+验证码+密码。
    登录:
    1、密码登录:手机号+密码。
    2、短信验证:手机号+验证码。
    3、微信登录:获取微信授权。
    4、游客模式:涉及个人信息提示登录。
    二、直播模块
    banner图,广告,自动或左右滑动展示。点击可跳转链接,链接后台配置(链接/商品ID);
    导航,包括热门、关注、直播分类模块;
    搜索,可按直播间ID或直播标题搜索,点击搜索按钮搜索;
    主播动态,可查看主播直播状况。
    三、商城模块
    商城banner图;当日爆款;商品分类,包括商品的名称、商品检索导航、商品信息、搜索信息等。
    四、购物模块
    购物车,包括购物车的列表,订单的确认,支付方式;商品详情,包括商品信息、店铺信息、商品详情、推荐、购物车、客服、分享、购买等。
    直播带货源码

    五、直播模块(重点)
    直播间:
    1、主播信息:主播头像、昵称、观看人次、定位、加关注,点击头像弹出主播信息卡。
    2、直播间信息:平台名称、直播间ID。
    3、功能方面有聊天功能、商品库、分享、点赞、直播橱窗、送礼、滑动等功能;
    4、主播信息,包含主播头像、昵称、关注数量、粉丝数量;可关注,可私信,可进店;
    5、店铺详情,显示主播/店铺头像、主播/店铺名称、商品列表、在售商品数量;商品图片、商品名称、售价、原价、购买按钮,点击进入商品详情;
    直播间(主播):
    1、主播信息,主播头像、昵称、观看人次、位置;
    2、功能方面,包括聊天、商品库、分享、点赞、直播橱窗、送礼、滑动等功能;
    3、用户信息,包含用户的头像、昵称、关注以及粉丝数量;设置房管;是否禁言等;
    4、结束,显示主播头像、直播时长、观看人次、分享次数、商品点击数、直播收益;
    直播带货源码

    六、店铺模块
    包含了主播信息、实名、供应商、佣金、邀请信息、订单管理、直播收益、视频功能、商铺信息、账户余额、工具功能、个性化设置、消息中心、客服等。

    展开全文
  •  在整个自定义系统模块附加字段也是有必要的。对于一个模块来说附加的字段有二种,一种是父模块中的字段,另一种是子模块中的聚合字段。在模块记录生成sql语句的时候,只是生成了该模块的所有基本字段和其直接父...
  •  在定义好了模块和字段这二个最基本系统元素之后,就可以开始其他功能的加入了。最先想到的功能应该就是grid了。  grid对应于某个模块。由于模块字段有很多,一个模块只有一个grid方案并不能满足需求,因此一个...
  • 学生成绩管理系统模块基本介绍

    千次阅读 2016-09-29 17:56:07
    在此模块中,用户将根据菜单提示结合自己的需求输入一个0~11的值,来实现一定的功能。   (2)学生资料管理模块  此模块可以让用户从键盘输入每个学生的信息:学号、姓名、班级、语文、数学、英语等成绩。用户...
  • 常规功能模块自定义系统 (cfcmms)—011选择菜单后的执行过程  菜单的生成具体见下面一段代码,getMenus获取第一层菜单的items,在getaMenu函数中用了递归来生成各级子菜单。在各个可执行的菜单条中加入了菜单...
  • 032开发日志(用gojs来绘制模块关系图)
  • 基本模块指令

    千次阅读 2016-08-15 15:12:41
    基本模块提供的指令允许你定义nginx基本功能的变量,在编译时它们不能被禁用,因此它们提供的指令和区段总是有效,有下面三个进本模块: 核心模块(core module)–基本特征和指令,例如进程管理和安全 事件模块...
  •  在系统中经常有各种字段属性需要定义,有些重要的属性必须做成一个模块来进行操作,比如对于客户来说,其相对应的市或省信息就要有相应的模块来做ManyToOne的关联。但是有些场合就不需要把属性定义成一个模块,...
  • 常规功能模块自定义系统 (cfcmms)—011Extjs6的开发模式和产品模式  在使用Sencha cmd命令生成的Extjs6框架有二种模式,分别是用于开发的开发模式和用于产品发布的产品模式。  一、在开发模式,刷新网页的...
  • 常规功能模块自定义系统 (cfcmms)—013给Extjs6加入多界面主题(Theme)  在用sencha命令创建的Extjs6项目中只能使用一种界面主题(Theme),如果要换一个界面风络需要重新修改app.json中的theme配置项,然后再用...
  • 功能模块编程指南

    千次阅读 2013-04-08 00:21:15
    VLC建立在很多独立的功能模块上面的,象很多媒体播放器系统框架一样,每个模块实现一个新的功能。在阅读本文之前,必须先行阅读“VLC运行核及功能模块”和“VLC如何装载功能模块”章节。本文叙述如何为VLC编写一个新...
  • 模块管理常规功能自定义系统的设计与实现(04--导入模块)
  • 前端模块系统

    千次阅读 2016-08-30 15:52:41
    它们运行在现代的高级浏览器里,使用 HTML5、 CSS3、 ES6等更新的技术来开发丰富的功能,网页已经不仅仅是完成浏览的基本需求,并且webapp通常是一个单页面应用,每一个视图通过异步的方式加载,这导致页面初始化和...
  • 订单功能模块设计与实现

    万次阅读 多人点赞 2018-03-08 16:33:13
    https://www.cnblogs.com/fengli9998/p/6417117.html在商城项目中,之前我们介绍了购物车功能模块的实现,商品加入到购物车之后,就是到...订单系统是一个非常重要的系统,我们的移动端、PC端都需要订单系统,所以这...
  • OpenCV 基本模块

    千次阅读 2016-03-31 14:56:53
    OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,...
  • ubus在设计理念上与d-Bus基本保持一致,提供了系统级总线功能,与d-Bus相比减少了系统内存占用空间,这样可以适应于嵌入式Linux操作系统的低内存和低端CPU性能的特殊环境 ubus是OpenWrt的RPC工具,是OpenWrt的微系....
  • 物联网操作系统的架构和基本功能

    千次阅读 2012-03-18 15:21:38
    物联网操作系统由内核、辅助外围模块(文件系统、图形用户界面、通信协议栈、各类常见设备的驱动程序等)、集成开发环境等组成,基于此,可衍生出一系列面向行业的特定应用,下图展示了这个概念:   物联网操作...
  • IP-guard全部22个功能模块简介

    千次阅读 2020-02-28 10:39:17
    IP-guard企业信息监管系统,是一款领先的内网安全软件,它能够协助企业解决最棘手的内网安全问题,借助IP-guard强大的功能,企业能够有效地进行用户行为管理,防范信息外泄,营造健康安全的网络环境,下面模块功能...
  • 使一个模块能够具有图表功能需要以下几个步骤:  1.修改模块属性,使模块可以显示图表。  2.修改模块字段属性,使某些字段成为“项目内容”,另一些字段作为“数值内容”。  3.进入模块,点击“图
  • 测试--功能模块划分8.3

    千次阅读 2018-09-03 09:55:09
    首先对于功能模块划分提出两个问题: 1.功能模块划分时应遵循什么样的原则? 2.功能模块划分有哪些比较好的方法? 首先说一下第一个问题:功能模块划分时应遵循什么样的原则? 原则:高内聚,低耦合 不知道大家...
  • 操作系统内核模块编程

    千次阅读 2018-05-15 19:23:12
    ②设计一个带参数的模块,参数为某个进程的PID号,模块功能是列出该进程的家族信息,包括父进程、兄弟进程和子进程的程序名、PID号码、进程状态 开始实验前先了解一下内核模块编程的基本概念和基本框架。 ...
  • Android系统之闹钟模块浅析

    千次阅读 2012-11-15 10:36:18
    在手机中,闹钟功能是一个最基本功能,也是我们一个很常用的功能,现在来分析下android是怎么实现的,下面将采用自上而下的方式讲解。   1、APP层 进入桌面闹钟应用程序,选择设置新闹钟,会调到 Alarms.java ...
  • ADAS(2) 各功能模块介绍

    万次阅读 2017-05-25 17:33:29
    ADAS各功能模块介绍
  • 模块“市”的设计与加入  现在重复加入“省”模块的过程,来加入市的模块。 1、建立数据表CityCREATE TABLE [dbo].[City]( [tf_cityId] [nvarchar](4) COLLATE Chinese_PRC_CI_AS NOT NULL, [tf_provinceId] ...
  • 大型广告系统架构 — 检索模块

    万次阅读 2016-04-10 21:12:55
    其中,Router,检索模块,排序模块一般称为广告系统的核心。同时,与之辅助的至少包含三大系统:特征计算系统,计费系统,投放系统。 Router:对外提供HTTP服务。接收请求后,依次与特征计算系统、检索模块、排序...
  • ABP官方文档(三)【模块系统

    千次阅读 2017-10-31 11:06:27
    1.3 ABP总体介绍 - 模块系统1.3.1 ABP模块系统简介ABP框架提供了创建和组装模块的基础,一个模块能够依赖于另一个模块。在通常情况下,一个程序集就可以看成是一个模块。在ABP框架中,一个模块通过一个类来定义,而...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 325,353
精华内容 130,141
关键字:

下面属于系统基本功能模块