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

11 篇文章 0 订阅
6 篇文章 1 订阅

这个东西本来是无忧运行烽烟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页游换皮的问题,我们以后在讨论。




 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值