摘要: 前言 之前的博客一直都还没写到框架的实现及权限系统,今天开始写我的权限系统,我以前做过的项目基本上都有权限管理这个模块,但各个系统都会有一些不太一样,有些简单点,有些稍微复杂一点,一句话,我们做的系统都离不开这个权限系统。所以网上很多人尝试做一个通用的权限系统,不评论他们做的怎么样,只是说在网上能找到的直接能用的应该不多,适用的并且能集成到项目中的就更少了,所以还是考虑自己做一个,不一定很通用,但足够自己用的权限系统。 二、需求分析 关于权限系统的文章网上多如牛毛,很多都是基于角色的访问控制(RBAC)设计。但是发现完全实现RBAC的理论其实不一定好用,我想做一款适合自己的。所以首先我们必要明确我们要去实现哪些东西。 1、权限资源 a.菜单权限 经理和业务员登陆系统拥有的功能菜单是不一样的 b.按钮权限 经理能够审批,而业务员不可以 c.数据权限 A业务员看不到B业务员的单据 d.字段权限 某些人查询客户信息时看不到客户的手机号或其它字段 阅读全文
posted @ 2013-07-22 01:13 萧秦 阅读(62070) 评论(137) 推荐(433) 编辑
摘要: 操作数据库都可以看作跟数据库做一次交互,交互传递的是数据+命令,我们希望能够用尽量简洁的代码来描述每一次访问数据库。所以可以对mysqljs对数据库操作进行封装,重新设计访问数据库的API,为nodejs访问mysql数据库提供强大流畅的api的工具类库,目标是希望访问数据库逻辑都能使用一行代码完成,让访问数据库变得更加简单优雅。 阅读全文
posted @ 2019-07-22 08:53 萧秦 阅读(2567) 评论(1) 推荐(3) 编辑
摘要: 概述 数据监听实现上就是当数据变化时会通知我们的监听器去更新所有的订阅处理,数据监听是对观察者模式的实现,也是MVVM中的核心功能。这个功能我们在很多场景中都可以用到,可以大大的简化我们的代码。 现有MVVM框架中的Observable是怎么实现的 先看看各MVVM框架对Observable是怎么实现的,常见的MVVM框架有以下几种,我们分析下它们的实现原理 阅读全文
posted @ 2016-09-18 17:49 萧秦 阅读(6191) 评论(2) 推荐(7) 编辑
摘要: 一、前言 半年前左右折腾了一个前后端分离的架子,这几天才想起来翻出来分享给大家。关于前后端分离这个话题大家也谈了很久了,希望我这个实践能对大家有点点帮助,演示和源码都贴在后面。 二、技术架构 这两年angularjs和reactjs算是比较火的项目了,而我选择angularjs并不是因为它火,而是因它的模块化、双向数据绑定、注入、指令等都是非常适合架构较复杂的前端应用,而且文档是相当的全,碰到问题基本上可以在网上都找到答案。所以前端基本思路就以angularjs为主、代码模块化,通过requirejs实现动态加载,ui选择dhtmlx为主配合少量bootstrap3使用。前端项目dhtmlx_web: 开发工具 Sublime Text 前端框架angularjs 模块加载requirejs 前端UI dhtmlx + bt3 包管理 bower 构建工具 gruntjs 服务架设 http_server.js 浏览器支持IE8+ 实际是为了支持IE8我做 阅读全文
posted @ 2015-10-09 08:44 萧秦 阅读(27961) 评论(74) 推荐(194) 编辑
摘要: 一、前言 前面已经给大家介绍了我的工作流引擎的总体设计及的API设计,这篇是实战篇说说怎么实际应用了,这就得涉及到UI界面了。首先我们常用的工作流个人办公应用系统至少要包括发起流程、待办事项、已办事项等。我们设计了一个尽量简单的系统,能够满足个人办公的基本需求,只实现以下功能: 1、发起流程 2、待办事项 3、已办事项 4、我的流程 5、我的消息 6、我的委办 这些功能基本就是流程能正常的运行流转基础,其实只应用了我们引擎的一小部分功能,其它功能如果有需要可以在这基本上再添加。 阅读全文
posted @ 2015-09-29 10:13 萧秦 阅读(8367) 评论(14) 推荐(33) 编辑
摘要: 一、前言 上一篇我给大家介绍了我的工作流的模型和基本的设计,这篇我想详细说明下我这款工作流的功能及使用示例。这款工作流主要是面向开发者设计的,为了先让大家有个全局的认识,局部功能的设计实现就不细说了,后续有时间我会继续写文章向大家介绍。 二、功能详解及使用示例代码 1、配置流程引擎,一般在程序启动过程中调用(Global.asax.cs中) 阅读全文
posted @ 2015-09-07 08:28 萧秦 阅读(14565) 评论(35) 推荐(52) 编辑
摘要: 一、前言 提到工作流很多人就会想到OA,的确OA就是典型的工作流的应用,但是工作流并不仅仅局限于OA,工作流应该算是基础框架软件,主要用于流程的重组和优化,它有广阔的应用领域。在java下有很多优秀的开源工作流可以选择比如activit5、jpbm4等,在.net下却几乎找不到令人满意的工作流引擎可用。当然不是说.net下没有开源的只是有些国产开源的但看了代码后就一点兴趣都没有了,且不说代码质量如何,还引入了一大堆的东西,想在项目中应用也是非常困难。鉴于此我还是决定自己开发一款.NET微型工作流引擎。 二、基本说明 为什么叫微型工作流引擎?就是超轻量级,以方便在项目中轻便的使用,比如只有一个类库dll,大小也就几百k到1M左右 阅读全文
posted @ 2015-07-13 11:03 萧秦 阅读(29725) 评论(60) 推荐(79) 编辑
摘要: 一、为什么需要路由优先级 大家都知道我们在Asp.Net MVC项目或WebApi项目中注册路由是没有优先级的,当项目比较大、或有多个区域、或多个Web项目、或采用插件式框架开发时,我们的路由注册很可能不是写在一个文件中的,而是分散在很多不同项目的文件中,这样一来,路由的优先级的问题就突显出来了。 比如: App_Start/RouteConfig.cs中 routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } ); Areas/Admin/AdminAreaRegistration.cs中 context.MapRoute( name: "Login", url: "login", defaults: new { area = "Admin", c 阅读全文
posted @ 2015-07-08 07:42 萧秦 阅读(10729) 评论(20) 推荐(33) 编辑
摘要: 常用的的编码有: 1、数据库自增长ID或最大值加1 2、GUID 3、时间戳 4、常量+自增长 5、常量+时间戳+自增长 6、根据单据属性编码 比如商品编码:第X是代码商品颜,第Y位是代码商品产地 7、自定义函数处理返回 8、其它 阅读全文
posted @ 2014-05-05 07:41 萧秦 阅读(20466) 评论(11) 推荐(36) 编辑
摘要: 作为一个码农这么多年,一直在想怎么提高我们的编码效率,关于如何提高编码效率,我自己的几点体会 1、清晰的项目结构,要编写代码的地方集中 2、实现相同功能的代码量少并且清晰易懂 3、重复或有规律的代码应该自动生成 在这里我就讨论下代码生成的问题。 刚毕业时我也非常迷信代码生成器,喜欢在网上找一些代码生 阅读全文
posted @ 2014-02-18 07:56 萧秦 阅读(29221) 评论(40) 推荐(145) 编辑
摘要: CSS 预处理器技术已经非常的成熟,常用的预处理器框架有: 1、Less 官网:http://lesscss.org/ 2、Sass 官网:http://sass-lang.com/ 3、Stylus 官网:http://learnboost.github.io/stylus/ 我研究比较多的只有less,后两者也只是了解了下,所以这里我还是选用less来实现 阅读全文
posted @ 2013-12-03 08:14 萧秦 阅读(13791) 评论(16) 推荐(48) 编辑