commit
9616e660a6
|
@ -241,7 +241,7 @@
|
|||
padding: 20rpx;
|
||||
color: #fff;
|
||||
background: linear-gradient(90deg, var(--ui-BG-Main), var(--ui-BG-Main-gradient));
|
||||
margin-top: 18px;
|
||||
margin-top: 3px;
|
||||
margin-bottom: 9px;
|
||||
border-top-left-radius: 10px;
|
||||
border-bottom-right-radius: 10px;
|
||||
|
@ -249,7 +249,7 @@
|
|||
&.admin {
|
||||
background: #fff;
|
||||
color: #333;
|
||||
margin-top: 18px;
|
||||
margin-top: 3px;
|
||||
margin-bottom: 9px;
|
||||
border-radius: 0 10px 10px 10px;
|
||||
}
|
||||
|
|
|
@ -76,13 +76,12 @@
|
|||
shareInfo: {},
|
||||
});
|
||||
|
||||
// TODO @puhui999:【分享】接入
|
||||
function onShareGoods(goodsInfo) {
|
||||
state.shareInfo = $share.getShareInfo(
|
||||
{
|
||||
title: goodsInfo.title,
|
||||
image: sheep.$url.cdn(goodsInfo.image),
|
||||
desc: goodsInfo.subtitle,
|
||||
title: goodsInfo.name,
|
||||
image: sheep.$url.cdn(goodsInfo.picUrl),
|
||||
desc: goodsInfo.introduction,
|
||||
params: {
|
||||
page: '2',
|
||||
query: goodsInfo.id,
|
||||
|
@ -90,10 +89,10 @@
|
|||
},
|
||||
{
|
||||
type: 'goods', // 商品海报
|
||||
title: goodsInfo.title, // 商品标题
|
||||
image: sheep.$url.cdn(goodsInfo.image), // 商品主图
|
||||
price: goodsInfo.price[0], // 商品价格
|
||||
original_price: goodsInfo.original_price, // 商品原价
|
||||
title: goodsInfo.name, // 商品名称
|
||||
image: sheep.$url.cdn(goodsInfo.picUrl), // 商品主图
|
||||
price: fen2yuan(goodsInfo.price), // 商品价格
|
||||
original_price: fen2yuan(goodsInfo.marketPrice), // 商品原价
|
||||
},
|
||||
);
|
||||
showShareModal();
|
||||
|
|
|
@ -78,6 +78,7 @@
|
|||
limit="1"
|
||||
mode="grid"
|
||||
:imageStyles="{ width: '168rpx', height: '168rpx' }"
|
||||
@success="(payload) => state.accountInfo.accountQrCodeUrl = payload.tempFilePaths[0]"
|
||||
/>
|
||||
</view>
|
||||
</view>
|
||||
|
@ -161,13 +162,14 @@
|
|||
</template>
|
||||
|
||||
<script setup>
|
||||
import { computed, reactive, onBeforeMount } from 'vue';
|
||||
import { computed, onBeforeMount, reactive } from 'vue';
|
||||
import sheep from '@/sheep';
|
||||
import accountTypeSelect from './components/account-type-select.vue';
|
||||
import { fen2yuan } from '@/sheep/hooks/useGoods';
|
||||
import TradeConfigApi from '@/sheep/api/trade/config';
|
||||
import BrokerageApi from '@/sheep/api/trade/brokerage';
|
||||
import DictApi from '@/sheep/api/system/dict';
|
||||
import SLayout from '@/sheep/components/s-layout/s-layout.vue';
|
||||
|
||||
const headerBg = sheep.$url.css('/static/img/shop/user/withdraw_bg.png');
|
||||
const statusBarHeight = sheep.$platform.device.statusBarHeight * 2;
|
||||
|
|
|
@ -71,7 +71,7 @@
|
|||
<script setup>
|
||||
import sheep from '@/sheep';
|
||||
import { onLoad } from '@dcloudio/uni-app';
|
||||
import { reactive, ref } from 'vue';
|
||||
import { reactive } from 'vue';
|
||||
import OrderApi from '@/sheep/api/trade/order';
|
||||
|
||||
const state = reactive({
|
||||
|
@ -111,7 +111,7 @@
|
|||
* @param commentIndex 当前评论的下标
|
||||
*/
|
||||
function uploadSuccess(payload, commentIndex) {
|
||||
state.commentList[commentIndex].picUrls = state.commentList[commentIndex].images;
|
||||
state.commentList[commentIndex].picUrls = payload.tempFilePaths;
|
||||
}
|
||||
|
||||
onLoad(async (options) => {
|
||||
|
|
|
@ -171,7 +171,6 @@
|
|||
}
|
||||
|
||||
// 分享信息
|
||||
// TODO puhui999: 下次 fix
|
||||
const shareInfo = computed(() => {
|
||||
if (isEmpty(unref(activity))) return {};
|
||||
return sheep.$platform.share.getShareInfo(
|
||||
|
@ -179,7 +178,7 @@
|
|||
title: activity.value.name,
|
||||
image: sheep.$url.cdn(state.goodsInfo.picUrl),
|
||||
params: {
|
||||
page: '4',
|
||||
page: '6',
|
||||
query: activity.value.id,
|
||||
},
|
||||
},
|
||||
|
@ -187,8 +186,8 @@
|
|||
type: 'goods', // 商品海报
|
||||
title: activity.value.name, // 商品标题
|
||||
image: sheep.$url.cdn(state.goodsInfo.picUrl), // 商品主图
|
||||
price: state.goodsInfo.price, // 商品价格
|
||||
marketPrice: state.goodsInfo.marketPrice, // 商品原价
|
||||
price: (getShowPrice.value.price || 0) + ` + ${getShowPrice.value.point} 积分`, // 积分价格
|
||||
marketPrice: fen2yuan(state.goodsInfo.marketPrice), // 商品原价
|
||||
},
|
||||
);
|
||||
});
|
||||
|
|
|
@ -137,11 +137,11 @@
|
|||
</template>
|
||||
|
||||
<script setup>
|
||||
import { reactive, computed, ref, unref } from 'vue';
|
||||
import { computed, reactive, ref, unref } from 'vue';
|
||||
import { onLoad, onPageScroll } from '@dcloudio/uni-app';
|
||||
import sheep from '@/sheep';
|
||||
import { isEmpty, min } from 'lodash-es';
|
||||
import { useDurationTime, formatGoodsSwiper, fen2yuan } from '@/sheep/hooks/useGoods';
|
||||
import { fen2yuan, formatGoodsSwiper, useDurationTime } from '@/sheep/hooks/useGoods';
|
||||
import detailNavbar from './components/detail/detail-navbar.vue';
|
||||
import detailCellSku from './components/detail/detail-cell-sku.vue';
|
||||
import detailTabbar from './components/detail/detail-tabbar.vue';
|
||||
|
@ -214,8 +214,8 @@
|
|||
type: 'goods', // 商品海报
|
||||
title: activity.value.name, // 商品标题
|
||||
image: sheep.$url.cdn(state.goodsInfo.picUrl), // 商品主图
|
||||
price: state.goodsInfo.price, // 商品价格
|
||||
marketPrice: state.goodsInfo.marketPrice, // 商品原价
|
||||
price: fen2yuan(state.goodsInfo.price), // 商品价格
|
||||
marketPrice: fen2yuan(state.goodsInfo.marketPrice), // 商品原价
|
||||
},
|
||||
);
|
||||
});
|
||||
|
|
|
@ -60,12 +60,11 @@
|
|||
/**
|
||||
* 模板组件 - 提供页面公共组件,属性,方法
|
||||
*/
|
||||
import { computed, reactive, ref } from 'vue';
|
||||
import { computed } from 'vue';
|
||||
import sheep from '@/sheep';
|
||||
import { isEmpty } from 'lodash-es';
|
||||
import { onShow } from '@dcloudio/uni-app';
|
||||
// #ifdef MP-WEIXIN
|
||||
import { onShareAppMessage } from '@dcloudio/uni-app';
|
||||
import { onShareAppMessage, onShareTimeline, onShow } from '@dcloudio/uni-app';
|
||||
// #endif
|
||||
|
||||
const props = defineProps({
|
||||
|
@ -191,7 +190,11 @@
|
|||
});
|
||||
|
||||
// #ifdef MP-WEIXIN
|
||||
// 微信小程序分享
|
||||
uni.showShareMenu({
|
||||
withShareTicket: true,
|
||||
menus: ['shareAppMessage', 'shareTimeline'],
|
||||
});
|
||||
// 微信小程序分享好友
|
||||
onShareAppMessage(() => {
|
||||
return {
|
||||
title: shareInfo.value.title,
|
||||
|
@ -199,6 +202,14 @@
|
|||
imageUrl: shareInfo.value.image,
|
||||
};
|
||||
});
|
||||
// 微信小程序分享朋友圈
|
||||
onShareTimeline(() => {
|
||||
return {
|
||||
title: shareInfo.value.title,
|
||||
query: shareInfo.value.path,
|
||||
imageUrl: shareInfo.value.image,
|
||||
};
|
||||
});
|
||||
// #endif
|
||||
|
||||
onShow(() => {
|
||||
|
|
|
@ -47,19 +47,18 @@ const getShareInfo = (
|
|||
// 配置分享链接地址
|
||||
shareInfo.link = buildSpmLink(query, shareConfig.linkAddress);
|
||||
// 配置页面地址带参数
|
||||
shareInfo.path = buildSpmPath(query);
|
||||
shareInfo.path = buildSpmPath();
|
||||
|
||||
// 配置转发参数
|
||||
if (shareConfig.methods.includes('forward')) {
|
||||
// TODO puhui999: forward 这块有点问题
|
||||
if (shareConfig.forwardInfo.title === '' || shareConfig.forwardInfo.image === '') {
|
||||
console.log('请在平台设置中配置转发信息');
|
||||
console.log('请在平台设置中配置默认转发信息');
|
||||
}
|
||||
// 设置自定义分享信息
|
||||
shareInfo.title = scene.title || shareConfig.forwardInfo.title;
|
||||
shareInfo.image = $url.cdn(scene.image || shareConfig.forwardInfo.image);
|
||||
shareInfo.desc = scene.desc || shareConfig.forwardInfo.subtitle;
|
||||
shareInfo.path = buildSpmPath(scene.path, query);
|
||||
shareInfo.path = buildSpmPath(query);
|
||||
}
|
||||
|
||||
return shareInfo;
|
||||
|
@ -100,7 +99,7 @@ const buildSpmQuery = (params) => {
|
|||
const buildSpmPath = (query) => {
|
||||
// 默认是主页,页面 page,例如 pages/index/index,根路径前不要填加 /,
|
||||
// 不能携带参数(参数请放在scene字段里),如果不填写这个字段,默认跳主页面。scancode_time为系统保留参数,不允许配置
|
||||
return `pages/index/index`;
|
||||
return typeof query === 'undefined' ? `pages/index/index` : `pages/index/index?${query}`;
|
||||
};
|
||||
|
||||
// 构造分享链接
|
||||
|
@ -148,7 +147,7 @@ const decryptSpm = (spm) => {
|
|||
shareParams.page = '/pages/goods/seckill';
|
||||
query = shareParamsArray[2].split(',');
|
||||
shareParams.query = {
|
||||
id: query[1],
|
||||
id: query[0],
|
||||
};
|
||||
break;
|
||||
case '5':
|
||||
|
@ -158,6 +157,13 @@ const decryptSpm = (spm) => {
|
|||
id: shareParamsArray[2],
|
||||
};
|
||||
break;
|
||||
case '6':
|
||||
// 积分商品
|
||||
shareParams.page = '/pages/goods/point';
|
||||
shareParams.query = {
|
||||
id: shareParamsArray[2],
|
||||
};
|
||||
break;
|
||||
}
|
||||
shareParams.platform = platformMap[shareParamsArray[3] - 1];
|
||||
shareParams.from = fromMap[shareParamsArray[4] - 1];
|
||||
|
|
|
@ -71,13 +71,18 @@ const app = defineStore({
|
|||
};
|
||||
this.platform = {
|
||||
share: {
|
||||
methods: ['poster', 'link'],
|
||||
methods: ['forward', 'poster', 'link'],
|
||||
linkAddress: 'http://127.0.0.1:3000', // TODO 芋艿:可以考虑改到 .env 那
|
||||
posterInfo: {
|
||||
user_bg: '/static/img/shop/config/user-poster-bg.png',
|
||||
goods_bg: '/static/img/shop/config/goods-poster-bg.png',
|
||||
groupon_bg: '/static/img/shop/config/groupon-poster-bg.png',
|
||||
},
|
||||
forwardInfo: {
|
||||
title: '',
|
||||
image: '',
|
||||
desc: '',
|
||||
},
|
||||
},
|
||||
bind_mobile: 0,
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue