Nodejs简单应用,自制的烽烟注册系统说明

来源:互联网 发布:陕西电视频道软件 编辑:程序博客网 时间:2024/04/29 19:46

这个东西本来是无忧运行烽烟ol文章中的一部分,但因为文档不能下载了,所以在自己的博客重新发一次,还是以烽烟为例,



一个大坑出现了,为什么呢?因为我们没有注册用户,如何注册?客户端里貌似没提供5555555555555555

没办法,都到这步了,没什么能阻止我们进入游戏了,既然数据库里没数据,我们写数据进去就行了,看下数据库文件

/*Table structure for table `tb_register` */DROP TABLE IF EXISTS `tb_register`;CREATE TABLE `tb_register` (  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户id',  `username` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '用户名',  `password` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '用户密码',  `email` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT '' COMMENT '用户注册邮箱',  `characterId` int(10) DEFAULT '0' COMMENT '用户的角色ID',  `pid` int(11) DEFAULT '-1' COMMENT '邀请人的角色id',  `lastonline` datetime NOT NULL DEFAULT '2012-06-05 00:00:00' COMMENT '最后在线时间',  `logintimes` int(11) NOT NULL DEFAULT '0' COMMENT '登陆次数',  `enable` tinyint(4) NOT NULL DEFAULT '1' COMMENT '是否可以登录',  PRIMARY KEY (`id`)) ENGINE=MyISAM AUTO_INCREMENT=1915 DEFAULT CHARSET=utf8;/*Data for the table `tb_register` */

数据库注册信息sql语句是这样的,我大致解释一下,`id` int(11) NOT NULLAUTO_INCREMENT COMMENT '用户id',这是用户id并且设置了主键,不用我们写入信息,会自动递增

  `username` varchar(255) CHARACTER SET utf8COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '用户名',

  `password` varchar(255) CHARACTER SET utf8COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '用户密码',

  `email` varchar(255) CHARACTER SET utf8COLLATE utf8_bin DEFAULT '' COMMENT '用户注册邮箱',

3个是要外部写入了,NOT NULL说明不能为空,是我们注册时必须要做的,

后面的几项都有DEFAULT这个条件,所以可以不写(当然自己填的时候,要写),知道这个结构了我们就没什么好犹豫的了,打开Mysqlnavigator

进去直接写数吧,是不是有些过于简单粗暴了?如果加个用户就进去写一次,当只有自己一个人玩的时候,当然没什么,但随着注册用户增多,数据库就会变得不可维护,因为如果自己填写东西的话,包括id,和DEFAULT这些都要填写,但进入游戏之后,DEFAULT这些数据其实是会被游戏自动修改的,而且,如果不小心,会出现两个相同用户名的情况,截个图给大家看

上面仔细看就会发现1931和1932两个id的用户名是一样的,这是我在开发注册系统的时候,开始没有对数据库做查询判断,出的错误,其实如果自己填写数据库表格,很容易出现这样的错误,如果出了这样的错误,那么登陆游戏肯定会出问题,怎么办?自己动手丰衣足食是根本。当然有些同学没搞过相关开发,于是乎,不用担心,我写好了给大家,好了不多说,过后我会把源码放出来,大家如果有时间,完全可以用我提供的源码来自己改写一个服务器的数据库维护工具,首先要先安装服务器,我这里用的是node.js,打开终端输入

sudo apt-get install nodejs(问我为什么用nodejs,)Node.js是一个基于Chrome JavaScript运行时建立的一个平台,用来方便地搭建快速的,易于扩展的网络应用· Node.js借助事件驱动,非阻塞I/O模型变得轻量和高效,非常适合 run across distributeddevices data-intensive 的实时应用·】以上是百度给的解释,并不代表我的意见,跟写nodejs相比,我更习惯于用php, 不过为啥这里用nodejs呢,因为本来我这个ubuntu系统就是用来学习网易Pomelo这个开源项目的,所以nodejs本来就装好的,不习惯的也先凑合用吧,过几天有时间的话,我再写个php的来充数。不过话说那样还要装Apachephp5,不废话了(这废话就够多的了)


好了注册服务器启动成功了,具体操作看图就能明白,在fengyanolreg目录下输入node app

之后我们开浏览器,

直接点立即注册(当然上面那个注册也一样)

为防止恶意注册,注册规则严格按照正常的网站注册规则(可能比正常还要严一点,大小写,位数,邮箱规则,特殊符号我都做了规定,胡乱写的话比如用户名写成1test5557会如图)

好了,我们按原来的信息注册,用户名test5557,密码111111(本来密码用MD5加密的,但客户端代码的MD5加密之后,发现两边数值不一样,看来两种语言还是差别不小,没解决之前用明文吧),点注册

注册成功

前端,后台都通过了注册

好了,在注册纠结了这么久,进游戏吧,回到游戏客户端登陆界面

是键入原来一样的数据,登陆

进来了,选个喜欢的职业吧,很酷的人物选择界面(CreateRoleFTViewMediator.as这里实现的,等换皮的时候我们再讨论),现在选人进游戏,起名进游戏,

好了这个东东就介绍到这里,代码下载地址,关于烽烟以及其他as3页游换皮的问题,我们以后在讨论。




 


0 0
原创粉丝点击