import SDKUtils from "../wxsdk/utils/SDKUtils"; import WXSDK from "../wxsdk/WXSDK"; import { Analytics } from "./Analytics"; import SDKShare from "../wxsdk/share/SDKShare"; import { ShareVideoError } from "../wxsdk/base/SDKConst"; /* * 分享与视频工具类; */ export class ShareTools { /** * 是否进入分享 onShow有插屏的话用这个判断 */ public static onShowAd: boolean = false; public static isTest: boolean = false; /** * 验证分享:可处理成功、失败 * @param shareKey * @param params params.fail 有就不处理,没有自动处理 * @param opts 目前支持4个key 1,title自定义分享标题 2,img_url自定义分享图片 3,share_type(不走后台配置写死走视频or分享。1分享2视频3无视频则分享)4,closeSimulate是否关闭模拟分享 */ static share(shareKey: string, params?: { success?: Function, fail?: Function, context?: any }, opts?: any) { if (typeof my === 'undefined' || this.isTest) { params && params.success && params.success(); return } let time = 1500; let self = this; if (SDKUtils.compareVersion(my.env.clientVersion, '10.3.70') < 0) { Analytics.I.dot('videoFail', { "from": 'versionLow' }); my.showToast({ type: 'none', content: '当前版本不支持视频广告哦,请您升级支付宝版本', duration: time, }); return; } this.onShowAd = true; WXSDK.share.share(shareKey.toString(), params, opts).then(async res => { this.onShowAd = false; params && params.success && params.success(res); }).catch(async err => { console.log("err", err) if (err && err.code && err.code === 1006) { // 分享失败 按需处理 } this.onShowAd = false; if (!params || !params.fail) { // WxHelper.showToast(err.msg); // 分享失败 按需处理 console.log("err", err) } else { params && params.fail && params.fail(err); } })//this.buildParams(params) } /** * 纯净分享 不处理回调 * @param shareKey */ static pureShare(shareKey: string, opts = {}) { this.share(shareKey, {}, { closeSimulate: true, ...opts }); } /** * 设置右上角分享key * @param key */ static setForwardKey(key) { WXSDK.share.setForwardKey(key) } /** * 获取分享还是视频 * @param key */ static getShareType(key) { try { return WXSDK.share.getType(key) } catch (err) { console.log("1") return 2 } } } export enum ShareKey { }