function isMobile() { if (/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)) { return true; } else { return false; } } function getAd(mark, isWriteElement = true) { if (isWriteElement) document.write(''); $.ajax({ type: "GET", cache: false, dataType: "jsonp", data: {mark: mark}, url: 'https://api.piaofei.cn/ad/get-view/aab810d85502a82135a85b7ceb281a52?' + new Date().toString(), crossDomain: true, xhrFields: {withCredentials: true}, beforeSend: function () {}, success: function (result) { if (result.code == 0) { $('.js-show-ad-' + mark).html(result.data); } }, complete: function () {}, }); if (isWriteElement) document.close(); } $('.js-ad-jump').on('click', function () { var that = $(this); var linkType = that.data('link-type'); var link = that.data('link'); if (linkType=='link') { location.replace(link); } else { wx.miniProgram.getEnv(function (res) { if (res.miniprogram==true) { if (linkType=='weApp') wx.miniProgram.navigateTo({url: '/pages/jump/index?type=weApp&appId=' + link}); if (linkType=='weVideo') wx.miniProgram.navigateTo({url: '/pages/jump/index?type=link&linkType=weVideo&link=' + link}); if (linkType=='navigateTo') wx.miniProgram.navigateTo({url: link}); if (linkType=='redirectTo') wx.miniProgram.redirectTo({url: link}); if (linkType=='switchTab') wx.miniProgram.switchTab({url: link}); if (linkType=='reLaunch') wx.miniProgram.reLaunch({url: link}); } }); } }); function randomString(len = 16) { var $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678'; var maxPos = $chars.length; var pwd = ''; for (i = 0; i < len; i++) { pwd += $chars.charAt(Math.floor(Math.random() * maxPos)); } return pwd; } $(function () { $('[data-toggle="show-ad"]').each(function () { var that = $(this); var mark = that.data('mark'); $.ajax({ type: "GET", cache: false, dataType: "jsonp", data: {mark: mark}, url: 'https://api.piaofei.cn/ad/get-view/aab810d85502a82135a85b7ceb281a52?' + new Date().toString(), crossDomain: true, xhrFields: {withCredentials: true}, beforeSend: function () {}, success: function (result) { if (result.code == 0) { that.html(result.data); } }, complete: function () {}, }); }); $('[data-toggle="show-video"]').each(function () { var that = $(this); var type = that.data('type'); var parameter = that.data('parameter'); var width = that.data('width'); var height = that.data('height'); var isLive = that.data('is-live'); var poster = that.data('poster'); $.ajax({ type: "GET", cache: false, dataType: "jsonp", data: {type: type, parameter: parameter, width: width, height: height, isLive: isLive, poster: poster}, url: 'https://api.piaofei.cn/video/get-player/aab810d85502a82135a85b7ceb281a52?' + new Date().toString(), crossDomain: true, xhrFields: {withCredentials: true}, beforeSend: function () {}, success: function (result) { if (result.code == 0) { that.html(result.data); } }, complete: function () {}, }); }); $('.js-change-video').on('click', function () { var that = $(this); var parameter = that.data('parameter'); $.ajax({ type: "GET", cache: false, dataType: "jsonp", data: {parameter: parameter}, url: "https://api.piaofei.cn/video/resolve", crossDomain: true, xhrFields: {withCredentials: true}, headers: {'X-Requested-With': 'XMLHttpRequest'}, beforeSend: function () { }, success: function (result) { if (result.code == 0) { if (typeof videojs != 'undefined') { myPlayer = videojs('js-h5-player'); myPlayer.src(result.data.video); myPlayer.ready(function () { myPlayer.play(); }); } } }, complete: function () { } }); }); $.extend({ "backgroundAudio": function (options) { var defaults = { id: 'background-audio', src: '', autoplay: true, loop: true, preload: 'auto' } var settings = $.extend({}, defaults, options); var container = $('body'); var audio = $(''); container.prepend(audio); var backgroundAudio = {}; backgroundAudio.play = function (src = '', loop = true) { if (src) audio.attr('src', src); audio.attr('loop', loop); backgroundAudio.status = 'play'; audio.get(0).play(); } backgroundAudio.pause = function () { backgroundAudio.status = 'play'; audio.get(0).play(); } backgroundAudio.pause = function () { backgroundAudio.status = 'pause'; audio.get(0).pause(); } backgroundAudio.volume = function (number) { audio.get(0).volume = number; } return backgroundAudio; }, "upload": function (options = {}, callback = function () {}) { options = $.extend({}, {count: 1}, options); if (!options.mode) return false; var cacheMark = randomString(16); if (typeof options.mode === "object" && Array.isArray(options.mode)) { var content = '
'; $(options.mode).each(function (index, item) { if (item.type == 'image') { content += '
图片
'; } if (item.type == 'video') { content += '
视频
'; } if (item.type == 'audio') { content += '
音频
'; } if (item.type == 'file') { content += '
文件
'; } }); var uploadHalfScreenDialog = mobile.halfScreenDialog({ className: 'half-screen-dialog-custom', title: options.title, subTitle: options.subTitle, content: content }); if (uploadHalfScreenDialog) { $(uploadHalfScreenDialog).find('.js-upload').on('click', function () { weappUpload($(this).data('type'), $(this).data('options'), cacheMark, callback, function () { uploadHalfScreenDialog.hide(); }); }); } } else { weappUpload(options.mode, options, cacheMark, callback); } function weappUpload(type, options, cacheMark, callback, extendCallback = '') { var url; if (type == 'image') { options = $.extend({}, {count: 1}, options); url = '/pages/jump/index?type=chooseMedia&count=' + options.count + '&mediaType=image&cacheMark=' + cacheMark; } if (type == 'video') { options = $.extend({}, {count: 1, type: '', duration: '', camera: ''}, options); url = '/pages/jump/index?type=chooseMedia&mediaCount=' + options.count + '&mediaType=video&sourceType=' + options.type + '&videoMaxDuration=' + options.duration + '&camera=' + options.camera + '&cacheMark=' + cacheMark; } if (type == 'audio') { options = $.extend({}, {count: 1, type: 'mp3'}, options); url = '/pages/jump/index?type=chooseMessageFile&fileCount=' + options.count + '&fileType=file&fileExtension=' + options.type + '&cacheMark=' + cacheMark; } if (type == 'file') { options = $.extend({}, {count: 1, type: ''}, options); url = '/pages/jump/index?type=chooseMessageFile&fileCount=' + options.count + '&fileType=file&fileExtension=' + options.type + '&cacheMark=' + cacheMark; } wx.miniProgram.getEnv(function (res) { if (res.miniprogram == true) { wx.miniProgram.navigateTo({url: url}); //防止重复出现 var isSuccess = false; document.addEventListener('visibilitychange', function () { if (document.hidden) { } else { if (isSuccess) return false; setTimeout(function () { $.ajax({ type: "GET", cache: false, dataType: "jsonp", data: {mark: cacheMark}, url: "https://api.piaofei.cn/cache/get", crossDomain: true, xhrFields: {withCredentials: true}, headers: {'X-Requested-With': 'XMLHttpRequest'}, beforeSend: function () { }, success: function (result) { isSuccess = true; if (result.code == 0) { if (result.data && extendCallback) extendCallback(); callback(result.data); } else { mobile.topTips({ type: 'error', content: result.msg, duration: 2000, callback: function () { } }); } }, complete: function () { } }); }, 1000); } }, false); /*WeixinJSBridge.on('onPageStateChange', function(res) { if (res.active == 'true') { } });*/ } }); } }, "wechat": function (options = {}) { if (isWeiXin()) { var settings = $.extend({}, {shareTitle: '掌上电视-看电视如此简单', shareDescription: '点击进入', shareImage: 'https://file.piaofei.net/manage/20240806/230310241806.jpg?x-oss-process=image/quality,q_100/format,webp', shareLink: location.href.split('#')[0], shareLinkAdditionalParameter: ''}, options); if (settings.shareLinkAdditionalParameter) { settings.shareLink += (settings.shareLink.indexOf('?') != -1 ? '&' : '?') + new URLSearchParams(settings.shareLinkAdditionalParameter).toString(); } $.ajax({ type: 'GET', cache: false, async: false, dataType: 'jsonp', data: {url: location.href.split('#')[0]}, url: 'https://api.piaofei.cn/wechat/get-sign-package/aab810d85502a82135a85b7ceb281a52?t=' + new Date().toString(), success: function (result) { if (result.code == 0) { wx.config({ debug: false, appId: result.data.appId, timestamp: result.data.timestamp, nonceStr: result.data.nonceStr, signature: result.data.signature, jsApiList: ['checkJsApi', 'updateAppMessageShareData', 'updateTimelineShareData', 'hideMenuItems', 'showMenuItems', 'hideAllNonBaseMenuItem', 'showAllNonBaseMenuItem', 'translateVoice', 'startRecord', 'stopRecord', 'onVoiceRecordEnd', 'playVoice', 'onVoicePlayEnd', 'pauseVoice', 'stopVoice', 'uploadVoice', 'downloadVoice', 'chooseImage', 'previewImage', 'uploadImage', 'downloadImage', 'getNetworkType', 'openLocation', 'getLocation', 'hideOptionMenu', 'showOptionMenu', 'closeWindow', 'scanQRCode', 'chooseWXPay', 'openProductSpecificView', 'addCard', 'chooseCard', 'openCard'], openTagList: ['wx-open-launch-weapp', 'wx-open-subscribe'] }); wx.ready(function () { wx.updateAppMessageShareData({ title: settings.shareTitle, desc: settings.shareDescription, link: 'https://api.piaofei.cn/wechat/share/aab810d85502a82135a85b7ceb281a52?isLogin=0&url=' + encodeURIComponent(settings.shareLink), imgUrl: settings.shareImage, trigger: function (res) { // 不要尝试在trigger中使用ajax异步请求修改本次分享的内容,因为客户端分享操作是一个同步操作,这时候使用ajax的回包会还没有返回 }, success: function (res) { }, cancel: function (res) { }, fail: function (res) { } }); wx.updateTimelineShareData({ title: settings.shareTitle, link: 'https://api.piaofei.cn/wechat/share/aab810d85502a82135a85b7ceb281a52?isLogin=0&url=' + encodeURIComponent(settings.shareLink), imgUrl: settings.shareImage, trigger: function (res) { // 不要尝试在trigger中使用ajax异步请求修改本次分享的内容,因为客户端分享操作是一个同步操作,这时候使用ajax的回包会还没有返回 }, success: function (res) { }, cancel: function (res) { }, fail: function (res) { } }); }); } } }); } }, "weapp": function (options = {}) { var settings = $.extend({}, {shareTitle: '掌上电视-看电视如此简单', shareImage: 'https://file.piaofei.net/manage/20240806/230310241806.jpg?x-oss-process=image/quality,q_100/format,webp', shareLink: location.href.split('#')[0], shareLinkAdditionalParameter: ''}, options); if (settings.shareLink.indexOf("userOpenId") != -1 || settings.shareLink.indexOf("userToken") != -1) { settings.shareLink = settings.shareLink.replace(/(userOpenId|userToken)=[^&]*&?/g, '').replace(/(userOpenId|userToken)%3D[^%26]*/g, ''); } if (settings.shareLinkAdditionalParameter) { settings.shareLink += (settings.shareLink.indexOf('?') != -1 ? '&' : '?') + new URLSearchParams(settings.shareLinkAdditionalParameter).toString(); } wx.miniProgram.getEnv(function (res) { if (res.miniprogram == true) { wx.miniProgram.postMessage({data: {title: settings.shareTitle, imageUrl: settings.shareImage, path: '/pages/loading/index?url=' + encodeURIComponent(settings.shareLink)}}); } }); } }); if (typeof ClipboardJS != 'undefined') { var clipboard = new ClipboardJS('.js-clipboard'); clipboard.on('success', function (e) { mobile.toast({ type: 'success', content: '复制成功', duration: 2000, callback: function () { } }); e.clearSelection(); }); clipboard.on('error', function (e) { mobile.toast({ type: 'error', content: '复制失败', duration: 2000, callback: function () { } }); }); } if (typeof $.fn.lazyload != 'undefined') { $("img.lazyload").lazyload({ threshold: 200 }); } if (typeof wx != 'undefined') { wx.miniProgram.getEnv(function (res) { if (res.miniprogram == true) { $('.js-jump-weapp').on('click', function () { var that = $(this); var appId = that.data('app-id'); var pagePath = that.data('page-path'); var shortLink = that.data('short-link'); var theme = that.data('theme'); if (!theme) theme = $('body').data('theme'); wx.miniProgram.navigateTo({url: '/pages/jump/index?type=weApp&appId=' + appId + '&pagePath=' + pagePath + '&shortLink=' + shortLink + '&theme=' + theme + ''}); }); $('.js-jump-link').on('click', function () { var that = $(this); var linkType = that.data('link-type'); var link = that.data('link'); var linkIsCheckUserLogin = that.data('link-is-check-user-login'); var theme = that.data('theme'); if (!theme) theme = $('body').data('theme'); if (linkType=='link') { location.replace(link); } else { wx.miniProgram.navigateTo({url: '/pages/jump/index?type=link&linkType=' + linkType + '&link=' + link + '&linkIsCheckUserLogin=' + linkIsCheckUserLogin + '&theme=' + theme + ''}); } }); $('.js-jump-page').on('click', function () { var that = $(this); var pagePath = that.data('page-path'); wx.miniProgram.navigateTo({url: '' + pagePath + ''}); }); $('.js-jump-back').on('click', function () { var that = $(this); var delta = that.data('delta'); wx.miniProgram.navigateBack({delta: '' + delta + ''}); }); $('.js-jump-open-location').on('click', function () { var that = $(this); var longitude = that.data('longitude'); var latitude = that.data('latitude'); var scale = that.data('scale'); var name = that.data('name'); var address = that.data('address'); var theme = that.data('theme'); if (!theme) theme = $('body').data('theme'); wx.miniProgram.navigateTo({url: '/pages/jump/index?type=openLocation&longitude=' + longitude + '&latitude=' + latitude + '&scale=' + scale + '&name=' + name + '&address=' + address + '&theme=' + theme + ''}); }); $('.js-jump-open-file').on('click', function () { var that = $(this); var fileType = that.data('file-type'); var filePath = that.data('file-path'); var theme = that.data('theme'); if (!theme) theme = $('body').data('theme'); wx.miniProgram.navigateTo({url: '/pages/jump/index?type=openFile&fileType=' + fileType + '&filePath=' + filePath + '&theme=' + theme + ''}); }); } }); $('.js-show-image').on('click', function () { var that = $(this); var image = that.data('image'); if (!image) image = that.attr("src"); wx.previewImage({ current: image, urls: [image] }); }); $('.js-show-map').on('click', function () { var that = $(this); var longitude = that.data('longitude'); var latitude = that.data('latitude'); var scale = that.data('scale'); var name = that.data('name'); var address = that.data('address'); wx.openLocation({ longitude: longitude, latitude: latitude, scale: scale, name: name, address: address }); }); } }); function randomString(len = 16) { var $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678'; var maxPos = $chars.length; var pwd = ''; for (i = 0; i < len; i++) { pwd += $chars.charAt(Math.floor(Math.random() * maxPos)); } return pwd; } function isWeiXin() { var ua = window.navigator.userAgent.toLowerCase(); if (ua.match(/MicroMessenger/i) == 'micromessenger') { return true; } else { return false; } }