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 = "操作说明:
1.肝胆相照注册账号与微信绑定,肝胆相照相关直播、视频无忧随心看" +
"
2.仅需操作一次,后续通过微信观看直播、视频无需额外操作,立即进入" +
"
若您有任何疑问或需要我们协助,请与您的小助手联系或直接微信联系" +
"igandan1000";
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 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 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 map) {
unionid=SharePrefUtil.getString(BindWeChatActivity.this,"unionid_wechat", "");
Map 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;
}
}
}