feat: 修改首页未显示红包抽奖,审核文案,邀请好友分享,地址回显问题修改
This commit is contained in:
@@ -42,12 +42,13 @@
|
|||||||
|
|
||||||
<view v-if="status > 1 && status != 6 && status != 5">
|
<view v-if="status > 1 && status != 6 && status != 5">
|
||||||
<view class="card_list">
|
<view class="card_list">
|
||||||
<view class="list_left">邮寄地址</view>
|
<view class="list_left" style="flex:30%;">邮寄地址</view>
|
||||||
<view>{{ product.address || "--" }}</view>
|
<view>{{ product.address || "--" }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="card_list">
|
<view class="card_list">
|
||||||
<view class="list_left">卖家信息</view>
|
<view class="list_left">卖家信息</view>
|
||||||
<view>{{ `${product.name} ${product.phone}` }}</view>
|
<view>{{ (product.name || product.phone) ? `${product.name || ''} ${product.phone || ''}`.trim() : "--" }}
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="card_list" @click="onSelectExpress">
|
<view class="card_list" @click="onSelectExpress">
|
||||||
<view class="list_left">请选择快递名称</view>
|
<view class="list_left">请选择快递名称</view>
|
||||||
@@ -277,7 +278,7 @@ export default {
|
|||||||
/* 根据订单状态显示不label */
|
/* 根据订单状态显示不label */
|
||||||
topLabel() {
|
topLabel() {
|
||||||
if (this.status == 1) {
|
if (this.status == 1) {
|
||||||
return "您已成功发起退货/退款申请,请耐心等待审";
|
return "您已成功发起退货/退款申请,请耐心等待审核";
|
||||||
} else if (this.status == 2) {
|
} else if (this.status == 2) {
|
||||||
return "请按照以下地址寄回商品";
|
return "请按照以下地址寄回商品";
|
||||||
} else if (this.status == 3) {
|
} else if (this.status == 3) {
|
||||||
@@ -297,7 +298,7 @@ export default {
|
|||||||
} else if (this.status == 2) {
|
} else if (this.status == 2) {
|
||||||
return "退款申请通过";
|
return "退款申请通过";
|
||||||
} else if (this.status == 3) {
|
} else if (this.status == 3) {
|
||||||
return "您已成功发起退货/退款申请,请耐心等待处";
|
return "您已成功发起退货/退款申请,请耐心等待处理";
|
||||||
} else if (this.status == 4) {
|
} else if (this.status == 4) {
|
||||||
return "退款申请失败";
|
return "退款申请失败";
|
||||||
} else if (this.status == 5) {
|
} else if (this.status == 5) {
|
||||||
@@ -391,7 +392,8 @@ export default {
|
|||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
height: 96rpx;
|
height: 96rpx;
|
||||||
line-height: 96rpx;
|
align-items: center;
|
||||||
|
// line-height: 96rpx;
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
border-bottom: 1px solid #eaeaea;
|
border-bottom: 1px solid #eaeaea;
|
||||||
|
|
||||||
|
|||||||
@@ -1,37 +1,63 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="invite_friends_warp">
|
<view class="invite_friends_warp">
|
||||||
<view class="invite_img">
|
<view class="invite_img">
|
||||||
<!-- <up-image :loading="imageLoading" :src="inviteImage" class="invite_imgage" bgColor="#f1f6ff00" shape="square"
|
<image :src="inviteImage" class="invite_imgage" v-if="inviteImage"></image>
|
||||||
radius=10></up-image> -->
|
<view class="loading" v-else>
|
||||||
<image :src="inviteImage" class="invite_imgage"></image>
|
<text>加载分享图片中...</text>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="invite_but">
|
<view class="invite_but">
|
||||||
<view class="save_but">
|
<!-- 修改为直接分享图片 -->
|
||||||
<text style="margin-left: 10rpx;" @click="saveBaseImgFile">保存图片</text>
|
<button
|
||||||
</view>
|
class="share-btn"
|
||||||
|
@click="shareImage"
|
||||||
|
>
|
||||||
|
分享好友
|
||||||
|
</button>
|
||||||
</view>
|
</view>
|
||||||
<up-toast ref="uToastRef"></up-toast>
|
<up-toast ref="uToastRef"></up-toast>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getSharePoster, generateSharePoster } from '@/api/common.js';
|
import { getSharePoster, generateSharePoster } from "@/api/common.js";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
inviteImage: null,
|
inviteImage: null,
|
||||||
imageLoading: false,
|
imageLoading: false,
|
||||||
}
|
shareImg:''
|
||||||
|
};
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.getSharePoster();
|
this.getSharePoster();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 将base64转换为本地临时文件
|
||||||
|
async base64ToTempFile(base64Data) {
|
||||||
|
try {
|
||||||
|
// 移除base64前缀
|
||||||
|
const base64 = base64Data.replace(/^data:image\/\w+;base64,/, '');
|
||||||
|
// 将base64转换为ArrayBuffer
|
||||||
|
const arrayBuffer = uni.base64ToArrayBuffer(base64);
|
||||||
|
// 获取文件系统管理器
|
||||||
|
const fs = uni.getFileSystemManager();
|
||||||
|
// 生成临时文件路径
|
||||||
|
const tempFilePath = `${wx.env.USER_DATA_PATH}/share_${Date.now()}.png`;
|
||||||
|
// 写入文件
|
||||||
|
fs.writeFileSync(tempFilePath, arrayBuffer, 'binary');
|
||||||
|
return tempFilePath;
|
||||||
|
} catch (error) {
|
||||||
|
console.error('base64转换为临时文件失败:', error);
|
||||||
|
throw error;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
// 查询分享模版
|
// 查询分享模版
|
||||||
async getSharePoster() {
|
async getSharePoster() {
|
||||||
this.imageLoading = true;
|
this.imageLoading = true;
|
||||||
|
try {
|
||||||
const resp = await getSharePoster();
|
const resp = await getSharePoster();
|
||||||
if (resp && resp.bizcode === 100) {
|
if (resp && resp.bizcode === 100) {
|
||||||
const data = resp.data[0];
|
const data = resp.data[0];
|
||||||
@@ -39,60 +65,58 @@ export default {
|
|||||||
const generateResp = await generateSharePoster({ id: data.id });
|
const generateResp = await generateSharePoster({ id: data.id });
|
||||||
if (generateResp && generateResp.bizcode === 100) {
|
if (generateResp && generateResp.bizcode === 100) {
|
||||||
this.inviteImage = generateResp.data;
|
this.inviteImage = generateResp.data;
|
||||||
|
// 将base64转换为本地临时文件并存储到shareImg
|
||||||
|
this.shareImg = await this.base64ToTempFile(generateResp.data);
|
||||||
|
console.log('图片转换成功:', this.shareImg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.error("获取分享图失败:", error);
|
||||||
|
} finally {
|
||||||
this.imageLoading = false;
|
this.imageLoading = false;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
saveBaseImgFile() {
|
|
||||||
uni.showLoading({
|
// 使用wx.showShareImageMenu分享图片到微信好友
|
||||||
title: '保存中...',
|
async shareImage() {
|
||||||
})
|
// 确保有分享图再执行分享
|
||||||
const currentBase64 = this.inviteImage;
|
if (!this.shareImg) {
|
||||||
const bitmap = new plus.nativeObj.Bitmap('base64')
|
this.$refs.uToastRef.show({
|
||||||
bitmap.loadBase64Data(currentBase64, () => {
|
type: 'warning',
|
||||||
const url = '_doc/' + new Date().getTime() + '.png'
|
message: "分享图正在加载,请稍后重试",
|
||||||
bitmap.save(
|
});
|
||||||
url,
|
return;
|
||||||
{
|
}
|
||||||
overwrite: false, // 是否覆盖
|
|
||||||
},
|
try {
|
||||||
(i) => {
|
// 使用微信原生API wx.showShareImageMenu分享图片
|
||||||
uni.saveImageToPhotosAlbum({
|
wx.showShareImageMenu({
|
||||||
filePath: url,
|
path: this.shareImg, // 本地临时文件路径
|
||||||
success: () => {
|
success: () => {
|
||||||
uni.hideLoading();
|
console.log('分享成功');
|
||||||
this.$refs.uToastRef.show({
|
this.$refs.uToastRef.show({
|
||||||
type: 'success',
|
type: 'success',
|
||||||
message: "图片保存到相册成功",
|
message: "分享成功",
|
||||||
});
|
});
|
||||||
bitmap.clear()
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
(e) => {
|
fail: (err) => {
|
||||||
uni.hideLoading();
|
console.error('分享失败:', err);
|
||||||
console.log('图片保存失败', e)
|
|
||||||
this.$refs.uToastRef.show({
|
this.$refs.uToastRef.show({
|
||||||
type: 'error',
|
type: 'error',
|
||||||
message: "图片保存失败",
|
message: "分享失败,请稍后重试",
|
||||||
});
|
});
|
||||||
bitmap.clear()
|
|
||||||
}
|
}
|
||||||
)
|
});
|
||||||
},
|
} catch (error) {
|
||||||
(e) => {
|
console.error('分享过程出错:', error);
|
||||||
uni.hideLoading();
|
|
||||||
console.log('图片保存失败', e)
|
|
||||||
this.$refs.uToastRef.show({
|
this.$refs.uToastRef.show({
|
||||||
type: 'error',
|
type: 'error',
|
||||||
message: "图片保存失败",
|
message: "分享失败,请稍后重试",
|
||||||
});
|
});
|
||||||
bitmap.clear()
|
|
||||||
}
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@@ -101,36 +125,41 @@ export default {
|
|||||||
padding: 10rpx 40rpx 40rpx;
|
padding: 10rpx 40rpx 40rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
// .invite_img {
|
.invite_img {
|
||||||
// height: 920rpx;
|
display: flex;
|
||||||
// }
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
min-height: 920rpx;
|
||||||
|
}
|
||||||
|
|
||||||
.invite_imgage {
|
.invite_imgage {
|
||||||
// width="100%" height="460"
|
|
||||||
img {
|
|
||||||
width: 100%;
|
|
||||||
height: 920rpx;
|
|
||||||
}
|
|
||||||
::v-deep(uni-image){
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 920rpx;
|
height: 920rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.loading {
|
||||||
|
text-align: center;
|
||||||
|
color: #999;
|
||||||
|
font-size: 28rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.invite_but {
|
.invite_but {
|
||||||
padding: 20rpx 50rpx;
|
padding: 20rpx 50rpx;
|
||||||
margin-top: 52rpx;
|
margin-top: 52rpx;
|
||||||
|
}
|
||||||
|
|
||||||
.save_but {
|
.share-btn {
|
||||||
text-align: center;
|
width: 100%;
|
||||||
background: $app-bt-bj;
|
background: $app-bt-bj;
|
||||||
border-radius: 45rpx;
|
border-radius: 45rpx;
|
||||||
width: 100%;
|
color: #FFFFFF;
|
||||||
color: #FFF;
|
|
||||||
padding: 30rpx 0;
|
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
font-size: 32rpx;
|
font-size: 32rpx;
|
||||||
color: #FFFFFF;
|
// 清除默认按钮样式
|
||||||
|
border: none;
|
||||||
|
outline: none;
|
||||||
|
&:active {
|
||||||
|
opacity: 0.8;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
Reference in New Issue
Block a user