From a45036d4003974f8e78eb819a932895291d677d6 Mon Sep 17 00:00:00 2001 From: 陈奇 <1650699704@qq.com> Date: Tue, 27 Nov 2018 17:14:41 +0800 Subject: [PATCH] [*] --- app/src/main/java/com/moral/yunfushao/wxapi/WXEntryActivity.java | 185 ++++++++++ app/src/main/java/com/moral/yunfushao/ui/PanelView.java | 4 app/src/main/java/com/moral/yunfushao/utils/SharedPreferencesUtil.java | 384 +++++++++++++--------- app/src/main/java/com/moral/yunfushao/activity/SplashActivity.java | 96 +++++ app/src/main/java/com/moral/yunfushao/wxapi/data/AccessTokenBean.java | 83 ++++ app/src/main/java/com/moral/yunfushao/httputils/WXHttpUtil.java | 41 ++ app/src/main/java/com/moral/yunfushao/activity/LoginActivity.java | 19 + app/src/main/java/com/moral/yunfushao/model/User.java | 18 app/src/main/java/com/moral/yunfushao/wxapi/data/WXUserBean.java | 106 ++++++ app/src/main/java/com/moral/yunfushao/MainApp.java | 4 app/src/main/java/com/moral/yunfushao/common/WXConstants.java | 18 + app/src/main/java/com/moral/yunfushao/wxapi/data/TokenEffectivenessBean.java | 34 ++ app/src/main/java/com/moral/yunfushao/MainActivity.java | 11 13 files changed, 823 insertions(+), 180 deletions(-) diff --git a/app/src/main/java/com/moral/yunfushao/MainActivity.java b/app/src/main/java/com/moral/yunfushao/MainActivity.java index ccc4547..e9c221c 100644 --- a/app/src/main/java/com/moral/yunfushao/MainActivity.java +++ b/app/src/main/java/com/moral/yunfushao/MainActivity.java @@ -142,7 +142,9 @@ @Override protected void initData() { - prepare(); + //������������������ + wxLoadingOutTime(); +// prepare(); if (MainApp.theApp.bleManager != null) { if (MainApp.theApp.bleManager.isSupportBle()) { MainApp.theApp.bleManager.enableBluetooth(); @@ -155,6 +157,13 @@ getAd(); } + /** + * ��������������������������������� + */ + private void wxLoadingOutTime() { + + } + @Override protected void processClick(View view) { diff --git a/app/src/main/java/com/moral/yunfushao/MainApp.java b/app/src/main/java/com/moral/yunfushao/MainApp.java index 2ea0394..dcfb44c 100644 --- a/app/src/main/java/com/moral/yunfushao/MainApp.java +++ b/app/src/main/java/com/moral/yunfushao/MainApp.java @@ -47,10 +47,12 @@ OkGo.getInstance().setCookieStore(new PersistentCookieStore()); if (sharedPreferencesUtil == null) { - sharedPreferencesUtil = new SharedPreferencesUtil(this); + sharedPreferencesUtil = SharedPreferencesUtil.getUtil(this); } userId = sharedPreferencesUtil.getUserid(); + + if (MainApp.theApp.sharedPreferencesUtil.getVoiceType() == 0) { AppConfig.voideUrl1 = "http://yfsapi.7drlb.com/video/boy/music.mp3"; AppConfig.voideUrl2 = "http://yfsapi.7drlb.com/video/boy/music1.mp3"; diff --git a/app/src/main/java/com/moral/yunfushao/activity/LoginActivity.java b/app/src/main/java/com/moral/yunfushao/activity/LoginActivity.java index 8074f2b..8e1b0d4 100644 --- a/app/src/main/java/com/moral/yunfushao/activity/LoginActivity.java +++ b/app/src/main/java/com/moral/yunfushao/activity/LoginActivity.java @@ -1,5 +1,6 @@ package com.moral.yunfushao.activity; +import android.animation.ObjectAnimator; import android.content.Intent; import android.os.Bundle; import android.support.annotation.Nullable; @@ -36,6 +37,7 @@ private TextView tv_forget, tv_register; private EditText et_phone, et_pwd; private IWXAPI iwxapi; + private ObjectAnimator animator; @Override protected void getBundleExtras(Bundle extras) { @@ -77,8 +79,24 @@ et_phone = findView(R.id.et_phone); et_pwd = findView(R.id.et_pwd); weixinlogin = findView(R.id.weixinlogin); + + // et_phone.setText("18362724160"); // et_pwd.setText("123456"); + initAnimator(); + } + + private void initAnimator() { +// ObjectAnimator an = ObjectAnimator.ofFloat(bt_sure, "translationX", 500f, 0f); +// an.start(); +//// ObjectAnimator translationY = ObjectAnimator.ofFloat(bt_sure, "rotation", 360f, 0f); +// ObjectAnimator scaleY = ObjectAnimator.ofFloat(bt_sure, "scaleY", 0f, 1f); +// ObjectAnimator scaleX = ObjectAnimator.ofFloat(bt_sure, "scaleX", 0f, 1f); +// +// AnimatorSet oo = new AnimatorSet(); +// oo.playTogether(scaleY, scaleX); +// oo.setDuration(500); +// oo.start(); } @Override @@ -86,6 +104,7 @@ bt_sure.setOnClickListener(this); tv_forget.setOnClickListener(this); tv_register.setOnClickListener(this); + weixinlogin.setOnClickListener(this); } @Override diff --git a/app/src/main/java/com/moral/yunfushao/activity/SplashActivity.java b/app/src/main/java/com/moral/yunfushao/activity/SplashActivity.java index 8fdcadc..a51f9d5 100644 --- a/app/src/main/java/com/moral/yunfushao/activity/SplashActivity.java +++ b/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,89 @@ 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() { + //https:api.weixin.qq.com/sns/auth?access_token=ACCESS_TOKEN&openid=OPENID + + 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); } diff --git a/app/src/main/java/com/moral/yunfushao/common/WXConstants.java b/app/src/main/java/com/moral/yunfushao/common/WXConstants.java new file mode 100644 index 0000000..f32c9a4 --- /dev/null +++ b/app/src/main/java/com/moral/yunfushao/common/WXConstants.java @@ -0,0 +1,18 @@ +package com.moral.yunfushao.common; + +/** + * @author : chenqi. + * @e_mail : 1650699704@163.com. + * @create_time : 2018/11/26. + * @Package_name: pregnancy_guard_android + */ +public class WXConstants { + // APP_ID ������������������������������������������������������appId + public static final String APP_ID = "wxd930ea5d5a258f4f"; + + public static class ShowMsgActivity { + public static final String STitle = "showmsg_title"; + public static final String SMessage = "showmsg_message"; + public static final String BAThumbData = "showmsg_thumb_data"; + } +} diff --git a/app/src/main/java/com/moral/yunfushao/httputils/WXHttpUtil.java b/app/src/main/java/com/moral/yunfushao/httputils/WXHttpUtil.java new file mode 100644 index 0000000..3d6a326 --- /dev/null +++ b/app/src/main/java/com/moral/yunfushao/httputils/WXHttpUtil.java @@ -0,0 +1,41 @@ +package com.moral.yunfushao.httputils; + +import com.lzy.okgo.OkGo; +import com.lzy.okgo.cache.CacheMode; +import com.lzy.okgo.callback.StringCallback; + +import okhttp3.Call; +import okhttp3.Response; + +/** + * @author : chenqi. + * @e_mail : 1650699704@163.com. + * @create_time : 2018/11/26. + * @Package_name: pregnancy_guard_android + */ +public class WXHttpUtil { + public static void doGet(String url, CacheMode cacheMode, final HttpCallBack httpCallBack) { + OkGo.get(url) + .cacheKey(String.valueOf(url)) + .tag(String.valueOf(url)) + .cacheMode(cacheMode) + .execute(new StringCallback() { + @Override + public void onSuccess(String s, Call call, Response response) { + //������������accessTokenBean + if (httpCallBack != null) { + httpCallBack.onSuccess(response.message(), s); + } + } + + @Override + public void onError(Call call, Response response, Exception e) { + super.onError(call, response, e); + if (httpCallBack != null) { + httpCallBack.onFail(response.code(), null); + } + //{"errcode":40029,"errmsg":"invalid code"} + } + }); + } +} diff --git a/app/src/main/java/com/moral/yunfushao/model/User.java b/app/src/main/java/com/moral/yunfushao/model/User.java index d276b54..8e45eea 100644 --- a/app/src/main/java/com/moral/yunfushao/model/User.java +++ b/app/src/main/java/com/moral/yunfushao/model/User.java @@ -7,16 +7,16 @@ */ public class User { - @JSONField(name="_id") + @JSONField(name = "_id") private String _id;//������id - private String phone; //������������ - private String encypt; //��������� - private String password; //������ - private String nickname; //������������ - private int refresh_frequency; //������������ - private int is_open_upload; //������������������ - private int is_lock; //������������������0������������������1������������ - private int video; // + private String phone; //������������ + private String encypt; //��������� + private String password; //������ + private String nickname; //������������ + private int refresh_frequency; //������������ + private int is_open_upload; //������������������ + private int is_lock; //������������������0������������������1������������ + private int video; // public String get_id() { return _id; diff --git a/app/src/main/java/com/moral/yunfushao/ui/PanelView.java b/app/src/main/java/com/moral/yunfushao/ui/PanelView.java index 20de007..e1a9218 100644 --- a/app/src/main/java/com/moral/yunfushao/ui/PanelView.java +++ b/app/src/main/java/com/moral/yunfushao/ui/PanelView.java @@ -14,7 +14,6 @@ import android.util.AttributeSet; import android.util.TypedValue; import android.view.View; -import android.view.animation.Animation; import com.moral.yunfushao.R; @@ -187,8 +186,7 @@ postInvalidate(); } }); - anim.setDuration(3000L); - anim.setRepeatCount(Animation.INFINITE); + anim.setDuration(500L); anim.start(); } // diff --git a/app/src/main/java/com/moral/yunfushao/utils/SharedPreferencesUtil.java b/app/src/main/java/com/moral/yunfushao/utils/SharedPreferencesUtil.java index 5f936b3..cb44f12 100644 --- a/app/src/main/java/com/moral/yunfushao/utils/SharedPreferencesUtil.java +++ b/app/src/main/java/com/moral/yunfushao/utils/SharedPreferencesUtil.java @@ -4,190 +4,250 @@ import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; +import com.moral.andbrickslib.utils.GsonUtil; +import com.moral.yunfushao.wxapi.data.AccessTokenBean; import com.moral.yunfushao.MainApp; import com.moral.yunfushao.model.User; public class SharedPreferencesUtil { - private Context mContext; - public final static String SP_LOGIN_USER_KEY = "login_user"; - public final static String SP_BLE = "ble"; - public SharedPreferencesUtil(Context context) { - this.mContext = context; - } + private static Context mContext = null; + public final static String SP_LOGIN_USER_KEY = "login_user"; + public final static String SP_BLE = "ble"; - /** - * ������������������������ - * @param mac + public static SharedPreferencesUtil getUtil(Context context) { + mContext = context; + return Instants.sharedPreferencesUtil; + } + + public static class Instants { + public static SharedPreferencesUtil sharedPreferencesUtil = new SharedPreferencesUtil(); + } + + /** + * ������������������������������������������������ + * + * @return */ - public void saveBLE(String mac){ - SharedPreferences preferences = mContext.getSharedPreferences(SP_BLE, Context.MODE_PRIVATE); - Editor editor = preferences.edit(); - editor.putString("mac", mac); - editor.commit(); - } + public static boolean getLoginModel() { + SharedPreferences preferences = mContext.getSharedPreferences(SP_LOGIN_USER_KEY, Context.MODE_PRIVATE); + return preferences.getBoolean("wx", false); + } - public String getBLE(){ - SharedPreferences preferences = mContext.getSharedPreferences(SP_BLE, Context.MODE_PRIVATE); - String mac = preferences.getString("mac",""); - return mac; - } + /** + * ������������������Token + */ + public void saveWXToken(AccessTokenBean bean) { + SharedPreferences preferences = mContext.getSharedPreferences(SP_LOGIN_USER_KEY, Context.MODE_PRIVATE); + Editor edit = preferences.edit(); + edit.putString("token_wx", GsonUtil.toStr(bean)); + edit.commit(); + } + + /** + * ������������������Token + */ + public AccessTokenBean getWXToken() { + SharedPreferences preferences = mContext.getSharedPreferences(SP_LOGIN_USER_KEY, Context.MODE_PRIVATE); + String s = preferences.getString("token_wx", null); + if (s == null) { + return null; + } else + return GsonUtil.toObj(s, AccessTokenBean.class); + } + + /** + * ������������������Token + */ + public void removeWXToken() { + SharedPreferences preferences = mContext.getSharedPreferences(SP_LOGIN_USER_KEY, Context.MODE_PRIVATE); + Editor edit = preferences.edit(); + edit.putString("token_wx", null); + } - public void saveLoginInfo(User loginUser){ - SharedPreferences preferences = mContext.getSharedPreferences(SP_LOGIN_USER_KEY, Context.MODE_PRIVATE); - Editor editor = preferences.edit(); - editor.putString("id",loginUser.get_id()); - editor.putString("phone",loginUser.getPhone()); - editor.putString("encypt",loginUser.getEncypt()); - editor.putString("password",loginUser.getPassword()); - editor.putString("nickname",loginUser.getNickname()); - editor.putInt("refresh_frequency",loginUser.getRefresh_frequency()); - editor.putInt("is_open_upload",loginUser.getIs_open_upload()); - editor.putInt("is_lock",loginUser.getIs_lock()); - editor.putInt("video",loginUser.getVideo()); - editor.commit(); - } + /** + * ������������������������ + * + * @param mac + */ + public void saveBLE(String mac) { + SharedPreferences preferences = mContext.getSharedPreferences(SP_BLE, Context.MODE_PRIVATE); + Editor editor = preferences.edit(); + editor.putString("mac", mac); + editor.commit(); + } - public User getLoginInfo(){ - SharedPreferences sp = mContext.getSharedPreferences(SP_LOGIN_USER_KEY, Context.MODE_PRIVATE); - User loginUserInfo = new User(); - loginUserInfo.set_id(sp.getString("id","")); - loginUserInfo.setEncypt(sp.getString("encypt","")); - loginUserInfo.setPhone(sp.getString("phone","")); - loginUserInfo.setPassword(sp.getString("password","")); - loginUserInfo.setNickname(sp.getString("nickname","")); - loginUserInfo.setRefresh_frequency(sp.getInt("refresh_frequency",10)); - loginUserInfo.setIs_open_upload(sp.getInt("is_open_upload",1)); - loginUserInfo.setIs_lock(sp.getInt("is_lock",0)); - loginUserInfo.setVideo(sp.getInt("video",0)); - return loginUserInfo; - } + public String getBLE() { + SharedPreferences preferences = mContext.getSharedPreferences(SP_BLE, Context.MODE_PRIVATE); + String mac = preferences.getString("mac", ""); + return mac; + } - public String getUserid(){ - SharedPreferences preferences = mContext.getSharedPreferences(SP_LOGIN_USER_KEY, Context.MODE_PRIVATE); - String userid = preferences.getString("id",""); - return userid; - } + /** + * ������������ + * ������������������������������ + * + * @param loginUser + */ + public void saveLoginInfo(User loginUser) { + removeWXToken(); + SharedPreferences preferences = mContext.getSharedPreferences(SP_LOGIN_USER_KEY, Context.MODE_PRIVATE); + Editor editor = preferences.edit(); + editor.putString("id", loginUser.get_id()); + editor.putString("phone", loginUser.getPhone()); + editor.putString("encypt", loginUser.getEncypt()); + editor.putString("password", loginUser.getPassword()); + editor.putString("nickname", loginUser.getNickname()); + editor.putInt("refresh_frequency", loginUser.getRefresh_frequency()); + editor.putInt("is_open_upload", loginUser.getIs_open_upload()); + editor.putInt("is_lock", loginUser.getIs_lock()); + editor.putInt("video", loginUser.getVideo()); + editor.commit(); + } - public void setUpload(int is_open_upload){ - SharedPreferences preferences = mContext.getSharedPreferences(SP_LOGIN_USER_KEY, Context.MODE_PRIVATE); - Editor editor = preferences.edit(); - editor.putInt("is_open_upload",is_open_upload); - editor.commit(); - } + public User getLoginInfo() { + SharedPreferences sp = mContext.getSharedPreferences(SP_LOGIN_USER_KEY, Context.MODE_PRIVATE); + User loginUserInfo = new User(); + loginUserInfo.set_id(sp.getString("id", "")); + loginUserInfo.setEncypt(sp.getString("encypt", "")); + loginUserInfo.setPhone(sp.getString("phone", "")); + loginUserInfo.setPassword(sp.getString("password", "")); + loginUserInfo.setNickname(sp.getString("nickname", "")); + loginUserInfo.setRefresh_frequency(sp.getInt("refresh_frequency", 10)); + loginUserInfo.setIs_open_upload(sp.getInt("is_open_upload", 1)); + loginUserInfo.setIs_lock(sp.getInt("is_lock", 0)); + loginUserInfo.setVideo(sp.getInt("video", 0)); + return loginUserInfo; + } - public void setVideo(int video){ - SharedPreferences preferences = mContext.getSharedPreferences(SP_LOGIN_USER_KEY, Context.MODE_PRIVATE); - Editor editor = preferences.edit(); - editor.putInt("video",video); - editor.commit(); - } - public void setRefreh(int refresh){ - SharedPreferences preferences = mContext.getSharedPreferences(SP_LOGIN_USER_KEY, Context.MODE_PRIVATE); - Editor editor = preferences.edit(); - editor.putInt("refresh_frequency",refresh); - editor.commit(); - } - - public void exitLogin(){ - SharedPreferences preferences = mContext.getSharedPreferences(SP_LOGIN_USER_KEY, Context.MODE_PRIVATE); - Editor editor = preferences.edit(); - editor.putString("id",""); - editor.putString("phone",""); - editor.putString("encypt",""); - editor.putString("password",""); - editor.putString("nickname",""); - editor.putInt("refresh_frequency",0); - editor.putInt("is_open_upload",0); - editor.putInt("is_lock",0); - editor.putInt("video",0); - editor.commit(); - MainApp.theApp.userId=""; - saveShowAd(""); - } + public String getUserid() { + SharedPreferences preferences = mContext.getSharedPreferences(SP_LOGIN_USER_KEY, Context.MODE_PRIVATE); + String userid = preferences.getString("id", ""); + return userid; + } - /** - * ��������������������������� - * @param flag - */ - public void saveFirstUse(int flag) { - SharedPreferences preferences = mContext.getSharedPreferences("firstInfo", - Context.MODE_PRIVATE); - Editor editor = preferences.edit(); - editor.putInt("firstUse", flag); - editor.commit(); - } - - public int getFirstUse() { - SharedPreferences preferences = mContext.getSharedPreferences("firstInfo", - Context.MODE_PRIVATE); - int firstUse = preferences.getInt("firstUse", 0); - return firstUse; - } + public void setUpload(int is_open_upload) { + SharedPreferences preferences = mContext.getSharedPreferences(SP_LOGIN_USER_KEY, Context.MODE_PRIVATE); + Editor editor = preferences.edit(); + editor.putInt("is_open_upload", is_open_upload); + editor.commit(); + } + + public void setVideo(int video) { + SharedPreferences preferences = mContext.getSharedPreferences(SP_LOGIN_USER_KEY, Context.MODE_PRIVATE); + Editor editor = preferences.edit(); + editor.putInt("video", video); + editor.commit(); + } + + public void setRefreh(int refresh) { + SharedPreferences preferences = mContext.getSharedPreferences(SP_LOGIN_USER_KEY, Context.MODE_PRIVATE); + Editor editor = preferences.edit(); + editor.putInt("refresh_frequency", refresh); + editor.commit(); + } + + public void exitLogin() { + SharedPreferences preferences = mContext.getSharedPreferences(SP_LOGIN_USER_KEY, Context.MODE_PRIVATE); + Editor editor = preferences.edit(); + editor.putString("id", ""); + editor.putString("phone", ""); + editor.putString("encypt", ""); + editor.putString("password", ""); + editor.putString("nickname", ""); + editor.putInt("refresh_frequency", 0); + editor.putInt("is_open_upload", 0); + editor.putInt("is_lock", 0); + editor.putInt("video", 0); + editor.commit(); + MainApp.theApp.userId = ""; + saveShowAd(""); + } + + /** + * ��������������������������� + * + * @param flag + */ + public void saveFirstUse(int flag) { + SharedPreferences preferences = mContext.getSharedPreferences("firstInfo", + Context.MODE_PRIVATE); + Editor editor = preferences.edit(); + editor.putInt("firstUse", flag); + editor.commit(); + } + + public int getFirstUse() { + SharedPreferences preferences = mContext.getSharedPreferences("firstInfo", + Context.MODE_PRIVATE); + int firstUse = preferences.getInt("firstUse", 0); + return firstUse; + } - public void saveShowAd(String time) { - SharedPreferences preferences = mContext.getSharedPreferences("firstInfo", - Context.MODE_PRIVATE); - Editor editor = preferences.edit(); - editor.putString("time", time); - editor.commit(); - } + public void saveShowAd(String time) { + SharedPreferences preferences = mContext.getSharedPreferences("firstInfo", + Context.MODE_PRIVATE); + Editor editor = preferences.edit(); + editor.putString("time", time); + editor.commit(); + } - public String getShowAd() { - SharedPreferences preferences = mContext.getSharedPreferences("firstInfo", - Context.MODE_PRIVATE); - String time = preferences.getString("time",""); - return time; - } + public String getShowAd() { + SharedPreferences preferences = mContext.getSharedPreferences("firstInfo", + Context.MODE_PRIVATE); + String time = preferences.getString("time", ""); + return time; + } - /** - * ������ - * @param video - */ - public void saveVideoList(String video) { - SharedPreferences preferences = mContext.getSharedPreferences("videoInfo", - Context.MODE_PRIVATE); - Editor editor = preferences.edit(); - editor.putString("video", video); - editor.commit(); - } + /** + * ������ + * + * @param video + */ + public void saveVideoList(String video) { + SharedPreferences preferences = mContext.getSharedPreferences("videoInfo", + Context.MODE_PRIVATE); + Editor editor = preferences.edit(); + editor.putString("video", video); + editor.commit(); + } - public String getVideoList() { - SharedPreferences preferences = mContext.getSharedPreferences("videoInfo", - Context.MODE_PRIVATE); - String video = preferences.getString("video",""); - return video; - } + public String getVideoList() { + SharedPreferences preferences = mContext.getSharedPreferences("videoInfo", + Context.MODE_PRIVATE); + String video = preferences.getString("video", ""); + return video; + } - public void saveTest(String test) { - SharedPreferences preferences = mContext.getSharedPreferences("test", - Context.MODE_PRIVATE); - Editor editor = preferences.edit(); - editor.putString("test", test); - editor.commit(); - } + public void saveTest(String test) { + SharedPreferences preferences = mContext.getSharedPreferences("test", + Context.MODE_PRIVATE); + Editor editor = preferences.edit(); + editor.putString("test", test); + editor.commit(); + } - public String getTest() { - SharedPreferences preferences = mContext.getSharedPreferences("test", - Context.MODE_PRIVATE); - String test = preferences.getString("test",""); - return test; - } + public String getTest() { + SharedPreferences preferences = mContext.getSharedPreferences("test", + Context.MODE_PRIVATE); + String test = preferences.getString("test", ""); + return test; + } - public void saveVoiceType(int sex) { - SharedPreferences preferences = mContext.getSharedPreferences("sex", - Context.MODE_PRIVATE); - Editor editor = preferences.edit(); - editor.putInt("sex", sex); - editor.commit(); - } + public void saveVoiceType(int sex) { + SharedPreferences preferences = mContext.getSharedPreferences("sex", + Context.MODE_PRIVATE); + Editor editor = preferences.edit(); + editor.putInt("sex", sex); + editor.commit(); + } - public int getVoiceType() { - SharedPreferences preferences = mContext.getSharedPreferences("sex", - Context.MODE_PRIVATE); - int test = preferences.getInt("sex",0); - return test; - } + public int getVoiceType() { + SharedPreferences preferences = mContext.getSharedPreferences("sex", + Context.MODE_PRIVATE); + int test = preferences.getInt("sex", 0); + return test; + } } diff --git a/app/src/main/java/com/moral/yunfushao/wxapi/WXEntryActivity.java b/app/src/main/java/com/moral/yunfushao/wxapi/WXEntryActivity.java new file mode 100644 index 0000000..561afbd --- /dev/null +++ b/app/src/main/java/com/moral/yunfushao/wxapi/WXEntryActivity.java @@ -0,0 +1,185 @@ +package com.moral.yunfushao.wxapi; + +import android.app.Activity; +import android.content.Intent; +import android.os.Bundle; +import android.support.annotation.Nullable; +import android.widget.Toast; + +import com.lzy.okgo.cache.CacheMode; +import com.moral.andbrickslib.utils.GsonUtil; +import com.moral.yunfushao.MainActivity; +import com.moral.yunfushao.common.WXConstants; +import com.moral.yunfushao.httputils.HttpCallBack; +import com.moral.yunfushao.httputils.WXHttpUtil; +import com.moral.yunfushao.model.User; +import com.moral.yunfushao.wxapi.data.AccessTokenBean; +import com.moral.yunfushao.wxapi.data.WXUserBean; +import com.tencent.mm.opensdk.constants.ConstantsAPI; +import com.tencent.mm.opensdk.modelbase.BaseReq; +import com.tencent.mm.opensdk.modelbase.BaseResp; +import com.tencent.mm.opensdk.modelmsg.SendAuth; +import com.tencent.mm.opensdk.modelmsg.ShowMessageFromWX; +import com.tencent.mm.opensdk.modelmsg.WXAppExtendObject; +import com.tencent.mm.opensdk.modelmsg.WXMediaMessage; +import com.tencent.mm.opensdk.openapi.IWXAPI; +import com.tencent.mm.opensdk.openapi.IWXAPIEventHandler; +import com.tencent.mm.opensdk.openapi.WXAPIFactory; + +/** + * @author : chenqi. + * @e_mail : 1650699704@163.com. + * @create_time : 2018/11/26. + * @Package_name: pregnancy_guard_android + */ +public class WXEntryActivity extends Activity implements IWXAPIEventHandler { + private IWXAPI api; + public static String code = ""; + + @Override + protected void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + api = WXAPIFactory.createWXAPI(this, WXConstants.APP_ID, false); + } + + @Override + protected void onNewIntent(Intent intent) { + super.onNewIntent(intent); + setIntent(intent); + api.handleIntent(intent, this); + } + + @Override + public void onReq(BaseReq baseReq) { + switch (baseReq.getType()) { + case ConstantsAPI.COMMAND_GETMESSAGE_FROM_WX: + goToGetMsg(); + break; + case ConstantsAPI.COMMAND_SHOWMESSAGE_FROM_WX: + goToShowMsg((ShowMessageFromWX.Req) baseReq); + break; + default: + break; + } + } + + @Override + public void onResp(BaseResp baseResp) { + String result; + + Toast.makeText(this, "baseresp.getType = " + baseResp.getType(), Toast.LENGTH_SHORT).show(); + + switch (baseResp.errCode) { + case BaseResp.ErrCode.ERR_OK: + code = ((SendAuth.Resp) baseResp).code; + result = "������������"; + checkWXLogin(); + //������������ + break; + case BaseResp.ErrCode.ERR_USER_CANCEL: + result = "������������"; + break; + case BaseResp.ErrCode.ERR_AUTH_DENIED: + result = "���������������"; + break; + case BaseResp.ErrCode.ERR_UNSUPPORT: + result = "���������������"; + break; + default: + result = "������������"; + break; + } + + Toast.makeText(this, result, Toast.LENGTH_LONG).show(); + } + + /** + * ������������������������ + */ + 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"; + WXHttpUtil.doGet(url, CacheMode.DEFAULT, new HttpCallBack() { + @Override + public void onSuccess(String res, String msg) { + AccessTokenBean accessTokenBean = GsonUtil.toObj(msg, AccessTokenBean.class); + if (accessTokenBean.getAccess_token() == null && accessTokenBean.getOpenid() == null) + getUserInfor(accessTokenBean.getAccess_token(), accessTokenBean.getOpenid()); + } + + @Override + public void showLoadingDialog() { + // + } + + @Override + public void onFail(int errno, String s) { + } + }); + } + + /** + * ������������������������ + * + * @param access_token + * @param openid + */ + private void getUserInfor(String access_token, String openid) { + String path = "https://api.weixin.qq.com/sns/userinfo?access_token=" + + access_token + + "&openid=" + + openid; + WXHttpUtil.doGet(path, CacheMode.DEFAULT, new HttpCallBack() { + @Override + public void onSuccess(String res, String msg) { + WXUserBean bean = new WXUserBean(); + User user = new User(); + user.set_id(bean.getOpenid()); + user.setNickname(bean.getNickname()); + } + + @Override + public void showLoadingDialog() { + + } + + @Override + public void onFail(int errno, String s) { + + } + }); + } + + private void goToGetMsg() { + Intent intent = new Intent(this, MainActivity.class); + intent.putExtras(getIntent()); + startActivity(intent); + finish(); + } + + + private void goToShowMsg(ShowMessageFromWX.Req showReq) { + WXMediaMessage wxMsg = showReq.message; + WXAppExtendObject obj = (WXAppExtendObject) wxMsg.mediaObject; + + StringBuffer msg = new StringBuffer(); // ������������������������������������ + msg.append("description: "); + msg.append(wxMsg.description); + msg.append("\n"); + msg.append("extInfo: "); + msg.append(obj.extInfo); + msg.append("\n"); + msg.append("filePath: "); + msg.append(obj.filePath); + + Intent intent = new Intent(this, MainActivity.class); + intent.putExtra(WXConstants.ShowMsgActivity.STitle, wxMsg.title); + intent.putExtra(WXConstants.ShowMsgActivity.SMessage, msg.toString()); + intent.putExtra(WXConstants.ShowMsgActivity.BAThumbData, wxMsg.thumbData); + startActivity(intent); + finish(); + } +} diff --git a/app/src/main/java/com/moral/yunfushao/wxapi/data/AccessTokenBean.java b/app/src/main/java/com/moral/yunfushao/wxapi/data/AccessTokenBean.java new file mode 100644 index 0000000..8cacdaf --- /dev/null +++ b/app/src/main/java/com/moral/yunfushao/wxapi/data/AccessTokenBean.java @@ -0,0 +1,83 @@ +package com.moral.yunfushao.wxapi.data; + +/** + * @author : chenqi. + * @e_mail : 1650699704@163.com. + * @create_time : 2018/11/26. + * @Package_name: pregnancy_guard_android + * ������������������������������code������access_token + * ������������������code������������������������������access_token��� + * access_token ������������������ + * expires_in access_token������������������������������������������������ + * refresh_token ������������access_token + * openid ������������������������ + * scope ������������������������������������������,��������� + * unionid ������������������������������������������������userinfo��������������������������������� + * + */ +public class AccessTokenBean { + + /** + * access_token : ACCESS_TOKEN + * expires_in : 7200 + * refresh_token : REFRESH_TOKEN + * openid : OPENID + * scope : SCOPE + * unionid : o6_bmasdasdsad6_2sgVt7hMZOPfL + */ + + private String access_token; + private int expires_in; + private String refresh_token; + private String openid; + private String scope; + private String unionid; + + public String getAccess_token() { + return access_token; + } + + public void setAccess_token(String access_token) { + this.access_token = access_token; + } + + public int getExpires_in() { + return expires_in; + } + + public void setExpires_in(int expires_in) { + this.expires_in = expires_in; + } + + public String getRefresh_token() { + return refresh_token; + } + + public void setRefresh_token(String refresh_token) { + this.refresh_token = refresh_token; + } + + public String getOpenid() { + return openid; + } + + public void setOpenid(String openid) { + this.openid = openid; + } + + public String getScope() { + return scope; + } + + public void setScope(String scope) { + this.scope = scope; + } + + public String getUnionid() { + return unionid; + } + + public void setUnionid(String unionid) { + this.unionid = unionid; + } +} diff --git a/app/src/main/java/com/moral/yunfushao/wxapi/data/TokenEffectivenessBean.java b/app/src/main/java/com/moral/yunfushao/wxapi/data/TokenEffectivenessBean.java new file mode 100644 index 0000000..aaca234 --- /dev/null +++ b/app/src/main/java/com/moral/yunfushao/wxapi/data/TokenEffectivenessBean.java @@ -0,0 +1,34 @@ +package com.moral.yunfushao.wxapi.data; + +/** + * @author : chenqi. + * @e_mail : 1650699704@163.com. + * @create_time : 2018/11/26. + * @Package_name: pregnancy_guard_android + */ +public class TokenEffectivenessBean { + + /** + * errcode : 0 + * errmsg : ok + */ + + private int errcode; + private String errmsg; + + public int getErrcode() { + return errcode; + } + + public void setErrcode(int errcode) { + this.errcode = errcode; + } + + public String getErrmsg() { + return errmsg; + } + + public void setErrmsg(String errmsg) { + this.errmsg = errmsg; + } +} diff --git a/app/src/main/java/com/moral/yunfushao/wxapi/data/WXUserBean.java b/app/src/main/java/com/moral/yunfushao/wxapi/data/WXUserBean.java new file mode 100644 index 0000000..b29f5ec --- /dev/null +++ b/app/src/main/java/com/moral/yunfushao/wxapi/data/WXUserBean.java @@ -0,0 +1,106 @@ +package com.moral.yunfushao.wxapi.data; + +import java.util.List; + +/** + * @author : chenqi. + * @e_mail : 1650699704@163.com. + * @create_time : 2018/11/26. + * @Package_name: pregnancy_guard_android + */ +public class WXUserBean { + + /** + * openid : OPENID + * nickname : NICKNAME + * sex : 1 + * province : PROVINCE + * city : CITY + * country : COUNTRY + * headimgurl : http://wx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/0 + * privilege : ["PRIVILEGE1","PRIVILEGE2"] + * unionid : o6_bmasdasdsad6_2sgVt7hMZOPfL + */ + + private String openid; + private String nickname; + private int sex; + private String province; + private String city; + private String country; + private String headimgurl; + private String unionid; + private List<String> privilege; + + public String getOpenid() { + return openid; + } + + public void setOpenid(String openid) { + this.openid = openid; + } + + public String getNickname() { + return nickname; + } + + public void setNickname(String nickname) { + this.nickname = nickname; + } + + public int getSex() { + return sex; + } + + public void setSex(int sex) { + this.sex = sex; + } + + public String getProvince() { + return province; + } + + public void setProvince(String province) { + this.province = province; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getCountry() { + return country; + } + + public void setCountry(String country) { + this.country = country; + } + + public String getHeadimgurl() { + return headimgurl; + } + + public void setHeadimgurl(String headimgurl) { + this.headimgurl = headimgurl; + } + + public String getUnionid() { + return unionid; + } + + public void setUnionid(String unionid) { + this.unionid = unionid; + } + + public List<String> getPrivilege() { + return privilege; + } + + public void setPrivilege(List<String> privilege) { + this.privilege = privilege; + } +} -- Gitblit v1.8.0