xx-common
Version:
the functions of yd common
761 lines (760 loc) • 36.4 kB
JavaScript
;
// 微信分享
// 使用方法
// 步骤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();
};
})();