New file |
| | |
| | | package com.hdl.photovoltaic.config; |
| | | |
| | | |
| | | import android.text.TextUtils; |
| | | |
| | | import com.google.gson.Gson; |
| | | import com.hdl.photovoltaic.other.HdlFileLogic; |
| | | import com.hdl.photovoltaic.other.HdlLogLogic; |
| | | import com.hdl.photovoltaic.other.HdlResidenceLogic; |
| | | import com.hdl.photovoltaic.ui.bean.HouseListBean; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 个人信息类 |
| | | */ |
| | | public class UserConfigManage { |
| | | |
| | | |
| | | private static UserConfigManage sUserConfigManage = null; |
| | | |
| | | /** |
| | | * 获取当前对象 |
| | | * |
| | | * @return UserConfigManage |
| | | */ |
| | | public static UserConfigManage getInstance() { |
| | | if (sUserConfigManage == null) { |
| | | sUserConfigManage = new UserConfigManage(); |
| | | sUserConfigManage.reFresh(); |
| | | } |
| | | return sUserConfigManage; |
| | | } |
| | | |
| | | //当前账号:刷新Token用的token(不用记录什么有效期,如果刷新失败,就踢人即可) |
| | | private String refreshToken; |
| | | //账户登录成功时的时间 |
| | | private long loginDateTime; |
| | | //当前登录的帐号 |
| | | private String account; |
| | | //添加到Token头部的东西(不要理它,只给底层使用) |
| | | private String headerPrefix; |
| | | //登陆账号的Guid,也是账号的userId |
| | | private String userId; |
| | | //当前的住宅ID |
| | | private String homeId; |
| | | //是否登录状态 |
| | | private boolean isLogin; |
| | | |
| | | //是否是B端账号登录 |
| | | private boolean isB_account; |
| | | //住宅文件列表 |
| | | public List<String> homeFilePathList = new ArrayList<>(); |
| | | |
| | | //判断当前时间点是否能够自动登录 |
| | | public boolean isAutoLogin() { |
| | | //7天内自动登录 |
| | | return ((System.currentTimeMillis() - loginDateTime) < 7 * 24 * 60 * 60); |
| | | } |
| | | |
| | | //是否同意隐私政策 |
| | | private boolean acceiptPolicy; |
| | | //当前帐号的Token(这个东西不用存了) |
| | | private String token; |
| | | //远程连接的Mqtt的客户端ID |
| | | public String connEmqClientId; |
| | | //当前登录的账号是不是之前的账号 |
| | | public boolean theSameLoginAccount; |
| | | |
| | | public String getRefreshToken() { |
| | | return refreshToken == null ? "" : refreshToken; |
| | | } |
| | | |
| | | public void setRefreshToken(String refreshToken) { |
| | | this.refreshToken = refreshToken; |
| | | } |
| | | |
| | | public long getLoginDateTime() { |
| | | return loginDateTime; |
| | | } |
| | | |
| | | public void setLoginDateTime(long loginDateTime) { |
| | | this.loginDateTime = loginDateTime; |
| | | } |
| | | |
| | | public String getAccount() { |
| | | return account == null ? "" : account; |
| | | } |
| | | |
| | | public void setAccount(String account) { |
| | | this.account = account; |
| | | } |
| | | |
| | | public String getHeaderPrefix() { |
| | | return headerPrefix == null ? "" : headerPrefix; |
| | | } |
| | | |
| | | public void setHeaderPrefix(String headerPrefix) { |
| | | this.headerPrefix = headerPrefix; |
| | | } |
| | | |
| | | public String getUserId() { |
| | | return userId == null ? "" : userId; |
| | | } |
| | | |
| | | public void setUserId(String userId) { |
| | | this.userId = userId; |
| | | } |
| | | |
| | | public String getHomeId() { |
| | | return homeId == null ? "" : homeId; |
| | | } |
| | | |
| | | public void setHomeId(String homeId) { |
| | | this.homeId = homeId; |
| | | } |
| | | |
| | | public boolean isAcceiptPolicy() { |
| | | return acceiptPolicy; |
| | | } |
| | | |
| | | public void setAcceiptPolicy(boolean acceiptPolicy) { |
| | | this.acceiptPolicy = acceiptPolicy; |
| | | } |
| | | |
| | | public String getToken() { |
| | | return token == null ? "" : token; |
| | | } |
| | | |
| | | public void setToken(String token) { |
| | | this.token = token; |
| | | } |
| | | |
| | | public boolean isLogin() { |
| | | return isLogin; |
| | | } |
| | | |
| | | public void setLogin(boolean login) { |
| | | isLogin = login; |
| | | } |
| | | |
| | | public boolean isTheSameLoginAccount() { |
| | | return theSameLoginAccount; |
| | | } |
| | | |
| | | public void setTheSameLoginAccount(boolean theSameLoginAccount) { |
| | | this.theSameLoginAccount = theSameLoginAccount; |
| | | } |
| | | |
| | | public boolean isBAccount() { |
| | | return isB_account; |
| | | } |
| | | |
| | | public void setBAccount(boolean b) { |
| | | isB_account = b; |
| | | } |
| | | |
| | | /** |
| | | * 当前住宅 |
| | | */ |
| | | private HouseListBean m_Home = null; |
| | | |
| | | /** |
| | | * 当前住宅 |
| | | */ |
| | | public HouseListBean home() { |
| | | if (m_Home != null) { |
| | | return m_Home; |
| | | } |
| | | m_Home = HdlResidenceLogic.getInstance().getHouseByHouseId(homeId); |
| | | if (m_Home == null) { |
| | | m_Home = new HouseListBean(); |
| | | } |
| | | return m_Home; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 刷新 |
| | | */ |
| | | private void reFresh() { |
| | | String str = HdlFileLogic.getInstance().readFile(FILENAME); |
| | | if (!TextUtils.isEmpty(str) && str.length() > 0) { |
| | | //读取保存的数据 |
| | | Gson gson = new Gson(); |
| | | sUserConfigManage = gson.fromJson(str, UserConfigManage.class); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 保存 |
| | | */ |
| | | public void Save() { |
| | | if (sUserConfigManage == null) { |
| | | HdlLogLogic.print("UserConfigManage", "保存用户信息文件失败"); |
| | | return; |
| | | } |
| | | Gson gson = new Gson(); |
| | | String json = gson.toJson(sUserConfigManage); |
| | | HdlFileLogic.getInstance().writeFile(FILENAME, json); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// Config文件名 |
| | | /// </summary> |
| | | private static final String FILENAME = "UserConfigManage.json"; |
| | | |
| | | |
| | | } |