379 lines
16 KiB
Java
379 lines
16 KiB
Java
package cn.shangyu.gdxzExpert.activity;
|
|
|
|
import android.app.AlertDialog;
|
|
import android.graphics.Color;
|
|
import android.text.Html;
|
|
import android.util.Log;
|
|
import android.view.LayoutInflater;
|
|
import android.view.View;
|
|
import android.view.Window;
|
|
import android.view.WindowManager;
|
|
import android.widget.Button;
|
|
import android.widget.RelativeLayout;
|
|
import android.widget.TextView;
|
|
|
|
import com.gyf.immersionbar.ImmersionBar;
|
|
import com.umeng.socialize.UMAuthListener;
|
|
import com.umeng.socialize.UMShareAPI;
|
|
import com.umeng.socialize.bean.SHARE_MEDIA;
|
|
|
|
import org.json.JSONException;
|
|
import org.json.JSONObject;
|
|
|
|
import java.util.HashMap;
|
|
import java.util.Map;
|
|
|
|
import cn.shangyu.gdxzExpert.R;
|
|
import cn.shangyu.gdxzExpert.base.BaseActivity;
|
|
import cn.shangyu.gdxzExpert.http.OnCallBackFromNet;
|
|
import cn.shangyu.gdxzExpert.ui.CustomProgressDialog;
|
|
import cn.shangyu.gdxzExpert.utils.CommonUtil;
|
|
import cn.shangyu.gdxzExpert.utils.SharePrefUtil;
|
|
import cn.shangyu.gdxzExpert.utils.StringUtil;
|
|
import cn.shangyu.gdxzExpert.utils.ToastUtil;
|
|
import cn.shangyu.gdxzExpert.utils.UIUtils;
|
|
import cn.shangyu.gdxzExpert.utils.Url;
|
|
import cn.shangyu.gdxzExpert.widget.LoadingPage;
|
|
|
|
//import cn.shangyu.gdxzExpert.utils.SharePrefUtil;
|
|
|
|
public class BindWeChatActivity extends BaseActivity implements OnCallBackFromNet {
|
|
|
|
private BindWeChatActivity ctx;
|
|
private String openid;
|
|
private String unionid ="";
|
|
private static final int ISBOUNDWECHATBYUUID = 200;
|
|
private static final int ADDWECHATEXPERT = 201;
|
|
private static final int DELWECHATEXPERT = 202;
|
|
private TextView bind_state;
|
|
private TextView we_name;
|
|
private CustomProgressDialog pd;
|
|
private AlertDialog dialog4;//提示解绑
|
|
private TextView tip_tv;
|
|
@Override
|
|
public void setTitle() {
|
|
|
|
ctx=this;
|
|
// layout_top.setBackgroundColor(BindWeChatActivity.this.getResources().getColor(
|
|
// R.color.top_bg));
|
|
top_title.setText("微信关联");
|
|
if(CommonUtil.BigModule())
|
|
{
|
|
top_title.setTextSize(23);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public View onCreateSuccessedView() {
|
|
ImmersionBar.with(this).keyboardEnable(true).statusBarDarkFont(true).titleBar(mToolbar).init();
|
|
View view;
|
|
if(CommonUtil.BigModule())
|
|
{
|
|
view= UIUtils.inflate(R.layout.activity_bind_we_chat_big);
|
|
}
|
|
else
|
|
{
|
|
view= UIUtils.inflate(R.layout.activity_bind_we_chat);
|
|
}
|
|
bind_state=view.findViewById(R.id.bind_state);
|
|
we_name=view.findViewById(R.id.we_name);
|
|
tip_tv=view.findViewById(R.id.tip_tv);
|
|
bind_state.setOnClickListener(new View.OnClickListener() {
|
|
@Override
|
|
public void onClick(View v) {
|
|
if ("绑定".equals(bind_state.getText().toString())){
|
|
BindWX();
|
|
}
|
|
else {
|
|
|
|
LayoutInflater inflater = LayoutInflater.from(BindWeChatActivity.this);
|
|
RelativeLayout layout = (RelativeLayout) inflater.inflate(R.layout.dialog_notification, null);
|
|
dialog4 = new AlertDialog.Builder(
|
|
BindWeChatActivity.this).create();
|
|
TextView tv_tishi = layout.findViewById(R.id.tv_tishi);
|
|
tv_tishi.setText("您确定要解绑微信吗?");
|
|
Button btn_sure = (Button) layout.findViewById(R.id.btn_sure);
|
|
Button btn_cancel = (Button) layout.findViewById(R.id.btn_cancel);
|
|
dialog4.show();
|
|
Window window =dialog4.getWindow();
|
|
// window.setGravity(Gravity.CENTER);
|
|
WindowManager.LayoutParams layoutParams = window.getAttributes();
|
|
layoutParams.width = WindowManager.LayoutParams.MATCH_PARENT;
|
|
layoutParams.height = WindowManager.LayoutParams.WRAP_CONTENT;
|
|
window.setAttributes(layoutParams);
|
|
|
|
dialog4.getWindow().setContentView(layout);
|
|
|
|
btn_cancel.setOnClickListener(new View.OnClickListener() {
|
|
@Override
|
|
public void onClick(View v) {
|
|
// TODO Auto-generated method stub
|
|
dialog4.dismiss();
|
|
|
|
}
|
|
});
|
|
btn_sure.setOnClickListener(new View.OnClickListener() {
|
|
@Override
|
|
public void onClick(View v) {
|
|
|
|
dialog4.dismiss();
|
|
UnBindWX();
|
|
|
|
}
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
});
|
|
// if(SharePrefUtil.getString(ctx, "bind_state", "绑定").equals("绑定"))
|
|
// {
|
|
// bind_state.setText("绑定");
|
|
// bind_state.setTextColor(Color.WHITE);
|
|
// bind_state.setBackground(getResources().getDrawable(R.drawable.btn_all_wecchat));
|
|
// }
|
|
// else
|
|
// {
|
|
// bind_state.setText("解绑");
|
|
// bind_state.setTextColor(getResources().getColor(R.color.c999999));
|
|
// bind_state.setBackground(getResources().getDrawable(R.drawable.btn_all_nine));
|
|
// }
|
|
if (!UIUtils.isNetWorkConnected(ctx)) {
|
|
ToastUtil.showToast("网络不可用,请连接网络再试");
|
|
}
|
|
String str7 = "<font color=\"#000000\">操作说明:</font><br><font color=\"#999999\">1.肝胆相照注册账号与微信绑定,肝胆相照相关直播、视频无忧随心看</font>" +
|
|
"<br><font color=\"#999999\">2.仅需操作一次,后续通过微信观看直播、视频无需额外操作,立即进入</font>" +
|
|
"<br><br><font color=\"#999999\">若您有任何疑问或需要我们协助,请与您的小助手联系或直接微信联系</font>" +
|
|
"<font color=\"#FC1A1A\">igandan1000</font>";
|
|
tip_tv.setText(Html.fromHtml(str7));
|
|
pd = new CustomProgressDialog(this, "请稍候");
|
|
pd.show();
|
|
isBoundWechatByUuid();
|
|
return view;
|
|
}
|
|
|
|
@Override
|
|
protected void onResume() {
|
|
super.onResume();
|
|
needreportPage("微信关联");
|
|
}
|
|
|
|
@Override
|
|
public LoadingPage.ResultState onLoad() {
|
|
return LoadingPage.ResultState.STATE_SUCCESSED;
|
|
}
|
|
|
|
@Override
|
|
protected void processClick(View v) {
|
|
|
|
}
|
|
//判断用户是否绑定过微信
|
|
private void isBoundWechatByUuid() {
|
|
Map<String,String> map = new HashMap<>();
|
|
|
|
sendJsonPostParamtoNetSignMD5(Url.isBoundWechatByUuid,map,ISBOUNDWECHATBYUUID,this);
|
|
}
|
|
private UMAuthListener umAuthListener = new UMAuthListener() {
|
|
@Override
|
|
public void onStart(SHARE_MEDIA platform) {
|
|
//授权开始的回调
|
|
}
|
|
@Override
|
|
public void onComplete(SHARE_MEDIA platform, int action, Map<String, String> data) {
|
|
// Toast.makeText(getApplicationContext(), "Authorize succeed", Toast.LENGTH_SHORT).show();
|
|
|
|
if(data.get("name")!=null)
|
|
{
|
|
data.put("nickname",data.get("name").replaceAll(" +",""));
|
|
data.put("screen_name",data.get("name").replaceAll(" +",""));
|
|
data.put("name",data.get("name").replaceAll(" +",""));
|
|
}
|
|
|
|
openid = data.get("openid");
|
|
|
|
|
|
unionid = data.get("unionid");
|
|
if(!StringUtil.isEmpty(unionid))
|
|
SharePrefUtil.saveString(BindWeChatActivity.this,"unionid_wechat",unionid);
|
|
Log.d("gdxzwe","参数"+data.toString());
|
|
|
|
// String gender = data.get("gender");
|
|
// String iconurl = data.get("iconurl");
|
|
// String city = data.get("city");
|
|
// String prvinice = data.get("prvinice");
|
|
// String country = data.get("country");
|
|
// String privilege = data.get("privilege");
|
|
|
|
// Log.d("gdxzwe","name = "+name);
|
|
// LogUtil.i("openid = "+openid);
|
|
// LogUtil.i("gender = "+gender);
|
|
// LogUtil.i("iconurl = "+iconurl);
|
|
// LogUtil.i("city = "+city);
|
|
// LogUtil.i("prvinice = "+prvinice);
|
|
// LogUtil.i("country = "+country);
|
|
// LogUtil.i("data = "+data.toString());
|
|
// {country=中国,
|
|
// unionid=oCwO1wOWbP4RqmG7m5KnSdhLnyzg,
|
|
// gender=男,
|
|
// city=,
|
|
// openid=odr10s9qElmuO4O0GVE_i7RXuJfU,
|
|
// language=zh_CN,
|
|
// profile_image_url=http://thirdwx.qlogo.cn/mmopen/vi_32/t7KAzibDicb1pRq7VvLct5XGT7SJmTMlawIO9teLSqad0VVljEC1l9HMcibyWKxy07DJlbHkj620hcD6W8d5NXykg/132,
|
|
// accessToken=36_YNuIDu65cbK53Eat1CDec0IX8kGRTZePWZZvcEC-7clvoy2SC1qXVAf99RGlX3QyGzqy9sDFGJkyLB1R4YcaRn5f6EFWK6QFAVRQ5LlXg9M,
|
|
// access_token=36_YNuIDu65cbK53Eat1CDec0IX8kGRTZePWZZvcEC-7clvoy2SC1qXVAf99RGlX3QyGzqy9sDFGJkyLB1R4YcaRn5f6EFWK6QFAVRQ5LlXg9M,
|
|
// uid=oCwO1wOWbP4RqmG7m5KnSdhLnyzg,
|
|
// province=,
|
|
// screen_name=12355,
|
|
// name=12355,
|
|
// iconurl=http://thirdwx.qlogo.cn/mmopen/vi_32/t7KAzibDicb1pRq7VvLct5XGT7SJmTMlawIO9teLSqad0VVljEC1l9HMcibyWKxy07DJlbHkj620hcD6W8d5NXykg/132,
|
|
// expiration=1597635314447,
|
|
// expires_in=1597635314447,
|
|
// refreshToken=36_182iVW8iB03NQUXg7ktFTi0Zj4Z6SurQv9MZyYuB1rr3fHcOE-lFqD2Ue6k9X3-JC4BcsmdxqNuFi5vX69_hATi3JKj78g8xi6-xS1udCTI}
|
|
|
|
sendJsonPostParamtoNetSignMD5(Url.addWechatExpert,data,ADDWECHATEXPERT,BindWeChatActivity.this);
|
|
|
|
}
|
|
|
|
@Override
|
|
public void onError(SHARE_MEDIA platform, int action, Throwable t) {
|
|
// Toast.makeText( getApplicationContext(), "Authorize fail", Toast.LENGTH_SHORT).show();
|
|
}
|
|
|
|
@Override
|
|
public void onCancel(SHARE_MEDIA platform, int action) {
|
|
// Toast.makeText( getApplicationContext(), "Authorize cancel", Toast.LENGTH_SHORT).show();
|
|
}
|
|
};
|
|
private void UnBindWX() {
|
|
UMShareAPI.get(this).deleteOauth(this, SHARE_MEDIA.WEIXIN, new UMAuthListener() {
|
|
@Override
|
|
public void onStart(SHARE_MEDIA share_media) {
|
|
|
|
}
|
|
|
|
@Override
|
|
public void onComplete(SHARE_MEDIA share_media, int i, Map<String, String> map) {
|
|
unionid=SharePrefUtil.getString(BindWeChatActivity.this,"unionid_wechat", "");
|
|
Map<String,String> map1 = new HashMap<>();
|
|
map1.put("unionid",unionid);
|
|
sendJsonPostParamtoNetSignMD5(Url.delWechatExpert,map1,DELWECHATEXPERT,BindWeChatActivity.this);
|
|
}
|
|
|
|
@Override
|
|
public void onError(SHARE_MEDIA share_media, int i, Throwable throwable) {
|
|
|
|
}
|
|
|
|
@Override
|
|
public void onCancel(SHARE_MEDIA share_media, int i) {
|
|
|
|
}
|
|
});
|
|
|
|
}
|
|
//微信登陆信息
|
|
private void BindWX(){
|
|
|
|
UMShareAPI.get(this).getPlatformInfo(this, SHARE_MEDIA.WEIXIN, umAuthListener);
|
|
}
|
|
|
|
@Override
|
|
public void onCallbackFromThread(String resultJson) {
|
|
|
|
}
|
|
|
|
@Override
|
|
public void onCallBackFromThread(String resultJson, int resultCode) {
|
|
Log.d("gdxzwe",resultJson);
|
|
pd.dismiss();
|
|
switch (resultCode){
|
|
case ISBOUNDWECHATBYUUID:
|
|
try {
|
|
|
|
JSONObject jsonObject1 = new JSONObject(resultJson);
|
|
String code1 = jsonObject1.getString("code");
|
|
if ("200".equals(code1)){
|
|
int isBound = jsonObject1.getInt("isBound");
|
|
if (isBound==0){
|
|
|
|
we_name.setText("未绑定微信");
|
|
bind_state.setText("绑定");
|
|
bind_state.setTextColor(Color.WHITE);
|
|
bind_state.setBackground(getResources().getDrawable(R.drawable.btn_all_wecchat));
|
|
// SharePrefUtil.saveString(BindWeChatActivity.this,
|
|
// "bind_state", "绑定");
|
|
SharePrefUtil.saveString(BindWeChatActivity.this,"isbound_wechat","no");
|
|
}else {
|
|
String name=jsonObject1.getString("nickname");
|
|
if(name!=null)
|
|
we_name.setText(name);
|
|
bind_state.setText("解绑");
|
|
unionid=jsonObject1.getString("unionid");
|
|
if(!StringUtil.isEmpty(unionid))
|
|
SharePrefUtil.saveString(BindWeChatActivity.this,"unionid_wechat",unionid);
|
|
SharePrefUtil.saveString(BindWeChatActivity.this,"isbound_wechat","yes");
|
|
bind_state.setTextColor(getResources().getColor(R.color.c999999));
|
|
bind_state.setBackground(getResources().getDrawable(R.drawable.btn_all_nine));
|
|
// SharePrefUtil.saveString(BindWeChatActivity.this,
|
|
// "bind_state", "解绑");
|
|
openid = jsonObject1.getString("openid");
|
|
}
|
|
}else {
|
|
ToastUtil.showMessage(jsonObject1.getString("message"));
|
|
}
|
|
|
|
|
|
} catch (JSONException e) {
|
|
// TODO Auto-generated catch block
|
|
e.printStackTrace();
|
|
|
|
}
|
|
break;
|
|
case ADDWECHATEXPERT:
|
|
|
|
JSONObject jsonObject2 = null;
|
|
try {
|
|
jsonObject2 = new JSONObject(resultJson);
|
|
String code1 = jsonObject2.getString("code");
|
|
if ("200".equals(code1)){
|
|
String name=jsonObject2.getString("nickname");
|
|
if(name!=null)
|
|
we_name.setText(name);
|
|
bind_state.setText("解绑");
|
|
bind_state.setTextColor(getResources().getColor(R.color.c999999));
|
|
bind_state.setBackground(getResources().getDrawable(R.drawable.btn_all_nine));
|
|
SharePrefUtil.saveString(BindWeChatActivity.this,"isbound_wechat","yes");
|
|
// SharePrefUtil.saveString(BindWeChatActivity.this,
|
|
// "bind_state", "解绑");
|
|
}
|
|
ToastUtil.showMessage(jsonObject2.getString("message"));
|
|
|
|
} catch (JSONException e) {
|
|
e.printStackTrace();
|
|
}
|
|
|
|
break;
|
|
case DELWECHATEXPERT:
|
|
|
|
try {
|
|
JSONObject jsonObject3 = new JSONObject(resultJson);
|
|
String code1 = jsonObject3.getString("code");
|
|
if ("200".equals(code1)){
|
|
we_name.setText("未绑定微信");
|
|
bind_state.setText("绑定");
|
|
bind_state.setTextColor(Color.WHITE);
|
|
bind_state.setBackground(getResources().getDrawable(R.drawable.btn_all_wecchat));
|
|
SharePrefUtil.saveString(BindWeChatActivity.this,"isbound_wechat","no");
|
|
// SharePrefUtil.saveString(BindWeChatActivity.this,
|
|
// "bind_state", "绑定");
|
|
}
|
|
ToastUtil.showMessage(jsonObject3.getString("message"));
|
|
|
|
} catch (JSONException e) {
|
|
e.printStackTrace();
|
|
}
|
|
break;
|
|
}
|
|
|
|
}
|
|
} |