Commit 4a38b9adc4f1cb16db3ef2d41297523017f0e068

Authored by 王强
1 parent f6263acc

对接openinstall

index.html
... ... @@ -12,6 +12,24 @@
12 12 <meta http-equiv="expires" content="0">
13 13 <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" />
14 14 <title>&nbsp;</title>
  15 +
  16 + <!-- Crypto.js AES加密 CDN引用方式 -->
  17 + <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/core.min.js"></script>
  18 + <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/enc-base64.min.js"></script>
  19 + <!-- <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/md5.min.js"></script> -->
  20 + <!-- <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/evpkdf.min.js"></script> -->
  21 + <!-- <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/cipher-core.min.js"></script> -->
  22 + <!-- <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/aes.min.js"></script> -->
  23 + <!-- <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/pad-pkcs7.min.js"></script> -->
  24 + <!-- <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/mode-ecb.min.js"></script> -->
  25 + <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/enc-utf8.min.js"></script>
  26 + <!-- <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/enc-hex.min.js"></script> -->
  27 + <!-- Crypto.js AES加密 CDN引用方式结束 -->
  28 + <!-- 以下为openinstall集成代码,建议在html文档中尽量靠前放置,加快初始化过程 -->
  29 + <!-- 强烈建议直接引用下面的cdn加速链接,以得到最及时的更新,我们将持续跟踪各种主流浏览器的变化,提供最好的服务;不推荐将此js文件下载到自己的服务器-->
  30 + <script type="text/javascript" charset="UTF-8" src="https://wjj.ys1.cnliveimg.com/769/h5/js/jquery.min.js"></script>
  31 + <script type="text/javascript" charset="UTF-8" src="//res.cdn.openinstall.io/openinstall.js"></script>
  32 + <script type="text/javascript" src="static/js/cnLive_openinstall.js"></script>
15 33 </head>
16 34 <body>
17 35 <div class="warpper">
... ...
src/common/openAppOld.js 0 → 100644
  1 +//跳转到网家家内部
  2 +function submitFn(data) {
  3 + var d = new Date();
  4 + var t0 = d.getTime();
  5 + //判断浏览器
  6 + var u = navigator.userAgent;
  7 + var isAndroid = u.indexOf("Android") > -1 || u.indexOf("Linux") > -1; //android终端或者uc浏览器
  8 + var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
  9 + var isWx = /MicroMessenger/gi.test(u); //微信里打开
  10 + var isQQ = /QQ/gi.test(u); //QQ里打开
  11 + var isWeibo = /Weibo/gi.test(u); //微博里打开
  12 + // 判断环境
  13 + var environment = '';
  14 + // if (process.env.NODE_ENV !== "production") {
  15 + // // 测试环境
  16 + // environment = "test";
  17 + // }
  18 +
  19 + if (this.mode !== 'prod') {
  20 + // 测试环境
  21 + environment = "test";
  22 + }
  23 + if (data.source == "hl_hc") {
  24 + //手机电影详情页面点击下载app直接跳转下载地址
  25 + window.location.href =
  26 + "http://wjjh5" +
  27 + environment +
  28 + ".cnlive.com/apkdownload.html?channelName=hl_hc";
  29 + } else {
  30 + if (isAndroid) {
  31 + if (isWx || isWeibo) {
  32 + // 微信里打开引导用户在浏览器中打开
  33 + // store.commit("showShareWxImg", true)
  34 + // store.commit("showShareWxAndroidImg", true)
  35 + window.location.href =
  36 + "http://wjjh5" + environment + ".cnlive.com/apkdownload.html?" + data.data;
  37 + } else {
  38 + var url =
  39 + "netpp://wjjh5" + environment + ".cnlive.com/main?" + data.data;
  40 + // if(iframe(url)){
  41 + // iframe(url);
  42 + // }else{
  43 + // //由于打开需要1~2秒,利用这个时间差来处理--打开app后,返回h5页面会出现页面变成app下载页面,影响用户体验
  44 + // var delay = setInterval(function(){
  45 + // var d = new Date();
  46 + // var t1 = d.getTime();
  47 + // if( t1-t0<3000 && t1-t0>2000){
  48 + // //alert('请下载APP');
  49 + // window.location.href = "//wjjh5"+environment+".cnlive.com/apkdownload.html?channelName="+data.channelName;
  50 + // }
  51 + // if(t1-t0>=3000){
  52 + // clearInterval(delay);
  53 + // }
  54 + // },1000);
  55 + // }
  56 +
  57 + window.location.href = url;
  58 + setTimeout(function() {
  59 + //window.location.href = "//wjjh5"+environment+".cnlive.com/apkdownload.html?channelName="+data.channelName;
  60 +
  61 + if (data.source == "wrtc") {
  62 + if (data.data == "") {
  63 + wrtcTop.wakeupOrInstall();
  64 + } else {
  65 + wrtcBtn.wakeupOrInstall();
  66 + }
  67 + } else if (data.source == "ltyInvitation") {
  68 + //领头雁邀请页面
  69 + ltyInvitationTop.wakeupOrInstall();
  70 + } else {
  71 + mm.wakeupOrInstall();
  72 + }
  73 + }, 2000);
  74 + }
  75 + } else if (isiOS) {
  76 + if (data.source == "wrtc") {
  77 + if (data.data == "") {
  78 + wrtcTop.wakeupOrInstall();
  79 + } else {
  80 + wrtcBtn.wakeupOrInstall();
  81 + }
  82 + } else if (data.source == "ltyInvitation") {
  83 + //领头雁邀请页面
  84 + ltyInvitationTop.wakeupOrInstall();
  85 + } else {
  86 + mm.wakeupOrInstall();
  87 + }
  88 + // if(isWx||isQQ){
  89 + // // 微信/QQ里打开引导用户在浏览器中打开
  90 + // // store.commit("showShareWxImg", true)
  91 + // // store.commit("showShareWxIosImg", true)
  92 + // window.location.href = "//wjjh5"+environment+".cnlive.com/apkdownload.html?channelName="+data.channelName;
  93 + // }else{
  94 +
  95 + // var iosUrlSchems;
  96 + // if(environment=="test"){
  97 + // iosUrlSchems="cnlivenetaddtesturlschems";//CNLiveNetAddTestUrlSchems 2019.6.12修改成小写
  98 + // //iosUrlSchems="//wjjh5.cnlive.com";//wjjh5 2019.8.23修改成Universal Link拉起app
  99 + // }else{
  100 + // iosUrlSchems="cnlivenetaddurlschems";//CNLiveNetAddUrlSchems 2019.6.12修改成小写
  101 + // //iosUrlSchems="//wjjh5test.cnlive.com";//wjjh5test 2019.8.23修改成Universal Link拉起app
  102 + // }
  103 +
  104 + // window.location.href = iosUrlSchems+"://"+data.data; //CNLiveNetAddUrlSchems 2019.6.12修改成小写
  105 +
  106 + // //window.location.href = iosUrlSchems+"?"+data.data; //2019.8.23修改成Universal Link拉起app
  107 + // setTimeout(function(){
  108 + // window.location.href = "//wjjh5"+environment+".cnlive.com/apkdownload.html?channelName="+data.channelName;
  109 + // },2000);
  110 + //}
  111 + } else {
  112 + window.location.href =
  113 + "http://wjjh5" + environment + ".cnlive.com/apkdownload.html?" + data.data;
  114 + }
  115 + }
  116 +}
  117 +
  118 +function iframe(src) {
  119 + // 通过iframe的方式试图打开APP,如果能正常打开,会直接切换到APP,并自动阻止a标签的默认行为
  120 + // 否则打开a标签的href链接
  121 + var ifr = document.createElement("iframe");
  122 + ifr.src = src;
  123 + ifr.style.display = "none";
  124 + document.body.appendChild(ifr);
  125 + window.setTimeout(function() {
  126 + document.body.removeChild(ifr);
  127 + }, 2000);
  128 +}
  129 +
  130 +export default {
  131 + submitFn
  132 +};
... ...
src/components/callAppBox/callAppBox.vue
1 1 <template>
2 2 <div class="call-app-box" v-if="callApps">
  3 +
  4 + <!-- Android WeChat内无法唤起APP,提示用浏览器打开蒙层 -->
  5 + <mask-layer ref="maskLayer"
  6 + :maskLayers="maskLayers">
  7 + </mask-layer>
  8 +
3 9 <div class="box">
4 10 <div class="logo-box">
5 11 <img src="static/img/call_app_logo.png" class="img" />
... ... @@ -12,47 +18,66 @@
12 18 </template>
13 19  
14 20 <script>
  21 +
  22 + // 导入跳转方法组件
  23 + import openAppOld from "@/common/openAppOld.js";
  24 + import maskLayer from "@/components/maskLayer/maskLayer";
  25 +
15 26 export default {
16 27 data: function () {
17 28 return {
18   -
  29 + maskLayers: null, // 蒙层对象
  30 + downLoadBtnData: {
  31 + data: "",
  32 + source: "",
  33 + channelName: this.$route.query.channelName, //频道名称
  34 + title: "下载网家家,观看更多优质内容",
  35 + }
19 36 }
20 37 },
21   - props: ["callApps"],
  38 + props: ["callApps"],
  39 + components: {
  40 + maskLayer
  41 + },
22 42 methods: {
23 43  
24 44 /**
25 45 * H5唤起App按钮事件
26 46 */
27 47 callApp() {
28   - if (typeof this.callApps.funcs === "object" && typeof this.callApps.funcs.callApp === "object" && typeof this.callApps.funcs.callApp.schemeLayer === "function") {
29   -
30   - // 上下文
31   - let context = this;
32   -
33   - // 跳转连接
34   - let jumpUrl = (this.mode == "prod" ? "https://managemall.cnlive.com/html/leaflet/appDownload.html" : "https://wjjshop.cnlive.com/html/leaflet/appDownloadTest.html");
35   -
36   - // 系统判断
  48 +
  49 + /**
  50 + * 走openinstall拉起下载APP
  51 + * 通过分享页面下载完可以拉起到指定页面
  52 + */
  53 + if (typeof this.callApps.funcs === "object") {
  54 +
  55 + // 拼接参数字符串,根据分享参数拼接
  56 + let shareString = "shop_shop_type=" + this.callApps.funcs.callAppParams.shop_shop_type + "&shop_to=" + this.callApps.funcs.callAppParams.shop_to + "&shop_type=" + this.callApps.funcs.callAppParams.shop_type + "&share_mold=" + this.callApps.funcs.callAppParams.share_mold;
  57 +
  58 + // Base64位编码加密
  59 + const CryptoJS = require("crypto-js");
  60 + const wordArray = CryptoJS.enc.Utf8.parse(shareString);
  61 + let shopData = encodeURIComponent(CryptoJS.enc.Base64.stringify(wordArray));
  62 +
  63 + // 设置下载参数
  64 + this.$set(this.downLoadBtnData, 'data', 'channel_id=' + (this.mode === 'prod' ? 'cnlive_mall' : 'cnlive_mall_test') + '&type=shop' + '&shopData=' + shopData);
  65 +
37 66 if (this.isiPhone.value) {
38   -
39   - // OpenInstall唤起
40   - // window.location.href = jumpUrl;
41   -
42   - // 唤起App
43   - this.callApps.funcs.callApp.schemeLayer(this.callApps.funcs.callAppParams, this.callApps.funcs.callAppCallback);
  67 + openAppOld.submitFn.call(this, this.downLoadBtnData);
44 68 } else if (this.isAndroid.value) {
45   -
46   - // 唤起App
47   - this.callApps.funcs.callApp.schemeLayer(this.callApps.funcs.callAppParams, this.callApps.funcs.callAppCallback);
48   -
49   - window.setTimeout(function() {
50   -
51   - // 小米浏览器内,请求PHP页面下载
52   - if (context.isXiaoMi.value) {
53   - window.open("http://wjjh5.cnlive.com/apkdownload.php");
54   - }
55   - }, 2000);
  69 + if (this.isWeChat.value) {
  70 +
  71 + // 设置蒙层图片
  72 + this.$set(this, "maskLayers", {
  73 + img: "/static/img/mask_layer_browser.png",
  74 + });
  75 +
  76 + // 显示蒙层
  77 + this.$refs.maskLayer.showLayer();
  78 + } else {
  79 + openAppOld.submitFn.call(this, this.downLoadBtnData);
  80 + }
56 81 }
57 82 }
58 83 }
... ...
src/components/callAppBox/callAppBox_old.vue 0 → 100644
  1 +<template>
  2 + <div class="call-app-box" v-if="callApps">
  3 + <div class="box">
  4 + <div class="logo-box">
  5 + <img src="static/img/call_app_logo.png" class="img" />
  6 + </div>
  7 + <div class="buttons-box">
  8 + <div class="btn btn-default" @click="callApp">打开APP</div>
  9 + </div>
  10 + </div>
  11 + </div>
  12 +</template>
  13 +
  14 +<script>
  15 + export default {
  16 + data: function () {
  17 + return {
  18 +
  19 + }
  20 + },
  21 + props: ["callApps"],
  22 + methods: {
  23 +
  24 + /**
  25 + * H5唤起App按钮事件
  26 + */
  27 + callApp() {
  28 + if (typeof this.callApps.funcs === "object" && typeof this.callApps.funcs.callApp === "object" && typeof this.callApps.funcs.callApp.schemeLayer === "function") {
  29 +
  30 + // 上下文
  31 + let context = this;
  32 +
  33 + // 跳转连接
  34 + let jumpUrl = (this.mode == "prod" ? "https://managemall.cnlive.com/html/leaflet/appDownload.html" : "https://wjjshop.cnlive.com/html/leaflet/appDownloadTest.html");
  35 +
  36 + // 系统判断
  37 + if (this.isiPhone.value) {
  38 +
  39 + // OpenInstall唤起
  40 + // window.location.href = jumpUrl;
  41 +
  42 + // 唤起App
  43 + this.callApps.funcs.callApp.schemeLayer(this.callApps.funcs.callAppParams, this.callApps.funcs.callAppCallback);
  44 + } else if (this.isAndroid.value) {
  45 +
  46 + // 唤起App
  47 + this.callApps.funcs.callApp.schemeLayer(this.callApps.funcs.callAppParams, this.callApps.funcs.callAppCallback);
  48 +
  49 + window.setTimeout(function() {
  50 +
  51 + // 小米浏览器内,请求PHP页面下载
  52 + if (context.isXiaoMi.value) {
  53 + window.open("http://wjjh5.cnlive.com/apkdownload.php");
  54 + }
  55 + }, 2000);
  56 + }
  57 + }
  58 + }
  59 + }
  60 + }
  61 +</script>
  62 +
  63 +<!-- Add "scoped" attribute to limit CSS to this component only -->
  64 +<style rel="stylesheet/less" lang="less">
  65 + @import './callAppBox';
  66 +</style>
0 67 \ No newline at end of file
... ...
static/js/cnLive_openinstall.js 0 → 100644
  1 +//openinstall初始化时将与openinstall服务器交互,应尽可能早的调用
  2 +/*web页面向app传递的json数据(json string/js Object),应用被拉起或是首次安装时,通过相应的android/ios api可以获取此数据*/
  3 +//获取url地址里的参数
  4 +function getUrlParam(name) {
  5 + var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
  6 + var r = window.location.search.substr(1).match(reg);
  7 + if (r != null) return r[2];
  8 + return "";
  9 +}
  10 +//获取url地址里的参数转成json格式
  11 +function parseQueryString() {
  12 + var reg_url = /^[^\?]+\?([\w\W]+)$/,
  13 + reg_para = /([^&=]+)=([\w\W]*?)(&|$|#)/g,
  14 + arr_url = reg_url.exec(window.location.href),
  15 + ret = {};
  16 + if (arr_url && arr_url[1]) {
  17 + var str_para = arr_url[1],
  18 + result;
  19 + while ((result = reg_para.exec(str_para)) != null) {
  20 + ret[result[1]] = result[2];
  21 + }
  22 + }
  23 + return ret;
  24 +}
  25 +//获取xxx.html
  26 +function GetUrlRelativePath() {
  27 + var url = document.location.toString();
  28 + var arrUrl = url.split("//");
  29 +
  30 + var start = arrUrl[1].indexOf("/");
  31 + var relUrl = arrUrl[1].substring(start); //stop省略,截取从start开始到结尾的所有字符
  32 +
  33 + if (relUrl.indexOf("?") != -1) {
  34 + relUrl = relUrl.split("?")[0];
  35 + }
  36 + return relUrl;
  37 +}
  38 +
  39 +//获取wakeupOrInstall传来的参数
  40 +function parseQueryStringData(data) {
  41 + var reg_url = /^[^\?]+\?([\w\W]+)$/,
  42 + reg_para = /([^&=]+)=([\w\W]*?)(&|$|#)/g,
  43 + arr_url = reg_url.exec(data),
  44 + ret = {};
  45 + if (arr_url && arr_url[1]) {
  46 + var str_para = arr_url[1],
  47 + result;
  48 + while ((result = reg_para.exec(str_para)) != null) {
  49 + ret[result[1]] = result[2];
  50 + }
  51 + }
  52 + return ret;
  53 +}
  54 +//唤起app
  55 +function wakeupOrInstall(data) {
  56 + var timestamp = Date.parse(new Date());
  57 + openInstallData = parseQueryStringData("http://wjjh5.cnlive.com?" + data);
  58 + openInstallData.channelCodeName = channelCodeName;
  59 + openInstallData.timestamp = timestamp;
  60 + openInstallData.changeSecDefChannel = true; //安卓默认定位二级频道
  61 + //console.log(openInstallData);
  62 + mm = new OpenInstall(
  63 + {
  64 + /*appKey必选参数,openinstall平台为每个应用分配的ID*/
  65 + appKey: appKey,
  66 + /*可选参数,自定义android平台的apk下载文件名;个别andriod浏览器下载时,中文文件名显示乱码,请慎用中文文件名!*/
  67 + //apkFileName : 'com.fm.openinstalldemo-v2.2.0.apk',
  68 + /*可选参数,是否优先考虑拉起app,以牺牲下载体验为代价*/
  69 + //preferWakeup:true,
  70 + /*自定义遮罩的html*/
  71 + //mask:function(){
  72 + // return "<div id='openinstall_shadow' style='position:fixed;left:0;top:0;background:rgba(0,255,0,0.5);filter:alpha(opacity=50);width:100%;height:100%;z-index:10000;'></div>"
  73 + //},
  74 + /*openinstall初始化完成的回调函数,可选*/
  75 + channelCode: channelName,
  76 + onready: function() {
  77 + /*在app已安装的情况尝试拉起app*/
  78 + /*不管是iOS还是安卓必须在openInstall后台打开启用scheme按钮才能执行schemeWakeup方法*/
  79 + /*在ios9.2以下schemeWakeup方法才能在openInstall初始化完毕之后执行拉起app操作,
  80 + ios9.2以上必须通过点击触发wakeupOrInstall方法才能拉起app */
  81 + /*在安卓里只要打开了启用scheme按钮,schemeWakeup方法就会执行*/
  82 + /*隐藏以下代码是为了解决安卓网家家app内部打开h5会弹出跳转外部应用的bug*/
  83 + //var m = this;
  84 + //m.schemeWakeup();
  85 + }
  86 + },
  87 + openInstallData
  88 + );
  89 +
  90 + mm.wakeupOrInstall();
  91 +}
  92 +// channelName通过channelName获取的渠道包名channelCodeName获取到的渠道包名
  93 +var channelName = "tg_dstg",
  94 + pathPrefix = "",
  95 + channelCodeName = "TGDSTG",
  96 + sid = getUrlParam("sid"), //sid
  97 + mm,
  98 + wrtcTop,
  99 + wrtcBtn,
  100 + type = "shop",
  101 + openInstallData;
  102 +// if (channelName.indexOf('xwh') > -1) {
  103 +// channelName = 'xwh'
  104 +// }
  105 +
  106 +// 判断测试环境和生产环境给appKey赋值
  107 +// appKey = 'gzqtwt' //测试appKey
  108 +let appKey;
  109 +let url = document.domain;
  110 +if (url.toLowerCase() === "managemall.cnlive.com" || url.toLowerCase() === "manageshop.cnlive.com") {
  111 + appKey = "vfkj9x"; //正式appKey
  112 +} else {
  113 + appKey = "gzqtwt"; //测试appKey
  114 +}
  115 +//初始化openInstall方法
  116 +function openInstallReady() {
  117 + var timestamp = Date.parse(new Date());
  118 + openInstallData = parseQueryString();
  119 + openInstallData.channelCodeName = channelCodeName;
  120 + openInstallData.timestamp = timestamp;
  121 + openInstallData.changeSecDefChannel = true; //安卓默认定位二级频道
  122 + openInstallData.type = type;
  123 + // 处理礼物通过openinstall唤起APP
  124 + let share_mold = encodeURIComponent(decodeURIComponent(openInstallData.share_mold));
  125 + let shop_type = encodeURIComponent(decodeURIComponent(openInstallData.shop_type));
  126 + let shop_to = encodeURIComponent(decodeURIComponent(openInstallData.shop_to));
  127 + let shop_shop_type = encodeURIComponent(decodeURIComponent(openInstallData.shop_shop_type));
  128 + // 把值链接的方式绑定到shopShoptype
  129 + let shopCollection =
  130 + "shop_shop_type=" +
  131 + shop_shop_type +
  132 + "&shop_to=" +
  133 + shop_to +
  134 + "&shop_type=" +
  135 + shop_type +
  136 + "&share_mold=" +
  137 + share_mold;
  138 + // Base64位编码加密
  139 + // var CryptoJS = require('crypto-js')
  140 + var wordArray = CryptoJS.enc.Utf8.parse(shopCollection);
  141 + let shopData = encodeURIComponent(CryptoJS.enc.Base64.stringify(wordArray));
  142 + openInstallData.shopData = shopData;
  143 + mm = new OpenInstall(
  144 + {
  145 + /*appKey必选参数,openinstall平台为每个应用分配的ID*/
  146 + appKey: appKey,
  147 + /*可选参数,自定义android平台的apk下载文件名;个别andriod浏览器下载时,中文文件名显示乱码,请慎用中文文件名!*/
  148 + //apkFileName : 'com.fm.openinstalldemo-v2.2.0.apk',
  149 + /*可选参数,是否优先考虑拉起app,以牺牲下载体验为代价*/
  150 + //preferWakeup:true,
  151 + /*自定义遮罩的html*/
  152 + //mask:function(){
  153 + // return "<div id='openinstall_shadow' style='position:fixed;left:0;top:0;background:rgba(0,255,0,0.5);filter:alpha(opacity=50);width:100%;height:100%;z-index:10000;'></div>"
  154 + //},
  155 + /*openinstall初始化完成的回调函数,可选*/
  156 + channelCode: channelName,
  157 + onready: function() {
  158 + /*在app已安装的情况尝试拉起app*/
  159 + /*不管是iOS还是安卓必须在openInstall后台打开启用scheme按钮才能执行schemeWakeup方法*/
  160 + /*在ios9.2以下schemeWakeup方法才能在openInstall初始化完毕之后执行拉起app操作,
  161 + ios9.2以上必须通过点击触发wakeupOrInstall方法才能拉起app */
  162 + /*在安卓里只要打开了启用scheme按钮,schemeWakeup方法就会执行*/
  163 + /*隐藏以下代码是为了解决安卓网家家app内部打开h5会弹出跳转外部应用的bug*/
  164 + //var m = this;
  165 + //m.schemeWakeup();
  166 + }
  167 + },
  168 + openInstallData
  169 + );
  170 +}
  171 +
  172 +// $.ajax({
  173 +// url: "//apiwjj.cnlive.com/Daren/common/getLatestApk.action",
  174 +// type: "GET",
  175 +// dataType: "json",
  176 +// data: {
  177 +// channelId: channelName
  178 +// },
  179 +// success: function(res) {
  180 +// channelCodeName = res.data.apkChannelName;
  181 +// if (window.location.href.indexOf("singingActivityDescription.html") > -1) {
  182 +// wakeupOrInstallWrtcTop();
  183 +// var item =
  184 +// "type=web&pathPrefix=/cnBlockMore.html&channelName=901&blockId=608&blockType=27&contentType=14&title=%E4%BD%9C%E5%93%81%E5%B1%95%E7%A4%BA&moreUrl=http%3A%2F%2Fcms.cnlive.com%3A8768%2FcontentApi%2FtcysgList&isVotingSearch=%E6%8C%89%E7%BC%96%E5%8F%B7%2F%E5%90%8D%E7%A7%B0%E6%90%9C%E7%B4%A2";
  185 +// wakeupOrInstallWrtcBtn(item);
  186 +// } else if (window.location.href.indexOf("cnLtyInvitation.html") > -1) {
  187 +// //领头雁邀请页面拉起领头雁报名页面处理
  188 +// var item =
  189 +// "type=web&pathPrefix=/cnLty.html&channelName=&isShowTitle=true&inviterUid=" +
  190 +// sid;
  191 +// wakeupOrInstallLtyInvitationTop(item);
  192 +// } else {
  193 +// openInstallReady();
  194 +// }
  195 +// },
  196 +// error: function(err) {
  197 +// // alert("接口请求失败!")
  198 +// }
  199 +// });
  200 +// 本地测试
  201 +openInstallReady();
... ...