• ICG-智能代码生成器.(权限控制.融入平台).(表单引擎).(最低兼容IE8)


    请下拉滚动条。。。

     

    代码生成器、附带客户端代码

     个人平台:www.10086bank.com

    界面:

    1--首先是server制作界面(BS结构)、直接上图:

       

    2--点击提交生成一下文件: 各个代表什么一看就懂了、、、、、、

    3--把上面的文件放到对于的位置、然后编译、然后就ok了、、、、

         打开client中的IBD中的loginin.aspx页面 用admin登陆、(admin未管理员、test为普通用户、这些在平台都可以设置)

         登陆进来是这样:其中邮件和分组管理还有用户管理以及app管理都是平台自带的、、、、看下图:

        

    4--现在把刚才生成的app应用加入到平台里面并且分配权限、需要的参数很少、如下图:

       

    点击保存即可到分配权限阶段

    5--权限分配:

          

    支持全选、反选

    这里我只分配给test用户、分配好了然后用test登陆loginin.aspx页面

    6--test登陆进来的:

      

    没说的、、、点击人员管理即进入 :

     

    再来一个:

    好了介绍完了

    代码实现:

    这主要是平台下的控制代码、包括前端和底层以及数据库:

    前端:Javascript

    var userid = "feifei", tiptime = 2000, pagesize = 10, TESTTABID = -1;  //当前主ID
            var SLarray = []; //clear data obj
            var endtime = "";
            var nowappid="";
    
            //common data begin
            var myidarray = [];
            //for-----code
            myidarray.push("appid");
            myidarray.push("appname");
            myidarray.push("appsrc");
            myidarray.push("appcount");
            myidarray.push("appicopath");
            myidarray.push("userid");
            $(function () {
                jQuery("#divadd").validationEngine(); //验证
                //新增
                $("#btnadd").click(function () {
                    appmanagertableID = -1;
                    $("#divadd").show();
                });
                //取消新增
                $("#btncancel").click(function () {
                    $("#divadd").hide();
                    $("#divlist").show();
                });
                //保存方法
                $("#btnsave").click(function () {
                    if (!jQuery("#divadd").validationEngine("validate")) {
                        return false;
                    }
                    var temparray = [];
                    for (var s = 0; s < myidarray.length; s++) {
    
                        temparray.push($("input[myid='" + myidarray[s] + "']").val());
                    }
                    $.post("userajax/appmanagertableOP.aspx?" + new Date().toTimeString(), { "type": "add", "myidarray": temparray.toString(), "userid": userid, "appmanagertableID": appmanagertableID }, function (data) {
                        endtime = ""; //时间默认值
                        appmanagertableID = -1; if (data.length == 36) {
                            success("保存成功!");
                            for (var s = 0; s < myidarray.length; s++)
                                $("input[myid='" + myidarray[s] + "']").val("");
                            temparray = null;
                        }
    
                        $("#divadd").hide();
                        $("#divlist").show();
                        getlist(); //获取前20条
                    });
                });
                //页面第一次加载进行渲染
                function load() {
                    var obj = $("select[name='SLData']");
                    $(obj).each(function () {
                        $(this).chosen();
                    });
                }
                //加载页面渲染
                load();
                getlist();
                $("#btnmore").click(function () {
                    getlist();
                });
    
    
                // 文件上传 ------------------------- begin(华丽的分隔符) ---------------------------
                var button = $('#adlaimgFile'), interval;
                new AjaxUpload(button, {
                    action: 'userajax/FileMail.ashx',
                    name: 'imgFile',
                    onSubmit: function (file, ext) {
                        this.disable();
                        interval = window.setInterval(function () {
                            var text = button.text();
                        }, 200);
                    },
                    onComplete: function (file, response) {
                        window.clearInterval(interval);
                        this.enable();
                        response = response.replace(/<pre>/ig, "").replace(/</pre>/ig, ""); //过滤
                        var obj = $.parseJSON(response);
                        if (obj[0].filetruename == "ferror") { alert("该文件类型不允许上传!"); return false; }
                        if (obj[0].filetruename == "big") { alert("文件过大!"); return false; }
    
                        $("#aicon").html(obj[0].filetruename);
                        $("#txticonpath").val(obj[0].filepath);
                        $("#imgicon").attr("src", "userajax/" + obj[0].filepath);
    
                    }
                });
    
                //全选
                $("#Checkboxall").click(function () {
                    if ($("#Checkboxall").attr("checked") == "checked") {
                        var objall = $("input[name = 'checkboxA']");
                        $(objall).each(function () {
                            $(this).attr("checked", true);
                        })
                        return;
                    }
                    else {
                        var objall = $("input[name = 'checkboxA']");
                        $(objall).each(function () {
                            $(this).attr("checked", false);
                        })
                        return;
                    }
                });
                //反选
                $("#Checkboxback").click(function () {
                    if ($("#Checkboxback").attr("checked") == "checked") {
                        var objall = $("input[name = 'checkboxA']");
                        $(objall).each(function () {
                            if ($(this).attr("checked") == "checked")
                                $(this).attr("checked", false);
                        })
                        return;
                    }
                    else {
                        var objall = $("input[name = 'checkboxA']");
                        $(objall).each(function () {
                            if ($(this).attr("checked") == false)
                                $(this).attr("checked", true);
                        })
                        return;
                    }
                });
    
                //确定【分配用户】
                $("#lasure").click(function () {
                    var ob = $("input[name='checkboxA']");
                    var ckuserid = "";
    
                    $(ob).each(function () {
                        if ($(this).attr("checked") == "checked") {
                            ckuserid = ckuserid + "," + $(this).attr("id");
                        }
                    });
    
                    if (ckuserid.indexOf(",") == -1) {
                        alerttip("请选择需要使用该应用的用户");
                        return false;
                    }
    
                    var para = { "type": "Allocation",
                        "useridlist": ckuserid,
                        "appid": nowappid,
                        "usebegintime": $("#txtbegintime").val(),
                        "useendtime": $("#txtendtime").val(),
                        "trycount": $("#txttrycount").val(),
                        "buymoney": $("#txtmoney").val()
                    };
    
                    $.post("userajax/appmanagertableOP.aspx?" + new Date().toTimeString(), para, function (data) {
                        if (data == "999") {
                            alerttip("登录失效!请重新登录");
                            return;
                        }
                        if (data == "1") {
                            alerttip("分配成功");
                            return;
                        }
                    });
    
                });
    
            })//dom end
            //getone
            function getone(id) {
                appmanagertableID = id;
                $("#divadd").show();
                $("#divlist").hide();
                $.post("userajax/appmanagertableOP.aspx?" + new Date().toTimeString(), { "type": "getone", "id": id }, function (data) {
                    var obj = $.parseJSON(data);
                    for (var s = 0; s < myidarray.length; s++) {
                        $("input[myid='" + myidarray[s] + "']").val(obj[0][myidarray[s]]);
                    }
                    $("#imgicon").attr("src", "userajax/" + $("#txticonpath").val());
                });
            }
             //获取10行数据
            function getlist() {
                //$("#tbodydatalist").html("");
                $.post("userajax/appmanagertableOP.aspx?" + new Date().toTimeString(), { "type": "getlist", "pagesize": pagesize, "endtime": endtime }, function (data) {
                    if (data == "nodata") {
                        alerttip("无数据、您可以新增数据!");
                        $("#btnmore").hide();
                    }
                    var obj = $.parseJSON(data);
    
                    if (obj.length < pagesize) { $("#btnmore").hide(); }
    
                    if (endtime == "")
                        $("#tbodydatalist").html("");
    
                    for (var i = 0; i < obj.length; i++) {
                        $("#tbodydatalist").append("<tr id='tr" + obj[i].ID + "'><td class='center'>" + obj[i].appname.replace(" 0:00:00", "") + "</td><td class='center'>" + obj[i].appsrc.replace(" 0:00:00", "") + "</td><td class='center'>" + "<img style='32px; height:32px' id='imgicon' src='userajax/" + obj[i].appicopath.replace(" 0:00:00", "") + "' alt='桌面显示ICON图标' />" + "</td><td class='center'><a class='btn btn-success' onclick=domains('view','" + obj[i].ID + "')><i class='icon-zoom-in icon-white'></i>修改</a>&nbsp;<a class='btn btn-info' onclick=domains('edit','" + obj[i].ID + "')><i class='icon-edit icon-white'></i>分配</a>&nbsp;<a class='btn btn-danger' onclick=domains('delete','" + obj[i].ID + "')><i class='icon-trash icon-white'></i> 删除</a></td></tr>");
                        if (i == (obj.length - 1)) {
                            endtime = obj[i].CreatTime;
                        }
                    }
                })
            }
            //domain
            function domains(type, id) {
                if (type == "delete") {
                    if (confirm("确定删除吗?") == false)
                        return;
                    $.post("userajax/appmanagertableOP.aspx?" + new Date().toTimeString(), { "type": "delete", "id": id, "userid": userid }, function (data) {
                        if (data == "0") {
                            error("您没有权限删除此条数据");
                            return;
                        }
                        else if (data == "1") {
                            $("#tr" + id).remove();
                            success("删除成功!");
                        }
                    });
                }
                //编辑
                else if (type == "view") {
                    SLarray = [];
                    getone(id);
                }
                //分配
                else if (type == "edit") {
                    nowappid = id;
                    $("#myModalA").modal("show");
                    GetUsingUserListData(id);
                }
            }
    
            function GetUsingUserListData(id) {
                $("#divchecklist").html("");
                //先查询使用中的
                $.post("userajax/appmanagertableOP.aspx?" + new Date().toTimeString(), { "type": "GetUsingUserListData", "appid": id, "userid": userid }, function (data) {
                    if (data == "999") {
                        alerttip("登录失效!请重新登录");
                        return;
                    }
                    var obj = $.parseJSON(data);
                    if (obj != null) {
                        for (var i = 0; i < obj.length; i++) {
                            $("#divchecklist").append("<p><input  checked='checked'  type='checkbox' myname='" + obj[i].username + "' name='checkboxA' id='" + obj[i].userid + "' />" + obj[i].username + "</p>");
                        }
                    }
                });
    
                //未使用的用户
                $.post("userajax/appmanagertableOP.aspx?" + new Date().toTimeString(), { "type": "GetUsingUserListData0", "appid": id, "userid": userid }, function (data) {
                    if (data == "999") {
                        alerttip("登录失效!请重新登录");
                        return;
                    }
                    var obj = $.parseJSON(data);
                    if (obj != null) {
                        for (var i = 0; i < obj.length; i++) {
                            $("#divchecklist").append("<p><input type='checkbox'  myname='" + obj[i].username + "' name='checkboxA' id='" + obj[i].userid + "' />" + obj[i].username + "</p>");
                        }
                        obj = null;
                    }
                });
    
                //未使用的用户
                $.post("userajax/appmanagertableOP.aspx?" + new Date().toTimeString(), { "type": "getappidinfo", "appid": id, "userid": userid }, function (data) {
                    if (data == "999") {
                        alerttip("登录失效!请重新登录");
                        return;
                    }
                    var obj = $.parseJSON(data);
                    if (obj != null) {
                        $("#txtbegintime").val(obj[0].usebegintime.replace(" 0:00:00", ""));
                        $("#txtendtime").val(obj[0].useendtime.replace(" 0:00:00", ""));
                        $("#txttrycount").val(obj[0].trycounts);
                        $("#txtmoney").val(obj[0].appcount);
                        obj = null;
                    }
                });
            }
    
            //判断是否为第二次点击
            function SLexists(myenumid) {
                for (var i = 0; i < SLarray.length; i++) {
                    if (SLarray[i] == myenumid)
                        return true;
                }
                return false;
            }
            /////----------------------common JS-------------------------------------
            //错误
            var timeoutlength = 3000;
            function error(name) {
                $.noty({ "text": name + "</br>" + new Date().toTimeString(), "layout": "topRight", "type": "error", "timeout": timeoutlength });
                return;
                asyncbox.tips(name, 'error', tiptime);
            }
            //成功
            function success(name) {
                $.noty({ "text": name + "</br>" + new Date().toTimeString(), "layout": "topRight", "type": "success", "timeout": timeoutlength });
                return;
                asyncbox.tips(name, 'success', tiptime);
            }
            //消息
            function alerttip(name) {
                $.noty({ "text": name + "</br>" + new Date().toTimeString(), "layout": "topRight", "type": "success", "timeout": timeoutlength });  //aler
                return;
                asyncbox.tips(name, 'alert', tiptime);
            }
            //等待
            function waittips() {
                asyncbox.tips("请稍后...!", 'wait', tiptime * 3);
            }
    View Code

    底层:C#

    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Data;
    using System.Data.SqlClient;
    using DBS;
    
    namespace MyDAL
    {
        public class usertableOP
        {
            //实例化
            DBHelper DB = new DBHelper();
            //新增
            public string AddDB(string ID, string userid, string userfileid, string username, string userpass, string usergroupid, string isallowlogin, string userleftmoney, string usercount, string userheadlinkname, string userlastlogintime, string guid, string usertype, string usernamenike)
            {
                string sql = string.Format("insert into usertable (ID,userid,userfileid,username,userpass,usergroupid,isallowlogin,userleftmoney,usercount,userheadlinkname,userlastlogintime,usertype,usernamenike) values(@ID,@userid,@userfileid,@username,@userpass,@usergroupid,@isallowlogin,@userleftmoney,@usercount,@userheadlinkname,@userlastlogintime,@usertype,@usernamenike)");
                SqlParameter[] sqlpara = new SqlParameter[]
                            {
                          new SqlParameter("@ID",ID),
                          new SqlParameter("@userid",userid),
                          new SqlParameter("@userfileid",userfileid),
                          new SqlParameter("@username",username),
                          new SqlParameter("@userpass",userpass),
                          new SqlParameter("@usergroupid",usergroupid),
                          new SqlParameter("@isallowlogin",isallowlogin),
                          new SqlParameter("@userleftmoney",userleftmoney),
                          new SqlParameter("@usercount",usercount),
                          new SqlParameter("@userheadlinkname",userheadlinkname),
                          new SqlParameter("@userlastlogintime",DateTime.Now.ToString()),
                          new SqlParameter("@usertype",usertype),
                          new SqlParameter("@usernamenike",usernamenike)
                            };
                DB.ExecuteNonQuery(sql, sqlpara);
                return guid;
            }
            //修改
            public string UpdateDB(string username, string userpass, string usergroupid, string isallowlogin, string userleftmoney, string usercount, string userheadlinkname, string guid, string usertype,string usernamenike)
            {
                string sql = string.Format("update  usertable set username=@username,userpass=@userpass,usergroupid=@usergroupid,isallowlogin=@isallowlogin,userleftmoney=@userleftmoney,usercount=@usercount,userheadlinkname=@userheadlinkname,usertype=@usertype,usernamenike=@usernamenike  where ID=@guid");
                SqlParameter[] para = new SqlParameter[] 
                              {
                        new SqlParameter("@username",username),
                        new SqlParameter("@userpass",userpass),
                        new SqlParameter("@usergroupid",usergroupid),
                        new SqlParameter("@isallowlogin",isallowlogin),
                        new SqlParameter("@userleftmoney",userleftmoney),
                        new SqlParameter("@usercount",usercount),
                        new SqlParameter("@userheadlinkname",userheadlinkname),
                        new SqlParameter("@usertype",usertype),
                        new SqlParameter("@usernamenike",usernamenike),
                        new SqlParameter("@guid", guid)
                               };
                return DB.ExecuteNonQuery(sql, para).ToString();
            }
            //删除
            public string DeleteDB(string guid)
            {
                string sql = string.Format("delete from usertable where ID=@ID");
                SqlParameter[] para = new SqlParameter[] { new SqlParameter("@ID", guid) };
                return DB.ExecuteNonQuery(sql, para).ToString();
            }
            //获取一条ID值为guid的数据
            public DataTable GetOneDataByGuid(string guid)
            {
                string sql = string.Format("select usernamenike,usertype, ID, userid, userfileid, username, userpass, usergroupid, isallowlogin, userleftmoney, usercount, userheadlinkname, userlastlogintime, CreatTime from usertable where ID=@guid");
                SqlParameter[] para = new SqlParameter[] { new SqlParameter("@guid", guid) };
                return DB.GetDataTable(sql, para);
            }
            //获取用户定义数量的数据列表
            public DataTable GetTopNumberData(int pagesize, string endtime)
            {
                string sql = string.Format("select top {0} userid,groupname,userfileid,username,userpass,usergroupid,isallowlogin,userleftmoney,usercount,userheadlinkname,userlastlogintime, usertable.ID as ID,usertable.CreatTime as CreatTime from usertable,grouptable  where  grouptable.groupid=usertable.usergroupid  and usertable.CreatTime<'{1}' order by usertable.CreatTime DESC", pagesize, endtime);
                return DB.GetDataTable(sql, null);
            }
            /// <summary>
            /// 查询个人桌面上的app应用数据【ok】
            /// </summary>
            /// <param name="userid">用户id</param>
            /// <returns></returns>
            public DataTable GetList(string userid)
            {
                string sql = string.Format("select ID,appname,appsrc,appicopath  from appmanagertable,appmanageruser  where  appmanagertable.ID=appmanageruser.appid and appmanageruser.userid='{0}' and (usebegintime<getdate() and useendtime>getdate() or isbought=1  or  trycounts>0) ", userid);
                return DB.GetDataTable(sql, null);
            }
    
            /// <summary>
            /// 获取用户个人信息
            /// </summary>
            /// <param name="userid">用户id</param>
            /// <returns></returns>
            public DataTable GetUserInfo(string userid)
            {
                string sql = string.Format("select * from usertable where userid='{0}' ", userid);
                return DB.GetDataTable(sql, null);
            }
    
            /// <summary>
            /// 获取消息
            /// </summary>
            /// <param name="userid"></param>
            /// <returns></returns>
            public DataTable GetNews(string userid, int isread)
            {
                string sql = string.Format("select ID,fromname,content from UserNews where touserid='{0}' and isread={1} ", userid, isread);
    
                if (isread != 1 && isread != 0)
                    sql = string.Format("select ID,fromname,content  from UserNews where touserid='{0}' ");
    
                return DB.GetDataTable(sql);
            }
    
            /// <summary>
            /// 查询是否存在
            /// </summary>
            /// <param name="name"></param>
            /// <returns></returns>
            public string Getexists(string name)
            {
                string sql = string.Format("select count(0) from usertable where username='{0}'", name);
                return DB.ExecuteSingleString(sql);
            }
        }
    }
    View Code

    相关下载:

    视频+平台框架源码+生成的demo: http://pan.baidu.com/s/1eQiVqeu 

    在线视频、不太清晰:http://v.youku.com/v_show/id_XNzU4ODQ2MTQ4.html                       (20M左右)

    使用:

    本人开发的ICG有2个端:server+client 都是BS结构的

                    ICG-server:就是设计界面、包括生产所有代码、

                    ICG-client:只需要把server产生的文件放到相对于的位置、然后根据在client端中的位置添加到APP管理中、最后就是分配权限(当前只支持“查看权限”)、后面将会考虑是否做数据修改权限。

    本系统生成的代码适合用于类似OA和一个数据管理的系统、不是所有的想法都能通过它实现、www.10086bank.com 平台框架由部分是代码生成器生成的、后面只是做了些修改

    最后下载:

    需要其他源码请给我留言、请留下你的邮箱地址、我会尽快给你邮件、、、收到邮件请在下面回复一下、非常谢谢!20140820                        QQ:502048227

    喜欢的请给我“推荐” 谢谢

  • 相关阅读:
    Java 字典
    java 集合
    Java Array类、大数据运算、包装类
    java String、StringBuilder 、正则表达式
    Java时间日期类 Date、DateFormat、Calendar类
    java包的声明、导入、System类
    java正则表达式
    java-StringBuffer类和StringBuilder类
    java-String类
    java的API,Object类,equals方法,toString方法
  • 原文地址:https://www.cnblogs.com/chinhi/p/makesorceAndcompentence.html
Copyright © 2020-2023  润新知