Commit 971a4c2c8117e950dfec3bb9647ab1d5cd357830

Authored by vking
2 parents 0e474f01 606445f5

Merge remote-tracking branch 'remotes/origin/master-taocan-share' into master-taocan

// components/reserve/share/share.js
import util from '../../../utils/util';
Component({
/**
* 组件的属性列表
*/
properties: {
pack:Object,
},
/**
* 组件的初始数据
*/
data: {
hasShow:false,
product:null,
},
attached: function () {
},
/**
* 组件的方法列表
*/
methods: {
show(){
this.setData({
hasShow:true,
})
},
hide(){
this.setData({
hasShow:false,
})
},
shareDo(e){
this.hide()
let act=util.attr(e,'act');
if(!act) return;
console.log('shareDo.'+act,e);
wx.navigateTo({
url:util.http_build_query({
sid:this.data.pack.sid,
pid:this.data.pack.id,
},'/pages/taocan/share')
})
},
}
})
... ...
{
"component": true,
"usingComponents": {
"share-button": "plugin://haowu/share-button"
}
}
\ No newline at end of file
... ...
<!--components/reserve/share/share.wxml-->
<view class="share mask" catchtap="hide" wx:if="{{hasShow}}">
<view class="share-body" catchtap="catchtap">
<view class="share-view flex-lr">
<button class="button-none share-item flex-vc" open-type="share" catchtap="shareDo">
<image class="share-img wechat"></image>
<view class="share-name">微信</view>
</button>
<view class="share-item flex-vc" catchtap="shareDo" data-act="qrcode">
<image class="share-img qrcode"></image>
<view class="share-name">二维码</view>
</view>
</view>
<view class="clean" bindtap="hide">取消</view>
</view>
</view>
... ...
/* components/reserve/share/share.wxss */
@import "../../../app.wxss";
.share-body{
height: 260rpx;
width: calc(100% - 100rpx);
padding: 0 50rpx;
position: fixed;
bottom: 0;
height: 390rpx;
background: #FFFFFF;
border-radius: 40rpx 40rpx 0px 0px;
}
.share-view{
margin-top: 60rpx;
margin-bottom: 60rpx;
}
.share-img{
width: 100rpx;
height: 100rpx;
background-size: 100% 100%;
}
.share-img.wechat{
background-image: url("http://nosqn.colorcun.com/reserve/share/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_201906251004331.png");
}
.share-img.quanzi{
background-image: url("http://nosqn.colorcun.com/reserve/share/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20190625100433.png");
}
.share-img.qrcode{
background-image: url("http://nosqn.colorcun.com/reserve/share/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_201906251004332.png");
}
.share-img.hwq{
background-image: url("http://nosqn.colorcun.com/reserve/images/hwq.png");
}
.share-name{
margin-top: 20rpx;
height: 40rpx;
font-size: 28rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #353535;
line-height: 40rpx;
}
.share-item{
min-width: 50%;
width: 50%;
}
.clean{
width: 100%;
height: 80rpx;
background: #F5F5F5;
border-radius: 40rpx;
font-size: 34rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #666666;
line-height: 80rpx;
text-align: center;
}
\ No newline at end of file
... ...
... ... @@ -11,6 +11,7 @@ Page({
activityId:'',
packs:{},
hasNoSets:false,//没有任何套餐
hasLoading:true,
},
activityId:'',
/**
... ... @@ -19,44 +20,23 @@ Page({
* pid 套餐id
*/
onLoad: function (options) {
this.activityId=options.pid
App.Foodset.GetFoodsetList({sid:options.sid}).then(res=>{
let packs={}
res.data.some(r=>{
r.nameSub=r.name.length>6?(r.name.substr(0,6)+'…'):r.name;
r['包间可用']=r.service.indexOf('包间可用')>-1;
r['免预约']=r.service.indexOf('免预约')>-1;
r['随时退']=r.service.indexOf('随时退')>-1;
r.sid=this.data.sid
packs[r.id]=r
})
while(Object.keys(packs).length<3){
packs[Math.random()]={}
}
try{
if(!packs[this.activityId]){
util.toast('套餐已下架','none')
this.activityId=res.data[0].id
}
this.setData({
packs:packs,
activityId:this.activityId,
current:this.getCurrent(this.activityId,packs)
})
this.getActivityDetail()
}catch (e){
this.setData({
hasNoSets:true,//没有任何套餐
});
}
})
this.options=options
this.taocanInit()
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
if(wx.getMenuButtonBoundingClientRect){
let rect=wx.getMenuButtonBoundingClientRect()
console.log('rect',rect);
this.setData({
shareTop:rect.top,
shareHeight:rect.height,
shareLeft:rect.left-68,
})
}
},
/**
... ... @@ -98,7 +78,81 @@ Page({
* 用户点击右上角分享
*/
onShareAppMessage: function () {
let pack=this.data.packs[this.activityId]
let path=util.http_build_query({sid:pack.sid,pid:this.activityId,fromid:getApp().openid},'/pages/taocan/index')
let shareParams={
title:pack.name||'请客订包间,就上周到安排',
path:path,
}
if(pack.main_url){
shareParams.imageUrl=pack.main_url+'?imageView2/2/w/450'
}
console.log('shareParams==>',shareParams)
return shareParams
},
async taocanInitScene(){
if(this.options.scene){
//解析scene追加到options
let res=await App.Customer.GetWxLiteCodeInfo({str_code:this.options.scene})
let scene=JSON.parse(res.data.scene)
this.options={...this.options,...scene}
console.log('this.options',this.options)
}
//fromid存在则设置推荐关系
if(this.options.fromid) {
App.Customer.SetShareRel({
sid:this.options.sid,
fid:this.options.pid,
openid_main:this.options.fromid,
openid_cover:await getApp().getOpenid(),
})
}
},
async taocanInit(){
this.setData({
hasLoading:true,
hasLoadTimeout:false,
})
await this.taocanInitScene();
let options=this.options
this.activityId=options.pid
App.Foodset.GetFoodsetList({sid:options.sid}).then(res=>{
let packs={}
res.data.some(r=>{
r.nameSub=r.name.length>6?(r.name.substr(0,6)+'…'):r.name;
r['包间可用']=r.service.indexOf('包间可用')>-1;
r['免预约']=r.service.indexOf('免预约')>-1;
r['随时退']=r.service.indexOf('随时退')>-1;
r.sid=this.data.sid
packs[r.id]=r
})
while(Object.keys(packs).length<3){
packs[Math.random()]={}
}
try{
if(!packs[this.activityId]){
util.toast('套餐已下架','none')
this.activityId=res.data[0].id
}
this.setData({
packs:packs,
activityId:this.activityId,
current:this.getCurrent(this.activityId,packs),
hasLoading:false,
})
this.getActivityDetail()
}catch (e){
this.setData({
hasNoSets:true,//没有任何套餐
hasLoading:false,
});
}
}).catch(()=>{
this.setData({
hasLoadTimeout:true,//网络异常
});
})
},
getCurrent(id,packs){
let ps=Object.keys(packs)
... ... @@ -178,4 +232,7 @@ Page({
this.createSaleIng=false
})
},
share(){
this.selectComponent('#share').show()
},
})
\ No newline at end of file
... ...
... ... @@ -2,6 +2,7 @@
"navigationBarBackgroundColor": "#ffffff",
"navigationBarTextStyle": "black",
"usingComponents": {
"nav":"/components/nav/nav"
"nav":"/components/nav/nav",
"share":"/components/2.0/taocan/share"
}
}
\ No newline at end of file
... ...
<!--pages/taocan/index.wxml-->
<wxs src="../../utils/util.wxs" module="util" />
<nav hasHome>套餐详情</nav>
<!--
<swiper
display-multiple-items="3"
class="view margin-left-lg header text-black"
bindchange="swiperChange"
current="{{current}}"
style="height: 80rpx;">
<block wx:for="{{packs}}" wx:key="*this">
<swiper-item
bindtap="touchTab" data-id="{{item.id}}" data-index="{{index}}"
class="swiper-item {{activityId==item.id?'active':''}} flex align-center">
<view class="txt-32-h text-cut" style="width: 220rpx;height: 56rpx;">
<text class="swiper-item-txt">{{item.name}}</text>
</view>
</swiper-item>
</block>
</swiper>
-->
<block wx:if="{{!hasNoSets}}">
<scroll-view class="view margin-left-lg header text-black"
scroll-x="true" bindscroll="scroll" scroll-into-view="PID{{activityId}}"
style="width: 100%;white-space: nowrap;height:80rpx;padding-top: 16rpx;">
<view class="view flex flex-direction justify-center align-center" style="width: 100vw;height: 100vh;" wx:if="{{hasLoading}}">
<view class="flex flex-direction justify-center align-center" wx:if="{{hasLoadTimeout}}">
<image src="http://nosqn.colorcun.com/timeout.png" style="width: 520rpx;height: 348rpx;"></image>
<view class="margin-tb-lg txt-28-h">请求超时啦~重试一下看看</view>
<view class="reflush flex justify-center align-center" bindtap="taocanInit">点击重试</view>
</view>
<view wx:else="" class="flex flex-direction justify-center align-center">
<image src="http://nosqn.colorcun.com/loading.gif" style="width: 40rpx;height: 40rpx;"></image>
<view class="margin-top bg-white txt-24-h">加载中,请稍后…</view>
</view>
</view>
<block wx:else="">
<nav hasHome>
<view style="top:{{shareTop}}px;height:{{shareHeight}}px;left:{{shareLeft}}px;"
catchtap="share"
class="share view flex align-center justify-center bg-white round">
<view class="icon view"></view>
<view class="text margin-left-xs">分享</view>
</view>
</nav>
<!--
<swiper
display-multiple-items="3"
class="view margin-left-lg header text-black"
bindchange="swiperChange"
current="{{current}}"
style="height: 80rpx;">
<block wx:for="{{packs}}" wx:key="*this">
<view id="PID{{item.id}}"
bindtap="touchTab" data-id="{{item.id}}" data-index="{{index}}"
class="view swiper-item {{activityId==item.id?'active':''}} flex align-center">
<view class="txt-32-h swiper-item-txt">
{{item.nameSub}}
<swiper-item
bindtap="touchTab" data-id="{{item.id}}" data-index="{{index}}"
class="swiper-item {{activityId==item.id?'active':''}} flex align-center">
<view class="txt-32-h text-cut" style="width: 220rpx;height: 56rpx;">
<text class="swiper-item-txt">{{item.name}}</text>
</view>
</view>
</swiper-item>
</block>
</scroll-view>
<view class="view" style="padding-bottom: 150rpx;padding-top: 80rpx;">
<view class="view box margin-lr margin-top-lg margin-bottom-sm padding">
<view class="view txt-40-h text-bold">{{packs[activityId].name}}</view>
<view class="view flex align-end">
<view class="text-orange txt-28-h" style="margin-bottom: 4rpx;">¥</view>
<view class="text-orange txt-44-h margin-right-sm text-bold">{{packs[activityId].sale_price}}</view>
<view class="huaxian flex align-end">
<view class="txt-20-h" style="margin-bottom: 8rpx;">¥</view>
<view class="txt-28-h" style="margin-bottom: 4rpx;">{{packs[activityId].market_price}}</view>
</view>
<view class="view flex text-orange align-end margin-left-sm" wx:if="{{packs[activityId].discount>0}}" >
<view class="view tag" style="margin-bottom: 16rpx;"></view>
<view class="view margin-left-xs txt-24-h" style="margin-bottom: 10rpx;">{{packs[activityId].discount*10}}折</view>
</view>
</view>
<view class="view flex align-center txt-28-h margin-bottom labels" style="margin-top: 10rpx;">
<view class="view margin-right flex align-center" wx:if="{{packs[activityId]['包间可用']}}">
<view class="view icon icon1"></view>
<view class="view txt-28-h bg-white">包间可用</view>
</view>
<view class="view margin-right flex align-center" wx:if="{{packs[activityId]['免预约']}}">
<view class="view icon icon2"></view>
<view class="view txt-28-h bg-white">免预约</view>
</swiper>
-->
<block wx:if="{{!hasNoSets}}">
<scroll-view class="view margin-left-lg header text-black"
scroll-x="true" bindscroll="scroll" scroll-into-view="PID{{activityId}}"
style="width: 100%;white-space: nowrap;height:80rpx;">
<block wx:for="{{packs}}" wx:key="*this">
<view id="PID{{item.id}}"
bindtap="touchTab" data-id="{{item.id}}" data-index="{{index}}"
class="view swiper-item {{activityId==item.id?'active':''}} flex align-center">
<view class="txt-32-h swiper-item-txt">
{{item.nameSub}}
</view>
</view>
<view class="view margin-right flex align-center" wx:if="{{packs[activityId]['随时退']}}">
<view class="view icon icon3"></view>
<view class="view txt-28-h bg-white">随时退</view>
</block>
</scroll-view>
<view class="view" style="padding-bottom: 150rpx;padding-top: 80rpx;">
<view class="view box margin-lr margin-top-lg margin-bottom-sm padding">
<view class="view text-xxl text-bold">{{packs[activityId].name}}</view>
<view class="view flex align-end">
<view class="text-orange txt-28-h" style="margin-bottom: 4rpx;">¥</view>
<view class="text-orange txt-44-h margin-right-sm text-bold">{{packs[activityId].sale_price}}</view>
<view class="huaxian flex align-end">
<view class="txt-20-h" style="margin-bottom: 8rpx;">¥</view>
<view class="txt-28-h" style="margin-bottom: 4rpx;">{{packs[activityId].market_price}}</view>
</view>
<view class="view flex text-orange align-end margin-left-sm" wx:if="{{packs[activityId].discount>0}}" >
<view class="view tag" style="margin-bottom: 16rpx;"></view>
<view class="view margin-left-xs txt-24-h" style="margin-bottom: 10rpx;">{{packs[activityId].discount*10}}折</view>
</view>
</view>
</view>
<image src="{{packs[activityId].detail_url}}" style="width:100%;border-radius: 10rpx;" mode="widthFix"></image>
</view>
<view class="view box margin-lr margin-top-sm margin-bottom-sm">
<view class="txt-30-h padding solid-bottom text-bold">购买须知</view>
<view class="view padding block">
<view class="flex align-center margin-bottom-sm">
<view class="dot"></view>
<view class="txt-30-h text-bold">有效期</view>
</view>
<view class="text-df">{{util.unixtoTime(packs[activityId].eff_time_start,'YYYY.MM.DD')}}-{{util.unixtoTime(packs[activityId].eff_time_end,'YYYY.MM.DD HH:II')}}</view>
</view>
<view class="view padding block">
<view class="flex align-center margin-bottom-sm">
<view class="dot"></view>
<view class="txt-30-h text-bold">使用时间</view>
<view class="view flex align-center txt-28-h margin-bottom labels" style="margin-top: 10rpx;">
<view class="view margin-right flex align-center" wx:if="{{packs[activityId]['包间可用']}}">
<view class="view icon icon1"></view>
<view class="view txt-28-h bg-white">包间可用</view>
</view>
<view class="view margin-right flex align-center" wx:if="{{packs[activityId]['免预约']}}">
<view class="view icon icon2"></view>
<view class="view txt-28-h bg-white">免预约</view>
</view>
<view class="view margin-right flex align-center" wx:if="{{packs[activityId]['随时退']}}">
<view class="view icon icon3"></view>
<view class="view txt-28-h bg-white">随时退</view>
</view>
</view>
<view class="text-df">{{packs[activityId].use_time}}</view>
<image src="{{packs[activityId].detail_url}}" style="width:100%;border-radius: 10rpx;" mode="widthFix"></image>
</view>
<view class="view padding block padding-bottom-sm">
<view class="flex align-center margin-bottom-sm">
<view class="dot"></view>
<view class="txt-30-h text-bold">使用规则</view>
<view class="view box margin-lr margin-top-sm margin-bottom-sm">
<view class="txt-30-h padding solid-bottom text-bold">购买须知</view>
<view class="view padding block">
<view class="flex align-center margin-bottom-sm">
<view class="dot"></view>
<view class="txt-30-h text-bold">有效期</view>
</view>
<view class="text-df">{{util.unixtoTime(packs[activityId].eff_time_start,'YYYY.MM.DD')}}-{{util.unixtoTime(packs[activityId].eff_time_end,'YYYY.MM.DD HH:II')}}</view>
</view>
<view class="text-df" wx:if="{{hasShowRule}}">
<text style="line-height: 40rpx;">{{packs[activityId].use_notice}}</text>
<view class="view padding block">
<view class="flex align-center margin-bottom-sm">
<view class="dot"></view>
<view class="txt-30-h text-bold">使用时间</view>
</view>
<view class="text-df">{{packs[activityId].use_time}}</view>
</view>
<view class="flex justify-center align-center rule margin-top-sm margin-bottom-sm" bindtap="toggleRule">
<view class="txt-28-h">{{hasShowRule?'收起':'展开更多'}}</view>
<view class="view icon {{hasShowRule?'show':''}}"></view>
<view class="view padding block padding-bottom-sm">
<view class="flex align-center margin-bottom-sm">
<view class="dot"></view>
<view class="txt-30-h text-bold">使用规则</view>
</view>
<view class="text-df" wx:if="{{hasShowRule}}">
<text style="line-height: 40rpx;">{{packs[activityId].use_notice}}</text>
</view>
<view class="flex justify-center align-center rule margin-top-sm margin-bottom-sm" bindtap="toggleRule">
<view class="txt-28-h">{{hasShowRule?'收起':'展开更多'}}</view>
<view class="view icon {{hasShowRule?'show':''}}"></view>
</view>
</view>
</view>
</view>
</view>
<view class="view bottom flex align-center justify-between padding-right">
<view class="view flex justify-center align-center flex-treble ">
<view class="view flex align-end">
<view class="text-orange txt-40-h" style="margin-bottom: 4rpx;">¥</view>
<view class="text-orange txt-52-h margin-right-sm text-bold">{{packs[activityId].sale_price}}</view>
</view>
<view class="view flex flex-direction justify-center align-start">
<view class="view flex text-orange align-center" wx:if="{{packs[activityId].discount>0}}">
<view class="view tag"></view>
<view class="view margin-left-xs txt-24-h">{{packs[activityId].discount*10}}折</view>
<view class="view bottom flex align-center justify-between padding-right">
<view class="view flex justify-center align-center flex-treble ">
<view class="view flex align-end">
<view class="text-orange txt-40-h" style="margin-bottom: 4rpx;">¥</view>
<view class="text-orange txt-52-h margin-right-sm text-bold">{{packs[activityId].sale_price}}</view>
</view>
<view class="huaxian flex align-end">
<view class="txt-24-h" style="margin-bottom: 2rpx;">¥</view>
<view class="txt-32-h">{{packs[activityId].market_price}}</view>
<view class="view flex flex-direction justify-center align-start">
<view class="view flex text-orange align-center" wx:if="{{packs[activityId].discount>0}}">
<view class="view tag"></view>
<view class="view margin-left-xs txt-24-h">{{packs[activityId].discount*10}}折</view>
</view>
<view class="huaxian flex align-end">
<view class="txt-24-h" style="margin-bottom: 2rpx;">¥</view>
<view class="txt-32-h">{{packs[activityId].market_price}}</view>
</view>
</view>
</view>
<view class="flex justify-end" bindtap="createSale">
<view class="buyButton txt-36-h text-bold flex align-center justify-center bg-blue-blue">立即抢购</view>
</view>
</view>
<view class="flex justify-end" bindtap="createSale">
<view class="buyButton txt-36-h text-bold flex align-center justify-center bg-blue-blue">立即抢购</view>
</view>
</block>
<view wx:else=""
style="padding-top: 172rpx;"
class="flex flex-direction justify-start align-center">
<image src="http://nosqn.colorcun.com/taocan/1%20%2827%29.png"
style="width: 520rpx;height: 348rpx;"></image>
<view class="txt-28-h margin-top-lg">该套餐过期啦</view>
</view>
<share id="share" pack="{{packs[activityId]}}" wx:if="{{packs[activityId].id}}"></share>
</block>
<view wx:else=""
style="padding-top: 172rpx;"
class="flex flex-direction justify-start align-center">
<image src="http://nosqn.colorcun.com/taocan/1%20%2827%29.png"
style="width: 520rpx;height: 348rpx;"></image>
<view class="txt-28-h margin-top-lg">该套餐过期啦</view>
</view>
... ...
... ... @@ -99,4 +99,37 @@
background: linear-gradient(90deg, #3BBFF5 0%, #57A0FF 100%);
border-radius: 42rpx;
}
.share{
position: fixed;
width: 63px;
height: 64rpx;
background: rgba(255, 255, 255, 0.6);
border-radius: 32rpx;
border: 1rpx solid rgba(151, 151, 151, 0.2);
}
.share .icon{
background-image: url("http://nosqn.colorcun.com/taocan/1%20%2828%29.png");
width: 24rpx;
height: 24rpx;
}
.share .text{
height: 36rpx;
font-size: 26rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #333333;
line-height: 36rpx;
}
.reflush{
width: 152rpx;
height: 56rpx;
background: #42A5FF;
border-radius: 28rpx;
font-size: 28rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #FFFFFF;
line-height: 40rpx;
}
\ No newline at end of file
... ...
// pages/reserve/share.js
import util from '../../utils/util';
import App from '../../utils/api';
const {regeneratorRuntime} = global
Page({
/**
* 页面的初始数据
*/
data: {
paletteImageSrc:'',
palette:null,
hasLoadData:true,
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
this.options=options;
this.setQrcode();
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
async setQrcode(){
let options=this.options
let openid=await getApp().getOpenid()
this.qrcode=await util.http_build_query({
page:'pages/taocan/index',
path:'pages/taocan/index',
scene:JSON.stringify({
sid:options.sid,
pid:options.pid,
fromid:openid,
})
},util.cgi('App.Customer.GetWxLiteCodeByShare'))
this.initImage()
},
initImage(){
let palette={
background: '#fff',
width: '400rpx',
height: '400rpx',
views: [
{
type: 'image',
url: this.qrcode,
css: {
mode:'scaleToFill',
width: '400rpx',
height: '400rpx',
},
}
],
}
this.setData({
palette:palette
})
},
onImgOK(e){
console.log('onImgOK',e.detail.path)
wx.getImageInfo({
src:e.detail.path,
success:res=>{
let w=getApp().system.windowWidth
console.log('getImageInfo',res)
this.setData({
paletteImageWidth:w,
paletteImageHeight:w/res.width*res.height,
paletteImageSrc:e.detail.path,
})
}
})
},
reviewImage(){
wx.previewImage({
urls:[this.data.paletteImageSrc],
})
},
})
\ No newline at end of file
... ...
{
"navigationBarBackgroundColor": "#ffffff",
"navigationBarTextStyle": "black",
"navigationBarTitleText":"周到安排",
"usingComponents": {
"nav":"/components/nav/nav",
"painter":"/components/painter/painter",
"savefile":"/components/userinfo/savefile"
}
}
... ...
<!--pages/reserve/share.wxml-->
<nav>{{actType=='quanzi'?'分享图':'二维码下载'}}</nav>
<loading wx:if="{{!hasLoadData || !paletteImageSrc}}">图片生成中</loading>
<view wx:if="{{hasLoadData}}" style="position: fixed;top:-9999rpx;">
<painter palette="{{palette}}" bind:imgOK="onImgOK" bind:imgErr="onImgOK"/>
</view>
<view wx:if="{{paletteImageSrc}}" class="pages">
<view class="pages-view flex-vc" wx:if="{{actType=='quanzi'}}">
<image src="{{paletteImageSrc}}"
bindtap="reviewImage"
style="width:{{paletteImageWidth}}px;height:{{paletteImageHeight}}px;"></image>
</view>
<view class="pages-view flex-vc" wx:else="">
<image src="{{paletteImageSrc}}"
bindtap="reviewImage"
style="width:400rpx;height:400rpx; margin-top: 90rpx;"></image>
<view class="qrcode-text">{{seller.sellername}}</view>
</view>
<view class="save flex-vc">
<savefile filePath="{{paletteImageSrc}}" style="width: 100%">
<view class="save-but flex-cc">
保存到相册
</view>
</savefile>
</view>
</view>
... ...
/* pages/reserve/share.wxss */
page{
background-color: #fefefe;
}
.pages{
padding-bottom: 100rpx;
width: 100%;
padding-top: 0rpx;
background-size: 100% 100%;
}
.pages-view{
width: 100%;
margin: 0 auto;
}
.save{
position: fixed;
bottom: 40rpx;
width: calc(100% - 80rpx);
left:40rpx;
}
.save-but{
width: 100%;
height: 84rpx;
background: linear-gradient(90deg, #3BBFF5 0%, #57A0FF 100%);
border-radius: 42rpx;
font-size: 36rpx;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
color: #FFFFFF;
line-height: 84rpx;
}
.qrcode-text{
font-size: 34rpx;
margin-top: 40rpx;
margin-bottom: 90rpx;
}
\ No newline at end of file
... ...
... ... @@ -520,6 +520,12 @@ export default {
//根据账单ID获取账单详情
'App.Foodset.GetFoodOrdersDetail':null,
//根据唯一code获取相关参数
'App.Customer.GetWxLiteCodeInfo':null,
//分享关系记录
'App.Customer.SetShareRel':null,
//获取商家优惠对接人信息
'App.Customer.GetSellerPreferentialDocking':null,
//接单人,获得商家设置的接单人列表
... ...