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

QQ登录

只需一步,快速开始

查看: 3658|回复: 13

[处理中3] 关于用户登录后的判断

[复制链接]

718

主题

2841

帖子

5657

积分

论坛元老

Rank: 8Rank: 8

积分
5657
QQ
发表于 2017-6-27 08:40:54 | 显示全部楼层 |阅读模式
我有一个按钮,需要用户登录后,根据yggx这个列的值来分别跳转到相应的页面去处理业务
  1. Model.prototype.modelLoad = function(event){
  2.     var ygname=localStorage.getItem("yggxname");
  3.         if(ygname!=""){
  4.      this.comp("ygData").setFilter('filter0',"yg_name = '"+ygname+"'");  
  5.         this.comp("ygData").refreshData();
  6.         var yggx=this.comp("ygData").getValue("yg_gx");
  7.         this.comp("jdData").setFilter('filter1',"jd_yg = '"+ygname+"' and jd_gx='"+yggx+"'");  
  8.         this.comp("jdData").refreshData();
  9.         this.comp("list1").refresh(true);
  10.         }else{
  11.         justep.Util.hint("当前无账号登录!")
  12.         };
  13.         };
  14.        
  15.         Model.prototype.button1Click = function(event){
  16.     var yggx =this.comp("ygData").getValue("yg_gx");
  17.      if(yggx=="工艺"){
  18.      justep.Shell.showPage("gyzb",{
  19.          "yggx":this.comp("ygData").getValue("yg_gx"),
  20.         "ygname":this.comp("ygData").getValue("yg_name"),
  21.       });
  22.     } else if(yggx=="制版"){
  23.     justep.Shell.showPage("gyzb",{
  24.        "yggx":this.comp("ygData").getValue("yg_gx"),
  25.         "ygname":this.comp("ygData").getValue("yg_name"),
  26.     });
  27.     }else if(yggx=="横机"){
  28.     justep.Shell.showPage("gyzb",{
  29.        "yggx":this.comp("ygData").getValue("yg_gx"),
  30.         "ygname":this.comp("ygData").getValue("yg_name"),
  31.     });
  32.     }else if(yggx=="套口"){
  33.     justep.Shell.showPage("gyzb",{
  34.        "yggx":this.comp("ygData").getValue("yg_gx"),
  35.         "ygname":this.comp("ygData").getValue("yg_name"),
  36.     });
  37.     }else if(yggx=="嵌花机"){
  38.     justep.Shell.showPage("gyzb",{
  39.        "yggx":this.comp("ygData").getValue("yg_gx"),
  40.         "ygname":this.comp("ygData").getValue("yg_name"),
  41.     });
  42.     }else if(yggx=="洗烫"){
  43.     justep.Shell.showPage("gyzb",{
  44.        "yggx":this.comp("ygData").getValue("yg_gx"),
  45.         "ygname":this.comp("ygData").getValue("yg_name"),
  46.     });
  47.     }else if(yggx=="绣勾"){
  48.     justep.Shell.showPage("gyzb",{
  49.        "yggx":this.comp("ygData").getValue("yg_gx"),
  50.         "ygname":this.comp("ygData").getValue("yg_name"),
  51.     });
  52.     }else if(yggx=="电脑机"){
  53.     justep.Shell.showPage("dlj",{
  54.        "yggx":this.comp("ygData").getValue("yg_gx"),
  55.         "ygname":this.comp("ygData").getValue("yg_name"),
  56.     });
  57.    }else if(yggx=="发纱"){
  58.     justep.Shell.showPage("fs",{
  59.        "yggx":this.comp("ygData").getValue("yg_gx"),
  60.         "ygname":this.comp("ygData").getValue("yg_name"),
  61.     });
  62.     }else if(yggx=="手缝"){
  63.     justep.Shell.showPage("gyzb",{
  64.        "yggx":this.comp("ygData").getValue("yg_gx"),
  65.         "ygname":this.comp("ygData").getValue("yg_name"),
  66.     });
  67.     }else if(yggx=="发货"){
  68.     justep.Shell.showPage("fh",{
  69.        "yggx":this.comp("ygData").getValue("yg_gx"),
  70.         "ygname":this.comp("ygData").getValue("yg_name"),
  71.     });
  72.     }else{
  73.       justep.Util.hint("此工序无需再记录!")
  74.     }
  75.    
  76.         };
复制代码

这样写法,在电脑上或手机上模拟没有问题,但打包后就始终执行 justep.Util.hint("此工序无需再记录!")这个了,怎么回事?

718

主题

2841

帖子

5657

积分

论坛元老

Rank: 8Rank: 8

积分
5657
QQ
 楼主| 发表于 2017-6-27 08:58:40 | 显示全部楼层
原因应该是用户登录后,这个页面还没有获得用户登录的信息,所以无法判断应该进入哪个页面了,在手机测试可以判断,但当我退出登录后,将localStorage清空后,还是可以进入相应页面,说明登出后这个页面也没获得登出信息
WEX5初学者,欢迎初学者交流
QQ:597558229
tel:15857336322
回复 支持 反对

使用道具 举报

发表于 2017-6-27 10:36:25 | 显示全部楼层
郭德成 发表于 2017-6-27 08:58
原因应该是用户登录后,这个页面还没有获得用户登录的信息,所以无法判断应该进入哪个页面了,在手机测试可 ...

请问这个页面必须登录后才能打开的吗??
还是不用登录也可以打开的!你应该做判断条件!
可以参考下:http://docs.wex5.com/wex5-ui-question-list-2143
比如必须登录后才能代开页面!


关于用户信息,多个页面获取同一个用户信息兼用使用KO对象
http://docs.wex5.com/wex5-ui-question-list-2096

因为你的代码是在modelLoad  事件中获取yggxname 的值的!
这个事件只有第一次加载的时候会触发!第二次加载的时候!就不会执行了! 里面的yggx 会缓存起来的!不会自动消除!

可以在onActive事件中再判断一次试试
http://docs.wex5.com/wex5-ui-question-list-2021/
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

718

主题

2841

帖子

5657

积分

论坛元老

Rank: 8Rank: 8

积分
5657
QQ
 楼主| 发表于 2017-6-27 13:38:11 | 显示全部楼层
好的,我试试,为什么模拟没问题,打包就问题百出的呢?
WEX5初学者,欢迎初学者交流
QQ:597558229
tel:15857336322
回复 支持 反对

使用道具 举报

718

主题

2841

帖子

5657

积分

论坛元老

Rank: 8Rank: 8

积分
5657
QQ
 楼主| 发表于 2017-6-27 14:18:04 | 显示全部楼层
本帖最后由 郭德成 于 2017-6-27 14:59 编辑

var ygname=justep.Shell.yggxName.get();
if(ygname!=""){
     this.comp("ygData").setFilter('filter0',"yg_name = '"+ygname+"'");  
        this.comp("ygData").refreshData();
        var yggx=this.comp("ygData").getValue("yg_gx");
        this.comp("jdData").setFilter('filter1',"jd_yg = '"+ygname+"' and jd_gx='"+yggx+"'");  
        this.comp("jdData").refreshData();
        this.comp("list1").refresh(true);
        }else{
        justep.Util.hint("当前无账号登录!")
        };
        };    通过KO可以看到用户名,但无法可滤呢?
WEX5初学者,欢迎初学者交流
QQ:597558229
tel:15857336322
回复 支持 反对

使用道具 举报

发表于 2017-6-27 16:01:29 | 显示全部楼层
郭德成 发表于 2017-6-27 14:18
var ygname=justep.Shell.yggxName.get();
if(ygname!=""){
     this.comp("ygData").setFilter('filter0 ...

你打印一下 setFilter 中的字符串!是什么??
这就是sql语句的where条件!

只要sql语句正确就没问题!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

718

主题

2841

帖子

5657

积分

论坛元老

Rank: 8Rank: 8

积分
5657
QQ
 楼主| 发表于 2017-6-27 16:51:39 | 显示全部楼层
本帖最后由 郭德成 于 2017-6-27 18:09 编辑

怎么打印?用localStorage的方法,可以正确过滤数据,但其他页面不会即时响应,意思是换了用户了,还是进入到上一个用户的专属页面了,而用justep.Shell.yggxName.get()方法,直接无法过滤出数据来
WEX5初学者,欢迎初学者交流
QQ:597558229
tel:15857336322
回复 支持 反对

使用道具 举报

发表于 2017-6-27 18:47:50 | 显示全部楼层
郭德成 发表于 2017-6-27 16:51
怎么打印?用localStorage的方法,可以正确过滤数据,但其他页面不会即时响应,意思是换了用户了,还是进入 ...

后端过滤  js代码执行后才行的啊!
需要调用它代码重新执行过滤条件,刷新data才行!
只是修改ko对象的值!方法没执行也不行啊!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

718

主题

2841

帖子

5657

积分

论坛元老

Rank: 8Rank: 8

积分
5657
QQ
 楼主| 发表于 2017-6-28 09:41:42 | 显示全部楼层
本帖最后由 郭德成 于 2017-6-28 09:43 编辑
liangyongfei 发表于 2017-6-27 10:36
请问这个页面必须登录后才能打开的吗??
还是不用登录也可以打开的!你应该做判断条件!
可以参考下:ht ...
帮我看看我的逻辑对不对嘛
WEX5初学者,欢迎初学者交流
QQ:597558229
tel:15857336322
回复 支持 反对

使用道具 举报

718

主题

2841

帖子

5657

积分

论坛元老

Rank: 8Rank: 8

积分
5657
QQ
 楼主| 发表于 2017-6-28 09:42:21 | 显示全部楼层
liangyongfei 发表于 2017-6-27 10:36
请问这个页面必须登录后才能打开的吗??
还是不用登录也可以打开的!你应该做判断条件!
可以参考下:ht ...

经测试,好像是不到onActive这个里面,只能到onLoad,因为在onActive打断点没有执行到
WEX5初学者,欢迎初学者交流
QQ:597558229
tel:15857336322
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-13 07:17 , Processed in 0.111743 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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