// 2:跳转到WebViewFragment
// 3:分享
// 4:客服
// 5:跳轉到外部瀏覽器
// 6:打开兑换宝石页面
// 7:绑定手机
// 8:跳转微信绑定页面
// 9:是否分享或帮助
// 10:判断某个app是否存在
// 11:网页标题 (棄用)
// 13:半屏网页声音开启关闭:
// 12:跳转逻辑
// 13:关闭声音
// 14:关闭网页
// 15:通用viepager標題
// 16:成功转让黄金萤火虫
// 17:关闭半屏网页,打开自己的礼物面板
// 18: 打開購買VIP
// 19:打開購買守護彈窗
// 20:播放座驾预览
// 23:自動添加直播間聊天消息
// 24:获取网页图片下标
// 25:点击web
// 26:是否显示客服入口
// 27:直接唤起 苹果支付 和 google支付:(萤火虫6000版本新增)
// 28:判断是否在外部可以关闭webview
// 29:webview上面的图标 (旧)
// 30:注销账号后退出
// 31:弹出WEB弹窗
// 32:webview上面的图标 (新)
// 33:打开更多功能面板
// 34:修改标题
// 35:打开游戏
// 36:播放動畫

// 37: web页面加载完毕时通知客户端
// 38: 打开签到提醒
// 39: 告知客户端渠道信息
// 40: 跳转任务界面

// 41: 修改webview底色
// 42: 振动

function webAppComm() {
    this.data = null;
    this.langList = [
        {
            'lang1': 'Events Rule',
            'lang2': 'Refresh',
            'lang3': 'Customer Service',
            'lang4': 'Compartir',
            'lang5': 'Event Zone',
            'lang6': 'Close Page',
            'lang7': 'DEWs',
            'lang8': 'GEMs'
        },
        //1英文
        {
            'lang1': 'Events Rule',
            'lang2': 'Refresh',
            'lang3': 'Customer Service',
            'lang4': 'Compartir',
            'lang5': 'Event Zone',
            'lang6': 'Close Page',
            'lang7': 'DEWs',
            'lang8': 'GEMs'
        },
        //2繁体
        {
            'lang1': '活動規則',
            'lang2': '刷新',
            'lang3': '客服咨詢',
            'lang4': '推薦朋友',
            'lang5': '活動專區',
            'lang6': '關閉頁面',
            'lang7': '露水',
            'lang8': '寶石'
        },
        //3泰语
        {
            'lang1': 'กฎกติกากิจกรรม',
            'lang2': 'รีเฟรช',
            'lang3': 'บริการลูกค้า',
            'lang4': 'แชร์',
            'lang5': 'โซนกิจกรรม',
            'lang6': 'ปิดหน้านี้',
            'lang7': 'DEWs',
            'lang8': 'GEMs'
        },
        //4日语
        {
            'lang1': 'イベントルール',
            'lang2': '更新する',
            'lang3': 'カスタマーサービス',
            'lang4': '共有',
            'lang5': 'イベントゾーン',
            'lang6': 'ページを閉じる',
            'lang7': 'DEWs',
            'lang8': 'GEMs'
        },
        //5印尼
        {
            'lang1': 'Aturan acara',
            'lang2': 'Segarkan',
            'lang3': 'Layanan Pelanggan',
            'lang4': 'Bagikan',
            'lang5': 'Zona Acara',
            'lang6': 'Tutup halaman',
            'lang7': 'DEWs',
            'lang8': 'GEMs'
        },
        //6
        {
            'lang1': 'Events Rule',
            'lang2': 'Refresh',
            'lang3': 'Customer Service',
            'lang4': 'Compartir',
            'lang5': 'Event Zone',
            'lang6': 'Close Page',
            'lang7': 'DEWs',
            'lang8': 'GEMs'
        },
        //7阿拉伯
        {
            'lang1': 'قواعد الحدث',
            'lang2': 'تحديث',
            'lang3': 'خدمة العملاء',
            'lang4': 'مشاركة',
            'lang5': 'منطقة الفعاليات',
            'lang6': 'إغلاق الصفحة',
            'lang7': 'DEWs',
            'lang8': 'GEMs'
        },
        //8越南
        {
            'lang1': 'Quy tắc sự kiện',
            'lang2': 'Làm mới',
            'lang3': 'Dịch vụ khách hàng',
            'lang4': 'Chia sẻ',
            'lang5': 'Khu vực sự kiện',
            'lang6': 'Đóng trang',
            'lang7': 'DEWs',
            'lang8': 'GEMs'
        },
        //9韩文
        {
            'lang1': 'Events Rule',
            'lang2': 'Refresh',
            'lang3': 'Customer Service',
            'lang4': 'Compartir',
            'lang5': 'Event Zone',
            'lang6': 'Close Page',
            'lang7': 'DEWs',
            'lang8': 'GEMs'
        },
        //10西班牙
        {
            'lang1': 'Reglas del evento',
            'lang2': 'Actualizar',
            'lang3': 'Servicio al Cliente',
            'lang4': 'Share',
            'lang5': 'Zona de Eventos',
            'lang6': 'Cerrar página',
            'lang7': 'DEWs',
            'lang8': 'GEMs'
        }
    ];
    this.urlData = this.url_get_params(location.href);
    this.langType = this.urlData.lang;
    this.needRefresh = false;
}

//分享
webAppComm.prototype.goShare = function (shareContent, shareType) {
    let mShare = shareType || { //1图片  2文字  3网页
        "wechat": 3,
        "wechat_moment": 3,
        "facebook": 3,
        "line": 3,
        "link": 3,
        "whatsApp": 3,
        "twitter": 3
    }
    let obj = {
        "cid": 3,
        "reqCode": new Date().getTime(),
        "data": {
            "shareContent": shareContent,
            "shareType": mShare
        }

    }
    let obj2 = JSON.stringify(obj);
    webAppCollaboration(obj2)
}

//客服
webAppComm.prototype.goCustomerService = function () {
    let obj = {
        "cid": 4,
        "reqCode": new Date().getTime(),
        "data": {
            "msg": "Hi,請問有什麼可以幫到您?",
            "customerLayer": 1,
            "uid": 1000,
            "face": 'https://app.ixiulive.com/static/images/yhx.png',
            "nickname": "客服",
            "title": "客服",
        }
    }
    let obj2 = JSON.stringify(obj);
    webAppCollaboration(obj2)
}

//跳转外部浏览器
webAppComm.prototype.goExternalWeb = function (h5Url) {
    let obj = {
        "cid": 5,
        "reqCode": new Date().getTime(),
        "data": {
            "url": h5Url,
        }
    }
    let obj2 = JSON.stringify(obj);
    webAppCollaboration(obj2);
}

//打开兑换宝石页面
webAppComm.prototype.goExchangeGem = function () {
    let obj = {
        "cid": 6,
        "reqCode": new Date().getTime(),
        "data": {
            "msg": '打开兑换寶石'
        }
    }
    let obj2 = JSON.stringify(obj);
    webAppCollaboration(obj2);
}

//绑定手机
webAppComm.prototype.goBindPhone = function () {
    let obj2 = {
        "cid": 7,
        "reqCode": new Date().getTime(),
        "data": {
            msg: '点击跳转绑定手机页面',
        }
    }
    let obj = JSON.stringify(obj2);
    webAppCollaboration(obj);
}

//绑定微信
webAppComm.prototype.goBindWechat = function () {
    let obj2 = {
        "cid": 8,
        "reqCode": new Date().getTime(),
        "data": {
            msg: '跳转微信绑定页面'
        }
    }
    let obj = JSON.stringify(obj2);
    webAppCollaboration(obj)
}

//弹出帮助
webAppComm.prototype.needHelp = function () {
    let obj = {
        "cid": 9,
        "reqCode": new Date().getTime(),
        "data": {
            msg: '是否分享或帮助',
            shareType: 1,
            helpType: 0,
        }
    }
    let obj2 = JSON.stringify(obj)
    webAppCollaboration(obj2)
}

//确认是否有该APP
webAppComm.prototype.ifHasApp = function (type) { //1微信 2line 3facebook 4Twitter 5WhatsApp 6微博 7QQ
    let obj2 = {
        "cid": 10,
        "reqCode": new Date().getTime(),
        "data": {
            msg: '點擊確認有沒有這個APP',
            type: type
        }
    }
    let obj = JSON.stringify(obj2);
    webAppCollaboration(obj)
}

//跳转
webAppComm.prototype.goOthers = function (jumptype, url, isHide) {
    let arr = { 16: '去儲值', 18: '跳轉到座駕', 3: '跳轉集合功能', 13: 'VIP中心', 26: '设置' };
    let obj = {
        "cid": 12,
        "reqCode": new Date().getTime(),
        "data": {
            "msg": arr[jumptype],
            "jumptype": jumptype,  //16: 去储值  18: 跳转到座驾  3:跳转集合功能   28:跳转直播间  29:空间  26:设置  40:半屏宝石储值  41:礼物列表  42:背包列表 // 43: 跳转新人主播引导
            "url": url, //41 42时传入礼物id。
            "hideTitle": isHide // 1隐藏头部,0 不隐藏, 默认为0
        }
    }

    let obj2 = JSON.stringify(obj);
    webAppCollaboration(obj2);
}

//关闭网页
webAppComm.prototype.closeWebView = function (callback) {
    callback && callback();
    let obj = {
        "cid": 14,
        "reqCode": new Date().getTime(),
    }
    let obj2 = JSON.stringify(obj);
    webAppCollaboration(obj2);
}

//打开多网页面板
webAppComm.prototype.openRecords = function (urls, type) {
    let obj = {
        "cid": 15,
        "reqCode": new Date().getTime(),
        "data": {
            "urls": [
                {
                    "url": $url + '/Nesting/recording/gem.html' + window.location.search,
                    "title": langList[langType].dew18,
                    "rightBtnImageURL": '',
                    "rightBtnClickURL": ''
                },
                {
                    "url": $url + '/Nesting/recording/dew.html' + window.location.search,
                    "title": langList[langType].dewExchangeTitle3,
                    "rightBtnImageURL": '',
                    "rightBtnClickURL": ''
                }
            ],
            "select": type,
            "titleColor": "",
            "titleSelectedColor": "",
            "titleBackground": '',

        }
    }
    let obj2 = JSON.stringify(obj);
    appCollaboration(obj2);
}

//隐藏客户端顶部
webAppComm.prototype.hideTopBar = function () {
    let obj = {
        "cid": 21,
        "reqCode": new Date().getTime(),
        "data": {
            "msg": "web关闭网页方法加载完成向客户端通知",
        }
    }
    let obj2 = JSON.stringify(obj);
    webAppCollaboration(obj2);
}

//唤起谷歌、苹果支付
webAppComm.prototype.oriCharge = function (data) {
    let obj = {
        "cid": 27,
        "reqCode": new Date().getTime(),
        "data": {
            "msg": "直接唤起 苹果支付 和 google支付",
            "pid": data.pid,
            "packageid": data.packageid,
            "chargeInfo": data.info,
            "succeedAlert": data.alert
        }
    }
    let obj2 = JSON.stringify(obj);
    console.log(obj2)
    webAppCollaboration(obj2);
}

// 31: 打开半屏网页
webAppComm.prototype.openHalfWeb = function (param) {
    let obj = {
        "cid": 31,
        "data": {
            popupType: param.type,   //popupType   1全屏2半屏3浮动屏(默认居中)
            heightR: param.height,  //heightR  弹窗高度 单位vw  安卓不允许 传小数;
            widthR: param.width,   //widthR 弹窗宽度vw
            clickBlank: param.clickBlank,  //clickBlank  点击区域外是否关闭 0不关闭  1关闭
            url: param.url,  //url   需要打开的url (默认拼接uid token roomid等参数)
            // top: param.top || '',   //top 距离顶部位置 单位vw
            // left: param.left || '',  //left 距离左边位置
            // bottom: param.bottom || '',  //bottom 距离底部位置
            // right: param.right || '',  //right 距离右边位置
            isThrough: param.isThrough,   //isThrough  是否可穿透 0不可穿透 1可穿透   默认为0 
            afterReady: param.afterReady, // afterReady 是否加载完成后再显示。   0否  1是。  默认为0,
            needMounted: param.needMounted,  //ios专用 0不独立 1独立。  默认是0.
            allowScroll: param.allowScroll, //是否允许直播间滑动 0不允许 1允许  默认为1.
        }
    }
    if (param.top || param.top === 0) {
        obj.data.top = param.top;
    }
    if (param.left || param.left === 0) { 
        obj.data.left = param.left;
    }
    if (param.bottom || param.bottom === 0) {
        obj.data.bottom = param.bottom;
    }
    if (param.right || param.right === 0) {
        obj.data.right = param.right;
    }
    let obj2 = JSON.stringify(obj);
    webAppCollaboration(obj2);
}



//webview右上角的icon
webAppComm.prototype.showIcons = function (infos) {
    let obj = {
        "cid": 32,  //新的右上角展示
        "data": {
            "msg": "h5网页右上角显示图标",
            "info": infos,
        }
    }
    let obj2 = JSON.stringify(obj);
    webAppCollaboration(obj2);
}

//打开更多功能面板
webAppComm.prototype.openExtra = function (infos) {
    let obj = {
        "cid": 33,  //打开额外功能面板
        "data": {
            "msg": '打开额外功能面板',
            "info": infos
        }
    }
    let obj2 = JSON.stringify(obj);
    webAppCollaboration(obj2);
}

webAppComm.prototype.changeTitle = function (param) {
    let obj = {
        "cid": 34,  //修改网页title  居中显示。
        "data": {
            "type": param.type,  //1 图片  2文本。 
            "imgTxt": param.text,
            "imgUrl": param.url, //1
            "style": {
                //图片
                "width": param.w, //1
                "height": param.h, //1
            }
        }
    }
    let obj2 = JSON.stringify(obj);
    webAppCollaboration(obj2);
}

//修改网页标题
webAppComm.prototype.changeTitle1 = function () {
    let obj = {
        "cid": 34,  //修改网页title  居中显示。
        "data": {
            "type": 1,  //1 图片  2文本。 
            "imgUrl": 'https://app.ixiulive.com/static/app/img/title.png?v=20230425', //1
            "style": {
                //图片
                "width": '161', //1
                "height": '70', //1
            }
        }
    }
    let obj2 = JSON.stringify(obj);
    webAppCollaboration(obj2);
}

//修改网页标题
webAppComm.prototype.changeTitle2 = function () {
    let obj = {
        "cid": 34,  //修改网页title  居中显示。
        "data": {
            "type": 2,  //1 图片  2文本。 
            "imgTxt": $("title").text(),//2
        }
    }
    let obj2 = JSON.stringify(obj);
    webAppCollaboration(obj2);
}

//修改网页标题
webAppComm.prototype.changeTitle3 = function (imgUrl, param) {
    let obj = {
        "cid": 34,  //修改网页title  居中显示。
        "data": {
            "type": 1,  //1 图片  2文本。 
            "imgUrl": imgUrl,
            "style": {
                //图片
                "width": param.width, //1
                "height": param.height, //1
            }
        }
    }
    let obj2 = JSON.stringify(obj);
    webAppCollaboration(obj2);
}

//刷新网页
webAppComm.prototype.refreshWeb = function (callback) {
    callback && callback();
    if (this.needRefresh) {
        location.reload();
    }
}

// 35:打开游戏
webAppComm.prototype.goGame = function (mData) {
    let obj = {
        "cid": 35,
        "data": mData
    }

    let obj2 = JSON.stringify(obj);
    webAppCollaboration(obj2);
}

// 36:播放動畫
webAppComm.prototype.playAnimate = function (mData) {
    let obj = {
        "cid": 36,
        "data": mData
    }

    let obj2 = JSON.stringify(obj);
    webAppCollaboration(obj2);
}

// 37:web加载完毕
webAppComm.prototype.domReady = function (mData) {
    let obj = {
        "cid": 37,
        "data": mData
    }

    let obj2 = JSON.stringify(obj);
    webAppCollaboration(obj2);
}

// 38:web打开/关闭签到提醒
webAppComm.prototype.openSignRemind = function () {
    let obj = {
        "cid": 38,
        "data": {
            "msg": '打开签到提醒'
        }
    }

    let obj2 = JSON.stringify(obj);
    webAppCollaboration(obj2);
}
// 39: 告知客户端渠道信息和uid
webAppComm.prototype.sendBindInfos = function (cid, uid, lang, type) {
    let obj = {
        "cid": 39,
        "data": {
            "channelId": cid,
            "agentUid": uid,
            "lang": lang,
            "bindType": type
        }
    }

    let obj2 = JSON.stringify(obj);
    webAppCollaboration(obj2);
}

// 40: 跳转任务界面
webAppComm.prototype.jumpToTask = function (type) {
    let obj = {
        "cid": 40,
        "data": {
            "taskType": type   // 1:新手任务 2:每日任务 3:主播任务 4:奖励领取 
        }
    }
    let obj2 = JSON.stringify(obj);
    webAppCollaboration(obj2);
}

//41: 修改webview的背景底色
webAppComm.prototype.setBackground = function (color, color2) {
    let obj = {
        "cid": 41,
        "data": {
            "background": color,   // # color值为HEX色值 例:#FFFFFF,
            "AHEX": color2  // # color2值为AHEX色值 例:#FFFFFFFF,
        }
    }
    let obj2 = JSON.stringify(obj);
    webAppCollaboration(obj2);
}

//42: 手机振动
webAppComm.prototype.toVibrate = function (duration) {
    let obj = {
        "cid": 42,
        "data": {
            "duration": duration   // # duration为振动的秒数
        }
    }
    let obj2 = JSON.stringify(obj);
    webAppCollaboration(obj2);
}

//43: 修改webview宽高
webAppComm.prototype.setRatio = function (type, wr, hr, position, unit) {
    let obj = {
        "cid": 43,
        "data": {
            "type": type,     //1活动框架   2游戏框架。
            "width": wr,   // #单位为vw  默认值为-1   未传或传-1时,则不修改宽度
            "height": hr,    //单位为vw   默认值为-1   未传或传-1时,则不修改高度
            "position": position, // 1右贴边 2左贴边   默认右贴边。
            "unit": unit,   //单位  默认1 vw    2 pt
        }
    }
    let obj2 = JSON.stringify(obj);
    webAppCollaboration(obj2);
}

//44: 调起第三方并获取OpenId(7570版本以上
webAppComm.prototype.vertify = function (type, callBackName) {
    let obj = {
        "cid": 44,
        "data": {
            "type": type,  //1:QQ 2:微信 3:微博 4:Google 5:Twitter 6:FaceBook 8:line 9:appleId
            "callBackName": callBackName,
        }
    }
    let obj2 = JSON.stringify(obj);
    webAppCollaboration(obj2);
}

//45: 与客户端同步H5客服聊天消息
webAppComm.prototype.syncChatHis = function (type, content, timeStr) {
    let obj = {
        "cid": 45, //客服聊天用,与客户端同步本地发送信息
        "data": {
            "type": type, //1文字 2图片
            "content": content,
            "time": timeStr //发送聊天时间戳
        }
    }
    let obj2 = JSON.stringify(obj);
    webAppCollaboration(obj2);
}

//46: 将图片存入相册
webAppComm.prototype.savePhoto = function (imgUrl) {
    let obj = {
        "cid": 46, //将图片存入相册
        "data": {
            'imgUrl': imgUrl  //照片地址
        }
    }
    let obj2 = JSON.stringify(obj);
    webAppCollaboration(obj2);
}

//接收客戶端的消息
webAppComm.prototype.reMsgFromApp = function (callback) {
    callback && callback();
}

webAppComm.prototype.url_get_params = function (url_path) {
    let url = url_path;
    let theRequest = new Object();
    if (url.indexOf("?") != -1) {
        let str = url.substr(url.indexOf("?") + 1);
        strs = str.split("&");
        for (let i = 0; i < strs.length; i++) {
            theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
        }
    }
    return theRequest;
}


function webAppCollaboration(msg) {
    let sUserAgent = navigator.userAgent.toLowerCase();
    let bIsIpad = sUserAgent.match(/ipad/i) == "ipad";
    let bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os";
    let bIsMidp = sUserAgent.match(/midp/i) == "midp";
    let bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";
    let bIsUc = sUserAgent.match(/ucweb/i) == "ucweb";
    let bIsAndroid = sUserAgent.match(/android/i) == "android";
    let bIsCE = sUserAgent.match(/windows ce/i) == "windows ce";
    let bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile";
    if (!(bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM)) {
    }
    else if (bIsAndroid) {
        window.yazhai.appCollaboration(msg);
    } else if (bIsIphoneOs || bIsIpad) {
        window.webkit.messageHandlers.appCollaboration.postMessage(msg);
    }
}



window.$firefly = new webAppComm();