陈奇
2018-11-30 c40ab5711d9025a5e25a85b5b24be72cfa90e375
app/src/main/java/com/moral/yunfushao/activity/SplashActivity.java
@@ -5,18 +5,30 @@
import android.text.TextUtils;
import android.view.View;
import com.lzy.okgo.cache.CacheMode;
import com.moral.andbrickslib.utils.GsonUtil;
import com.moral.andbrickslib.utils.NetworkUtil;
import com.moral.andbrickslib.utils.StatusBarUtil;
import com.moral.yunfushao.wxapi.WXEntryActivity;
import com.moral.yunfushao.wxapi.data.AccessTokenBean;
import com.moral.yunfushao.wxapi.data.TokenEffectivenessBean;
import com.moral.yunfushao.MainActivity;
import com.moral.yunfushao.MainApp;
import com.moral.yunfushao.R;
import com.moral.yunfushao.base.BaseActivity;
import com.moral.yunfushao.common.WXConstants;
import com.moral.yunfushao.httputils.HttpCallBack;
import com.moral.yunfushao.httputils.WXHttpUtil;
import com.moral.yunfushao.utils.SharedPreferencesUtil;
/**
 * Created by haijiang on 2017/2/20.
 */
public class SplashActivity extends BaseActivity implements Runnable{
public class SplashActivity extends BaseActivity implements Runnable {
    private AccessTokenBean bean = null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
@@ -68,13 +80,85 @@
    public void run() {
        try {
            Thread.sleep(1000);
        } catch(InterruptedException e) {
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        if(!TextUtils.isEmpty(MainApp.userId)){
        bean = SharedPreferencesUtil.getUtil(this).getWXToken();
        if (NetworkUtil.isAvailable(this)) {
            //网络可用状态是否
            if (bean == null) {
                goHome();
                //非微信登陆
            } else {
                //微信登陆
//                checkWXLogin();
                checkTokenEffective();
            }
        }
    }
    /**
     * 判断是否token有效
     */
    private void checkTokenEffective() {
        String url = "https:api.weixin.qq.com/sns/auth?access_token=" + bean.getAccess_token() + "&openid=" + WXConstants.APP_ID;
        WXHttpUtil.doGet(url, CacheMode.DEFAULT, new HttpCallBack() {
            @Override
            public void onSuccess(String res, String msg) {
                TokenEffectivenessBean bean = GsonUtil.toObj(msg, TokenEffectivenessBean.class);
                if (bean.getErrcode() == 0) {
                    //成功授权
                    checkWXLogin();
                }
            }
            @Override
            public void showLoadingDialog() {
            }
            @Override
            public void onFail(int errno, String s) {
                //无效直接
                goHome();
            }
        });
    }
    /**
     * 检查是否登陆失效
     */
    private void checkWXLogin() {
        String url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid= " +
                WXConstants.APP_ID +
                "&secret=" + "应用密钥" + "&code="+
                WXEntryActivity.code +
                "&grant_type=authorization_code";
//        String url = "https://api.weixin.qq.com/sns/auth?access_token=ACCESS_TOKEN&openid=OPENID";
        WXHttpUtil.doGet(url, CacheMode.DEFAULT, new HttpCallBack() {
            @Override
            public void onSuccess(String res, String msg) {
                AccessTokenBean accessTokenBean = GsonUtil.toObj(msg, AccessTokenBean.class);
            }
            @Override
            public void showLoadingDialog() {
            }
            @Override
            public void onFail(int errno, String s) {
                goHome();
            }
        });
    }
    private void goHome() {
        if (!TextUtils.isEmpty(MainApp.userId)) {
            Intent intent = new Intent(this, MainActivity.class);
            startActivity(intent);
        }else{
        } else {
            Intent intent = new Intent(this, LoginActivity.class);
            startActivity(intent);
        }