<template> <div class="ybPaySuccess"> <div class="h2"> <img :src="icon_yes" alt /> 恭喜您,成功抢购课程! </div> <div class="top"> <img class="qr" :src="imgguide" alt /> <img v-if="userCourse.teacher_qr" class="qrcode" :src="userCourse.teacher_qr" /> </div> <!-- <img class='logo' :src="logo" alt=""> --> </div> </template> <script> import icon_yes from "../../assets/yb/icon_yes@2x.png"; import imgguide from "../../assets/shop/imgguide@2x.png"; import logo from "../../assets/yb/logo@2x.png"; import { getCourseInfoApi, getwechatParam, getUserDetailApi, getGoodsDetailApi } from "../../service/api"; export default { name: "guide", components: {}, data() { return { icon_yes: icon_yes, logo: logo, groupDetail: {}, userCourse: {}, imgguide: imgguide }; }, mounted() { this.initPage(); }, methods: { initPage() { if (window.location.href.indexOf("invite_code") > -1) { this.invite_code = this.$route.query.invite_code; } this.userCourse = JSON.parse(localStorage.getItem("userCourse")); // console.log(this.userCourse); this.user_id = JSON.parse(localStorage.getItem("userDesc")).user_id; this.shopId = this.$route.query.shopId; this.groupDetail = JSON.parse(sessionStorage.getItem("groupDetail")); console.log(this.groupDetail); this.$nextTick(() => { this.orderFlag = true; }); this.onShare(); let invite = this.invite_code; getUserDetailApi() .then(res => { this.userDesc = Object.assign({}, res); // console.log(this.userDesc) this.subscribe = this.userDesc.open_info.is_subscribe; localStorage.setItem("userDesc", JSON.stringify(res)); }) .catch(res => { if (localStorage.getItem("userDesc")) { } }); }, handleInviteCode() { if (!this.invite_code) { this.this_code = "CC-USER-" + this.user_id; } else { let invite_code = this.invite_code.split("-"); if ( invite_code.length > 2 && (invite_code[1] === "TEACHER" || invite_code[1] === "XXMM") ) { invite_code[1] = "USER"; } let code = `${invite_code[0]}-${invite_code[1]}`; this.this_code = `${code}-${this.user_id}`; } }, onShare: function(type) { this.handleInviteCode(); let URL = `${process.env.BUY_URL}shopId=${this.shopId}&invite_code=${this.this_code}`; console.log(this.groupDetail.share_desc); this.enableShare({ product_title: this.groupDetail.share_desc.title, desc: this.groupDetail.share_desc.content, shareIcon: this.groupDetail.share_desc.img.length !== 0 ? this.groupDetail.share_desc.img[0].url : "", shareUrl: URL }); }, enableShare: function(option) { let that = this; getwechatParam({ api_list: "onMenuShareAppMessage,onMenuShareTimeline", url: window.location.href.split("#")[0] }).then(wechatRes => { wx.config({ debug: false, appId: wechatRes.appId, timestamp: parseInt(wechatRes.timestamp), nonceStr: wechatRes.nonceStr, signature: wechatRes.signature, jsApiList: wechatRes.jsApiList }); wx.ready(function() { wx.onMenuShareTimeline({ title: option.product_title, // 分享标题 desc: option.desc, // 分享描述 link: option.shareUrl, // 分享链接 imgUrl: option.shareIcon || "https://cdn.singsingenglish.com/singsing/recommend/logo-refer.png", // 分享图标 success: function() { console.log("分享成功"); }, cancel: function() { // alert("失败") console.log("分享失败"); } }); wx.onMenuShareAppMessage({ title: option.product_title, // 分享标题 desc: option.desc, // 分享描述 link: option.shareUrl, // 分享链接 imgUrl: option.shareIcon || "https://cdn.singsingenglish.com/singsing/recommend/logo-refer.png", // 分享图标 success: function() {}, cancel: function() {} }); }); }); } } }; </script> <style scoped lang="less"> @import "../../util/public"; .ybPaySuccess { background: #ffffff; text-align: center; border-top: 1px solid transparent; .top { margin: 35 * @toVw auto; width: 326 * @toVw; // background: #FFEAAD; border-radius: 24 * @toVw; position: relative; img { max-width: 100%; } .qr { // position: absolute; // left: 25 * @toVw; width: 326 * @toVw; // top: 31*@toVw; border-radius: 10 * @toVw; } .qrcode { position: absolute; top: 110 * @toVw; left: 68 * @toVw; width: 189 * @toVw; z-index: 1; } p { position: absolute; top: 270 * @toVw; width: 100%; text-align: center; color: #6f5c25; font-weight: bold; font-size: 17 * @toVw; } } .h2 { font-size: 17 * @toVw; font-weight: bold; text-align: center; margin-top: 30 * @toVw; img { width: 24 * @toVw; position: relative; top: 2 * @toVw; } } .logo { position: fixed; left: 130 * @toVw; bottom: 20 * @toVw; width: 125 * @toVw; } } @media screen and (orientation: landscape) { } </style>