(转)打造一套UI与后台并重.net通用权限管理系统
原文地址:http://www.cnblogs.com/LRBPMS/p/3425997.html
一、前言
从进行到软件开发这个行业现在已经有几年了,在整理出这个套开发框架之前自己做了不少重复造轮子的事。每次有新的项目总是要耗费不少时间在UI、权限和系统通用模块上面,自己累得要死,老板还骂没效率。为了能提高开发效率,同时也多拿拿奖金、多存点私房钱,我就着手做了一套以权限管理为主的快速开发框架。不求功能在所有项目中都得到使用,至少要大大提高开发效率。
二、需求分析
根据《那些年我们一起做过的项目》中各类客户对权限模块和通用模块以及UI的要求,我明确了这个系统中要实现的东西。
1、组织机构 多级树型显示,各级部门从属关系一目了然操作便捷
2、用户 所有的权限最终分配给用户,如果按用户去分配权限会把系统管理员给累死,系统中先建立角色,角色中再分配权限,在角色的成员中加入用户。当然会有一些用户的权限大同小异,如果不想在系统中创建太多角色可以给用户分配权限。用户最终的权限取角色权限和用户权限的集合。
3、角色 一组权限的集合。
4、模块 也可以称之为菜单,可以是系统中的页面,也可以是其它系统的页面地址统一纳入到同一套权限系统中维护。
5、按钮
6、权限 权限分配模式:1)角色权限分配,权限分配的便捷性。
2)用户权限分配,权限分配的灵活性。
权限控制类型:1)模块权限 采购员有采购模块权限和库存查看模块权限。
2)按钮权限 采购员能点击新增按钮新增采购单,采购经理能点击审核按钮审核采购单。
3)数据权限 每个业务员只能看到属于自己的客户资料。
4)字段权限 会计可以看到库存报表中的所有字段,仓库管理员不能看到报表中的金额字段。
5)文件权限 采购部的文件只有总经理和采购部成员有权限
7、日志 登陆日志、操作日志、系统异常日志
8、数据库管理 在前端页面查看数据库信息,数据库备份
9、访问控制
10、动态接口 这里说的接口是与其它系统或设备的通信接口,一般以Webservice、WCF、Webapi的形式提供。在系统中对外只暴露一个接口。增加接口、修改接口都不用修改程序。
11、UI 前端框架:采用Jquery UI,功能强大扩展灵活,不用担心版权问题。
多种风格界面:手风琴导航风格、desktop风格、触摸屏风格
12、系统参数
13、代码生成器 根据需要生成界面和后台代码
三、设计实现
2、程序设计
程序基本以Jquery+Ajax+工厂模式实现,接近10万行的代码量,后续分模块详细讲解
3、用户体验UI设计
UI对于一个软件来说就像女人那张脸,别人最先看到的就是你的脸。人再好,脸长得丑肯定还是要经常过光棍节。一套程序UI漂亮程序的档次自然也就上去了。无图无真相,下面给出一些主要界面,详细实现也会在后面的博客中给出。

1)系统风格
a)desktop风格

b)手风琴风格

c)触摸屏风格

2、员工管理
左边展开组织机构,右边员工管理

3、组织机构管理
树型组织机构,组织架构一目了然

4、组织架构图
根据组织机构自动生成的组织架构图

5、角色权限控制
角色成员:拥有该角色的用户。
模块权限:该角色能操作哪些模块。
按钮权限:角色能操作指这模块中哪些按钮。
数据权限:角色对哪些数据有操作权限。
文件权限:角色对哪些文件有操作权限。

6、模块按钮管理
拖动按钮位置能改变按钮在模块中的显示位置。
勾选状态的按钮会在模块中显示。




当然图片就先晒到这边啦!如果你觉得可以把这些图片的设计思路理解,并且觉得以后会用的话,请收藏一下,推荐一下啦!
对于一些界面看完让我内心想对他说三个字"毁三观"的界面,我只能说你的审美水平一定要提高的,IT这是一个潮流的行业,如果你不潮,那就无法与众不同,机遇往往会给你留个位置的!大家说呢?
大家一起测试下
http://223.86.105.239:801 触摸屏版风格
http://223.86.105.239:802 手风琴版风格
(转)打造一套UI与后台并重.net通用权限管理系统的更多相关文章
- 打造一套UI与后台并重.net通用权限管理系统
一.前言 从进行到软件开发这个行业现在已经有几年了,在整理出这个套开发框架之前自己做了不少重复造轮子的事.每次有新的项目总是要耗费不少时间在UI.权限和系统通用模块上面,自己累得要死,老板还骂没效率. ...
- 基于Extjs 4.2的通用权限管理系统,通用后台模板,EF+MVC+Extjs 4.2
基于Extjs 4.2的通用权限管理系统,通用后台. 我们的宗旨:珍爱生命,拒绝重复!Don't Repeat Yourself!!! 本案例采用EntityFramework+MVC4.0+Extj ...
- 手把手教你Pytest+Allure2.X定制报告详细教程,给自己的项目量身打造一套测试报告-02(非常详细,非常实用)
简介 前边一篇文章是分享如何搭建pytest+Allure的环境,从而生成一份精美的.让人耳目一新的测试报告,但是有的小伙伴或者童鞋们可能会问,我能不能按照自己的想法为我的项目测试结果量身打造一份属于 ...
- 基于吉日嘎底层架构的通用权限管理Web端UI更新:参考DTcms后台界面
经一周的研究学习,看了国内的H+.HUI等,国外的PaperDashboardPro.Make.Metronic BootStrap等,最终选定用一个轻量的,适合中国人的,来自DTcms的后台管理UI ...
- 网购的一套UI代码的始末
引言: 一个商业项目的需要,又因为时间紧迫的关系,准备购买一套简洁,易用,可定制化强的UI,经过对国内外多家UI产品进行了对比, 包括:FineUI, EasyUI, EXT.NET, EXTJS, ...
- 一套ui满足ios与android界面
1.android 画布宽高720*1280的标准来切图生成xhdpi标准图,后自动生成mdpi.hdpi.xhdpi.xxhdpi四套图. 2.ios画布宽高640 x 1136的标准来切图生成xh ...
- WPF 精修篇 非UI进程后台更新UI进程
原文:WPF 精修篇 非UI进程后台更新UI进程 <Grid> <Grid.RowDefinitions> <RowDefinition Height="11* ...
- winform项目中开发的一套UI控件库
https://github.com/houyhea/winform-control-lib winform-control-lib 曾经在一个winform项目中开发的一套UI控件库 类图: 效果 ...
- vue-quasar-admin 一个包含通用权限控制的后台管理系统
vue-quasar-admin Quasar-Framework 是一款基于vue.js开发的开源的前端框架, 它能帮助web开发者快速创建以下网站:响应式网站,渐进式应用,手机应用(通过Cor ...
随机推荐
- Java Thread 多线程同步、锁、通信
参看:http://www.cnblogs.com/hoojo/archive/2011/05/05/2038101.html
- react.js的了解
React很大的特点就是“轻”,再加上VDOM这个很好的idea让React非常非常快(在上面那个测试里面0.3s左右就载入完毕).另外React和Angular一个很大的不同就是React采用的是o ...
- ISIS与OSPF的区别与联系
共同之处: 1 都是链路状态路由协议,都要求区域内的路由器交换链路状态信息,链路状态信息被收集到链路状态数据库中 2 都是用了一种实现路由选择信息交换相似机制 3 都在广播网络中选择指定路由器来控制扩 ...
- 1.Linux下生成密钥
1.Linux下生成密钥 ssh-keygen的命令手册,通过”man ssh-keygen“命令: 通过命令”ssh-keygen -t rsa“ 生成之后会在用户的根目录生成一个 “.ssh”的文 ...
- Http中Cookie的HttpOnly和secure属性
Cookie语法: Cookie通常是作为HTTP 应答头发送给客户端的,下面的例子展示了相应的语法(注意,HttpOnly属性对大小写不敏感): Set-Cookie: =[; =] [; e ...
- vue -Missing space before value for key 'path'vue.js解决空格报错
webpack.base.config.js文件注释掉下面的东西!! module: { rules: [ /*{ test: /\.(js|vue)$/, lo ...
- Balls(poj 3783)
The classic Two Glass Balls brain-teaser is often posed as: “Given two identical glass spheres, you ...
- WCF配置多个终节点
配置多个终节点的意义(自己理解):一个服务可以有多个终节点,网上也经常有人说终节点才是服务的真正的接口,的确如此,当我们为一个服务配置多个终节点时,就表明这个服务可以被以不同的方式访问(不同的绑定等等 ...
- 前端开发之JavaScript基础篇二
主要内容: 1.流程控制条件语句和switch语句 2.for循环和while循环 3.Break语句和Continue语句 4.数组和数组常用方法 5.函数 6.对象 一.流程控制条件语句和swit ...
- spring jpa 创建时间和更新时间自动更新
@Entity @Table(name="RS_SIGNUPUSER") public class RsSignUpUser { @Id @GenericGenerator(nam ...