Skip to content
/ TLint Public
forked from gzsll/TLint

虎扑非官方客户端TLint(A material design app for hupu.com using mvp pattern )

License

Notifications You must be signed in to change notification settings

szhupeng/TLint

 
 

Repository files navigation

HuPu-TL

根据虎扑新版api开发,基于material design,使用mvp模式开发~纯练手之作,由于是从旧版本的修改而来,代码还很乱,有时间会整理,目前基本功能已完成,欢迎jrs来star和fork,有什么问题也可以pull requests

Get it on Google Play

你也可以在应用市场下载应用体验 豌豆荚 本地下载

应用截图

api接口文档(相关实现在com.gzsll.hupu.api底下,使用retrofit进行请求)

登录接口

http://mobileapi.hupu.com/1/1.1.1/passport/login

参数(post) username password(做md5加密处理)

论坛相关接口

http://bbs.mobile.hupu.com

基本参数

  • uuid 设备唯一id
  • v 版本号(目前固定为固定值7.0)
  • platform 平台(android或ios)
  • version 版本(固定1.1)
  • _timestamp 时间戳
  • sign 签名信息(获取方法如下)

sign获取方法

public String getRequestSign(Map<String, String> map) {
        ArrayList<Map.Entry<String, String>> list = new ArrayList<Map.Entry<String, String>>(map.entrySet());
        Collections.sort(list, new Comparator<Map.Entry<String, String>>() {
            @Override
            public int compare(Map.Entry<String, String> lhs, Map.Entry<String, String> rhs) {
                return lhs.getKey().compareTo(rhs.getKey());
            }
        });
        StringBuilder builder = new StringBuilder();
        for (int i = 0; i < list.size(); i = i + 1) {
            Map.Entry<String, String> map1 = list.get(i);
            builder.append(map1.getKey()).append(map1.getValue());
        }
        builder.append("3542e676b4c80983f6131cdfe577ac9b");
        logger.debug("builder:" + builder.toString());
        return securityHelper.getMD5(builder.toString());
    }
  • 将所有请求参数按key在字典中的顺序排列
  • 按照排序顺序依次将key、value值拼接起来
  • 最后拼接3542e676b4c80983f6131cdfe577ac9b,取拼接的值的md5
  • 例如http://bbs.mobile.hupu.com/notice/getMessageReply?sign=3f165118871621f467c83ebfc33393f6&lastId=0&platform=android&v=7.0&uuid=866470026532711&version=1.1这个请求的拼接串为lastId0platformandroiduuid866470026532711v7.0version1.13542e676b4c80983f6131cdfe577ac9b,sign的值就为3f165118871621f467c83ebfc33393f6

获取用户基本信息 /users/getUserBaseInfo

  • 参数 uid(用户id)

获取板块列表 /group/getBoardList

  • 参数 无
  • http://bbs.mobile.hupu.com/group/getBoardList?sign=5f36ac431cf4400c01dd63a33e623e13&platform=android&v=7.0&version=1.1&uuid=866470026532711

获取帖子列表 /group/getGroupThreadsList

  • 参数 groupId(板块id);lastId(最后一篇id);limit(返回篇数);type(帖子类型,传hot或空);
public void getGroupThreadsList(String groupId, String lastId, String type, List<String> list, Callback<ThreadsResult> callback) {
        Map<String, String> params = requestHelper.getHttpRequestMap();
        params.put("groupId", groupId);
        params.put("lastId", lastId);
        params.put("limit", "20");
        if (list == null) {
            params.put("special", "0");
            params.put("type", type);
        } else {
            JSONArray jSONArray = new JSONArray();
            for (String str : list) {
                jSONArray.put(str);
            }
            params.put("gids", jSONArray.toString());
        }
        String sign = requestHelper.getRequestSign(params);
        huPuService.getGroupThreadsList(sign, params, callback);
    }

获取帖子内容 /group/getGroupThreadInfo

  • 参数 groupThreadId(帖子id);lightReplyId(最后回复id);page(页数);diaplayImgs(是否显示图片,0或1 好像无效?)

其他接口请自行查看代码

License

Copyright (c) 2014 pursll

Licensed under the Apache License, Version 3.0

About

虎扑非官方客户端TLint(A material design app for hupu.com using mvp pattern )

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%