UNPKG

xx-common

Version:

the functions of yd common

761 lines (760 loc) 36.4 kB
"use strict"; // 微信分享 // 使用方法 // 步骤1,引入: // import * as YdShare from '@/common/share.js' // 步骤2,初始化: // let shareObj = { // shareTitle: this.city + '竟然有那么多好玩的活动', // shareContent: "快来参加吧!", // shareIcon:"https://ssl-pubpic.51yund.com/857264683.jpg", // shareUrl: 'https://sslwxsharecircle.51yund.com/vapps/cityActivity/' // } // YdShare.setSimpleShare(shareObj); // 步骤3,调用 // YdShare.onShare() // 如果是右上角分享,则不需要步骤3 var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = (this && this.__generator) || function (thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (_) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.onYdShareCb = exports.AccessWeixinShare = exports.MetaShareInfo = exports.setSimpleShare = exports.onShare = exports.commonShare = exports.addWeixinShareSpecifyInfoV2 = exports.iosIframeLocalCall = void 0; var crypto_js_1 = __importDefault(require("crypto-js")); var weixin_js_sdk_1 = __importDefault(require("weixin-js-sdk")); //引入WxjsSDK function commonShare(shareObj, cbFun) { return __awaiter(this, void 0, void 0, function () { var sharePlatforom, shareType, screenShotsFlag, shareTitle, shareContent, shareIcon, openShareUrl, imgBase64Url, imgBase64Url1, url; return __generator(this, function (_a) { switch (_a.label) { case 0: //sharePlatforom -2:右上角分享配置不调起分享面板 -1:分享面板 0:新浪微博 1:微信聊天 2:微信朋友圈 4:QQ聊天 5:QQ空间 //shareType 0:分享链接(icon title content url) 1:分享图片(QQ空间不支持 即使是分享图片的时候 也需要设置一套分享链接的素材) //screenShotsFlag true 分享截屏 shareCb = cbFun; sharePlatforom = shareObj["sharePlatforom"]; shareType = shareObj["shareType"]; if (!(sharePlatforom == -2 && shareType != 1)) return [3 /*break*/, 2]; updateShareMetaInfo(shareObj); //更新meta信息 return [4 /*yield*/, addWeixinShareSpecifyInfoV2(shareObj)]; case 1: _a.sent(); //增加二次分享 return [2 /*return*/]; case 2: if (!window.tool.isYuedong()) return [2 /*return*/]; if (!window.tool.isAndroidWeb()) return [3 /*break*/, 6]; if (!(sharePlatforom >= 0)) return [3 /*break*/, 3]; /*单渠道分享 (分享链接 or 图片) android 分享图片.meta带上share_pic_url QQ 空间不支持 正常分享页面meta配置的title、content、url、icon等 */ sharePlatforom = initAppShareType(sharePlatforom); shareObj["sharePlatforom"] = sharePlatforom; androidShareByType(shareObj); return [3 /*break*/, 5]; case 3: //分享面板分享链接(图片 ) updateShareMetaInfo(shareObj); //更新meta信息 给客户端取 return [4 /*yield*/, addWeixinShareSpecifyInfoV2(shareObj)]; case 4: _a.sent(); //增加二次分享 ydShare(null, null); _a.label = 5; case 5: return [2 /*return*/]; case 6: if (sharePlatforom >= -1) { screenShotsFlag = shareObj["screenShotsFlag"]; shareTitle = shareObj["shareTitle"]; shareContent = shareObj["shareContent"]; shareIcon = shareObj["shareIcon"]; openShareUrl = shareObj["shareUrl"]; imgBase64Url = shareObj["sharePicUrl"]; shareObj = initShareObj(shareObj); if (sharePlatforom < 0) { sharePlatforom = ""; } imgBase64Url1 = "iVBORw0KGgoAAAANSUhEUgAAAB0AAAAdCAIAAADZ8fBYAAADlElEQVR4AX2VA6xEVxCGv3/OuYvajdPGSRvUCGvFKsPGZuPGbsyaQW3btm27T6s70+Ttnpzcfcrd3Tl435n7z73z6+ifjnfkmGOx+V3jemmnpRIvE7LCTUY44GCCAOEgsAAAc8JwAHBhQYlRYBgKwh0MENmYDwwKmvoXNcRRWepuq0NjQdvklhQMddA1Vsk63FSWVLYJgrJTm3HhEoRgK1p41LvuoKOjW02OAM/CjSKoMLaia1y0LmgKGrrSKxse1DMDwNqYtbBU63p1ZyBl9TporNStng/hh9the9u+jiCBxeY3JGSQyqSBJeU/fPWt2VeFsJC01A2spDyL9lAdcNEel4ASKalJpKwmKSVy33o99QwzWcL20ODyf657LT5p1LcAFd0MN9zCNQ/wxuzt6RsfTz4imMVsFtPyPXNaQRvt/DLs5dH7d208NbBkFML8EmG4yU2LhUSEpk+OHpsx0SKDACD6m7kbMilhLe1VK3eObZwKpKI755S4Z+lr//yt8es9NRRoQ+6rb1KSGTaw/hPrL786e3doqUsoXCMs3KIsbAbZeGr02L/+j2ECwZ5pj6xkmKGs9G/73/Wrd6SEEQtcVEltwVJI5Uy58Eb6nZ+fHz3dKAU+tMFQA6GEmWyg3p2rD3/pX/dltiCGVCTFTaVuFrF0O31LL06e+XH2fU/Nfmkfk6XNq0fz7fSH2zfuG6Sssr9kGlXfeggddBYb+u+R9fv3SfsMNLR5slhWvmXltr/4I4sqaLkUMZfRl5sLbuUdydJP/i1EVmoR0Kj39ujdx8dPDHMDtXNWggi0zXtBmGuBJtqzhudNfRJEwkAe7Y3/3Ti1UcOwZABROoPmsazmr/pIGGFEG+Mj0pGnDs+cxHjNV5Py0IZPrT/55uy1oWWjrY+BlghR+lks9y0nepEu2OvSfdP+q6ystav7pf3/bf+5ZeX6nDACgvD6X932VvVdMoKJT88cXHDy8LRxjBr1xj6KiHtWbvvGP+/nPR1XbO8yHb+owpe4p/T79Psr/risxR21ES3+1uzNYWrA6/0t9WuVghsx37e8gL3XvjCLcNKiEcuS9bOyF4uB4jI4wqNawVzf7ZxN9JWbjp/LwXF1+nVxGTpaF7/YUakaa3c/7hJq3XZGd51tB3QnuVK3Io1sobVYfuABbbH6wFS3KTAVP55zqzTb1lfU1KSuVXff4LIpC7eAKuKOT6WqXLGTIGWb/ge7OXDlEvWZtQAAAABJRU5ErkJggg=="; url = "/local_call?local_action=share_params&arg0=" + encodeURIComponent(shareTitle) + "&arg1=" + encodeURIComponent(shareContent) + "&arg2=" + encodeURIComponent(shareIcon) + "&arg3=" + encodeURIComponent(openShareUrl) + "&arg4=" + encodeURIComponent(JSON.stringify(shareObj)) + "&arg5=" + encodeURIComponent(sharePlatforom) + "&arg6=" + encodeURIComponent(screenShotsFlag) + "&arg7=" + encodeURIComponent(imgBase64Url1) + "&arg8=" + encodeURIComponent(imgBase64Url); iosIframeLocalCall(url); } return [2 /*return*/]; } }); }); } exports.commonShare = commonShare; function checkShareContent(content) { var enableContent = true; if (!content || content == undefined || content == "") { enableContent = false; } return enableContent; } function dealCheck(defaultVal, needVal) { var finalVal = defaultVal; if (checkShareContent(needVal)) { finalVal = needVal; } return finalVal; } /** * 设置/更新 meta信息 * @param {Object} shareObj */ function updateShareMetaInfo(shareObj) { var doc = document; var metaNode = doc.getElementsByTagName("meta"); for (var index = 0; index < metaNode.length; index++) { var metaInfo = metaNode[index]; var metaAttr = metaInfo["attributes"]; if (!metaAttr) { continue; } var metaAttrLen = metaAttr.length; for (var attrIndex = 0; attrIndex < metaAttrLen; attrIndex++) { var metaAttrIndexNode = metaAttr[attrIndex]; var itemProp = metaAttrIndexNode["itemprop"]; if (metaAttrIndexNode.name == "itemprop") { var shareTitle = shareObj["shareTitle"]; var shareContent = shareObj["shareContent"]; if (metaAttrIndexNode.value == "name") { metaInfo["content"] = shareTitle; } if (metaAttrIndexNode.value == "description") { metaInfo["content"] = shareContent; } if (metaAttrIndexNode.value == "qq_title") { metaInfo["content"] = dealCheck(shareTitle, shareObj["shareQqTitle"]); } if (metaAttrIndexNode.value == "qzone_title") { metaInfo["content"] = dealCheck(shareTitle, shareObj["shareQzoneTitle"]); } if (metaAttrIndexNode.value == "qq_content") { metaInfo["content"] = dealCheck(shareContent, shareObj["shareQqContent"]); } if (metaAttrIndexNode.value == "qzone_content") { metaInfo["content"] = dealCheck(shareContent, shareObj["shareQzoneContent"]); } if (metaAttrIndexNode.value == "wx_circle") { metaInfo["content"] = dealCheck(shareContent, shareObj["shareWxCircle"]); } if (metaAttrIndexNode.value == "wb_content") { metaInfo["content"] = dealCheck(shareContent, shareObj["shareWbContent"]); } if (metaAttrIndexNode.value == "share_url") { metaInfo["content"] = dealCheck("", shareObj["shareUrl"]); } if (metaAttrIndexNode.value == "image") { metaInfo["content"] = dealCheck("", shareObj["shareIcon"]); } if (metaAttrIndexNode.value == "share_pic_url") { metaInfo["content"] = dealCheck("", shareObj["sharePicUrl"]); } if (metaAttrIndexNode.value == "screen_shots_flag") { metaInfo["content"] = dealCheck("", shareObj["screenShotsFlag"]); } } } } } function AccessWeixinShare(currentUrl) { return __awaiter(this, void 0, void 0, function () { var ts, noncestr, ticket, arrTemp, strTemp, strArr; return __generator(this, function (_a) { switch (_a.label) { case 0: ts = new Date().getTime(); noncestr = "Wm3WZYTPz0wzccnW"; return [4 /*yield*/, GetWeixinTicket()]; case 1: ticket = _a.sent(); arrTemp = []; arrTemp[0] = "jsapi_ticket=" + ticket; arrTemp[1] = "noncestr=" + noncestr; arrTemp[2] = "timestamp=" + ts; arrTemp[3] = "url=" + currentUrl; arrTemp.sort(); strTemp = arrTemp.join("&"); strTemp = crypto_js_1.default.SHA1(strTemp).toString(crypto_js_1.default.enc.Hex); strArr = new Object(); strArr["sha1Str"] = strTemp; strArr["ts"] = ts; strArr["noncestr"] = noncestr; return [2 /*return*/, strArr]; } }); }); } exports.AccessWeixinShare = AccessWeixinShare; /** * 增加二次分享 * * */ function addWeixinShareSpecifyInfoV2(shareObj) { return __awaiter(this, void 0, void 0, function () { var shareTitle, shareContent, shareIcon, shareWxCircle, shareQqTitle, shareQqContent, shareQzoneTitle, shareQzoneContent, shareWbTitle, shareWbContent, shareLinkUrl, shareOpenUrl, strArr, sha1Str, timestamp, noncestr; return __generator(this, function (_a) { switch (_a.label) { case 0: if (!window.tool.isWeixin()) { return [2 /*return*/]; } shareTitle = shareObj["shareTitle"]; shareContent = shareObj["shareContent"]; shareIcon = shareObj["shareIcon"]; shareWxCircle = dealCheck(shareContent, shareObj["shareWxCircle"]); shareQqTitle = dealCheck(shareTitle, shareObj["shareQqTitle"]); shareQqContent = dealCheck(shareContent, shareObj["shareQqContent"]); shareQzoneTitle = dealCheck(shareTitle, shareObj["shareQzoneTitle"]); shareQzoneContent = dealCheck(shareContent, shareObj["shareQzoneContent"]); shareWbTitle = dealCheck(shareTitle, shareObj["shareWbTitle"]); shareWbContent = dealCheck(shareContent, shareObj["shareWbContent"]); shareLinkUrl = "window.location.href"; shareOpenUrl = dealCheck(shareLinkUrl, shareObj["shareUrl"]); return [4 /*yield*/, AccessWeixinShare(window.location.href)]; case 1: strArr = _a.sent(); sha1Str = strArr["sha1Str"]; timestamp = strArr["ts"]; noncestr = strArr["noncestr"]; // addWeixinShareViewInfo(sha1Str, timestamp, noncestr, shareTitle, shareContent, shareLinkUrl, shareIcon, shareOpenUrl); shareLinkUrl = shareLinkUrl.replace("v=*&", ""); shareLinkUrl = shareLinkUrl.replace("&is_share=*", ""); shareLinkUrl = shareLinkUrl.replace("user_id=", "MSEASE="); shareLinkUrl = shareLinkUrl.replace("member=", window.tool.getUrlParam("user_id")); if (!shareOpenUrl) { shareOpenUrl = shareLinkUrl; } weixin_js_sdk_1.default.config({ debug: false, appId: "wxa0bd6bb58c4f415f", timestamp: timestamp, nonceStr: noncestr, signature: sha1Str, jsApiList: [ "onMenuShareTimeline", "onMenuShareAppMessage", "onMenuShareQQ", "onMenuShareWeibo", "onMenuShareQZone", "showMenuItems", ], // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); weixin_js_sdk_1.default.ready(function () { //验证通过 //分享到朋友圈 weixin_js_sdk_1.default.onMenuShareTimeline({ title: shareWxCircle, link: shareOpenUrl, imgUrl: shareIcon, success: function () { // 用户确认分享后执行的回调函数 if ("onYdShare" in window) { window.onYdShare(); } }, cancel: function () { // 用户取消分享后执行的回调函数 }, }); //分享好友 weixin_js_sdk_1.default.onMenuShareAppMessage({ title: shareTitle, desc: shareContent, link: shareOpenUrl, imgUrl: shareIcon, type: "link", dataUrl: "", success: function () { // 用户确认分享后执行的回调函数 if ("onYdShare" in window) { window.onYdShare(); } }, cancel: function () { // 用户取消分享后执行的回调函数 }, }); weixin_js_sdk_1.default.onMenuShareQQ({ title: shareQqTitle, desc: shareQqContent, link: shareOpenUrl, imgUrl: shareIcon, success: function () { // 用户确认分享后执行的回调函数 if ("onYdShare" in window) { window.onYdShare(); } }, cancel: function () { // 用户取消分享后执行的回调函 }, }); weixin_js_sdk_1.default.onMenuShareQZone({ title: shareQzoneTitle, desc: shareQzoneContent, link: shareOpenUrl, imgUrl: shareIcon, success: function () { // 用户确认分享后执行的回调函数 if ("onYdShare" in window) { window.onYdShare(); } }, cancel: function () { // 用户取消分享后执行的回调函数 }, }); weixin_js_sdk_1.default.onMenuShareWeibo({ title: shareWbTitle, desc: shareWbContent, link: shareOpenUrl, imgUrl: shareIcon, success: function () { // 用户确认分享后执行的回调函数 if ("onYdShare" in window) { window.onYdShare(); } }, cancel: function () { // 用户取消分享后执行的回调函数 }, }); }); weixin_js_sdk_1.default.error(function (res) { //微信验证失败 }); return [2 /*return*/]; } }); }); } exports.addWeixinShareSpecifyInfoV2 = addWeixinShareSpecifyInfoV2; /** * 点击右上角分享 客户端调用此方法获得分享信息 */ function MetaShareInfo() { var doc = document; var metaNode = doc.getElementsByTagName("meta"); var shareTitle = ""; var shareContent = ""; var shareIcon = ""; var shareWxCircle = ""; var shareQqTitle = ""; var shareQqContent = ""; var shareQzoneTitle = ""; var shareQzoneContent = ""; var shareWbContent = ""; var sharePicUrl = ""; var screenShotsFlag = ""; var openShareUrl = window.location.href; for (var index = 0; index < metaNode.length; index++) { var metaInfo = metaNode[index]; var metaAttr = metaInfo["attributes"]; if (!metaAttr) { continue; } var metaAttrLen = metaAttr.length; for (var attrIndex = 0; attrIndex < metaAttrLen; attrIndex++) { var metaAttrIndexNode = metaAttr[attrIndex]; var itemProp = metaAttrIndexNode["itemprop"]; if (metaAttrIndexNode.name == "itemprop") { var metaDesc = metaInfo["content"]; if (metaAttrIndexNode.value == "description") { shareContent = metaDesc; } if (metaAttrIndexNode.value == "name") { shareTitle = metaDesc; } if (metaAttrIndexNode.value == "image") { shareIcon = metaDesc; } if (metaAttrIndexNode.value == "wx_circle") { shareWxCircle = metaDesc; } if (metaAttrIndexNode.value == "qq_title") { shareQqTitle = metaDesc; } if (metaAttrIndexNode.value == "qq_content") { shareQqContent = metaDesc; } if (metaAttrIndexNode.value == "qzone_title") { shareQzoneTitle = metaDesc; } if (metaAttrIndexNode.value == "qzone_content") { shareQzoneContent = metaDesc; } if (metaAttrIndexNode.value == "wb_content") { shareWbContent = metaDesc; } if (metaAttrIndexNode.value == "share_url") { openShareUrl = metaDesc; } if (metaAttrIndexNode.value == "share_pic_url") { sharePicUrl = metaDesc; } if (metaAttrIndexNode.value == "screen_shots_flag") { screenShotsFlag = metaDesc; } } } } openShareUrl = openShareUrl.replace(/&is_share=[a-z]+/g, ""); openShareUrl = openShareUrl.replace(/&is_share=/g, ""); openShareUrl = openShareUrl.replace(/\?user_id=[0-9]+&?/g, "?"); openShareUrl = openShareUrl.replace(/\?user_id=[0-9]+/g, ""); openShareUrl = openShareUrl.replace(/&user_id=[0-9]+/g, ""); openShareUrl = openShareUrl.replace(/&user_id=/g, ""); if (!checkShareContent(shareWxCircle)) { shareWxCircle = shareContent; } if (!checkShareContent(shareQqTitle)) { shareQqTitle = shareTitle; } if (!checkShareContent(shareQqContent)) { shareQqContent = shareContent; } if (!checkShareContent(shareQzoneTitle)) { shareQzoneTitle = shareTitle; } if (!checkShareContent(shareQzoneContent)) { shareQzoneContent = shareContent; } if (!checkShareContent(shareWbContent)) { shareWbContent = shareContent; } if (!checkShareContent(openShareUrl)) { shareWbContent = shareWbContent + openShareUrl; } if (window.tool.isAndroidWeb() && window.YDJSInterface) { setAppShareUrl(openShareUrl); if ("setMetaDataShareImgV2" in window.YDJSInterface && sharePicUrl != "") { window.YDJSInterface.setMetaDataShareImgV2(shareQzoneTitle, shareQzoneContent, shareIcon, shareWbContent, sharePicUrl, openShareUrl); return; } if ("setMetaDataShareInfoExv2" in window.YDJSInterface) { window.YDJSInterface.setMetaDataShareInfoExv2(shareTitle, shareContent, shareIcon, shareWxCircle, shareQqTitle, shareQqContent, shareQzoneContent, shareWbContent, shareQzoneTitle); return; } } var shareObj = new Object(); shareObj["shareTitle"] = shareTitle; shareObj["shareContent"] = shareContent; shareObj["shareIcon"] = shareIcon; shareObj["shareUrl"] = openShareUrl; shareObj["sharePicUrl"] = sharePicUrl; shareObj["shareWxCircle"] = shareWxCircle; shareObj["shareQqTitle"] = shareQqTitle; shareObj["shareQqContent"] = shareQqContent; shareObj["shareQzoneTitle"] = shareQzoneTitle; shareObj["shareQzoneContent"] = shareQzoneContent; shareObj["shareWbContent"] = shareWbContent; if (sharePicUrl != "") { shareObj["shareType"] = 1; shareObj["sharePlatforom"] = -2; } shareObj = initShareObj(shareObj); screenShotsFlag = Boolean(screenShotsFlag); if (window.tool.isIosWeb()) { var strAction = "share_params"; var imgBase64Url1 = "iVBORw0KGgoAAAANSUhEUgAAAB0AAAAdCAIAAADZ8fBYAAADlElEQVR4AX2VA6xEVxCGv3/OuYvajdPGSRvUCGvFKsPGZuPGbsyaQW3btm27T6s70+Ttnpzcfcrd3Tl435n7z73z6+ifjnfkmGOx+V3jemmnpRIvE7LCTUY44GCCAOEgsAAAc8JwAHBhQYlRYBgKwh0MENmYDwwKmvoXNcRRWepuq0NjQdvklhQMddA1Vsk63FSWVLYJgrJTm3HhEoRgK1p41LvuoKOjW02OAM/CjSKoMLaia1y0LmgKGrrSKxse1DMDwNqYtbBU63p1ZyBl9TporNStng/hh9the9u+jiCBxeY3JGSQyqSBJeU/fPWt2VeFsJC01A2spDyL9lAdcNEel4ASKalJpKwmKSVy33o99QwzWcL20ODyf657LT5p1LcAFd0MN9zCNQ/wxuzt6RsfTz4imMVsFtPyPXNaQRvt/DLs5dH7d208NbBkFML8EmG4yU2LhUSEpk+OHpsx0SKDACD6m7kbMilhLe1VK3eObZwKpKI755S4Z+lr//yt8es9NRRoQ+6rb1KSGTaw/hPrL786e3doqUsoXCMs3KIsbAbZeGr02L/+j2ECwZ5pj6xkmKGs9G/73/Wrd6SEEQtcVEltwVJI5Uy58Eb6nZ+fHz3dKAU+tMFQA6GEmWyg3p2rD3/pX/dltiCGVCTFTaVuFrF0O31LL06e+XH2fU/Nfmkfk6XNq0fz7fSH2zfuG6Sssr9kGlXfeggddBYb+u+R9fv3SfsMNLR5slhWvmXltr/4I4sqaLkUMZfRl5sLbuUdydJP/i1EVmoR0Kj39ujdx8dPDHMDtXNWggi0zXtBmGuBJtqzhudNfRJEwkAe7Y3/3Ti1UcOwZABROoPmsazmr/pIGGFEG+Mj0pGnDs+cxHjNV5Py0IZPrT/55uy1oWWjrY+BlghR+lks9y0nepEu2OvSfdP+q6ystav7pf3/bf+5ZeX6nDACgvD6X932VvVdMoKJT88cXHDy8LRxjBr1xj6KiHtWbvvGP+/nPR1XbO8yHb+owpe4p/T79Psr/risxR21ES3+1uzNYWrA6/0t9WuVghsx37e8gL3XvjCLcNKiEcuS9bOyF4uB4jI4wqNawVzf7ZxN9JWbjp/LwXF1+nVxGTpaF7/YUakaa3c/7hJq3XZGd51tB3QnuVK3Io1sobVYfuABbbH6wFS3KTAVP55zqzTb1lfU1KSuVXff4LIpC7eAKuKOT6WqXLGTIGWb/ge7OXDlEvWZtQAAAABJRU5ErkJggg=="; var url = "/local_call?local_action=" + strAction + "&arg0=" + encodeURIComponent(shareTitle) + "&arg1=" + encodeURIComponent(shareContent) + "&arg2=" + encodeURIComponent(shareIcon) + "&arg3=" + encodeURIComponent(openShareUrl) + "&arg4=" + encodeURIComponent(JSON.stringify(shareObj)) + "&arg6=" + encodeURIComponent(screenShotsFlag) + "&arg7=" + encodeURIComponent(imgBase64Url1) + "&arg8=" + encodeURIComponent(sharePicUrl); iosIframeLocalCall(url); return; } if ("setShareMetaInfo" in window.YDJSInterface && window.YDJSInterface) { window.YDJSInterface.setShareMetaInfo(shareTitle, shareContent, shareIcon, openShareUrl, JSON.stringify(shareObj)); } } exports.MetaShareInfo = MetaShareInfo; // ios 如果我们连续 2 个 js 调 native,连续2次改document.location的话,在app中, // 只能截获后面那次请求,前一次请求由于很快被替换掉,所以被忽略掉了,前一次请求返回数据丢失。 // 故换成iframe 来实现调用 function iosIframeLocalCall(url) { var iFrame; iFrame = document.createElement("iframe"); iFrame.setAttribute("src", url); iFrame.setAttribute("style", "display:none;"); iFrame.setAttribute("height", "0px"); iFrame.setAttribute("width", "0px"); iFrame.setAttribute("frameborder", "0"); document.body.appendChild(iFrame); // 发起请求后这个 iFrame 就没用了,所以把它从 dom 上移除掉 iFrame.parentNode.removeChild(iFrame); iFrame = null; } exports.iosIframeLocalCall = iosIframeLocalCall; function setAppShareUrl(url) { if (window.YDJSInterface && "setPageShareUrl" in window.YDJSInterface) { window.YDJSInterface.setPageShareUrl(url); } } function initAppShareType(sharePlatforom) { //web和ios sharePlatforom -1:分享面板 0:新浪微博 1:微信聊天 2:微信朋友圈 4:QQ聊天 5:QQ空间 //android 安卓分享面板类型:微信:0,朋友圈:1,微博:2, QQ:3,QQ空间:4 switch (sharePlatforom) { case 0: sharePlatforom = 2; break; case 1: sharePlatforom = 0; break; case 2: sharePlatforom = 1; break; case 4: sharePlatforom = 3; break; case 5: sharePlatforom = 4; break; } return sharePlatforom; } function androidShareByType(shareObj) { var shareType = shareObj["shareType"]; var sharePlatforom = shareObj["sharePlatforom"]; var shareTitle = shareObj["shareTitle"]; var shareContent = shareObj["shareContent"]; var shareIcon = shareObj["shareIcon"]; var shareUrl = shareObj["shareUrl"]; var sharePic = shareObj["sharePicUrl"]; var shareWxCircle = dealCheck(shareContent, shareObj["shareWxCircle"]); var shareQqTitle = dealCheck(shareTitle, shareObj["shareQqTitle"]); var shareQqContent = dealCheck(shareContent, shareObj["shareQqContent"]); var shareQzoneTitle = dealCheck(shareTitle, shareObj["shareQzoneTitle"]); var shareQzoneContent = dealCheck(shareContent, shareObj["shareQzoneContent"]); var shareWbContent = dealCheck(shareContent, shareObj["shareWbContent"]); if (window.YDJSInterface && "setMetaDataShareImgExtra" in window.YDJSInterface && shareType == 1) { //分享图片 window.YDJSInterface.setMetaDataShareImgExtra(shareQzoneTitle, shareQzoneContent, shareIcon, shareWbContent, sharePic, shareUrl, sharePlatforom); return; } //分享链接 sharePic = ""; if (window.YDJSInterface && "setMetaDataShareTlInfoExtra" in window.YDJSInterface) { window.YDJSInterface.setMetaDataShareTlInfoExtra(shareTitle, shareContent, shareIcon, shareWxCircle, shareQqTitle, shareQzoneTitle, shareQqContent, shareQzoneContent, shareWbContent, shareUrl, sharePlatforom); return; } ydShare(null, null); } /** * 把分享对象 转换成ios需要的样子 * @param {Object} shareObj */ function initShareObj(sObj) { var shareType = sObj["shareType"]; var sharePlatforom = sObj["sharePlatforom"]; var shareTitle = sObj["shareTitle"]; var shareContent = sObj["shareContent"]; var shareIcon = sObj["shareIcon"]; var openShareUrl = sObj["shareUrl"]; var sharePic = sObj["sharePicUrl"]; var shareWxCircle = sObj["shareWxCircle"]; var shareQqTitle = sObj["shareQqTitle"]; var shareQqContent = sObj["shareQqContent"]; var shareQzoneTitle = sObj["shareQzoneTitle"]; var shareQzoneContent = sObj["shareQzoneContent"]; var shareWbContent = sObj["shareWbContent"]; if (shareType == 1 && sharePlatforom != 5) { shareIcon = sharePic; openShareUrl = ""; } var shareObj = new Object(); shareObj["qq"] = {}; shareObj["qq"]["title"] = shareTitle; shareObj["qq"]["text"] = shareContent; if (shareQqTitle != "") { shareObj["qq"]["title"] = shareQqTitle; } if (shareQqContent != "") { shareObj["qq"]["text"] = shareQqContent; } shareObj["qzone"] = {}; shareObj["qzone"]["title"] = shareTitle; shareObj["qzone"]["text"] = shareContent; if (shareQzoneTitle != "") { shareObj["qzone"]["title"] = shareQzoneTitle; } if (shareQzoneContent != "") { shareObj["qzone"]["text"] = shareQzoneContent; } shareObj["wechat_session"] = {}; if (shareTitle != "") { shareObj["wechat_session"]["title"] = shareTitle; } if (shareContent != "") { shareObj["wechat_session"]["text"] = shareContent; } //微信朋友圈title&content只有一个 shareObj["wechat_timeline"] = {}; shareObj["wechat_timeline"]["title"] = shareTitle; shareObj["wechat_timeline"]["text"] = shareContent; if (shareWxCircle != "") { shareObj["wechat_timeline"]["title"] = shareWxCircle; shareObj["wechat_timeline"]["text"] = shareWxCircle; } shareObj["sina"] = {}; shareObj["sina"]["title"] = shareTitle; shareObj["sina"]["text"] = shareContent; if (shareWbContent != "") { //内容后面拼接链接 微博会自动识别链接。 shareObj["sina"]["text"] = shareWbContent + openShareUrl; } if (shareIcon != "") { shareObj["qq"]["image"] = shareIcon; shareObj["qzone"]["image"] = shareIcon; shareObj["wechat_session"]["image"] = shareIcon; shareObj["wechat_timeline"]["image"] = shareIcon; shareObj["sina"]["image"] = shareIcon; } if (openShareUrl != "") { shareObj["qq"]["url"] = openShareUrl; shareObj["qzone"]["url"] = openShareUrl; shareObj["wechat_session"]["url"] = openShareUrl; shareObj["wechat_timeline"]["url"] = openShareUrl; shareObj["sina"]["url"] = ""; } return shareObj; } function stopBubble(e) { if (e && e.stopPropagation) e.stopPropagation(); //非IE else window.event.cancelBubble = true; //IE } function ydShare(type, event) { if (event != null) { stopBubble(event); } if (null == type) { window.location.href = "/local_call?local_action=share"; } else { window.location.href = "/local_call?local_action=share&type=" + type; } } function onShare(that) { if (!window.tool.isYuedong()) { window.global.toast("亲,请点击右上角分享按钮进行分享~"); } else { ydShare(null, null); } } exports.onShare = onShare; var shareCb = function () { }; //右上角分享 可以分享链接/图片/ios可分享截图 function setSimpleShare(shareObj, cbFun) { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, addWeixinShareSpecifyInfoV2(shareObj)]; case 1: _a.sent(); updateShareMetaInfo(shareObj); if (cbFun) { shareCb = cbFun; } return [2 /*return*/]; } }); }); } exports.setSimpleShare = setSimpleShare; function onYdShareCb() { shareCb(); } exports.onYdShareCb = onYdShareCb; function GetWeixinTicket() { return window.$http .post("/invite/get_wx_web_token", {}) .then(function (res) { if (res.code == 0) { return res.ticket; } return ""; }); } (function () { window.MetaShareInfo = function () { MetaShareInfo(); }; window.onYdShare = function () { onYdShareCb(); }; })();