package com.gotech.tv.launcher.parser; import com.gotech.tv.launcher.util.Constant; import com.gotech.tv.launcher.vo.ParseResultVo; import com.gotech.tv.launcher.vo.UserInfoVo; import org.json.JSONObject; public class ParserSet { public static class StateParser extends BaseJsonParser<Integer> { public static final String KEY_STATE = "returnCode"; @Override public Integer parse(JSONObject data) throws DataParseException { int state = data.optInt(KEY_STATE, -1); return state; } } public static class JsonBeanParser extends BaseJsonParser<JSONObject> { @Override public JSONObject parse(JSONObject data) throws DataParseException { return data; } } public static class UserInfoParser extends BaseJsonParser<ParseResultVo> { @Override public ParseResultVo parse(JSONObject data) throws DataParseException { ParseResultVo vo = new ParseResultVo(); vo.result = data.optInt("errorCode", -1); vo.reMsg = data.optString("errorInfo"); vo.obj = new UserInfoVo(data.optString("accountid", ""), data.optString("accountid", "password")); return vo; } } /** * @author benson CN:登录随机值解析器 */ public static class RandomCodeParser extends BaseJsonParser<String> { @Override public String parse(JSONObject data) throws DataParseException { return data.optString("loginCode"); } } public static class TokenUpdateParser extends BaseJsonParser<String> { @Override public String parse(JSONObject data) throws DataParseException { return data.optString("newUserToken"); } } public static class HeartRunParser extends BaseJsonParser<Integer> { @Override public Integer parse(JSONObject data) throws DataParseException { return data.optInt("status"); } } public static class FindUserIdParser extends BaseJsonParser<String> { @Override public String parse(JSONObject data) throws DataParseException { return data.optString("userid"); } } public static class HistoryParser extends BaseJsonParser<ParseResultVo> { private static final String KEY_DES = "description"; @Override public ParseResultVo parse(JSONObject data) throws DataParseException { ParseResultVo vo = new ParseResultVo(); if (data.has(StateParser.KEY_STATE)) { vo.result = Constant.ParseData_TimeOut; vo.reMsg = data.optString(KEY_DES); } return null; } } }