123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- <template>
- <view class="webview">
- <web-view :webview-styles="webviewStyles" :src="url"></web-view>
- </view>
- </template>
- <script>
- import { WEBVIEW_URL } from '@/common/request.js'
- import { mapGetters } from 'vuex'
- export default {
- components: {},
- data() {
- return {
- url: "",
- webviewStyles: {
- progress: {
- color: "#007AFF",
- },
- },
- options: {},
- optObj: {},
- goodsId: 0,
- chapterId: 0,
- moduleId: 0,
- courseId: 0,
- sectionId: 0,
- orderGoodsId: 0,
- };
- },
- onLoad(option) {
- console.log('--option-', option)
- this.options = option
- },
- onShow() {
- if (this.$method.isGoLogin()) { // 扫二维码进来的没登录需要跳到登录页,登录后返回
- return;
- }
- this.optObj = {}
- let arrs = decodeURIComponent(this.options.scene).split('&')
- for (let i = 0; i < arrs.length; i++) {
- this.optObj[arrs[i].split('=')[0]] = arrs[i].split('=')[1]
- }
- console.log('this.optObj', this.optObj)
- // 有a字段是标识是扫二维码进来的
- if (this.optObj.a == 1) {
- this.getParam()
- } else {
- this.url = decodeURIComponent(this.options.url);
- console.log('小程序进来的url:', this.url)
- let index = this.options.url.indexOf('?')
- let paramArr = this.options.url.slice(index + 1).split('&')
- let paramObj = {}
- for (let i = 0; i < paramArr.length; i++) {
- paramObj[paramArr[i].split('=')[0]] = paramArr[i].split('=')[1]
- }
- console.log('paramObj', paramObj)
- this.studyLog(paramObj)
- }
- },
- computed: {
- ...mapGetters(['userInfo']),
- },
- methods: {
- // 获取直播间跳转参数的接口
- getParam() {
- const { cid, gid, sid} = this.optObj
- this.$http({
- url: '/course/check/watch/per',
- method: 'get',
- data: {
- courseId: cid, //课程ID
- goodsId: gid, // 商品id
- sectionId: sid, // 节id
- },
- }).then((res) => {
- if (res.data.code == 200) {
- let item = res.data.data
- let moduleId = item.moduleId || 0
- let chapterId = item.chapterId || 0
- let sectionId = item.sectionId
- let uuid = new Date().valueOf() + ""
- // buyCourse 是否购买课程:1是 0否
- this.url = WEBVIEW_URL+'pages/live/index?token='+uni.getStorageSync('token')+'&userInfo='+JSON.stringify(this.userInfo)+'&channelId='
- +item.channelId+'&gradeId='+0+'&courseId='+item.courseId+'&goodsId='+item.goodsId+'&orderGoodsId='+item.orderGoodsId+'§ionId='+sectionId
- +'&chapterId='+chapterId+'&moduleId='+moduleId+'&buyCourse='+item.buyCourse+'&ident='+uuid
- console.log('url:', this.url)
- this.studyLog(item)
- } else {
- this.$u.toast(res.data.msg)
- }
- })
- },
- // 新增用户视频学习日志
- studyLog(item) {
- this.$http({
- url: '/user/study/log',
- method: 'post',
- data: {
- goodsId: item.goodsId,
- courseId: item.courseId,
- moduleId: item.moduleId || 0,
- chapterId: item.chapterId || 0,
- sectionId: item.sectionId || 0,
- fromPlat: 1, //来源平台 1小程序 2PC网站
- goodsType: 6, // 商品类型 1视频2题库 3补考 4前培 5虚拟赠送题库 6直播
- orderGoodsId: item.orderGoodsId,
- }
- }).then((res) => {
- console.log('直播的用户学习日志:', res)
- })
- },
- },
- };
- </script>
- <style lang="scss" scoped>
- </style>
|