mirror of
http://112.124.100.131/GFRS/ebiz-h5.git
synced 2025-12-10 02:16:44 +08:00
[FIX]【商品商城】增加接口
This commit is contained in:
@@ -2,28 +2,28 @@ import request from '@/assets/js/utils/request'
|
||||
import getUrl from '@/assets/js/utils/get-url'
|
||||
|
||||
// // 获取商品商城列表
|
||||
// export function getCategory(data) {
|
||||
// return request({
|
||||
// url: getUrl('/sale/product/getCategory', 1),
|
||||
// method: 'post',
|
||||
// data
|
||||
// })
|
||||
// }
|
||||
export function getShopList(data) {
|
||||
return request({
|
||||
url: getUrl('/customer/shop/getShopList', 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// // 获取商城详情
|
||||
// export function getList(data) {
|
||||
// return request({
|
||||
// url: getUrl('/sale/product/getProList', 1),
|
||||
// method: 'post',
|
||||
// data
|
||||
// })
|
||||
// }
|
||||
// 查询分享轨迹(转发记录)
|
||||
export function getShareList(data) {
|
||||
return request({
|
||||
url: getUrl('/customer/shop/getShareList', 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// // 获取转发记录列表
|
||||
// export function getProductInfo(data) {
|
||||
// return request({
|
||||
// url: getUrl('/sale/product/getItemDetail', 1),
|
||||
// method: 'post',
|
||||
// data
|
||||
// })
|
||||
// }
|
||||
// 分享轨迹保存
|
||||
export function saveShareTrack(data) {
|
||||
return request({
|
||||
url: getUrl('/customer/shop/saveShareTrack', 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<van-row type="flex" align="center">
|
||||
<van-col class="order" span="4">序号</van-col>
|
||||
<van-col class="subTime" span="10">转发时间</van-col>
|
||||
<van-col class="name" span="10">是否打开</van-col>
|
||||
<van-col class="name" span="10">打开次数</van-col>
|
||||
</van-row>
|
||||
</div>
|
||||
</van-sticky>
|
||||
@@ -24,8 +24,8 @@
|
||||
<div class="main-table" v-for="(item, index) in answerList" :key="index">
|
||||
<van-row type="flex" align="center">
|
||||
<van-col class="order" span="4">{{ index + 1 }}</van-col>
|
||||
<van-col class="subTime" span="10">{{ item.answerDate }}</van-col>
|
||||
<van-col class="name" span="10">{{ item.customerName }}</van-col>
|
||||
<van-col class="subTime" span="10">{{ item.shareTime }}</van-col>
|
||||
<van-col class="name" span="10">{{ item.enterCount }}</van-col>
|
||||
</van-row>
|
||||
</div>
|
||||
</div>
|
||||
@@ -40,7 +40,7 @@
|
||||
|
||||
<script>
|
||||
import { Sticky, Row, Col, List } from 'vant'
|
||||
import { discAnalysisList } from '@/api/ebiz/manpower/manpower'
|
||||
import { getShareList } from '@/api/ebiz/product-store/product-store'
|
||||
|
||||
export default {
|
||||
name: 'ForwardRecord',
|
||||
@@ -59,11 +59,13 @@ export default {
|
||||
finishedText: '',
|
||||
pageSize: 15, //每页数据条数
|
||||
isSuccess: false,
|
||||
answerList: [] //答卷列表
|
||||
answerList: [], //记录列表
|
||||
mallId: '' //商品id
|
||||
}
|
||||
},
|
||||
created() {},
|
||||
mounted() {
|
||||
this.mallId = this.$route.query.mallId
|
||||
this.loadMore()
|
||||
},
|
||||
methods: {
|
||||
@@ -73,19 +75,17 @@ export default {
|
||||
pageNum: this.currentPage,
|
||||
pageSize: this.pageSize
|
||||
}
|
||||
this.getDiscAnalysisList(pageInfo)
|
||||
this.getShareList(pageInfo)
|
||||
},
|
||||
//获取DISC统计列表数据
|
||||
//TODO
|
||||
getDiscAnalysisList(pageInfo) {
|
||||
//获取转发记录列表
|
||||
getShareList(pageInfo) {
|
||||
let params = {
|
||||
...pageInfo,
|
||||
...{
|
||||
agentCode: '',
|
||||
tableCode: 'GFRS-DISC'
|
||||
mallId: this.mallId
|
||||
}
|
||||
}
|
||||
discAnalysisList(params).then(res => {
|
||||
getShareList(params).then(res => {
|
||||
if (res.result == '0') {
|
||||
this.isSuccess = true
|
||||
this.currentPage++
|
||||
@@ -93,7 +93,7 @@ export default {
|
||||
if (res.content == null) {
|
||||
this.finished = true
|
||||
this.loading = false
|
||||
this.finishedText = ''
|
||||
this.finishedText = '已经全部加载'
|
||||
return
|
||||
}
|
||||
let answerList = res.content.answerList.list
|
||||
@@ -112,6 +112,7 @@ export default {
|
||||
this.finished = true
|
||||
}
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
this.finished = true
|
||||
this.loading = false
|
||||
this.finishedText = res.resultMessage
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<template>
|
||||
<div class="login-msg-container">
|
||||
<div class="p5 pb0">
|
||||
<van-field v-model="loginInfo.name" required label="登录账号" v-validate="'required'" name="登录账号" placeholder="请输入" clearable />
|
||||
<van-field v-model="loginInfo.aname" required label="登录账号" v-validate="'required'" name="登录账号" placeholder="请输入" clearable />
|
||||
<van-field v-model="loginInfo.password" required label="登录密码" v-validate="'required'" name="登录密码" placeholder="请输入" clearable />
|
||||
</div>
|
||||
<van-button type="danger" class="bottom-btn" @click="nextStep" v-no-more-click="1000">确认并转发</van-button>
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
<script>
|
||||
import { Field } from 'vant'
|
||||
// import { weixinShare } from '@/assets/js/utils/wxShare.js'
|
||||
import { saveShareTrack } from '@/api/ebiz/product-store/product-store'
|
||||
|
||||
export default {
|
||||
name: 'LoginMsg',
|
||||
@@ -21,14 +21,19 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
loginInfo: {
|
||||
name: '',
|
||||
aname: '',
|
||||
password: ''
|
||||
}
|
||||
},
|
||||
shareId: '', //分享id
|
||||
mallId: '', //商城id
|
||||
name: '' //商品名称
|
||||
}
|
||||
},
|
||||
created() {},
|
||||
mounted() {
|
||||
document.getElementsByTagName('body')[0].classList.add('bg-white')
|
||||
this.mallId = this.$route.query.mallId
|
||||
this.name = this.$route.query.name
|
||||
},
|
||||
destroyed() {
|
||||
document.getElementsByTagName('body')[0].classList.remove('bg-white')
|
||||
@@ -37,6 +42,7 @@ export default {
|
||||
async nextStep() {
|
||||
let valid = await this.$validator.validate()
|
||||
if (true === valid) {
|
||||
await saveShareTrack()
|
||||
this.share()
|
||||
} else {
|
||||
return this.$toast(this.$validator.errors.all()[0])
|
||||
@@ -47,20 +53,47 @@ export default {
|
||||
location.origin +
|
||||
'/#/productStore/storeDetail?token=' +
|
||||
localStorage.getItem('token') +
|
||||
'&name=' +
|
||||
escape(this.loginInfo.name) +
|
||||
'&aname=' +
|
||||
escape(this.loginInfo.aname) +
|
||||
'&password=' +
|
||||
escape(this.loginInfo.password)
|
||||
escape(this.loginInfo.password) +
|
||||
'&shareId=' +
|
||||
this.shareId +
|
||||
'&mallId' +
|
||||
this.mallId +
|
||||
'&name' +
|
||||
this.name
|
||||
// eslint-disable-next-line no-undef
|
||||
EWebBridge.webCallAppInJs('bridge', {
|
||||
flag: 'share',
|
||||
extra: {
|
||||
title: `xxx商品商城`,
|
||||
title: `${this.name}商品商城`,
|
||||
content: `分享给你一个商品,快来点击购买吧!`,
|
||||
url: url,
|
||||
img: this.$assetsUrl + 'images/logo.png'
|
||||
}
|
||||
})
|
||||
},
|
||||
//分享轨迹保存
|
||||
saveShareTrack() {
|
||||
return new Promise((resolve, reject) => {
|
||||
let data = {
|
||||
mallId: this.mallId
|
||||
}
|
||||
saveShareTrack(data).then(
|
||||
res => {
|
||||
if (res.result == '0') {
|
||||
this.shareId = res.content.id
|
||||
resolve()
|
||||
} else {
|
||||
reject(this.$toast(res.resultMessage))
|
||||
}
|
||||
},
|
||||
error => {
|
||||
reject(console.log(error))
|
||||
}
|
||||
)
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@
|
||||
<van-notice-bar wrapable :scrollable="false" text="温馨提示:您即将离开本站,访问的链接来源于第三方网站,可能存在风险,请谨慎操作!" />
|
||||
</div>
|
||||
<div>
|
||||
<img src="https://img.yzcdn.cn/vant/apple-1.jpg" alt="" width="100%" />
|
||||
<img :src="detail.imgUrl" alt="" width="100%" />
|
||||
</div>
|
||||
<div class="p5 pb0 mb40" v-if="isWeixin">
|
||||
<van-field v-model="loginInfo.name" required label="登录账号" v-validate="'required'" name="登录账号" placeholder="请输入" clearable />
|
||||
<van-field v-model="loginInfo.aname" required label="登录账号" v-validate="'required'" name="登录账号" placeholder="请输入" clearable />
|
||||
<van-field v-model="loginInfo.password" required label="登录密码" v-validate="'required'" name="登录密码" placeholder="请输入" clearable />
|
||||
</div>
|
||||
<van-button v-if="isWeixin" type="danger" class="bottom-btn" @click="check" v-no-more-click="1000">查看</van-button>
|
||||
@@ -18,6 +18,9 @@
|
||||
|
||||
<script>
|
||||
import { NoticeBar, Field } from 'vant'
|
||||
import icon from '@/assets/images/jilu@3x.png'
|
||||
import { getShopList, saveShareTrack } from '@/api/ebiz/product-store/product-store'
|
||||
|
||||
export default {
|
||||
name: 'StoreDetail',
|
||||
components: {
|
||||
@@ -28,13 +31,18 @@ export default {
|
||||
let isWeixin = this.$utils.device().isWeixin //判断环境
|
||||
return {
|
||||
isWeixin, //是否在微信
|
||||
mallId: '', //商城id
|
||||
shareId: '', //分享id
|
||||
//登录账号及密码
|
||||
loginInfo: {
|
||||
name: '',
|
||||
aname: '',
|
||||
password: ''
|
||||
},
|
||||
storeId: '', //商城id
|
||||
imgUrl: '' //商城简介图片地址
|
||||
detail: {
|
||||
imgUrl: '', //商城简介图片地址
|
||||
linkUrl: '', //商城外链地址
|
||||
name: '' //商城名称
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
@@ -45,43 +53,80 @@ export default {
|
||||
EWebBridge.webCallAppInJs('webview_right_button', {
|
||||
btns: [
|
||||
{
|
||||
title: '转发记录',
|
||||
img: this.$assetsUrl + 'images/jilu@3x.png',
|
||||
route: { flag: '', extra: {} }
|
||||
img: icon
|
||||
}
|
||||
]
|
||||
})
|
||||
}, 100)
|
||||
}
|
||||
window.appCallback = this.appCallback //app回调
|
||||
this.storeId = this.$route.query.storeId
|
||||
this.mallId = this.$route.query.mallId
|
||||
if (this.isWeixin) {
|
||||
this.loginInfo.name = this.$route.query.name
|
||||
window.localStorage.setItem('token', this.$route.query.token)
|
||||
this.loginInfo.aname = this.$route.query.aname
|
||||
this.loginInfo.password = this.$route.query.password
|
||||
this.shareId = this.$route.query.shareId
|
||||
this.name = this.$route.query.name
|
||||
this.saveShareTrack()
|
||||
}
|
||||
// this.getShopList({ id: this.mallId })
|
||||
//TEST
|
||||
this.setDetail()
|
||||
},
|
||||
destroyed() {
|
||||
document.getElementsByTagName('body')[0].classList.remove('bg-white')
|
||||
},
|
||||
methods: {
|
||||
//TEST
|
||||
setDetail() {
|
||||
this.detail = {
|
||||
imgUrl: 'https://img.yzcdn.cn/vant/apple-3.jpg',
|
||||
linkUrl: 'https://img.yzcdn.cn/vant/apple-2.jpg'
|
||||
}
|
||||
},
|
||||
//获取商城详情
|
||||
getShopList(data) {
|
||||
getShopList(data).then(res => {
|
||||
if (res.result == '0') {
|
||||
this.detail = res.content[0]
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
},
|
||||
//查看
|
||||
check() {
|
||||
//TODO
|
||||
window.location.href = this.detail.linkUrl
|
||||
},
|
||||
//一键转发
|
||||
forward() {
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + `/#/productStore/loginMsg?storeId=${this.storeId}`
|
||||
url: location.origin + `/#/productStore/loginMsg?mallId=${this.mallId}&name=${this.detail.name}`
|
||||
},
|
||||
routerInfo: {
|
||||
path: `/productStore/loginMsg?storeId=${this.storeId}`
|
||||
path: `/productStore/loginMsg?mallId=${this.mallId}&name=${this.detail.name}`
|
||||
}
|
||||
})
|
||||
},
|
||||
//分享轨迹保存
|
||||
saveShareTrack() {
|
||||
let data = {
|
||||
mallId: this.mallId
|
||||
}
|
||||
saveShareTrack(data).then(res => {
|
||||
if (res.result == '0') {
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
},
|
||||
//app回调
|
||||
appCallback(data) {
|
||||
console.log('data========', data)
|
||||
return
|
||||
if (data.trigger == 'right_button_click' && !this.isWeixin) {
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
|
||||
@@ -4,15 +4,15 @@
|
||||
<div v-for="(item, index) in list" :key="index" @click="goDetail(item)">
|
||||
<van-grid :border="false" :gutter="10" :column-num="3">
|
||||
<van-grid-item>
|
||||
<van-image :src="item.imageUrl" />
|
||||
<van-image :src="item.iconUrl" />
|
||||
<van-grid-item :text="item.name" />
|
||||
</van-grid-item>
|
||||
<van-grid-item>
|
||||
<van-image :src="item.imageUrl" />
|
||||
<van-image :src="item.iconUrl" />
|
||||
<van-grid-item :text="item.name" />
|
||||
</van-grid-item>
|
||||
<van-grid-item>
|
||||
<van-image :src="item.imageUrl" />
|
||||
<van-image :src="item.iconUrl" />
|
||||
<van-grid-item :text="item.name" />
|
||||
</van-grid-item>
|
||||
</van-grid>
|
||||
@@ -22,6 +22,8 @@
|
||||
|
||||
<script>
|
||||
import { Grid, GridItem, Image } from 'vant'
|
||||
import { getShopList } from '@/api/ebiz/product-store/product-store'
|
||||
|
||||
export default {
|
||||
name: 'StoreList',
|
||||
components: {
|
||||
@@ -37,25 +39,36 @@ export default {
|
||||
mounted() {
|
||||
//TEST
|
||||
this.setList()
|
||||
// this.getShopList()
|
||||
},
|
||||
methods: {
|
||||
//TEST
|
||||
setList() {
|
||||
this.list = [
|
||||
{ name: '小米', imageUrl: 'https://img.yzcdn.cn/vant/apple-1.jpg', storeId: 'A1' },
|
||||
{ name: '华为', imageUrl: 'https://img.yzcdn.cn/vant/apple-2.jpg', storeId: 'A2' },
|
||||
{ name: '苹果', imageUrl: 'https://img.yzcdn.cn/vant/apple-3.jpg', storeId: 'A3' }
|
||||
{ name: '小米', iconUrl: 'https://img.yzcdn.cn/vant/apple-1.jpg', id: 'A1' },
|
||||
{ name: '华为', iconUrl: 'https://img.yzcdn.cn/vant/apple-2.jpg', id: 'A2' },
|
||||
{ name: '苹果', iconUrl: 'https://img.yzcdn.cn/vant/apple-3.jpg', id: 'A3' }
|
||||
]
|
||||
},
|
||||
//获取商品商城列表
|
||||
getShopList() {
|
||||
getShopList({}).then(res => {
|
||||
if (res.result == '0') {
|
||||
this.list = res.content
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
},
|
||||
//查看详情
|
||||
goDetail(v) {
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + `/#/productStore/storeDetail?storeId=${v.storeId}`
|
||||
url: location.origin + `/#/productStore/storeDetail?mallId=${v.id}`
|
||||
},
|
||||
routerInfo: {
|
||||
path: `/productStore/storeDetail?storeId=${v.storeId}`
|
||||
path: `/productStore/storeDetail?mallId=${v.id}`
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user