1.验证码是怎么实现的? 根据汉字编码的字节数组解码出中文汉字 ,是从网上找的例子实现的
原理 在.Net中可以使用System.Text来处理所有语言的编码。在System.Text命名空间中包含众多编码的类,可供进行操作及转换。其中的Encoding类就是重点处理汉字编码的类。通过在.NET文档中查询Encoding类的方法我们可以发现所有和文字编码有关的都是字节数组,其中有两个很好用的方法: Encoding.GetBytes ()方法将指定的 String 或字符数组的全部或部分内容编码为字节数组 Encoding.GetString ()方法将指定字节数组解码为字符串。 没错我们可以通过这两个方法将汉字字符编码为字节数组,同样知道了汉字GB2312的字节数组编码也就可以将字节数组解码为汉字字符。通过对“好”字进行编码为字节数组后 Encoding gb=System.Text.Encoding.GetEncoding("gb2312"); object[] bytes=gb.Encoding.GetBytes ("好"); 发现得到了一个长度为2的字节数组bytes,使用 string lowCode = System.Convert.ToString(bytes[0], 16); //取出元素1编码内容(两位16进制) string hightCode = System.Convert.ToString(bytes[1], 16);//取出元素2编码内容(两位16进制) 之后发现字节数组bytes16进制变码后内容竟然是{ba,c3},刚好是“好”字的十六进制区位码(见区位码表)。 因此我们就可以随机生成一个长度为2的十六进制字节数组,使用GetString ()方法对其进行解码就可以得到汉字字符了。不过对于生成中文汉字验证码来说,因为第15区也就是AF区以前都没有汉字,只有少量符号,汉字都从第16区B0开始,并且从区位D7开始以后的汉字都是和很难见到的繁杂汉字,所以这些都要排出掉。所以随机生成的汉字十六进制区位码第1位范围在B、C、D之间,如果第1位是D的话,第2位区位码就不能是7以后的十六进制数。在来看看区位码表发现每区的第一个位置和最后一个位置都是空的,没有汉字,因此随机生成的区位码第3位如果是A的话,第4位就不能是0;第3位如果是F的话,第4位就不能是F。 好了,知道了原理,随机生成中文汉字的程序也就出来了
2.界面的实现 前台界面主要用div+css 及js现实的收缩自如的效果 3.编辑操作人性化设计 表格一点编辑,当前表格就处于被编辑的文本框状态,打破了常规跳出页面的繁琐操作。 4.成果管理流程 先是成果申报,然后进行审批,最后可浏览 5.数据字典管理设计。 像一些基本的选项呀,下拉菜单呀,我们都在字典表里里进行管理。设计更人性化。 6.权限管理的设计 本项目在权限上制作灵活,菜单里的每一项都被动态读取生成权限选择项,权限可灵活分配。
开发时间安排 第一周主要做后台数据库的设计 第二周主要是css,div及js的研究,对页面的设计 第三周实现机构管理,人员档案管理,科研考查三个模块的功能 第四周实现项目管理,成果管理两个模块 第五周实现系统管理模块的设计 第六周测试系统补充功能