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

QQ登录

只需一步,快速开始

查看: 1715|回复: 3

[处理中3] justep.shell里面的userType和userName是怎么回事?

[复制链接]

17

主题

84

帖子

142

积分

初级会员

Rank: 2

积分
142
发表于 2017-4-1 17:35:07 | 显示全部楼层 |阅读模式
本帖最后由 ovarbi 于 2017-4-1 17:36 编辑

netease的login的代码,我不太明白userType和userName的意思,我还以为是自定义的属性,因此我添加了两行:
  1. if (userData.count() > 0) {
  2.                         justep.Util.hint("登录成功");
  3.                         justep.Shell.userType.set("ISM");
  4.                         justep.Shell.userName.set(phoneInput);
  5.                         
  6.                        var time=new Date().getDate();
  7.                         justep.Shell.loginTime.set(time);
  8.                         
  9.                         localStorage.removeItem("userUUID");

  10.                         var user = {};
  11.                         user.userid = phoneInput;
  12.                         user.accountType = "ISM";
  13.                         user.name = phoneInput || "NONAME";
  14.                         localStorage.setItem("userUUID", JSON.stringify(user));
复制代码
添加的是:
  1.                        var time=new Date().getDate();
  2.                         justep.Shell.loginTime.set(time);
复制代码

结果可想而知,出错!我想问一下问题:1.我想添加一个登录时间进去,应该怎么添加?
2.请讲一下,justep.shell.属性和localStorage的区别,我的理解是保存在手机app运行内存中的某些资料,这个理解有没有问题?




发表于 2017-4-1 17:51:39 | 显示全部楼层
localStorage 是浏览器的一个缓冲对象!浏览器重启后还可以得到!
justep.shell.属性 是js定义的一个变量!!每次关闭页面就会被销毁的!!重启浏览器后还要重新赋值才行的!

ko对象只不过是为了全局多个页面展示绑定同一个数据源
http://docs.wex5.com/wex5-ui-question-list-2096
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

17

主题

84

帖子

142

积分

初级会员

Rank: 2

积分
142
 楼主| 发表于 2017-4-2 11:34:05 | 显示全部楼层
本帖最后由 ovarbi 于 2017-4-2 11:36 编辑
liangyongfei 发表于 2017-4-1 17:51
localStorage 是浏览器的一个缓冲对象!浏览器重启后还可以得到!
justep.shell.属性 是js定义的一个变量! ...

这个解决大问题了,谢谢!
不过,第一个问题你没有回答,能不能回答一下。
  1.         // 字符串转日期格式,strDate要转为日期格式的字符串
  2.         function getDate(strDate) {
  3.                 var date = eval('new Date(' + strDate.replace(/\d+(?=-[^-]+$)/, function(a) {
  4.                         return parseInt(a, 10) - 1;
  5.                 }).match(/\d+/g) + ')');
  6.                 return date;
  7.         }
复制代码
我做了一个字符串转换的函数,其实是网上找的,执行说replace不存在,请问如何能获得字符串函数的列表?
另外一个就是这个函数怎么改。

这个函数我用来判断登录是否过期
  1.                 var strDate = justep.Shell.loginTime.get();
  2.                 var time = getDate(strDate);
  3.                 if (time == new Date().getDate()) {
  4.                         userID = justep.Shell.userName.get();
  5.                 }
复制代码
说老实话,自己的感觉比较别扭,因为不熟悉js,这个有没有问题?
这里面的loginTime按你的方法已经set了new Date().getDate()||“UNKNOWN”。
  1.         Model.prototype.modelLoad = function(event) {
  2.                 justep.Shell.userType = justep.Bind.observable();
  3.                 justep.Shell.userName = justep.Bind.observable();
  4.                 justep.Shell.loginTime = justep.Bind.observable();
  5.                 var userLocal = (localStorage.getItem("userUUID") && JSON.parse(localStorage.getItem("userUUID"))) || null;
  6.                 if (userLocal) {
  7.                         justep.Shell.userName.set(userLocal.name || "UNKNOWN");
  8.                         justep.Shell.userType.set(userLocal.accountType || "UNKNOWN");
  9.                         justep.Shell.loginTime.set(userLocal.loginTime || "UNKNOWN");
  10.                 } else {
  11.                 }
  12.         };
复制代码




回复 支持 反对

使用道具 举报

17

主题

84

帖子

142

积分

初级会员

Rank: 2

积分
142
 楼主| 发表于 2017-4-2 14:56:00 | 显示全部楼层
ovarbi 发表于 2017-4-2 11:34
这个解决大问题了,谢谢!
不过,第一个问题你没有回答,能不能回答一下。我做了一个字符串转换的函数,其 ...

原来代码都写错了,没事了。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-3 15:13 , Processed in 0.073406 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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