From 18251dde89585f0ffede806162483efc0cabe99a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A8=8B?= <994041296@163.com> Date: Tue, 27 Dec 2022 14:49:23 +0800 Subject: [PATCH] =?UTF-8?q?=E8=81=8A=E5=A4=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/im.js | 7 + pages/mine/im/index.vue | 874 ++++++++++++++++++++-------------------- pages/product/goods.vue | 396 +++++++----------- 3 files changed, 590 insertions(+), 687 deletions(-) diff --git a/api/im.js b/api/im.js index 2301796..45be304 100644 --- a/api/im.js +++ b/api/im.js @@ -64,4 +64,11 @@ export function getTalk(talkId) { params }); } +// 从商品页点击 客服 跳转 获取聊天记录 +export function jumpObtain(skuId, goodsId) { + return http.request({ + url: `${api.im}/goods/goods/sku/${goodsId}/${skuId}`, + method: Method.GET, + }); +} diff --git a/pages/mine/im/index.vue b/pages/mine/im/index.vue index 85e83aa..f267b7c 100644 --- a/pages/mine/im/index.vue +++ b/pages/mine/im/index.vue @@ -1,102 +1,100 @@ diff --git a/pages/product/goods.vue b/pages/product/goods.vue index 14f7e66..c084919 100644 --- a/pages/product/goods.vue +++ b/pages/product/goods.vue @@ -6,55 +6,27 @@ - - + + - +
- +
- @@ -62,57 +34,26 @@
- +
- - + +
- - + + - + @@ -122,15 +63,11 @@ {{ goodsDetail.goodsName || "" }} - + {{ - favorite ? "已收藏" : "收藏" - }} + favorite ? "已收藏" : "收藏" +}} @@ -144,16 +81,25 @@ - - - - ¥{{ $options.filters.goodsFormatPrice(wholesaleList[wholesaleList.length-1].price)[0] }}.{{ $options.filters.goodsFormatPrice(wholesaleList[wholesaleList.length-1].price)[1] }} - ~ - ¥{{ $options.filters.goodsFormatPrice(wholesaleList[0].price)[0] }}.{{ $options.filters.goodsFormatPrice(wholesaleList[0].price)[1] }} - - - ¥{{ $options.filters.goodsFormatPrice(goodsDetail.price)[0] }}.{{ $options.filters.goodsFormatPrice(goodsDetail.price)[1] }} - + + + + ¥{{ + $options.filters.goodsFormatPrice(wholesaleList[wholesaleList.length - 1].price)[0] +}}.{{ + $options.filters.goodsFormatPrice(wholesaleList[wholesaleList.length - 1].price)[1] +}} + ~ + ¥{{ + $options.filters.goodsFormatPrice(wholesaleList[0].price)[0] +}}.{{ + $options.filters.goodsFormatPrice(wholesaleList[0].price)[1] +}} + + + ¥{{ $options.filters.goodsFormatPrice(goodsDetail.price)[0] +}}.{{ $options.filters.goodsFormatPrice(goodsDetail.price)[1] }} + @@ -165,14 +111,11 @@ 分享 - + {{ - favorite ? "已收藏" : "收藏" - }} + favorite ? "已收藏" : "收藏" +}} @@ -199,22 +142,16 @@ - + 已选 - {{ selectedGoods.spec.specName }}-{{ - selectedGoods.spec.specValue - }} + {{ selectedGoods.spec.specName }}-{{ + selectedGoods.spec.specValue +}} 默认 @@ -225,8 +162,8 @@ 送至 {{ - delivery.consigneeAddressPath | clearStrComma - }} + delivery.consigneeAddressPath | clearStrComma +}} 暂无地址信息 @@ -239,21 +176,11 @@ - + - + @@ -278,13 +205,8 @@ - - 加入购物车 + + 加入购物车 立即购买 暂未开始 @@ -303,15 +225,8 @@ - + 优惠 @@ -328,31 +243,14 @@ - + - +
@@ -402,7 +300,7 @@ export default { popupGoods, popupAddress, }, - data() { + data () { return { setup, promotionShow: false, //弹窗开关 @@ -445,7 +343,7 @@ export default { enableShare: false, selectedGoods: "", //选择的商品规格昵称 isGroup: false, // 是否是拼团活动 - isSeckill:false, // 是否秒杀活动 + isSeckill: false, // 是否秒杀活动 pointDetail: "", // 是否是积分商品 assemble: "", //拼团的sku navbarOnlyBack: { @@ -524,19 +422,19 @@ export default { routerVal: "", IMLink: "", // IM地址 - wholesaleList:[] + wholesaleList: [] }; }, computed: { - // udesk IM - IM() { + // udesk IM + IM () { return this.IMLink + this.storeDetail.merchantEuid; }, }, watch: { - isGroup(val) { + isGroup (val) { if (val) { let timer = setInterval(() => { this.$refs.popupGoods.buyType = "PINTUAN"; @@ -547,7 +445,7 @@ export default { } }, }, - mounted() { + mounted () { const { windowHeight } = uni.getSystemInfoSync(); let bottomHeight = 0; let topHeight = 0; @@ -577,7 +475,7 @@ export default { this.productRefHeight = windowHeight - bottomHeight + "px"; }, - async onLoad(options) { + async onLoad (options) { this.routerVal = options; // #ifdef MP-WEIXIN // 小程序默认分享 @@ -587,7 +485,7 @@ export default { }); // #endif }, - async onShow() { + async onShow () { this.goodsDetail = {}; //如果有参数ids说明事分销短连接,需要获取参数 if (this.routerVal.scene) { @@ -601,22 +499,22 @@ export default { this.init(this.routerVal.id, this.routerVal.goodsId, this.routerVal.distributionId); } }, - + methods: { - share() { + share () { return `/pages/product/goods?id=${this.routerVal.id}&goodsId=${this.routerVal.goodsId}`; }, /** * 导航栏列表栏 */ - handleNavbarList(val) { + handleNavbarList (val) { modelNavigateTo({ url: val }); }, /** * 循环出当前促销是否为空 */ - emptyPromotion() { + emptyPromotion () { if ( this.PromotionList == "" || this.PromotionList == null || @@ -625,13 +523,13 @@ export default { return true; } }, - selectSku(idObj) { + selectSku (idObj) { this.init(idObj.skuId, idObj.goodsId); }, /** * 初始化信息 */ - async init(id, goodsId, distributionId = "") { + async init (id, goodsId, distributionId = "") { this.isGroup = false; //初始化拼团 this.productId = id; // skuId // 这里请求获取到页面数据 解析数据 @@ -664,7 +562,7 @@ export default { if (item.indexOf("PINTUAN") == 0) { this.isGroup = true; } - + // 秒杀 if (item.indexOf("SECKILL") == 0) { this.isSeckill = true @@ -693,90 +591,90 @@ export default { // this.getIMDetailMethods(); }, - async getIMDetailMethods() { + async getIMDetailMethods () { let res = await getIMDetail(); if (res.data.success) { this.IMLink = res.data.result; } }, - linkMsgDetail() { + linkMsgDetail () { // lili 基础客服 - - uni.navigateTo({ - url: `/pages/mine/im/index?userId=`+this.goodsDetail.storeId, - }); - - // udesk 代码 - // if (this.storeDetail.merchantEuid) { - // uni.navigateTo({ - // url: `/pages/tabbar/home/web-view?src=${this.IM}`, - // }); - // } - - - // 客服 云智服代码 - // // #ifdef MP-WEIXIN - // const params = { - // storeName: this.storeDetail.storeName, - // goodsName: this.goodsDetail.goodsName, - // goodsId: this.goodsDetail.goodsId, - // goodsImg: this.goodsDetail.thumbnail, - // price: this.goodsDetail.promotionPrice || this.goodsDetail.price, - // // originalPrice: this.goodsDetail.original || this.goodsDetail.price, - // uuid: storage.getUuid(), - // token: storage.getAccessToken(), - // sign: this.storeDetail.yzfSign, - // mpSign: this.storeDetail.yzfMpSign, - // }; - // uni.navigateTo({ - // url: - // "/pages/product/customerservice/index?params=" + - // encodeURIComponent(JSON.stringify(params)), - // }); - // // #endif - // // #ifndef MP-WEIXIN - // const sign = this.storeDetail.yzfSign; - // uni.navigateTo({ - // url: - // "/pages/tabbar/home/web-view?src=https://yzf.qq.com/xv/web/static/chat/index.html?sign=" + - // sign, - // }); - // // #endif - + + uni.navigateTo({ + url: `/pages/mine/im/index?userId=${this.goodsDetail.storeId}&goodsid=${this.routerVal.goodsId}&skuid=${this.routerVal.id}` + }); + + // udesk 代码 + // if (this.storeDetail.merchantEuid) { + // uni.navigateTo({ + // url: `/pages/tabbar/home/web-view?src=${this.IM}`, + // }); + // } + + + // 客服 云智服代码 + // // #ifdef MP-WEIXIN + // const params = { + // storeName: this.storeDetail.storeName, + // goodsName: this.goodsDetail.goodsName, + // goodsId: this.goodsDetail.goodsId, + // goodsImg: this.goodsDetail.thumbnail, + // price: this.goodsDetail.promotionPrice || this.goodsDetail.price, + // // originalPrice: this.goodsDetail.original || this.goodsDetail.price, + // uuid: storage.getUuid(), + // token: storage.getAccessToken(), + // sign: this.storeDetail.yzfSign, + // mpSign: this.storeDetail.yzfMpSign, + // }; + // uni.navigateTo({ + // url: + // "/pages/product/customerservice/index?params=" + + // encodeURIComponent(JSON.stringify(params)), + // }); + // // #endif + // // #ifndef MP-WEIXIN + // const sign = this.storeDetail.yzfSign; + // uni.navigateTo({ + // url: + // "/pages/tabbar/home/web-view?src=https://yzf.qq.com/xv/web/static/chat/index.html?sign=" + + // sign, + // }); + // // #endif + }, /**选择商品 */ - changedGoods(val) { + changedGoods (val) { this.selectedGoods = val; }, /** 点击子级地址回调参数*/ - deliveryFun(val) { + deliveryFun (val) { this.delivery = val; }, /** * 地址子级关闭回调 */ - closePopupAddress(val) { + closePopupAddress (val) { this.addressFlag = val; // this.maskFlag = false; }, /** * 商品规格子级关闭回调 */ - closePopupBuy(val) { + closePopupBuy (val) { this.buyMask = val; // this.maskFlag = false; }, /** 参与拼团 创建拼团 */ - toAssembleBuyNow(order) { + toAssembleBuyNow (order) { this.shutMask(4, "PINTUAN", order); }, /** * 查看购物车 */ - reluchToCart() { + reluchToCart () { let obj = { from: "product", id: this.productId, @@ -790,7 +688,7 @@ export default { /** * 查询购物车总数量 */ - cartCount() { + cartCount () { if (storage.getHasLogin()) { API_trade.getCartNum().then((res) => { this.nums = res.data.result; @@ -801,7 +699,7 @@ export default { /** * 返回 */ - back() { + back () { if (getCurrentPages().length == 1) { uni.switchTab({ url: "/pages/tabbar/home/index", @@ -814,7 +712,7 @@ export default { /** * 获取店铺信息 */ - getStoreBaseInfoFun(id) { + getStoreBaseInfoFun (id) { API_store.getStoreBaseInfo(id).then((res) => { if (res.data.success) { this.storeDetail = res.data.result; @@ -825,7 +723,7 @@ export default { /** * 删除收藏店铺 */ - deleteGoodsCollectionFun(id) { + deleteGoodsCollectionFun (id) { API_Members.deleteGoodsCollection(id).then((res) => { if (res.statusCode == 200) { uni.showToast({ @@ -840,7 +738,7 @@ export default { /** * 获取商品是否已被收藏 */ - getGoodsCollectionFun(goodsId) { + getGoodsCollectionFun (goodsId) { if (storage.getHasLogin()) { API_Members.getGoodsIsCollect("GOODS", goodsId).then((res) => { this.favorite = res.data.result; @@ -851,7 +749,7 @@ export default { /** * 获取店铺推荐商品列表 */ - getStoreRecommend() { + getStoreRecommend () { getGoodsList({ pageNumber: 1, pageSize: 6, @@ -866,7 +764,7 @@ export default { * 获取相似商品列表 * */ - getOtherLikeGoods() { + getOtherLikeGoods () { getGoodsList({ pageNumber: 1, pageSize: 10, @@ -880,7 +778,7 @@ export default { /** * 领取优惠券 */ - receiveCouponsFun(id) { + receiveCouponsFun (id) { API_Members.receiveCoupons(id).then((res) => { uni.showToast({ title: res.data.message, @@ -892,7 +790,7 @@ export default { /** * 跳转到店铺页面 */ - navigateToStore(store_id) { + navigateToStore (store_id) { uni.navigateTo({ url: `/pages/product/shopPage?id=` + store_id, }); @@ -901,14 +799,14 @@ export default { /** * 获取优惠券按钮 */ - getCoupon(item) { + getCoupon (item) { this.receiveCouponsFun(item.id); }, /** * 规格弹窗开关 */ - shutMask(flag, buyFlag, type) { + shutMask (flag, buyFlag, type) { this.promotionShow = false; this.buyMask = false; this.addressFlag = false; @@ -943,7 +841,7 @@ export default { /** * 收藏 */ - clickFavorite(id) { + clickFavorite (id) { if (this.favorite) { // 取消收藏 this.deleteGoodsCollectionFun(id); @@ -963,7 +861,7 @@ export default { /** * 顶部header显示或隐藏 */ - pageScroll(e) { + pageScroll (e) { if (this.scrollFlag) { this.calcSize(); } @@ -991,7 +889,7 @@ export default { /** * 计算每个要跳转到的模块高度信息 */ - calcSize() { + calcSize () { let h = 0; let that = this; let arr = [ @@ -1036,7 +934,7 @@ export default { /** * 点击顶部跳转到对应位置 */ - headerTab(id) { + headerTab (id) { if (this.scrollFlag) { this.calcSize(); } @@ -1050,7 +948,7 @@ export default { /** * 点击分享 */ - async shareChange() { + async shareChange () { this.enableShare = true; }, },