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