package com.tagmae.tsgame_erwang;

import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.os.Environment;
import android.os.Message;
import android.widget.Toast;

import com.android.volley.VolleyError;
import com.android.volley.toolbox.ImageRequest;
import com.game.webgame.network.volleymanager;
import com.google.gson.Gson;
import com.jx.jyhd.simcpux.Util;
import com.jx.jyhd.simcpux.Wxistrue;
import com.jx.jyhd.simcpux.util.WeChatShareUtil;
import com.tsgame.tsgame_niuniu.simcpux.bean.sharetypeBean;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.security.InvalidParameterException;

/**
 * 微信分享辅助类
 */
public class WeChatShareHelper {

    private static String bitmappath;    /**
     * 微信分享
     *
     * @param context  上下文
     * @param jsonData 分享数据JSON字符串
     */
    public static void doWeChatShare(Context context, String jsonData) {
        doWeChatShare(context, jsonData, false);
    }
    
    /**
     * 微信分享（支持Canvas截图）
     *
     * @param context  上下文
     * @param jsonData 分享数据JSON字符串
     * @param useCanvas 是否使用Canvas截图（仅对图片分享type=2有效）
     */
    public static void doWeChatShare(Context context, String jsonData, boolean useCanvas) {
        try {
            // 解析JSON数据
            Gson gson = new Gson();
            sharetypeBean bean = gson.fromJson(jsonData, sharetypeBean.class);

            // 初始化微信分享工具
            WeChatShareUtil weChatShareUtil = WeChatShareUtil.getInstance(context);

            // 检查微信是否已安装
            if (!weChatShareUtil.isWeChatInstalled()) {
                Toast.makeText(context, "微信未安装，无法进行微信分享", Toast.LENGTH_SHORT).show();
                return;
            }

            // 设置分享回调
            weChatShareUtil.setShareCallback(new WeChatShareUtil.WeChatShareCallback() {
                @Override
                public void onSuccess() {
//                    ((Activity) context).runOnUiThread(() ->
//                            Toast.makeText(context, "微信分享成功", Toast.LENGTH_SHORT).show()
//                    );
                }

                @Override
                public void onError(int code, String message) {
//                    ((Activity) context).runOnUiThread(() ->
//                            Toast.makeText(context, "微信分享失败: " + message, Toast.LENGTH_SHORT).show()
//                    );
                }

                @Override
                public void onCancel() {
//                    ((Activity) context).runOnUiThread(() ->
//                            Toast.makeText(context, "微信分享已取消", Toast.LENGTH_SHORT).show()
//                    );
                }
            });

            // 处理分享类型字段
            if (bean.getType() == null) {
                bean.setType("");
            }

            // 处理分享对象字段（朋友或朋友圈）
            if (bean.getSharefriend() == null) {
                bean.setSharefriend("");
            }

            // 处理分享类型字段
            if (bean.getSharetype() == null) {
                bean.setSharetype("");
            }

            // 确定分享场景（0:好友, 1:朋友圈）
            int scene = bean.getSharefriend().equals("1") ? 0 : 1;            // 根据类型进行不同的分享处理
            if (bean.getType().equals("2")) {
                // 图片分享 - 使用Canvas截图
                GlobalWebViewHelper.getCanvasBase64(new WebViewScreenshotUtil.CanvasToBase64Callback() {
                    @Override
                    public void onSuccess(String canvasBase64) {
                        // 使用Canvas截图的base64数据
                        weChatShareUtil.shareImage(
                                (Activity) context,
                                canvasBase64,  // Canvas截图的base64数据
                                scene
                        );
                    }
                    
                    @Override
                    public void onError(String error) {
                        // Canvas截图失败，回退到原有的图片数据
                        // String imagebitmapString = bean.getDescription();
                        // weChatShareUtil.shareImage(
                        //         (Activity) context,
                        //         imagebitmapString,  // 回退到原有数据
                        //         scene
                        // );
                    }
                });
                //Toast.makeText(context, "分享图片到微信" + (scene == 0 ? "好友" : "朋友圈"), Toast.LENGTH_SHORT).show();
            } else {
                // 网页分享
                weChatShareUtil.shareWebPage(
                        (Activity) context,
                        bean.getWebpageUrl(),  // 网页链接
                        bean.getTitle(),       // 标题
                        bean.getDescription(), // 描述
                        scene
                );
//                Toast.makeText(context, "分享网页到微信" + (scene == 0 ? "好友" : "朋友圈"), Toast.LENGTH_SHORT).show();
            }

        } catch (Exception e) {
            e.printStackTrace();
            //Toast.makeText(context, "微信分享异常: " + e.getMessage(), Toast.LENGTH_SHORT).show();
        }
    }


}