Pre Merge pull request !126 from puhui999/master
						commit
						9efe070f61
					
				|  | @ -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
	
	 puhui999
						puhui999