起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 17910|回复: 14

[分享] 最近使用cloudx5.com上的云IDE做了一个简单的用户登录注册...

  [复制链接]

1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
发表于 2016-8-15 14:01:59 | 显示全部楼层 |阅读模式
本帖最后由 半导体 于 2016-8-17 09:56 编辑

最近使用wex5的云IDE做了一个简单的用户登录注册的例子,由于各方面原因关于短信验证和邮箱验证以及自定义action等功能没有完善,但是在后续版本中我会对其进行进一步更新。在此版本中我实现了简单的数据的存储和一些基本的验证,如果您有任何的意见或建议或是问题,欢迎留言,我会及时的回复您。谢谢。以下是我目前的效果图以及部分代码: 同时也欢迎访问:http://regandlogin.app.cloudx5.c ... 1471252040581#!main按F12进行浏览
eg01.png       

reg页0

reg页0
      

login页

login页
      

detail页

detail页


注册页面的 regActivity.js文件
  1. define(function(require){
  2.         var $ = require("jquery");
  3.         var justep = require("$UI/system/lib/justep");
  4.         require("cordova!com.justep.cordova.plugin.security.mob");
  5.         
  6.         var Model = function(){
  7.                 this.callParent();
  8.                 this.way;
  9.         };

  10.         Model.prototype.wayRadioGroup = function(event){
  11.                 if(event.value === '1'){
  12.                         this.way = 1;
  13.                 }else if(event.value === '2'){
  14.                         this.way = 2;
  15.                 }
  16.         }
  17.         
  18.         Model.prototype.regBtnClick = function(event){
  19.         //限制必填,使用判断和提示。this.way也要判断。
  20.                 if(this.way === undefined){
  21.                         justep.Util.hint('请选择注册方式!',{'type':'danger'});
  22.                         return;
  23.                 }
  24.                 var waydetail = this.comp('detailInput').value;
  25.                 var password = this.comp('passwordInput').value;
  26.                 var again = this.comp('againInput').value;
  27.                 if(waydetail === ''){
  28.                         justep.Util.hint('请填写手机号或邮箱!',{'type':'danger'});
  29.                         return;
  30.                 }
  31.                 if(password === ''){
  32.                         justep.Util.hint('请填写密码!',{'type':'danger'});
  33.                         return;
  34.                 }
  35.                 if(this.way === 1){//说明是手机注册
  36.                         var reg = /^[1][34578][0-9]{9}$/;
  37.                         if(!reg.test(waydetail)){
  38.                                 if(this.comp('userData').find(['fPhoneNumber'],['waydetail'])){
  39.                                         justep.Util.hint('该手机号码已经注册过!可以直接登录!');
  40.                                         return;
  41.                                 }
  42.                                 justep.Util.hint('手机号码格式不正确!',{'type':'danger'});
  43.                                 return;
  44.                         }
  45.                 }else if(this.way === 2){//说明是邮箱验证的
  46.                         var regt = /^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/;
  47.                         if(!regt.test(waydetail)){
  48.                                 if(this.comp('userData').find(['fEmail'],['waydetail'])){
  49.                                         justep.Util.hint('该邮箱已经注册过!可以直接登录!');
  50.                                         return;
  51.                                 }
  52.                                 justep.Util.hint('邮箱格式不正确!',{'type':'danger'});
  53.                                 return;
  54.                         }
  55.                 }
  56.                 if(!password === again){
  57.                         justep.Util.hint('两次密码输入不一致!',{'type':'danger'});
  58.                         return;
  59.                 }
  60.                 //生成一串随机数作为ID。
  61.                 var ids = this.RndNum(10);
  62.                 //存储的时候需要验证ID是否重复;--------------------------------------------
  63.                 if(this.way === 1){
  64.                         this.comp('userData').newData({
  65.                                 'defaultValues' : [ {
  66.                                         'fID' : parseInt(ids),
  67.                                         'fWay' : this.way,// 问卷主键
  68.                                         'fPhoneNumber' : waydetail,// 题目主键
  69.                                         'fPassword' : password,// 选项的ID
  70.                                         'version' : 0
  71.                                 } ]
  72.                         });        
  73.                 }else if(this.way === 2){
  74.                         this.comp('userData').newData({
  75.                         'defaultValues' : [ {
  76.                                 'fID' : parseInt(ids),
  77.                                 'fWay' : this.way,// 问卷主键
  78.                                 'fEmail' : waydetail,// 题目主键
  79.                                 'fPassword' : password,// 选项的ID
  80.                                 'version' : 0
  81.                         } ]
  82.                 });
  83.                 }
  84.                
  85.                 this.comp('userData').saveData();
  86.                 justep.Util.hint('注册成功!',{'type':'success'});
  87.                 this.close();
  88.         }
  89.         
  90.         Model.prototype.RndNum = function(n){
  91.                 var rnd="";
  92.                 for(var i=0;i<n;i++){
  93.                         rnd+=Math.floor(Math.random()*10);
  94.                 }
  95.                 var num = this.comp('userData').find(['fID'],['parseInt(ids)']).length;
  96.                 if(num != 0){
  97.                         this.RndNum();
  98.                 }
  99.                 return rnd;
  100.         }
  101.         
  102.         return Model;
  103. });
复制代码



regandlogin.zip (151.84 KB, 下载次数: 1401)

评分

参与人数 1威望 +120 收起 理由
liangyongfei + 120 很给力!

查看全部评分

1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
 楼主| 发表于 2016-8-15 14:42:53 | 显示全部楼层
本帖最后由 半导体 于 2016-8-17 09:57 编辑

自古一楼是楼主,二楼楼主继续盖:这是loginActivity.js文件:
  1.         var Model = function(){
  2.                 this.callParent();
  3.                 this.way;
  4.         };

  5.         Model.prototype.wayRadioGroup = function(event){
  6.                 if(event.value === '1'){
  7.                         this.way = 1;
  8.                 }else if(event.value === '2'){
  9.                         this.way = 2;
  10.                 }
  11.         }
  12.         
  13.         Model.prototype.saveBtnClick = function(event){
  14.                 var detailNum = this.comp('detailInput').val();
  15.                 var passwordss = this.comp ('passwordInput').val();
  16.                 if(this.way === undefined){
  17.                         justep.Util.hint('请选择登录方式!',{'type':'danger'});
  18.                         return;
  19.                 }
  20.                 if(detailNum === ''){
  21.                         justep.Util.hint('请输入用户名!',{'type':'danger'});
  22.                         return;
  23.                 }
  24.                 if(passwordss === ''){
  25.                         justep.Util.hint('请输入密码!',{'type':'danger'});
  26.                         return;
  27.                 }
  28.                 if(this.way === 1){
  29.                         var reg = /^[1][34578][0-9]{9}$/;
  30.                         if(!reg.test(detailNum)){
  31.                                 justep.Util.hint('手机号码格式不正确!',{'type':'danger'});
  32.                                 return;
  33.                         }
  34.                         var num = this.comp('userData').find(['fPhoneNumber'],[detailNum]).length;
  35.                         if(num === 0){
  36.                                 justep.Util.hint('该手机号码没有注册!不能登录!',{'type':'danger'});
  37.                                 return;
  38.                         }else{
  39.                                 var savePass = this.comp('userData').find(['fPhoneNumber'],[detailNum])[0].val('fPassword');
  40.                                 if(savePass === passwordss){
  41.                                         justep.Util.hint('登录成功!',{'type':'success'});
  42.                                         this.comp('detailDialog').open();
  43.                                 }
  44.                         }
  45.                 }else if(this.way === 2){
  46.                         var regt = /^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/;
  47.                         if(!regt.test(detailNum)){
  48.                                 justep.Util.hint('邮箱格式不正确!',{'type':'danger'});
  49.                                 return;
  50.                         }
  51.                         var numtow = this.comp('userData').find(['fPhoneNumber'],[detailNum]).length;
  52.                         if(numtow === 0){
  53.                                 justep.Util.hint('该邮箱没有注册!不能登录!',{'type':'danger'});
  54.                                 return;
  55.                         }else{
  56.                                 var savePass = this.comp('userData').find(['fPhoneNumber'],[detailNum])[0].val('fPassword');
  57.                                 if(savePass === passwordss){
  58.                                         justep.Util.hint('登录成功!',{'type':'success'});
  59.                                         this.comp('detailDialog').open();
  60.                                 }
  61.                         }
  62.                 }
  63.                
  64.         }
  65.         
  66.         Model.prototype.detailDialogClose = function(event){
  67.                 this.close();
  68.         
复制代码

回复 支持 反对

使用道具 举报

0

主题

3

帖子

9

积分

新手上路

Rank: 1

积分
9
QQ
发表于 2016-9-1 21:22:49 | 显示全部楼层
请问回复验证码是怎样实现的呢?需要找代理么,还要支付短信费用的吧?
回复 支持 反对

使用道具 举报

0

主题

13

帖子

23

积分

新手上路

Rank: 1

积分
23
QQ
发表于 2016-9-1 21:34:36 | 显示全部楼层
不错不错
回复

使用道具 举报

1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
 楼主| 发表于 2016-9-23 16:13:53 | 显示全部楼层
birdy 发表于 2016-9-1 21:22
请问回复验证码是怎样实现的呢?需要找代理么,还要支付短信费用的吧?

是的  短信验证我们用的是中国网建的
回复 支持 反对

使用道具 举报

1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
 楼主| 发表于 2016-9-23 16:15:54 | 显示全部楼层
哎呀!! 终于有人理楼楼了!!!  楼楼很开心!!!  楼楼最近没有时间!!!有机会的话楼楼一定更新!!!
回复 支持 反对

使用道具 举报

20

主题

75

帖子

129

积分

初级会员

Rank: 2

积分
129
QQ
发表于 2016-10-9 18:09:29 | 显示全部楼层
登录的时候能写ajax吗?把数据提交到公司后端服务器,有个前端接口
回复 支持 反对

使用道具 举报

1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
 楼主| 发表于 2016-10-10 09:58:22 | 显示全部楼层
本帖最后由 半导体 于 2016-10-10 10:14 编辑

目前还是不可以的 亲
回复 支持 反对

使用道具 举报

0

主题

2

帖子

4

积分

新手上路

Rank: 1

积分
4
QQ
发表于 2016-10-13 14:11:51 | 显示全部楼层
感谢,分享,辛苦了,我研究一下,修改修改,自己用,哈哈,
回复 支持 反对

使用道具 举报

30

主题

79

帖子

225

积分

中级会员

Rank: 3Rank: 3

积分
225
QQ
发表于 2016-12-1 22:25:40 | 显示全部楼层
111.png
你好  我的BASS已经编译了且也重启了服务 ,不知道还是出现以上错误,求解!

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-4-26 15:26 , Processed in 0.074224 second(s), 27 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表