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

QQ登录

只需一步,快速开始

查看: 4184|回复: 6

[结贴] 做出上午签到一次下午签到一次,一天签到两次了

[复制链接]

24

主题

115

帖子

397

积分

中级会员

Rank: 3Rank: 3

积分
397
QQ
发表于 2017-5-27 03:12:56 | 显示全部楼层 |阅读模式
        Model.prototype.button1Click = function(row){
                                                        
                             var fxdata = this.comp("fxdata");
                         var xf = Number(fxdata.getValue("fFX")) + Number(1);
                             fxdata.filters.setVar("usera", this.userID);
                             var cs = fxdata.getValue("fCS");
                                                                                               
                         if(cs!=0 && new Date().getHours()<=12){

                              fxdata.setValue("fFX", xf);
                                  fxdata.setValue("fCS",0);
                                  fxdata.saveData();
                                  
                                  alert("签到");
                                                                                                          
                                  this.fxload=false;
                                  
                              }  else if(cs==0 && new Date().getHours()>12){
                                  fxdata.setValue("fFX", xf);
                                  fxdata.setValue("fCS",1);
                                  fxdata.saveData();  
                              
                              alert("已经签到");  
                              }            

                                                         
        };


代码如上,我试了很多种方法,是想实现一天签到一次的,结果阴差阳错,搞到一天签到两次了,如何修改上面代码,改成一天签到一次呢?

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2017-5-27 09:55:30 | 显示全部楼层
那个字段是签到的记录?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

24

主题

115

帖子

397

积分

中级会员

Rank: 3Rank: 3

积分
397
QQ
 楼主| 发表于 2017-5-27 16:55:20 | 显示全部楼层
对,我试过很多方法,利用过时间差,但是时间差取不到第一次签到的时间,也无法保持第一次签到的时间,没法比较,后来又试过cookie,还是不行,最后只有直接查询修改数据库,才能勉强实现签到功能,当数据为1,表示签到成功,位为0,时间不满足的话,也无法签到,只有数据与时间同时满足,才可以签到,我实现的是上午和下午,一天可以签到两次了
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2017-5-27 17:27:58 | 显示全部楼层
下午还能签到应该看看
cs!=0 && new Date().getHours()<=12这个条件为什么满足了
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

24

主题

115

帖子

397

积分

中级会员

Rank: 3Rank: 3

积分
397
QQ
 楼主| 发表于 2017-5-27 17:51:46 | 显示全部楼层
gethours()函数获取的是24小时时间,<=12是上午,cs!=0 && new Date().getHours()<=12这是说满足cs不为零,时间也必须上午,才可以签到,没错啊?
回复 支持 反对

使用道具 举报

24

主题

115

帖子

397

积分

中级会员

Rank: 3Rank: 3

积分
397
QQ
 楼主| 发表于 2017-5-27 17:56:14 | 显示全部楼层
一般是这两种可能,还有可能发生第三种可能,就是当数据表的cs值最初为1,而时间又刚好是new Date().getHours()>12的话,这时候,即不满足第一次if条件,也不满足第二种if条件,所以,我昨晚又修改了一下,再增加一条数据库判断就行了,代码如下:
        Model.prototype.button1Click = function(row){
                                                        
                             var fxdata = this.comp("fxdata");
                         var xf = Number(fxdata.getValue("fFX")) + Number(1);
                             fxdata.filters.setVar("usera", this.userID);
                             var cs = fxdata.getValue("fCS");
                             var qx = fxdata.getValue("fQX");
                                                                                               
                         if(cs==1 && new Date().getHours()<=12){
                             
                              fxdata.setValue("fFX", xf);
                                  fxdata.setValue("fCS",0);
                                  fxdata.saveData();
                                  
                                  alert("签到");                                                                                                                                           
                                  
                              }  else if(cs==0 && new Date().getHours()>12){
                                  fxdata.setValue("fFX", xf);
                                  fxdata.setValue("fCS",1);
                                  fxdata.saveData();  
                              
                              alert("已经签到");  
                              }  else if(cs==1 && new Date().getHours()>12 && qx==""){
                                  fxdata.setValue("fFX", xf);
                                  fxdata.setValue("fCS",0);
                                  fxdata.setValue("fQX","请输入到账微信号");
                                  fxdata.saveData();  
                              
                              alert("已签到");  
                              }               
                       
                                                         
        };
回复 支持 反对

使用道具 举报

24

主题

115

帖子

397

积分

中级会员

Rank: 3Rank: 3

积分
397
QQ
 楼主| 发表于 2017-5-27 17:57:21 | 显示全部楼层
这就完全实现了,一天可以签到两次了,上午签到一次,下午签到一次,每次签到成功,都相应的修改数据表就行了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-25 05:39 , Processed in 0.055789 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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