Commit 1ef1fc22 by huahua

优化页面

parent adf4a7cf
...@@ -207,16 +207,17 @@ ...@@ -207,16 +207,17 @@
</view> </view>
<!-- 计算字体大小 --> <!-- 计算字体大小 -->
<view class='item-box' style='top:-1000px;left:-1000px;'> <view class='item-box' style='top:-1000px;left:-1000px; visibility: hidden; '>
<view class='item-box-in' <view class='item-box-in'
:style="{width:data.editorWidth + 'px' ,height: data.itemList[data.cidx].height +'px'}" :style="{width:data.editorWidth + 'px' ,height: data.itemList[data.cidx].height +'px'}"
style="text-align: center;"> style="text-align: center;">
<view ref="itemText" id="item-text" class="item-text" :style="{'font-weight': data.itemList[data.cidx].font_style , <view ref="itemText" id="item-text" class="item-text" :style="{'font-weight': data.itemList[data.cidx].font_style ,
'font-size': data.itemList[data.cidx].font_size+ 'px',color:data.itemList[data.cidx].font_color, 'font-size': data.itemList[data.cidx].font_size+ 'px',color:data.itemList[data.cidx].font_color,
'background-color': data.itemList[data.cidx].under_color }" 'background-color': data.itemList[data.cidx].under_color,'font-family': data.itemList[data.cidx].font_family }"
style="margin:auto;white-space:nowrap;display:table;">{{data.itemList[data.cidx].content}} style="margin:auto;white-space:nowrap;display:table;">{{data.itemList[data.cidx].content}}
</view> </view>
</view> </view>
<image :src="upLoadImageUrl" mode="scaleToFill" @load="upLoadIImageLoad" @error="upLoadIImageLoadErr"></image>
</view> </view>
<!-- 上一步、下一步按钮 --> <!-- 上一步、下一步按钮 -->
...@@ -321,6 +322,21 @@ ...@@ -321,6 +322,21 @@
<view class="tool_li_text">智能推荐</view> <view class="tool_li_text">智能推荐</view>
</view> </view>
<!-- AI图像 -->
<view class="tool_li" @click.stop='showAiChange()'>
<image class="tool_li_img" style="width: 51upx; height: 38upx;"
src="../../static/icon_diy_ai.png" mode=""></image>
<view class="tool_li_text">AI图像</view>
</view>
<view class="tool_li" @click="openAiMakePicture()">
<image class="tool_li_img" style="width: 44upx; height: 42upx;"
src="../../static/icon_diy_draw_designs.png" mode=""></image>
<view class="tool_li_text">AI画图</view>
</view>
<view class="tool_li" @click.stop="removedeleteItem" v-if="data.itemList.length > 0"> <view class="tool_li" @click.stop="removedeleteItem" v-if="data.itemList.length > 0">
<image class="tool_li_img" style="width: 50upx; height: 50upx;" <image class="tool_li_img" style="width: 50upx; height: 50upx;"
src="../../static/diy_icon_middle_default.png" mode=""></image> src="../../static/diy_icon_middle_default.png" mode=""></image>
...@@ -354,15 +370,6 @@ ...@@ -354,15 +370,6 @@
<view class="tool_li_text">移除</view> <view class="tool_li_text">移除</view>
</view> </view>
<!-- AI图像 -->
<view v-if="data.itemList.length > 0">
<view class="tool_li" @click.stop='showAiChange()' v-if="data.itemList[data.cidx].type == 0 && data.itemList[data.cidx].isUpLoadImage">
<image class="tool_li_img" style="width: 51upx; height: 38upx;"
src="../../static/icon_diy_ai.png" mode=""></image>
<view class="tool_li_text">图像</view>
</view>
</view>
<view v-if="data.itemList.length > 0"> <view v-if="data.itemList.length > 0">
<view class="tool_li" v-if="data.itemList[data.cidx].type == 1" @click="showPopup(4)"> <view class="tool_li" v-if="data.itemList[data.cidx].type == 1" @click="showPopup(4)">
<image class="tool_li_img" style="width: 51upx; height: 51upx;" <image class="tool_li_img" style="width: 51upx; height: 51upx;"
...@@ -607,7 +614,58 @@ ...@@ -607,7 +614,58 @@
</view> </view>
<view style="font-size: 30upx;color:#333; width:100%;text-align: center;margin: auto;">选中的图片必须带有清晰人物头像</view> <view style="font-size: 30upx;color:#333; width:100%;text-align: center;margin: auto;">选中的图片必须带有清晰人物头像</view>
</view> </view>
</uni-popup> </uni-popup>
<!--Ai作画 -->
<uni-popup ref="showAiMakePicture" type="center" style="position: fixed; z-index: 9999; width: 200upx">
<view style="width: 700upx; height: 700upx;background: #FFFFFF; border-radius: 10upx; ">
<view style="width:100%;height: 50upx; ">
<image src="../../static/img/icon_close_image.png"
style=" width: 25upx; padding: 20upx; float:right;" mode="widthFix" @click="showAiMakePictureClose()">
</image>
</view>
<view style="font-size: 36upx;font-weight: 600;color: #333333;margin-left: 300upx; margin-top: 20upx;">AI画图</view>
<view style="margin-left: 40upx;margin-top: 60upx;" >给我一段文字,我就能为您绘出一幅画喔~~</view>
<view style="display: flex; align-items: center; justify-content: center; margin-top: 20upx; position: relative;">
<view style="width: 600upx; height: 200upx;
background: #EEEEEE;
border-radius: 10upx;
margin-top: 20upx; margin-left: 40upx;">
<textarea
placeholder="请输入搜索关键字"
@input="aiSearchTextChange"
:value="aiSearchText"
maxlength="250"
style="color: #333333;
font-size: 26upx;
padding-top: 20upx;
padding-left: 20upx;
width: 600upx;
height: 200upx;"/>
</view>
</view>
<view style="margin-left: 0upx; margin-top: 30upx; ">
<radio-group @change="chang" style="transform:scale(0.82)" :name="raido">
<label v-for="item in radioGroup" :key="item">
<radio :value="item" :checked="item==activeRadio" color="#854AC2"
:class="item.checked ? 'sunui-radio-checkd' : ''"/>
{{item}}
</label>
</radio-group>
</view>
<view @click="textToImage()"
style="margin: auto;color: #fff;text-align: center;
line-height: 60upx;
width: 220upx;
height: 70upx;
background: #854AC2;
box-shadow: 0px 19upx 48upx 1upx rgba(20, 31, 62, 0.35);
border-radius: 50upx;
margin-top: 40upx;">确认</view>
</view>
</uni-popup>
<switchGoods ref="switchGoods" @selectGoodItem="selectGoodItem"></switchGoods> <switchGoods ref="switchGoods" @selectGoodItem="selectGoodItem"></switchGoods>
<!--商品弹框 --> <!--商品弹框 -->
...@@ -813,7 +871,12 @@ ...@@ -813,7 +871,12 @@
material_series_currentId: 0, material_series_currentId: 0,
isShowGif: false, //是否显示 isShowGif: false, //是否显示
history_bannerList: [] ,//历史banner集合 history_bannerList: [] ,//历史banner集合
selectChangeType:1 selectChangeType:1,
aiSearchText: "",//Ai搜索文字
aiStyle: "contemporary style",
activeRadio: '现代风', //存的是单选按钮选中的value值
radioGroup: ['现代风', '卡通风', '铅笔画风'],
upLoadImageUrl: "", //上传图片地址
}; };
}, },
...@@ -824,6 +887,224 @@ ...@@ -824,6 +887,224 @@
}, },
methods: { methods: {
upLoadIImageLoadErr(e){
uni.showToast({
title: '上传失败',
icon: 'none',
duration: 3000
})
},
upLoadIImageLoad(e) {
if(this.upLoadImageUrl == "" || this.upLoadImageUrl == null ){
return;
}
uni.showToast({
title: '上传成功',
icon: 'none',
duration: 3000
})
var id = e.currentTarget.dataset.id;
var image = {
width : e.detail.width,
height: e.detail.height
}
let width = 0
let height = 0
let top = 0
let lef = 0
let ratio = image.width / image.height
let ratiowidth = (this.data.editorWidth * this.mix_scale) / image.width
let ratioheight = (this.data.editorHeight * this.mix_scale) /image.height
width = this.data.editorWidth * this.mix_scale
height = image.height * ratiowidth
if (height / 2 > this.editor_top) {
width = width * (this.editor_top * 2 / height)
height = this.editor_top * 2
}
this.isShowGif = true;
let index = items.length;
items.push({
support_zoom: 1, // 0是不支持缩放,为1时支持缩放
support_drag: 1, // 0是不支持拖动,为1时支持拖动
is_under: 0, //贴图是否为背景图
is_discount: 0, //贴图是否用卷
id: index + 1,
type: 0, //0为图片,1为文字,2为素材
material_id: 0,
original_id: 0,
index: index,
font_family: '',
font_style: '',
font_size: '',
font_color: '',
under_color: '',
content: this.upLoadImageUrl, // 图片地址
top: this.editor_top - height / 2, // 初始图片Y坐标,根据画布高/2-图片高/2
left: this.data.editorWidth / 2 - width / 2, // 初始图片X坐标,因为div是相对定位,所以计算是要多减一次移动的距离
x: this.data.editorWidth / 2, // 初始圆心位置,可再downImg之后又宽高和初始的图片位置得出
y: this.editor_top,
scale: 1, // 缩放比例 1为不缩放
lastScale: 1, // 上一次的绽放比例
oScale: 1, // 缩放比例 1为不缩放
angle: 0, // 旋转角度
rotate: 0, // 旋转值
active: false, // 判定点击状态
width: width, // 预设生成图片的宽度
height: height, // 预设生成图片的高度
rScale: 1, // 图片原始缩放比例
// 新增加默认属性
activeguide: false, // 开启辅助线
activescale: false, // 开启旋转状态
activehorn: false, // 开启角状态
activeedge: false, // 开启边状态
initialScale: 1, // 图片缩放比例
initialscaling: 1, // 图片初始时缩放比例
initialScalex: 1, // 图片宽缩放比例
initialScaley: 1, // 图片高缩放比例
initialWidth: width, // 图片原始宽度
initialHeight: height, // 图片原始高度
frame_left: null, // 裁剪窗口x
image_left: null, // 图片x
frame_top: null, // 裁剪窗口y
image_top: null, // 图片y
isUpLoadImage: true
})
this.data.itemList = items
this.isUpLoadImage = false;
this.saveSnapshot();
},
chang(e) {
this.activeRadio = e.detail.value; //选中按钮的value值
if(this.activeRadio == "现代风"){
this.aiStyle = "contemporary style";
}else if(this.activeRadio == "卡通风"){
this.aiStyle = "cartoon style";
}else if(this.activeRadio == "铅笔画风"){
this.aiStyle = "pencil art";
}
},
showAiMakePictureStyleType(type){
if(type == 1){
this.aiStyle = "contemporary style";
}else if(type == 2){
this.aiStyle = "cartoon style";
}else if(type == 3){
this.aiStyle = "pencil art";
}
this.showAiMakePictureStyleClose();
this.textToImage();
},
//文字生成图片
textToImage(){
uni.showLoading({
title: '加载中...',
mask: true
})
homeservice.queryList({
s: 'VolcEngine.ViusalTextToImage',
style_term: this.aiStyle,
text: this.aiSearchText,
}).then(result => {
this.showAiMakePictureClose()
var _this = this;
uni.getImageInfo({
src: result.img_url,
success: (image) => {
uni.hideLoading();
let width = 0
let height = 0
let top = 0
let lef = 0
let ratio = image.width / image.height
let ratiowidth = (_this.data.editorWidth * _this.mix_scale) / image.width
let ratioheight = (_this.data.editorHeight * _this.mix_scale) / image.height
width = _this.data.editorWidth * _this.mix_scale
height = image.height * ratiowidth
let index = items.length;
items.push({
support_zoom: 1, // 0是不支持缩放,为1时支持缩放
support_drag: 1, // 0是不支持拖动,为1时支持拖动
is_under: 0, //贴图是否为背景图
is_discount: 0, //贴图是否用卷
id: index + 1,
type: 2, //0为图片,1为文字,2为素材
material_id: 0,
original_id: 0,
index: index,
font_family: '',
font_style: '',
font_size: '',
font_color: '',
under_color: '',
content: result.img_url, // 图片地址
top: _this.editor_top -
height /
2, // 初始图片Y坐标,根据画布高/2-图片高/2
left: _this.data.editorWidth /
2 - width /
2, // 初始图片X坐标,因为div是相对定位,所以计算是要多减一次移动的距离
x: _this.data.editorWidth /
2, // 初始圆心位置,可再downImg之后又宽高和初始的图片位置得出
y: _this.editor_top,
scale: 1, // 缩放比例 1为不缩放
lastScale: 1, // 上一次的绽放比例
oScale: 1, // 缩放比例 1为不缩放
angle: 0, // 旋转角度
rotate: 0, // 旋转值
active: false, // 判定点击状态
width: width, // 预设生成图片的宽度
height: height, // 预设生成图片的高度
rScale: 1, // 图片原始缩放比例
// 新增加默认属性
activeguide: false, // 开启辅助线
activescale: false, // 开启旋转状态
activehorn: false, // 开启角状态
activeedge: false, // 开启边状态
initialScale: 1, // 图片缩放比例
initialscaling: 1, // 图片初始时缩放比例
initialScalex: 1, // 图片宽缩放比例
initialScaley: 1, // 图片高缩放比例
initialWidth: width, // 图片原始宽度
initialHeight: height, // 图片原始高度
frame_left: null, // 裁剪窗口x
image_left: null, // 图片x
frame_top: null, // 裁剪窗口y
image_top: null, // 图片y
isUpLoadImage: false
})
_this.data.itemList = items
_this.saveSnapshot();
}
});
}).catch(err => {
this.showAiMakePictureClose()
uni.showToast({
title: '暂无Ai画像',
icon: 'none'
});
});
},
aiSearchTextChange(event) {
this.aiSearchText = event.detail.value
return this.aiSearchText;
},
showAiMakePictureClose() {
this.$refs["showAiMakePicture"].close();
},
openAiMakePicture() {
this.$refs["showAiMakePicture"].open();
},
showAiChangeClose() { showAiChangeClose() {
this.selectChangeType = 1; this.selectChangeType = 1;
...@@ -832,8 +1113,32 @@ ...@@ -832,8 +1113,32 @@
//显示Ai转换 //显示Ai转换
showAiChange() { showAiChange() {
this.selectChangeType = 1; if(this.data == null ){
this.$refs["showAiChange"].open(); uni.showToast({
icon: "none",
title: "请上传人物图片",
duration: 2000
});
return
}
if(this.data.itemList == null || this.data.itemList.length == 0){
uni.showToast({
icon: "none",
title: "请上传人物图片",
duration: 2000
});
return
}
if(this.data.itemList[this.data.itemList.length-1].type == 0 && this.data.itemList[this.data.itemList.length-1].isUpLoadImage){
this.selectChangeType = 1;
this.$refs["showAiChange"].open();
}else{
uni.showToast({
icon: "none",
title: "Ai必须是上传图片类型",
duration: 2000
});
}
}, },
showAiChangeType(type) { showAiChangeType(type) {
...@@ -967,7 +1272,7 @@ ...@@ -967,7 +1272,7 @@
}, },
fail: err => { fail: err => {
//console.log(err); //console.log(err);
} }
}); });
}, },
...@@ -1003,7 +1308,6 @@ ...@@ -1003,7 +1308,6 @@
return formData return formData
}, },
//点击显示动画 //点击显示动画
oclikGifImage() { oclikGifImage() {
this.isShowGif = false; this.isShowGif = false;
...@@ -1103,16 +1407,15 @@ ...@@ -1103,16 +1407,15 @@
title: '加载中...', title: '加载中...',
mask: true mask: true
}) })
// 读取主图遮罩 //读取主图遮罩
uni.getImageInfo({ uni.getImageInfo({
src: result.url, src: result.url,
success: (image) => { success: (image) => {
// 清空历史记录 //清空历史记录
items = []; // 当前显示的图片列表 items = []; // 当前显示的图片列表
index = 0; // 所点击的图片的索引 index = 0; // 所点击的图片的索引
snapshot = []; // 操作历史记录清空 snapshot = []; // 操作历史记录清空
snapshotIndex = -1; snapshotIndex = -1;
uni.hideLoading() uni.hideLoading()
let index = items.length; let index = items.length;
let width = 0 let width = 0
...@@ -1158,10 +1461,8 @@ ...@@ -1158,10 +1461,8 @@
under_color: '', under_color: '',
content: result.url, // 贴图地址 content: result.url, // 贴图地址
top: that.editor_top - height / 2, // 初始图片Y坐标,根据画布高/2-图片高/2 top: that.editor_top - height / 2, // 初始图片Y坐标,根据画布高/2-图片高/2
left: that.data.editorWidth / 2 - width / left: that.data.editorWidth / 2 - width / 2, // 初始图片X坐标,因为div是相对定位,所以计算是要多减一次移动的距离
2, // 初始图片X坐标,因为div是相对定位,所以计算是要多减一次移动的距离 x: that.data.editorWidth / 2, // 初始圆心位置,可再downImg之后又宽高和初始的图片位置得出
x: that.data.editorWidth /
2, // 初始圆心位置,可再downImg之后又宽高和初始的图片位置得出
y: that.editor_top, y: that.editor_top,
scale: 1, // 缩放比例 1为不缩放 scale: 1, // 缩放比例 1为不缩放
lastScale: 1, // 上一次的绽放比例 lastScale: 1, // 上一次的绽放比例
...@@ -1398,21 +1699,28 @@ ...@@ -1398,21 +1699,28 @@
sourceType: ['camera', 'album'], //从相册选择 sourceType: ['camera', 'album'], //从相册选择
count: 1, count: 1,
success: (res) => { success: (res) => {
//console.log(res)
let tempFilePaths = res.tempFilePaths; let tempFilePaths = res.tempFilePaths;
var size = res.tempFiles[0].size; var size = res.tempFiles[0].size;
var path = res.tempFiles[0].path; var path = res.tempFiles[0].path;
var formatImage = path.split(".")[(path.split(".")).length - 1]; var formatImage = path.split(".")[(path.split(".")).length - 1];
if (formatImage != "png" && formatImage != "jpg" && formatImage != "jpeg") { if (formatImage != "png" &&
return wx.showToast({ formatImage != "jpg" &&
title: '只能上传.png、.jpg、.jpep 格式', formatImage != "jpeg" &&
formatImage != "webp" &&
formatImage != "gif" &&
formatImage != "bmp" &&
formatImage != "tiff" &&
formatImage != "tif"
) {
return uni.showToast({
title: '只能上传.png、.jpg、.jpep、.webp、.gif、. bmp、. tiff、. tif格式',
icon: 'none', icon: 'none',
image: '', image: '',
duration: 2000, duration: 2000,
mask: true, mask: true,
}) })
} }
this.uploadDIY(tempFilePaths, 0, 0, 0, tempFilePaths.length); this.uploadDIY(tempFilePaths, 0, 0, 0, tempFilePaths.length,formatImage);
} }
}) })
}, },
...@@ -1432,16 +1740,24 @@ ...@@ -1432,16 +1740,24 @@
var size = res.tempFiles[0].size; var size = res.tempFiles[0].size;
var path = res.tempFiles[0].path; var path = res.tempFiles[0].path;
var formatImage = path.split(".")[(path.split(".")).length - 1]; var formatImage = path.split(".")[(path.split(".")).length - 1];
if (formatImage != "png" && formatImage != "jpg" && formatImage != "jpeg") { if (formatImage != "png" &&
formatImage != "jpg" &&
formatImage != "jpeg" &&
formatImage != "webp" &&
formatImage != "gif" &&
formatImage != "bmp" &&
formatImage != "tiff" &&
formatImage != "tif"
) {
return wx.showToast({ return wx.showToast({
title: '只能上传.png、.jpg、.jpep 格式', title: '只能上传.png、.jpg、.jpep、.webp、.gif、. bmp、. tiff、. tif格式',
icon: 'none', icon: 'none',
image: '', image: '',
duration: 2000, duration: 2000,
mask: true, mask: true,
}) })
} }
this.uploadDIY(tempFilePaths, 0, 0, 0, tempFilePaths.length); this.uploadDIY(tempFilePaths, 0, 0, 0, tempFilePaths.length,formatImage);
} }
}) })
}, },
...@@ -1461,16 +1777,24 @@ ...@@ -1461,16 +1777,24 @@
var size = res.tempFiles[0].size; var size = res.tempFiles[0].size;
var path = res.tempFiles[0].path; var path = res.tempFiles[0].path;
var formatImage = path.split(".")[(path.split(".")).length - 1]; var formatImage = path.split(".")[(path.split(".")).length - 1];
if (formatImage != "png" && formatImage != "jpg" && formatImage != "jpeg") { if (formatImage != "png" &&
formatImage != "jpg" &&
formatImage != "jpeg" &&
formatImage != "webp" &&
formatImage != "gif" &&
formatImage != "bmp" &&
formatImage != "tiff" &&
formatImage != "tif"
) {
return wx.showToast({ return wx.showToast({
title: '只能上传.png、.jpg、.jpep 格式', title: '只能上传.png、.jpg、.jpep、.webp、.gif、. bmp、. tiff、. tif格式',
icon: 'none', icon: 'none',
image: '', image: '',
duration: 2000, duration: 2000,
mask: true, mask: true,
}) })
} }
this.uploadDIY(tempFilePaths, 0, 0, 0, tempFilePaths.length); this.uploadDIY(tempFilePaths, 0, 0, 0, tempFilePaths.length,formatImage);
} }
}) })
}, },
...@@ -1492,16 +1816,24 @@ ...@@ -1492,16 +1816,24 @@
//var size = res.tempFiles.size; //var size = res.tempFiles.size;
//console.log("微信上传图片" + tempFilePaths + size + path) //console.log("微信上传图片" + tempFilePaths + size + path)
var formatImage = path.split(".")[(path.split(".")).length - 1]; var formatImage = path.split(".")[(path.split(".")).length - 1];
if (formatImage != "png" && formatImage != "jpg" && formatImage != "jpeg") { if (formatImage != "png" &&
formatImage != "jpg" &&
formatImage != "jpeg" &&
formatImage != "webp" &&
formatImage != "gif" &&
formatImage != "bmp" &&
formatImage != "tiff" &&
formatImage != "tif"
) {
return wx.showToast({ return wx.showToast({
title: '只能上传.png、.jpg、.jpep 格式', title: '只能上传.png、.jpg、.jpep、.webp、.gif、. bmp、. tiff、. tif格式',
icon: 'none', icon: 'none',
image: '', image: '',
duration: 2000, duration: 2000,
mask: true, mask: true,
}) })
} }
this.uploadDIY(tempFilePaths, 0, 0, 0, tempFilePaths.length); this.uploadDIY(tempFilePaths, 0, 0, 0, tempFilePaths.length,formatImage);
} }
}) })
}, },
...@@ -1526,7 +1858,7 @@ ...@@ -1526,7 +1858,7 @@
* length是文件路径数组的长度 * length是文件路径数组的长度
* machine_id=user_id= * machine_id=user_id=
*/ */
uploadDIY(tempFilePaths, successUp, failUp, i, length) { uploadDIY(tempFilePaths, successUp, failUp, i, length,formatImage) {
let machine_id = this.machine_id || 0 let machine_id = this.machine_id || 0
let user_id = userService.getUserInfo().id || 0 let user_id = userService.getUserInfo().id || 0
var _this = this var _this = this
...@@ -1549,7 +1881,7 @@ ...@@ -1549,7 +1881,7 @@
filePath: tempFilePaths[i], filePath: tempFilePaths[i],
name: 'file', name: 'file',
formData: { formData: {
'key': atter.dir + time + '.jpg', 'key': atter.dir + time + '.' + formatImage,
'OSSAccessKeyId': atter.accessid, 'OSSAccessKeyId': atter.accessid,
'policy': atter.policy, 'policy': atter.policy,
'Signature': atter.signature, 'Signature': atter.signature,
...@@ -1564,7 +1896,18 @@ ...@@ -1564,7 +1896,18 @@
} }
if (res.statusCode == 200) { if (res.statusCode == 200) {
_this.percent = 100 _this.percent = 100
uni.showToast({
_this.percent = 100
var imageUrl = atter.host + '/' + atter.dir + time + '.' + formatImage;
_this.upLoadImageUrl = imageUrl
console.log(_this.upLoadImageUrl);
if (formatImage == "bmp" ||
formatImage == "tiff" ||
formatImage == "tif"){
_this.upLoadImageUrl = imageUrl + "?x-oss-process=image/format,png"
}
/* uni.showToast({
title: '上传成功', title: '上传成功',
icon: 'none', icon: 'none',
duration: 3000 duration: 3000
...@@ -1641,7 +1984,7 @@ ...@@ -1641,7 +1984,7 @@
_this.data.itemList = items _this.data.itemList = items
_this.saveSnapshot(); _this.saveSnapshot();
} }
}); }); */
} }
// console.log(atter.host + '/' + atter.dir + time + '.jpg') // console.log(atter.host + '/' + atter.dir + time + '.jpg')
}, },
...@@ -1708,17 +2051,15 @@ ...@@ -1708,17 +2051,15 @@
}); });
var that = this var that = this
if (this.machine_id != undefined && this.machine_id != null && this.machine_id != '') { if (this.machine_id != undefined && this.machine_id != null && this.machine_id != '') {
//判断设备是否正常
// 判断设备是否正常
that.isComeDelivery = false; that.isComeDelivery = false;
// 判断设备是否正常 //判断设备是否正常
homeservice.WorksList({ homeservice.WorksList({
s: 'machine.detail', s: 'machine.detail',
//s: 'machine.newDetail', //s: 'machine.newDetail',
machine_id: this.machine_id machine_id: this.machine_id
}).then(res => { }).then(res => {
that.machine_item = res that.machine_item = res
//判断配送版 //判断配送版
if (res.delivery == 1 && res.machine_category_id == "64") { if (res.delivery == 1 && res.machine_category_id == "64") {
//this.key = 1; //this.key = 1;
...@@ -1765,7 +2106,7 @@ ...@@ -1765,7 +2106,7 @@
}, 1500); }, 1500);
} }
}, },
// 创建订单 //创建订单
createWorks_one(e) { createWorks_one(e) {
let pixelRate = this.data.pixelRate; let pixelRate = this.data.pixelRate;
let components = []; let components = [];
...@@ -1807,7 +2148,7 @@ ...@@ -1807,7 +2148,7 @@
index: item.index, index: item.index,
font_family: item.font_family + '.ttf', font_family: item.font_family + '.ttf',
font_dict_id: item.font_dict_id, font_dict_id: item.font_dict_id,
// font_style: item.font_style == "normal" ? "regular" : "bold", //font_style: item.font_style == "normal" ? "regular" : "bold",
font_style: "regular", font_style: "regular",
font_size: item.font_size / pixelRate / this.design_widthrate, font_size: item.font_size / pixelRate / this.design_widthrate,
font_color: item.font_color, font_color: item.font_color,
...@@ -2211,8 +2552,7 @@ ...@@ -2211,8 +2552,7 @@
let lef = 0 let lef = 0
let ratio = image.width / image.height let ratio = image.width / image.height
let ratiowidth = (this.data.editorWidth * this.mix_scale) / image.width let ratiowidth = (this.data.editorWidth * this.mix_scale) / image.width
let ratioheight = (this.data.editorHeight * this.mix_scale) / image let ratioheight = (this.data.editorHeight * this.mix_scale) / image.height
.height
let resultmix_scale = result.mix_scale || 1 let resultmix_scale = result.mix_scale || 1
// if (ratio >= 1) { //长方形 // if (ratio >= 1) { //长方形
width = this.data.editorWidth * this.mix_scale * resultmix_scale width = this.data.editorWidth * this.mix_scale * resultmix_scale
...@@ -2309,42 +2649,16 @@ ...@@ -2309,42 +2649,16 @@
}); });
}); });
}, },
isLeft(flag = null) { isLeft(flag = null) {
// uni.showLoading({
// title: '正在加载中...'
// })
// homeservice.WorksList(this.queryPage).then(result => {
// if (this.e_active == 1) {
// this.Works_categorydatalist = this.Works_categorydatalist.concat(result.data)
// this.datalist = this.datalist.concat(result.data)
// } else if (this.e_active == 2) {
// this.Material_categorydatalist = this.Material_categorydatalist.concat(result.data)
// this.datalist = this.datalist.concat(result.data)
// }
// this.queryPage.page += 1;
// if (flag == 'more') {
// if (Math.ceil(result.total / result.per_page) <= this.queryPage.page) {
// return setTimeout(() => {
// uni.showToast({
// title: '没有更多数据了!',
// icon: 'none'
// });
// }, 500);
// }
// }
// uni.hideLoading();
// }).catch(err => {
// uni.showToast({
// title: err.msg,
// icon: 'none'
// })
// uni.hideLoading();
// });
}, },
bgColorAssembly(bg) { bgColorAssembly(bg) {
this.background_color = bg this.background_color = bg
this.$refs['showshare'].close() this.$refs['showshare'].close()
}, },
bgColorClick() { bgColorClick() {
this.queryPage.page = 1 this.queryPage.page = 1
this.backgroundColor = !this.backgroundColor this.backgroundColor = !this.backgroundColor
...@@ -2363,7 +2677,7 @@ ...@@ -2363,7 +2677,7 @@
}, },
////打开弹框 1模板 2贴图 3字体 4编辑 22添加相框 23壁纸 //打开弹框 1模板 2贴图 3字体 4编辑 22添加相框 23壁纸
material_series_handleScroll(index, item) { material_series_handleScroll(index, item) {
this.queryPage.page = 1 this.queryPage.page = 1
this.material_series_currentId = item.id this.material_series_currentId = item.id
...@@ -2678,6 +2992,8 @@ ...@@ -2678,6 +2992,8 @@
}) })
} }
this.delete_wrap_state = true this.delete_wrap_state = true
this.e_active = null
}, },
typefaceshow(type) { //关闭弹框 typefaceshow(type) { //关闭弹框
...@@ -2741,12 +3057,16 @@ ...@@ -2741,12 +3057,16 @@
}, },
//文本字体 //文本字体
typefaceClick(typeface) { async typefaceClick(typeface) {
// 获取当前选中的部件 //获取当前选中的部件
var item = items[index]; var item = items[index];
if (item != undefined && item.type == 1) { if (item != undefined && item.type == 1) {
item.font_family = typeface.key item.font_family = typeface.key
item.font_dict_id = typeface.id item.font_dict_id = typeface.id
this.data.itemList = items
await this.setData({
data: this.data
})
// 字体行高变化 // 字体行高变化
if (typeface.title == '思源黑体') { if (typeface.title == '思源黑体') {
heightRate = 1.48 heightRate = 1.48
...@@ -2760,15 +3080,13 @@ ...@@ -2760,15 +3080,13 @@
heightRate = 1.14 heightRate = 1.14
} else if (typeface.title == '站酷快乐体') { } else if (typeface.title == '站酷快乐体') {
heightRate = 1.14 heightRate = 1.14
}else{
heightRate = 1.4
} }
var that = this; var that = this;
//let itemText = this.$refs.itemText; var query = wx.createSelectorQuery();
//console.log("文字大小:"+itemText)
//var query = wx.createSelectorQuery();
query.select('#item-text').boundingClientRect(); query.select('#item-text').boundingClientRect();
uni.createSelectorQuery().in(this).select('#item-text').boundingClientRect(res => { uni.createSelectorQuery().in(this).select('#item-text').boundingClientRect(res => {
//console.log(data.height)
//console.log(data.width)
var width = res.width; var width = res.width;
var rate = item.width / width; var rate = item.width / width;
var tmpSize = item.font_size * rate; var tmpSize = item.font_size * rate;
...@@ -2787,26 +3105,6 @@ ...@@ -2787,26 +3105,6 @@
that.data.itemList = items that.data.itemList = items
}).exec() }).exec()
// query.exec(function(res) {
// //console.log(res)
// var width = res[0].width;
// var rate = item.width / width;
// var tmpSize = item.font_size * rate;
// if (tmpSize > maxFontSize) {
// item.font_size = maxFontSize;
// item.height = maxFontSize * heightRate;
// item.top = item.y - (item.height / 2);
// } else {
// item.font_size = item.font_size * rate;
// item.height = item.height * rate;
// item.top = item.y - (item.height / 2);
// }
// that.setData({
// data: that.data
// })
// that.data.itemList = items
// })
} else { } else {
uni.showToast({ uni.showToast({
title: '啊嘞,你还没有输入内容哦', title: '啊嘞,你还没有输入内容哦',
...@@ -4451,14 +4749,14 @@ ...@@ -4451,14 +4749,14 @@
// 底部工具栏 // 底部工具栏
.toolRight { .toolRight {
position: fixed; position: fixed;
top: 210upx; top: 180upx;
right: 0; right: 0;
width: 120upx; width: 120upx;
z-index: 99; z-index: 99;
.tool_li { .tool_li {
width: 100%; width: 100%;
height: 115upx; height: 102upx;
.tool_li_img { .tool_li_img {
width: 53upx; width: 53upx;
......
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
<view @click="Customize_now" hover-class="hover-class-bg" style="position: fixed; bottom: 130upx; left: 0; right: 0; margin: auto; <view @click="Customize_now" hover-class="hover-class-bg" style="position: fixed; bottom: 130upx; left: 0; right: 0; margin: auto;
width: 300upx; height: 100upx; width: 300upx; height: 100upx;
background: linear-gradient(92deg, #F29F3D, #67C4CA); background: linear-gradient(92deg, #F29F3D, #F29F3D);
box-shadow: 0px 19px 48px 1px rgba(20, 31, 62, 0.35); box-shadow: 0px 19px 48px 1px rgba(20, 31, 62, 0.35);
border-radius: 40px;"> border-radius: 40px;">
<view <view
...@@ -73,7 +73,7 @@ ...@@ -73,7 +73,7 @@
<view @click="toProxyApplet()" v-if="list.is_open_manage == 1" <view @click="toProxyApplet()" v-if="list.is_open_manage == 1"
style="position: fixed; z-index: 99; right: 0; bottom: 280upx; display: flex;align-items: center;justify-content: center; style="position: fixed; z-index: 99; right: 0; bottom: 280upx; display: flex;align-items: center;justify-content: center;
width: 100upx; height: 88upx; background: #43cf7c; border-radius: 44upx 0px 0px 44upx;"> width: 100upx; height: 88upx; background: #F29F3D; border-radius: 44upx 0px 0px 44upx;">
<view style="font-size: 24upx; font-weight: 800; color: #FFFFFF;"> <view style="font-size: 24upx; font-weight: 800; color: #FFFFFF;">
<view>运营</view> <view>运营</view>
<view>中心</view> <view>中心</view>
......
<template> <template>
<view class="full-width full-height"> <view class="full-width full-height">
<view v-if="system_config.lite_diy.value == 0" @tap="doubleTap" @touchstart="touchStart" @touchend="touchEnd" <!-- <view v-if="system_config.lite_diy.value == 0" @tap="doubleTap" @touchstart="touchStart" @touchend="touchEnd"
style="position: fixed; z-index: 99; right: 0; bottom: 524upx; display: flex;align-items: center;justify-content: center; style="position: fixed; z-index: 99; right: 0; bottom: 524upx; display: flex;align-items: center;justify-content: center;
width: 100upx; height: 88upx; background: #43cf7c; border-radius: 44upx 0px 0px 44upx;"> width: 100upx; height: 88upx; background: #43cf7c; border-radius: 44upx 0px 0px 44upx;">
<view style="font-size: 24upx; font-weight: 800; color: #FFFFFF;"> <view style="font-size: 24upx; font-weight: 800; color: #FFFFFF;">
<view>定制</view> <view>定制</view>
<view>体验</view> <view>体验</view>
</view> </view>
</view> </view> -->
<!-- 无设备 --> <!-- 无设备 -->
<view v-if="long && LoupanList.length == 0">
<view style="display: flex; justify-content: center;" :style="{height: 'calc(100% - ' + titleHeight +'px)'}"> <view style="display: flex; justify-content: center;" :style="{height: 'calc(100% - ' + titleHeight +'px)'}">
<view style="margin-top: 231upx;"> <view style="margin-top: 231upx;">
<image src="../../static/icon_diy.png" mode="" style="width: 513upx; height: 251upx;"></image> <image src="../../static/icon_diy.png" mode="" style="width: 513upx; height: 251upx;"></image>
...@@ -28,6 +29,81 @@ ...@@ -28,6 +29,81 @@
</view> </view>
<view style="color: #333333 ; font-weight: bold;font-size: 33upx;">开始扫码定制</view> <view style="color: #333333 ; font-weight: bold;font-size: 33upx;">开始扫码定制</view>
</view> </view>
</view>
<!-- 有设备 -->
<view v-if= "long && LoupanList.length > 0" >
<view style="margin-top: 50upx;">
<view style="width: 690upx; margin:30upx auto 30upx; display: flex; ">
<view>
<view style="position: relative; width: 320upx; height: 160upx;" @click="order()">
<image src="../../static/mine/dingdan@3x.png"
style="width: 320upx; height: 160upx; position: absolute;z-index: -1;"></image>
<view
style="margin-left:26upx; padding-top: 27upx; font-size: 36upx; color: #fff;font-weight: bold;">
订单</view>
<view style="margin-top: 15upx;margin-left:26upx;font-size: 24upx;
font-weight: 400; color: #fff;">我的定制</view>
</view>
<view style="margin-top: 16upx; position: relative;width: 320upx; height: 160upx;"
@click="coupons()">
<image src="../../static/mine/huayihua@3x.png" mode=""
style="width: 320upx; height: 160upx; position: absolute;z-index: -1;"></image>
<view
style="margin-left:26upx; padding-top: 27upx; font-size: 36upx; color: #fff;font-weight: bold;">
滑一滑</view>
</view>
</view>
<view style="margin-left: 15upx;width: 350upx; height: 340upx;" @click="tomine()">
<image src="../../static/mine/wo@3x.png" mode=""
style="width: 350upx; height: 340upx; position: absolute;z-index: -1;"></image>
<view
style="margin-left:30upx; padding-top: 39upx; font-size: 36upx; color: #fff;font-weight: bold;">个人中心</view>
<view style="margin-top: 15upx;margin-left:30upx;font-size: 24upx;
font-weight: 400; color: #fff;">更多作品更多精彩</view>
</view>
</view>
<!-- 附近定制站 -->
<view style="font-size: 36upx; margin-top: 40upx; margin-left: 40upx; font-weight: bold; color: #000;">附近定制站</view>
<view style="width: 690upx; margin: 30upx auto 0; background: #EEE; border-radius: 10upx;">
<view v-for="(item, index) in LoupanList" :key="index" @click="goMachineDetail(item)">
<view v-if="index != 0" style="width: 689upx; height: 1upx; background: #CCCCCC; opacity: 0.1;">
</view>
<view style="height: 160upx; display: flex; align-items: center; padding: 29upx 20upx 30upx 19upx;">
<image
style="width: 160upx; height: 164upx; margin: 0upx 21upx 0upx 0upx; border-radius: 10upx;"
mode="aspectFill" :src="item.image + '?x-oss-process=image/resize,lfit,w_375'"></image>
<view style="width: calc(100% - 281upx);">
<view style="margin: -10upx 0 10upx; font-size: 32upx; font-weight: 500; color: #000;
width: 80%; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; word-break: break-all;"
:style="{opacity:item.status.value == 1 || item.status.value == 2 ? '1' : '1'}">
{{item.short_name || ''}}
</view>
<view style="font-size: 24upx; font-weight: 500; color: #666; opacity: 0.4;">
营业时间:{{item.start_time || ''}}-{{item.end_time || ''}}
</view>
</view>
<view @click="goMachineDetail(item)" v-if="item.distance"
style="width: 170upx;">
<text v-if="item.status.value == 0" class="statuslist"
style="background:#F2A03E;">正在休息</text>
<text v-if="item.status.value == 1" class="statuslist"
style="background:#5CE6B5;">正在定制</text>
<text v-if="item.status.value == 2" class="statuslist"
style="background:#5CE6B5;">正在定制</text>
<text v-if="item.status.value == 3" class="statuslist"
style="background:#F2A03E;">正在休息</text>
<text v-if="item.status.value == 4" class="statuslist"
style="background:#F2A03E;">正在休息</text>
<text v-if="item.status.value == 5" class="statuslist"
style="background:#F2A03E;">正在休息</text>
</view>
</view>
</view>
</view>
</view>
</view>
<!-- 登录弹框 --> <!-- 登录弹框 -->
<Signin ref="Signin"></Signin> <Signin ref="Signin"></Signin>
...@@ -35,8 +111,11 @@ ...@@ -35,8 +111,11 @@
</template> </template>
<script> <script>
import Env from '@/util/Env.js';
import userService from '@/service/UserService'; import userService from '@/service/UserService';
import Signin from './Signin.vue'; import Signin from './Signin.vue';
import homeservice from '@/service/homeservice.js';
var pixelRationum = null; var pixelRationum = null;
export default { export default {
components: { components: {
...@@ -54,9 +133,72 @@ ...@@ -54,9 +133,72 @@
touchEndTime: null, touchEndTime: null,
lastTapTime: null, lastTapTime: null,
system_config: null, system_config: null,
LoupanList:[],
long:false
}; };
}, },
methods: { methods: {
//设备详情
goMachineDetail(item) {
uni.navigateTo({
url: '../index/machineDetail?machine_id=' + item.id
});
},
order() {
var url = this.$Env.getBaseURL();
var envVersionName = "trial";
if (url.indexOf("colorpark") != -1) {
envVersionName = "release";
}
wx.navigateToMiniProgram({
appId: this.$Env.getappId(),
path: '/pages/mine/myorder',
extraData: {
foo: 'bar'
},
envVersion: envVersionName,
success(res) {
//打开成功
}
})
},
coupons() {
var url = this.$Env.getBaseURL();
var envVersionName = "trial";
if (url.indexOf("colorpark") != -1) {
envVersionName = "release";
}
//console.log("envVersionName="+envVersionName);
wx.navigateToMiniProgram({
appId: Env.getappId(),
path: '/pages/index/recommend?selectTitleType=2',
extraData: {
foo: 'bar'
},
envVersion: envVersionName,
success(res) {
}
})
},
tomine() {
wx.navigateToMiniProgram({
appId: this.$Env.getappId(),
path: '/pages/index/mine',
extraData: {
foo: 'bar'
},
envVersion: Env.getenvVersion(),
success(res) {
// 打开成功
}
})
},
getQueryString(url, name) { getQueryString(url, name) {
var reg = new RegExp('(^|&|/?)' + name + '=([^&|/?]*)(&|/?|$)', 'i') var reg = new RegExp('(^|&|/?)' + name + '=([^&|/?]*)(&|/?|$)', 'i')
var r = url.substr(1).match(reg) var r = url.substr(1).match(reg)
...@@ -65,6 +207,8 @@ ...@@ -65,6 +207,8 @@
} }
return null; return null;
}, },
scanning() { scanning() {
if (!this.$AppContext.checkLogin()) { if (!this.$AppContext.checkLogin()) {
this.tologo('navigateTo') this.tologo('navigateTo')
...@@ -176,6 +320,31 @@ ...@@ -176,6 +320,31 @@
} }
}); });
}, },
//加载数据
loadGoodsList() {
uni.showLoading({
title: '正在加载中...'
})
homeservice.queryList({
s: 'Machine.shopList',
longitude: this.$base.longitude || 0,
latitude: this.$base.latitude || 0,
distance: 5,
}).then(result => {
this.long = true
result.data.forEach(item => {
item.distance = Number(item.distance).toFixed(2)
});
this.LoupanList = result.data
uni.hideLoading();
uni.stopPullDownRefresh();
}).catch(err => {
uni.hideLoading();
uni.stopPullDownRefresh();
});
},
systemConfig() { systemConfig() {
var _this = this var _this = this
wx.request({ wx.request({
...@@ -224,7 +393,7 @@ ...@@ -224,7 +393,7 @@
success: (res) => {}, success: (res) => {},
} }
}, },
// 分享朋友圈 //分享朋友圈
onShareTimeline() { onShareTimeline() {
return { return {
title: this.$Env.getmalltext(), title: this.$Env.getmalltext(),
...@@ -239,12 +408,9 @@ ...@@ -239,12 +408,9 @@
let promoter_id = qrUrl.replace(/[^0-9]/ig, "") let promoter_id = qrUrl.replace(/[^0-9]/ig, "")
this.$base.promoter_id = promoter_id this.$base.promoter_id = promoter_id
} }
this.loadGoodsList();
}, },
onShow() { onShow() {
// let sys = this.$base.appInformation ? this.$base.appInformation:wx.getSystemInfoSync();// 自定义页头适配
// pixelRationum = sys.windowWidth / 375
// let navBarHeight = sys.screenHeight - sys.windowHeight - sys.statusBarHeight;
// this.titleHeight = sys.statusBarHeight + 46
this.systemConfig() this.systemConfig()
} }
}; };
...@@ -267,4 +433,14 @@ ...@@ -267,4 +433,14 @@
color: #333333; color: #333333;
line-height: 20upx; line-height: 20upx;
} }
.statuslist {
font-size: 23upx;
padding: 8upx 20upx 8upx 20upx;
border-radius: 20upx;
font-weight: 500;
color: #FFFFFF;
}
</style> </style>
...@@ -3,13 +3,11 @@ ...@@ -3,13 +3,11 @@
style=" position: absolute; top: 0; width: 100%; height: 100%; display: flex; flex-direction: column; " style=" position: absolute; top: 0; width: 100%; height: 100%; display: flex; flex-direction: column; "
@click="closeView()"> @click="closeView()">
<view <view style="position: absolute; top: 0; width: 100%; height: 100%; background: #999999; z-index: 999; opacity: 0.5; "></view>
style="position: absolute; top: 0; width: 100%; height: 100%; background: #999999; z-index: 999; opacity: 0.5; ">
</view>
<view style=" position: absolute; <view style=" position: absolute;
top: calc(50% - 620upx); top: calc(50% - 420upx);
height: 1250upx; height: 750upx;
width: 100%; width: 100%;
margin:auto; margin:auto;
display: flex; display: flex;
...@@ -17,7 +15,7 @@ ...@@ -17,7 +15,7 @@
justify-content: center; justify-content: center;
z-index: 999;"> z-index: 999;">
<scroll-view scroll-y scroll-with-animation style="box-sizing: border-box;white-space: nowrap; <!-- <scroll-view scroll-y scroll-with-animation style="box-sizing: border-box;white-space: nowrap;
width: 700upx; margin:0 auto; overflow: hidden; height: 100%;"> width: 700upx; margin:0 auto; overflow: hidden; height: 100%;">
<view v-for="(item,index) in goods" :key="index" @click="goodclick(item)"> <view v-for="(item,index) in goods" :key="index" @click="goodclick(item)">
<view style="float: left; margin: 10upx; <view style="float: left; margin: 10upx;
...@@ -26,18 +24,15 @@ ...@@ -26,18 +24,15 @@
height: 300upx; width: 210upx;" hover-class="brandactive" :class="[brandtext == item.title ? 'brandactive':'' ]"> height: 300upx; width: 210upx;" hover-class="brandactive" :class="[brandtext == item.title ? 'brandactive':'' ]">
<image mode="widthFix" style="width:calc(100% - 60upx);margin: auto;" <image mode="widthFix" style="width:calc(100% - 60upx);margin: auto;"
:src="item.goods_pic + '?x-oss-process=image/resize,lfit,w_700'"></image> :src="item.goods_pic + '?x-oss-process=image/resize,lfit,w_700'"></image>
<!-- front_image -->
<!-- :src="item.goods_pic + '?x-oss-process=image/resize,lfit,w_700'"></image> -->
<view style="text-align: center; font-size: 24upx; width: 100%; <view style="text-align: center; font-size: 24upx; width: 100%;
color:#333; position: absolute; bottom: 20upx; "> color:#333; position: absolute; bottom: 20upx; ">
{{item !=null ? item.name : ''}} {{item !=null ? item.name : ''}}
</view> </view>
</view> </view>
</view> </view>
</scroll-view> </scroll-view> -->
<!-- <swiper class="swiper-block" :indicator-dots="false" :autoplay="false" :interval="3000" :duration="1000" <swiper class="swiper-block" :indicator-dots="false" :autoplay="false" :interval="3000" :duration="1000"
circular='false' previous-margin='80rpx' next-margin='80rpx' :current="currentIndex" circular='false' previous-margin='80rpx' next-margin='80rpx' :current="currentIndex"
@change="swiperChangeGood"> @change="swiperChangeGood">
<swiper-item class="swiper-item" v-for="(item,index) in goods" :key="index" > <swiper-item class="swiper-item" v-for="(item,index) in goods" :key="index" >
...@@ -53,7 +48,7 @@ ...@@ -53,7 +48,7 @@
{{item !=null ? item.name : ''}} {{item !=null ? item.name : ''}}
</view> </view>
</swiper-item> </swiper-item>
</swiper> --> </swiper>
</view> </view>
</view> </view>
......
<template> <template>
<view> <view>
<view style="position: fixed;width: 100%;" :style="{bottom: inputBottom+'px'}"> <view style="position: fixed;width: 100%;" :style="{bottom: inputBottom+'px'}">
<view v-if="show && text != 'typeface'" style="width: 100%; height: 100upx; display: flex; flex-direction: row; "> <view v-if="show && text != 'typeface'"
<view style="width: 260upx; height: 100%; background: #292933; border-top-right-radius: 60upx;display: flex; flex-direction: row; "> style="width: 100%; height: 100upx; display: flex; flex-direction: row; ">
<image v-if="bg_text_color" style="width: 47upx; height: 47upx; display: block;margin-top: 45upx; margin-left:45upx;" <view
src="../../static/img/icon_qiehuan_on.png" style="width: 260upx; height: 100%; background: #292933; border-top-right-radius: 60upx;display: flex; flex-direction: row; ">
mode="aspectFill" @click="bgtextcolor"></image> <image v-if="bg_text_color"
<image v-else style="width: 47upx; height: 47upx; display: block;margin-top: 45upx; margin-left:45upx;" style="width: 47upx; height: 47upx; display: block;margin-top: 45upx; margin-left:45upx;"
src="../../static/img/icon_qiehuan.png" src="../../static/img/icon_qiehuan_on.png" mode="aspectFill" @click="bgtextcolor"></image>
mode="aspectFill" @click="bgtextcolor"></image> <image v-else
<view style="width: 80upx; margin-top: 45upx;margin-left: 45upx;" @click="typefaceshow('share')"> style="width: 47upx; height: 47upx; display: block;margin-top: 45upx; margin-left:45upx;"
<text style="font-size: 36upx; color: #FFFFFF;">字体</text> src="../../static/img/icon_qiehuan.png" mode="aspectFill" @click="bgtextcolor"></image>
</view> <view style="width: 80upx; margin-top: 45upx;margin-left: 45upx;" @click="typefaceshow('share')">
<text style="font-size: 36upx; color: #FFFFFF;">字体</text>
</view>
</view> </view>
</view> </view>
<view style="width: 100%; background: #292933;"> <view style="width: 100%; background: #292933;">
<!-- 字体 --> <!-- 字体 -->
<view v-if="show && text != 'typeface'" style="display: flex;align-items: center; justify-items: center; border-bottom: 2upx solid #000000; <view v-if="show && text != 'typeface'" style="display: flex;align-items: center; justify-items: center; border-bottom: 2upx solid #000000;
height: 98upx;"> height: 98upx;">
<view style="width: 601upx; height: 57upx; background: rgb(255,255,255,0.1); margin: 21upx 41upx 21upx 21upx; border-radius: 10upx;"> <view
<input :fixed="true" :auto-height="true" :show-confirm-bar="false" :cursor-spacing="73" :adjust-position="false" style="width: 601upx; height: 57upx; background: rgb(255,255,255,0.1); margin: 21upx 41upx 21upx 21upx; border-radius: 10upx;">
type="text" maxlength="20" @input="textInput" v-model="data.currentText" @focus="focusTextarea" @blur="blurTextarea" <input :fixed="true" :auto-height="true" :show-confirm-bar="false" :cursor-spacing="73"
placeholder="请输入文字内容..." style="font-size: 34upx; font-weight: 400; height: 57upx; line-height: 57upx; padding: 0upx 0 0upx 20upx; color: #FFFFFF;" /> :adjust-position="false" type="text" maxlength="20" @input="textInput"
v-model="data.currentText" @focus="focusTextarea" @blur="blurTextarea"
placeholder="请输入文字内容..."
style="font-size: 34upx; font-weight: 400; height: 57upx; line-height: 57upx; padding: 0upx 0 0upx 20upx; color: #FFFFFF;" />
</view>
<view style="width: 1px; height: 28upx; background: #FFFFFF;"></view>
<image style="width: 43upx; height: 30upx; display: block;margin: auto;"
src="../../static/icon/icon_determine.png" mode="aspectFill" @click="cancel('share')"></image>
</view> </view>
<view style="width: 1px; height: 28upx; background: #FFFFFF;"></view> <view v-if="text == 'typeface'" style="border-bottom: 2upx solid #000000;">
<image style="width: 43upx; height: 30upx; display: block;margin: auto;" src="../../static/icon/icon_determine.png" <scroll-view style="width: calc(100% - 40upx); margin: auto; height:598upx; overflow: hidden;"
mode="aspectFill" @click="cancel('share')"></image> scroll-y scroll-with-animation>
</view> <view v-for="(item, index) in typefacedata"
<view v-if="text == 'typeface'" style="border-bottom: 2upx solid #000000;"> :style="{'font-family':item.textlong == true ? item.key : item.key + 'ttf','color': data.itemList[data.cidx].font_dict_id == item.id ? '#F56364 !important' : 'none'}"
<scroll-view style="width: calc(100% - 40upx); margin: auto; height:598upx; overflow: hidden;" scroll-y scroll-with-animation > @click="typefaceClick(item, index)" :key="index"
<view v-for="(item, index) in typefacedata" style="font-size: 36upx; color: #FFFFFF; padding:22upx 0 21upx; text-align: center;">
:style="{'font-family':item.textlong == true ? item.key : item.key + 'ttf','color': data.itemList[data.cidx].font_dict_id == item.id ? '#F56364 !important' : 'none'}" <!-- 色彩公园 {{item.title}} color: item.textlong == true ? '#ffffff' : '#BEBEBE'-->
@click="typefaceClick(item, index)" <text style="font-size: 20upx;">
:key="index" style="font-size: 36upx; color: #FFFFFF; padding:22upx 0 21upx; text-align: center;"> <text style="font-size: 32upx;"
<!-- 色彩公园 {{item.title}} color: item.textlong == true ? '#ffffff' : '#BEBEBE'--> :style="{'color': data.itemList[data.cidx].font_dict_id == item.id ? '#F56364 !important' : '#ffffff'}">
<text style="font-size: 20upx;" > {{replaceText(item.title)}}
<text style="font-size: 32upx;" </text>
:style="{'color': data.itemList[data.cidx].font_dict_id == item.id ? '#F56364 !important' : '#ffffff'}"> <text v-if="item.remark != ''">
色彩公园 {{item.long == true ? '' : '(点击加载)'}}
</text> </text>
<text v-if="item.remark != ''" style="color: #F56364;">
<text v-if="item.remark != ''"> {{item.textlong == false ? '(下载失败,点击重新下载)' : ''}}
{{item.long == true ? '' : '(点击加载)'}} </text>
</text>
<text v-if="item.remark != ''" style="color: #F56364;">
{{item.textlong == false ? '(下载失败,点击重新下载)' : ''}}
</text> </text>
</text> </view>
</scroll-view>
</view> </view>
</scroll-view> <view v-if="show && text != 'typeface'"
</view> style="display: flex; height: 90upx; padding: 38upx 0 41upx; align-items: center;">
<view v-if="show && text != 'typeface'" style="display: flex; height: 90upx; padding: 38upx 0 41upx; align-items: center;">
<!-- 颜色 开始-->
<!-- 颜色 开始--> <scroll-view style="box-sizing: border-box; white-space: nowrap;
<scroll-view style="box-sizing: border-box; white-space: nowrap; margin-left: 35upx; margin-right: 35upx;margin-bottom: 30upx; margin-top: 40upx; width: calc(100% - 70upx);"
margin-left: 35upx; margin-right: 35upx;margin-bottom: 30upx; margin-top: 40upx; width: calc(100% - 70upx);" scroll-x scroll-x scroll-with-animation>
scroll-with-animation> <view style="text-align: center; display: inline-block; padding-left: 20upx;"
<view style="text-align: center; display: inline-block; padding-left: 20upx;" v-for="(item,index) in colorList" :key="index" @click.stop="workcolor(item.color)">
v-for="(item,index) in colorList" :key="index" @click.stop="workcolor(item.color)"> <view v-if="data.itemList[data.cidx]">
<view v-if="data.itemList[data.cidx]"> <view v-if="data.itemList[data.cidx].font_color == item.color && !bg_text_color"
<view v-if="data.itemList[data.cidx].font_color == item.color && !bg_text_color" style="width: 60upx; height: 60upx; background: #000000; border: 4upx solid #EF6262; border-radius: 50%;"
style="width: 60upx; height: 60upx; background: #000000; border: 4upx solid #EF6262; border-radius: 50%;" :style="{background:item.color}"></view>
:style="{background:item.color}"></view> <view v-else-if="data.itemList[data.cidx].under_color == item.color && bg_text_color"
<view style="width: 60upx; height: 60upx; background: #000000; border: 4upx solid #EF6262; border-radius: 50%;"
v-else-if="data.itemList[data.cidx].under_color == item.color && bg_text_color" :style="{background:item.color}"></view>
style="width: 60upx; height: 60upx; background: #000000; border: 4upx solid #EF6262; border-radius: 50%;" <view v-else style="width: 68upx; height: 68upx; border-radius: 50%;"
:style="{background:item.color}"></view> :style="{background:item.color}"></view>
</view>
<view v-else style="width: 68upx; height: 68upx; border-radius: 50%;" <view v-else style="width: 68upx; height: 68upx; border-radius: 50%;"
:style="{background:item.color}"></view> :style="{background:item.color}"></view>
</view> </view>
<view v-else style="width: 68upx; height: 68upx; border-radius: 50%;"
:style="{background:item.color}"></view>
</view>
</scroll-view>
<!-- 颜色 结束-->
</view>
<view v-if="!show" style="position: absolute; bottom: 100upx; width: 100%; background: #292933;">
<!-- 修改 -->
<view v-if="text == 'modify'"
style="display: flex;align-items: center; justify-items: center; border-bottom: 1upx solid #000000;
height: 99upx;">
<view style="width: 710upx; height: 57upx; background: rgb(255,255,255,0.1); margin: 20upx 40upx 20upx 20upx; border-radius: 10upx;">
<input :fixed="true" :auto-height="true" :show-confirm-bar="false" :cursor-spacing="73" :adjust-position="false"
type="text" maxlength="32" @input="textInput" v-model="data.currentText" @focus="focusTextarea" @blur="blurTextarea"
placeholder="请输入文字内容..." style="font-size: 34upx; font-weight: 400; height: 57upx; line-height: 57upx; padding: 0upx 0 0upx 20upx; color: #FFFFFF;" />
</view>
</view>
<!-- 字体 -->
<view v-if="text == 'typeface'" style="border-bottom: 1upx solid #000000;">
<scroll-view style="width: calc(100% - 40upx); margin: auto; height:300upx; overflow: hidden;" scroll-y scroll-with-animation >
<view v-for="(item, index) in textlist"
:style="{'font-family': item.fontname,'color': data.itemList[data.cidx].font_family == item.fontname ? '#F56364' : 'none'}"
@click="typefaceClick(item,index)"
:key="index" style="font-size: 40upx; color: #FFFFFF; margin: 10upx;">
{{item.text}}
<text style="font-size: 20upx; color: #F56364;">{{item.textlong ? '' : '(该字体加载失败)'}}</text>
</view>
</scroll-view> </scroll-view>
<!-- 颜色 结束-->
</view> </view>
<!-- 颜色 --> <view v-if="!show" style="position: absolute; bottom: 100upx; width: 100%; background: #292933;">
<view v-if="text == 'color'" style="display: flex; height: 68upx; padding: 38upx 0 41upx;border-bottom: 1upx solid #000000;"> <!-- 修改 -->
<!-- 背景 --> <view v-if="text == 'modify'" style="display: flex;align-items: center; justify-items: center; border-bottom: 1upx solid #000000;
<view style="width: calc(100% / 7);" @click="bgtextcolor"> height: 99upx;">
<image style="width: 69upx; height: 69upx; display: block;margin: auto;" :src="bg_text_color ? '../../static/icon/icon_qiehuan_one.png' : '../../static/icon/icon_qiehuan.png'" <view
mode="aspectFill"></image> style="width: 710upx; height: 57upx; background: rgb(255,255,255,0.1); margin: 20upx 40upx 20upx 20upx; border-radius: 10upx;">
</view> <input :fixed="true" :auto-height="true" :show-confirm-bar="false" :cursor-spacing="73"
<!-- 颜色 --> :adjust-position="false" type="text" maxlength="32" @input="textInput"
<view style="width: calc(100% / 7);" @click.stop="workcolor('#000000')"> v-model="data.currentText" @focus="focusTextarea" @blur="blurTextarea"
<view v-if="data.itemList[data.cidx].font_color == '#000000' && !bg_text_color" style="width: 60upx; height: 60upx; background: #000000; border: 4upx solid #EF6262; border-radius: 50%;"></view> placeholder="请输入文字内容..."
<view v-else-if="data.itemList[data.cidx].under_color == '#000000' && bg_text_color" style="width: 60upx; height: 60upx; background: #000000; border: 4upx solid #EF6262; border-radius: 50%;"></view> style="font-size: 34upx; font-weight: 400; height: 57upx; line-height: 57upx; padding: 0upx 0 0upx 20upx; color: #FFFFFF;" />
<view v-else style="width: 68upx; height: 68upx; background: #000000; border-radius: 50%;"></view> </view>
</view>
<view style="width: calc(100% / 7);" @click.stop="workcolor('#FFFFFF')">
<view v-if="data.itemList[data.cidx].font_color == '#FFFFFF' && !bg_text_color" style="width: 60upx; height: 60upx; background: #FFFFFF; border: 4upx solid #EF6262; border-radius: 50%;"></view>
<view v-else-if="data.itemList[data.cidx].under_color == '#FFFFFF' && bg_text_color" style="width: 60upx; height: 60upx; background: #FFFFFF; border: 4upx solid #EF6262; border-radius: 50%;"></view>
<view v-else style="width: 68upx; height: 68upx; background: #FFFFFF; border-radius: 50%;"></view>
</view>
<view style="width: calc(100% / 7);" @click.stop="workcolor('#E60012')">
<view v-if="data.itemList[data.cidx].font_color == '#E60012' && !bg_text_color" style="width: 60upx; height: 60upx; background: #E60012; border: 4upx solid #EF6262; border-radius: 50%;"></view>
<view v-else-if="data.itemList[data.cidx].under_color == '#E60012' && bg_text_color" style="width: 60upx; height: 60upx; background: #E60012; border: 4upx solid #EF6262; border-radius: 50%;"></view>
<view v-else style="width: 68upx; height: 68upx; background: #E60012; border-radius: 50%;"></view>
</view>
<view style="width: calc(100% / 7);" @click.stop="workcolor('#060CDE')">
<view v-if="data.itemList[data.cidx].font_color == '#060CDE' && !bg_text_color" style="width: 60upx; height: 60upx; background: #060CDE; border: 4upx solid #EF6262; border-radius: 50%;"></view>
<view v-else-if="data.itemList[data.cidx].under_color == '#060CDE' && bg_text_color" style="width: 60upx; height: 60upx; background: #060CDE; border: 4upx solid #EF6262; border-radius: 50%;"></view>
<view v-else style="width: 68upx; height: 68upx; background: #060CDE; border-radius: 50%;"></view>
</view> </view>
<view style="width: calc(100% / 7);" @click.stop="workcolor('#E65C00')"> <!-- 字体 -->
<view v-if="data.itemList[data.cidx].font_color == '#E65C00' && !bg_text_color" style="width: 60upx; height: 60upx; background: #E65C00; border: 4upx solid #EF6262; border-radius: 50%;"></view> <view v-if="text == 'typeface'" style="border-bottom: 1upx solid #000000;">
<view v-else-if="data.itemList[data.cidx].under_color == '#E65C00' && bg_text_color" style="width: 60upx; height: 60upx; background: #E65C00; border: 4upx solid #EF6262; border-radius: 50%;"></view> <scroll-view style="width: calc(100% - 40upx); margin: auto; height:300upx; overflow: hidden;"
<view v-else style="width: 68upx; height: 68upx; background: #E65C00; border-radius: 50%;"></view> scroll-y scroll-with-animation>
<view v-for="(item, index) in textlist"
:style="{'font-family': item.fontname,'color': data.itemList[data.cidx].font_family == item.fontname ? '#F56364' : 'none'}"
@click="typefaceClick(item,index)" :key="index"
style="font-size: 40upx; color: #FFFFFF; margin: 10upx;">
{{item.text}}
<text
style="font-size: 20upx; color: #F56364;">{{item.textlong ? '' : '(该字体加载失败)'}}</text>
</view>
</scroll-view>
</view> </view>
<!-- 加粗 --> <!-- 颜色 -->
<view style="width: calc(100% / 7);" @click.stop='workweight'> <view v-if="text == 'color'"
<view v-if="data.itemList[data.cidx].font_style != 'bold'" style="width: 68upx; height: 68upx; text-align: center; background: #282A32; border-radius: 5px;"> style="display: flex; height: 68upx; padding: 38upx 0 41upx;border-bottom: 1upx solid #000000;">
<text style="font-size: 34upx; font-weight: 800; color: #666666; line-height: 68upx;">B</text> <!-- 背景 -->
<view style="width: calc(100% / 7);" @click="bgtextcolor">
<image style="width: 69upx; height: 69upx; display: block;margin: auto;"
:src="bg_text_color ? '../../static/icon/icon_qiehuan_one.png' : '../../static/icon/icon_qiehuan.png'"
mode="aspectFill"></image>
</view> </view>
<view v-else style="width: 68upx; height: 68upx; text-align: center; background: #F56364; border-radius: 5px;"> <!-- 颜色 -->
<text style="font-size: 34upx; font-weight: 800; color: #fff; line-height: 68upx;">B</text> <view style="width: calc(100% / 7);" @click.stop="workcolor('#000000')">
<view v-if="data.itemList[data.cidx].font_color == '#000000' && !bg_text_color"
style="width: 60upx; height: 60upx; background: #000000; border: 4upx solid #EF6262; border-radius: 50%;">
</view>
<view v-else-if="data.itemList[data.cidx].under_color == '#000000' && bg_text_color"
style="width: 60upx; height: 60upx; background: #000000; border: 4upx solid #EF6262; border-radius: 50%;">
</view>
<view v-else style="width: 68upx; height: 68upx; background: #000000; border-radius: 50%;">
</view>
</view>
<view style="width: calc(100% / 7);" @click.stop="workcolor('#FFFFFF')">
<view v-if="data.itemList[data.cidx].font_color == '#FFFFFF' && !bg_text_color"
style="width: 60upx; height: 60upx; background: #FFFFFF; border: 4upx solid #EF6262; border-radius: 50%;">
</view>
<view v-else-if="data.itemList[data.cidx].under_color == '#FFFFFF' && bg_text_color"
style="width: 60upx; height: 60upx; background: #FFFFFF; border: 4upx solid #EF6262; border-radius: 50%;">
</view>
<view v-else style="width: 68upx; height: 68upx; background: #FFFFFF; border-radius: 50%;">
</view>
</view>
<view style="width: calc(100% / 7);" @click.stop="workcolor('#E60012')">
<view v-if="data.itemList[data.cidx].font_color == '#E60012' && !bg_text_color"
style="width: 60upx; height: 60upx; background: #E60012; border: 4upx solid #EF6262; border-radius: 50%;">
</view>
<view v-else-if="data.itemList[data.cidx].under_color == '#E60012' && bg_text_color"
style="width: 60upx; height: 60upx; background: #E60012; border: 4upx solid #EF6262; border-radius: 50%;">
</view>
<view v-else style="width: 68upx; height: 68upx; background: #E60012; border-radius: 50%;">
</view>
</view>
<view style="width: calc(100% / 7);" @click.stop="workcolor('#060CDE')">
<view v-if="data.itemList[data.cidx].font_color == '#060CDE' && !bg_text_color"
style="width: 60upx; height: 60upx; background: #060CDE; border: 4upx solid #EF6262; border-radius: 50%;">
</view>
<view v-else-if="data.itemList[data.cidx].under_color == '#060CDE' && bg_text_color"
style="width: 60upx; height: 60upx; background: #060CDE; border: 4upx solid #EF6262; border-radius: 50%;">
</view>
<view v-else style="width: 68upx; height: 68upx; background: #060CDE; border-radius: 50%;">
</view>
</view>
<view style="width: calc(100% / 7);" @click.stop="workcolor('#E65C00')">
<view v-if="data.itemList[data.cidx].font_color == '#E65C00' && !bg_text_color"
style="width: 60upx; height: 60upx; background: #E65C00; border: 4upx solid #EF6262; border-radius: 50%;">
</view>
<view v-else-if="data.itemList[data.cidx].under_color == '#E65C00' && bg_text_color"
style="width: 60upx; height: 60upx; background: #E65C00; border: 4upx solid #EF6262; border-radius: 50%;">
</view>
<view v-else style="width: 68upx; height: 68upx; background: #E65C00; border-radius: 50%;">
</view>
</view>
<!-- 加粗 -->
<view style="width: calc(100% / 7);" @click.stop='workweight'>
<view v-if="data.itemList[data.cidx].font_style != 'bold'"
style="width: 68upx; height: 68upx; text-align: center; background: #282A32; border-radius: 5px;">
<text
style="font-size: 34upx; font-weight: 800; color: #666666; line-height: 68upx;">B</text>
</view>
<view v-else
style="width: 68upx; height: 68upx; text-align: center; background: #F56364; border-radius: 5px;">
<text
style="font-size: 34upx; font-weight: 800; color: #fff; line-height: 68upx;">B</text>
</view>
</view> </view>
</view> </view>
</view> </view>
</view> <!-- 切换 -->
<!-- 切换 --> <view v-if="!show" class="tooltextone">
<view v-if="!show" class="tooltextone"> <view style="width: calc(100% - 125upx);display: flex; justify-content: center;">
<view style="width: calc(100% - 125upx);display: flex; justify-content: center;"> <view class="tooltext_li" @click="modify('modify')">
<view class="tooltext_li"@click="modify('modify')"> <image style="width: 50upx; height: 50upx; display: block;margin: auto;"
<image style="width: 50upx; height: 50upx; display: block;margin: auto;" src="../../static/icon/diy_icon_editor_default.png" src="../../static/icon/diy_icon_editor_default.png" mode=""></image>
mode=""></image> <view class="tooltext_li_text">修改</view>
<view class="tooltext_li_text">修改</view> </view>
</view> <view class="tooltext_li" @click="typeface('typeface')">
<view class="tooltext_li" @click="typeface('typeface')"> <image style="width: 50upx; height: 50upx; display: block;margin: auto;"
<image style="width: 50upx; height: 50upx; display: block;margin: auto;" src="../../static/icon/icon_typeface.png" src="../../static/icon/icon_typeface.png" mode=""></image>
mode=""></image> <view class="tooltext_li_text">字体</view>
<view class="tooltext_li_text">字体</view> </view>
</view> <view class="tooltext_li" @click="color('color')">
<view class="tooltext_li" @click="color('color')"> <image style="width: 50upx; height: 50upx; display: block;margin: auto;"
<image style="width: 50upx; height: 50upx; display: block;margin: auto;" src="../../static/icon/replace.png" src="../../static/icon/replace.png" mode=""></image>
mode=""></image> <view class="tooltext_li_text">颜色</view>
<view class="tooltext_li_text">颜色</view> </view>
</view> <view class="tooltext_li" @click="keyboard">
<view class="tooltext_li" @click="keyboard"> <image style="width: 50upx; height: 50upx; display: block;margin: auto;"
<image style="width: 50upx; height: 50upx; display: block;margin: auto;" src="../../static/icon/diy_icon_on_default.png" src="../../static/icon/diy_icon_on_default.png" mode=""></image>
mode=""></image> <view class="tooltext_li_text">键盘</view>
<view class="tooltext_li_text">键盘</view> </view>
</view> </view>
</view> <view style="width: 125upx;" @click="cancel('share')">
<view style="width: 125upx;" @click="cancel('share')"> <view style="display: flex; padding:36upx 0;">
<view style="display: flex; padding:36upx 0;"> <view style="width: 1px; height: 28upx; background: #FFFFFF;"></view>
<view style="width: 1px; height: 28upx; background: #FFFFFF;"></view> <image style="width: 43upx; height: 30upx; display: block;margin: auto;"
<image style="width: 43upx; height: 30upx; display: block;margin: auto;" src="../../static/icon/icon_determine.png" src="../../static/icon/icon_determine.png" mode="aspectFill"></image>
mode="aspectFill"></image> </view>
</view> </view>
</view> </view>
</view>
</view> </view>
</view> </view>
</view> </view>
...@@ -189,9 +227,9 @@ ...@@ -189,9 +227,9 @@
<script> <script>
import loadFont from '@/util/loadFont.js' import loadFont from '@/util/loadFont.js'
import homeservice from '@/service/homeservice.js'; import homeservice from '@/service/homeservice.js';
var app = getApp(); // 当前APP实例 var app = getApp(); // 当前APP实例
export default { export default {
props: { props: {
...@@ -201,7 +239,7 @@ ...@@ -201,7 +239,7 @@
}, },
data() { data() {
return { return {
colorList: [{ colorList: [{
color: '#000000', color: '#000000',
index: '01' index: '01'
...@@ -662,49 +700,99 @@ ...@@ -662,49 +700,99 @@
index: 'WG9' index: 'WG9'
} }
], ],
show:true, show: true,
data: null, data: null,
bg_text_color: null, bg_text_color: null,
inputBottom: 0, inputBottom: 0,
text:'modify', text: 'modify',
textlist:[ textlist: [{
{text:'仓耳小丸子',url:'url("https://tprint.refinecolor.com/text/CangErXiaoWanZi.ttf")',fontname:'仓耳小丸子',lineheight:1.26,long:false,textlong:null}, text: '仓耳小丸子',
{text:'千图小兔体',url:'url("https://tprint.refinecolor.com/text/Qiantu_rabbit.ttf")',fontname:'千图小兔体',lineheight:1.2,long:false,textlong:null}, url: 'url("https://tprint.refinecolor.com/text/CangErXiaoWanZi.ttf")',
{text:'站酷酷黑',url:'url("https://tprint.refinecolor.com/text/Stand_cool_black.ttf")',fontname:'站酷酷黑',lineheight:1.14,long:false,textlong:null}, fontname: '仓耳小丸子',
{text:'站酷快乐体',url:'url("https://tprint.refinecolor.com/text/Standing_cool_happy_body.ttf")',fontname:'站酷快乐体',lineheight:1.14,long:false,textlong:null}, lineheight: 1.26,
{text:'站酷庆科黄油体',url:'url("https://tprint.refinecolor.com/text/ZhankuQingkeButterBody.ttf")',fontname:'站酷庆科黄油体',lineheight:1.18,long:false,textlong:null}, long: false,
{text:'字体视界法棍体',url:'url("https://tprint.refinecolor.com/text/Font_horizon_method_stick_body.ttf")',fontname:'字体视界法棍体',lineheight:1.14,long:false,textlong:null}, textlong: null
},
{
text: '千图小兔体',
url: 'url("https://tprint.refinecolor.com/text/Qiantu_rabbit.ttf")',
fontname: '千图小兔体',
lineheight: 1.2,
long: false,
textlong: null
},
{
text: '站酷酷黑',
url: 'url("https://tprint.refinecolor.com/text/Stand_cool_black.ttf")',
fontname: '站酷酷黑',
lineheight: 1.14,
long: false,
textlong: null
},
{
text: '站酷快乐体',
url: 'url("https://tprint.refinecolor.com/text/Standing_cool_happy_body.ttf")',
fontname: '站酷快乐体',
lineheight: 1.14,
long: false,
textlong: null
},
{
text: '站酷庆科黄油体',
url: 'url("https://tprint.refinecolor.com/text/ZhankuQingkeButterBody.ttf")',
fontname: '站酷庆科黄油体',
lineheight: 1.18,
long: false,
textlong: null
},
{
text: '字体视界法棍体',
url: 'url("https://tprint.refinecolor.com/text/Font_horizon_method_stick_body.ttf")',
fontname: '字体视界法棍体',
lineheight: 1.14,
long: false,
textlong: null
},
], ],
typefacedata:null typefacedata: null
}; };
}, },
onShow() { onShow() {
}, },
onLoad() { onLoad() {
}, },
mounted() { mounted() {
}, },
/** /**
* 组件的公有方法列表 * 组件的公有方法列表
*/ */
methods: { methods: {
//替换文字
replaceText(textStr) {
if (textStr.includes("-Regular")) {
textStr = textStr.replace("-Regular", "")
}
return textStr;
},
//过滤字符串 //过滤字符串
filterTextInput(textStr) { filterTextInput(textStr) {
let content = textStr.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\.\,\?\<\>\。\,\-\—\=\;\@\!\!\+\$\%\*\(\)\#\&\*]/g, ''); let content = textStr.replace(
/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\.\,\?\<\>\。\,\-\—\=\;\@\!\!\+\$\%\*\(\)\#\&\*]/g, '');
let that = this; let that = this;
setTimeout(function() { setTimeout(function() {
that.data.currentText = content; that.data.currentText = content;
that.$emit('textInput', content) that.$emit('textInput', content)
}, 0); }, 0);
}, },
typefaceshow(e){ typefaceshow(e) {
this.$emit('typefaceshow', e) this.$emit('typefaceshow', e)
}, },
keyboard(e) { keyboard(e) {
...@@ -714,21 +802,21 @@ ...@@ -714,21 +802,21 @@
this.text = e this.text = e
this.inputBottom = 0 this.inputBottom = 0
}, },
typefaceClick(e,index) { typefaceClick(e, index) {
console.log(this.typefacedata.length) if (this.$base.typefacedata.length > 0) {
console.log(index + 1) this.typefacedata = this.$base.typefacedata
}
if((index + 1) == this.typefacedata.length){ if ((index + 1) == this.typefacedata.length) {
if(e.textlong == true){ if (e.textlong == true) {
this.$emit('typefaceClick', e) this.$emit('typefaceClick', e)
}else{ } else {
if(e.remark != ''){ if (e.remark != '') {
this.loadFont(e) this.loadFont(e)
}else{ } else {
this.$emit('typefaceClick', e) this.$emit('typefaceClick', e)
} }
} }
}else{ } else {
this.$emit('typefaceClick', e) this.$emit('typefaceClick', e)
} }
}, },
...@@ -739,7 +827,7 @@ ...@@ -739,7 +827,7 @@
mask: true, mask: true,
}); });
wx.loadFontFace({ wx.loadFontFace({
global:true, global: true,
family: textlist.key, family: textlist.key,
source: 'url(' + textlist.remark + ')', source: 'url(' + textlist.remark + ')',
desc: { desc: {
...@@ -755,7 +843,9 @@ ...@@ -755,7 +843,9 @@
uni.hideLoading(); uni.hideLoading();
// wx.showToast({title: '字体下载完成',icon: 'success',duration: 2000}); // wx.showToast({title: '字体下载完成',icon: 'success',duration: 2000});
textlist.long = true textlist.long = true
that.setData({typefacedata: that.typefacedata}); that.setData({
typefacedata: that.typefacedata
});
that.$emit('typefaceClick', textlist) that.$emit('typefaceClick', textlist)
} }
}) })
...@@ -814,7 +904,7 @@ ...@@ -814,7 +904,7 @@
this.data = data.data this.data = data.data
this.bg_text_color = data.bg_text_color this.bg_text_color = data.bg_text_color
this.text = data.text this.text = data.text
if(this.text == 'typeface'){ if (this.text == 'typeface') {
this.typeface('typeface') this.typeface('typeface')
this.inputBottom = 'none' this.inputBottom = 'none'
} }
...@@ -836,14 +926,14 @@ ...@@ -836,14 +926,14 @@
// }) // })
// this.typefacedata = result // this.typefacedata = result
// }).catch(err => { // }).catch(err => {
// }); // });
if(this.$base.typefacedata.length > 0){ if (this.$base.typefacedata.length > 0) {
this.typefacedata = this.$base.typefacedata this.typefacedata = this.$base.typefacedata
console.log(this.$base.typefacedata) //console.log(this.$base.typefacedata)
} }
} }
} }
} }
...@@ -859,8 +949,10 @@ ...@@ -859,8 +949,10 @@
align-items: center; align-items: center;
height: 100upx; height: 100upx;
background: #292933; background: #292933;
.tooltext_li { .tooltext_li {
width: 25%; width: 25%;
.tooltext_li_top { .tooltext_li_top {
border-radius: 50%; border-radius: 50%;
text-align: center; text-align: center;
...@@ -870,6 +962,7 @@ ...@@ -870,6 +962,7 @@
display: block; display: block;
padding: 2upx; padding: 2upx;
margin: 2upx auto; margin: 2upx auto;
.tooltext_li_top_icon { .tooltext_li_top_icon {
color: #FFFFFF; color: #FFFFFF;
font-size: 26upx; font-size: 26upx;
...@@ -877,6 +970,7 @@ ...@@ -877,6 +970,7 @@
text-align: center; text-align: center;
} }
} }
.tooltext_li_text { .tooltext_li_text {
text-align: center; text-align: center;
color: #FFFFFF; color: #FFFFFF;
...@@ -884,42 +978,44 @@ ...@@ -884,42 +978,44 @@
} }
} }
} }
@font-face{
@font-face {
font-family: 'Stand_cool_blackttf'; font-family: 'Stand_cool_blackttf';
src: url('data:font/truetype;charset=utf-8;base64,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') format('truetype'); src: url('data:font/truetype;charset=utf-8;base64,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') format('truetype');
font-weight: normal; font-weight: normal;
font-style: normal; font-style: normal;
font-display: swap; font-display: swap;
} }
@font-face{ @font-face {
font-family: 'CangErXiaoWanZittf'; font-family: 'CangErXiaoWanZittf';
src: url('data:font/truetype;charset=utf-8;base64,AAEAAAAOAIAAAwBgRkZUTYxgdxUAAAyYAAAAHEdERUYAKQANAAAMeAAAAB5PUy8ypWh5tAAAAWgAAABgY21hcAIIjDUAAAHgAAABWmN2dCAAIQJ5AAADPAAAAARnYXNw//8AAwAADHAAAAAIZ2x5Znpt8q4AAANQAAACPGhlYWQZqZPqAAAA7AAAADZoaGVhB4cC4AAAASQAAAAkaG10eAxuALkAAAHIAAAAFmxvY2EBcAICAAADQAAAABBtYXhwAA8AYQAAAUgAAAAgbmFtZXh/J3gAAAWMAAAGlHBvc3T3xaShAAAMIAAAAFAAAQAAAAEAALFcJkBfDzz1AAsD6AAAAADa24hUAAAAANvgx7gAIf+pA60DUAAAAAgAAgAAAAAAAAABAAAD2P7zAAAD6AAAAAADrQABAAAAAAAAAAAAAAAAAAAABAABAAAABwAxAAcAAAAAAAIAAAAAAAAAAAAAAC4AAAAAAAQD6AGQAAUAAAKKAlgAAABLAooCWAAAAV4AMgFBAAACAgQAAAAAAAAAgAAAAxAAAAAAAAASAAAAAFRTQU4AQFFsgnIDcP+IAAAD2AENAAQAAQAAAAACFwLJAAAAIAABA+gAIQAAAAAD6AAAA+gARwBgAFEAVgAAAAAAAwAAAAMAAAAcAAEAAAAAAFQAAwABAAAAHAAEADgAAAAKAAgAAgACUWxW7V9pgnL//wAAUWxW7V9pgnL//66XqRegnH2UAAEAAAAAAAAAAAAAAAABBgAAAQAAAAAAAAABAgAAAAIAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACECeQAAACoAKgAqAF4AkADoAR4AAgAhAAABKgKaAAMABwAusQEALzyyBwQA7TKxBgXcPLIDAgDtMgCxAwAvPLIFBADtMrIHBgH8PLIBAgDtMjMRIREnMxEjIQEJ6MfHApr9ZiECWAAAAwBH/6kDrQNDAAMAEQAYAAATJxMXARMHJwUnNzYTFwIHJScDFhcGByYDm1TNXAEthVgo/dsHJGNoqmNrAUAsJ7HOLz+yeQFwKgGoIP3H/uwsYTVdA9MBPSr+/9gYawJ+4HVGJJgBHQAEAGD/7gOKAwgAAwASABYAGgAAASE1IQUjNSEVIxUzNxUhESMDIwEhESEXIREhAkr+tAFM/rNTAf1lMFL+8yI0mgIM/coCNrf81gMqAkM/v0BA8lR3ARX+2wIj/XxPAxoAAAAABwBR/7wDoAM/AAMADAAQABQAKAAsADAAAAETFwsBFwcnNwcnNxcnFwcnNyclFwMXBycVIxEHJxMjNTM1MxUzFSMVBScTFxMBJwEB9XaigulvSGkGUSRHM6tMSj0DNAEjUySWPW5yfUekrs5yo6MBBT/WSin+8TkBAwGyASMy/tABGRvRJBQVjBN8QYIhiBmElnz+QY4+evYBAcIwAQQ/Pz8/QBIvATQn/u/+xzgBLwAEAFb/zQONA1AAAwAHAAsAHAAAAQcFNxcjFTMhMzUjARUhESclFwchNxcHMxEhESEBNHoBL3Mmnp7+om9vAmn83RQA/zscASUnPqbP/f0BwgLMcwF0sbCw/mKwAnUd8S0aJzmf/tb+yQAAAAAAABwBVgABAAAAAAAAACQAVAABAAAAAAABAAkAjwABAAAAAAACAAcAqQABAAAAAAADAB0A7QABAAAAAAAEAAkBIQABAAAAAAAFADsBowABAAAAAAAGAAoB9QABAAAAAAAHAEsCmAABAAAAAAAIABQDFgABAAAAAAAJABQDXQABAAAAAAAKABwDrAABAAAAAAALABYD9wABAAAAAAAMABYEPAABAAAAAAANAEQE+QADAAEECQAAAFIAAAADAAEECQABABQAeQADAAEECQACAA4AmQADAAEECQADADoAsQADAAEECQAEABQBCwADAAEECQAFAHYBKwADAAEECQAGABQB3wADAAEECQAHAJYCAAADAAEECQAIADAC5AADAAEECQAJADADKwADAAEECQAKADgDcgADAAEECQALACwDyQADAAEECQAMACwEDgADAAEECQANAKQEUwCpAFMAFwBOAKwATgDTAIAAMwBlAIcAWwBXAGIAgABnAC8AZwAJAJYAUABRAGwAUwD4ADAAAgBPAN0AdQBZAGIAQABnAAkAZwBDAFIAKQAwAAIAAKlTF07CTu4zZVtXYmcvZwlQUWxTvzACT3VZYkBnCWdDUikwAgAATgDTAIAAMwBcAA8ATgA4AFsAUAAATu4zXA9OOFtQAABSAGUAZwB1AGwAYQByAABSZWd1bGFyAAAxAC4AMAAwADAAOwBUAFMAQQBOADsAVABzAGEAbgBnAGUAcgBYAFcAWgA7AFQAUwBBAE4ARwBFAFIAADEuMDAwO1RTQU47VHNhbmdlclhXWjtUU0FOR0VSAABOANMAgAAzAFwADwBOADgAWwBQAABO7jNcD044W1AAAFYAZQByAHMAaQBvAG4AIAAxAC4AMAAwADAAOwBQAFMAIAAxAC4AMAAwADEAOwBoAG8AdABjAG8AbgB2ACAAMQAuADAALgA4ADgAOwBtAGEAawBlAG8AdABmAC4AbABpAGIAMgAuADUALgA2ADQANwA4ADAAMAAAVmVyc2lvbiAxLjAwMDtQUyAxLjAwMTtob3Rjb252IDEuMC44ODttYWtlb3RmLmxpYjIuNS42NDc4MDAAAFQAcwBhAG4AZwBlAHIAWABXAFoAAFRzYW5nZXJYV1oAAFQAcwBhAG4AZwBlAHIAWABXAFoAIABpAHMAIABhACAAdAByAGEAZABlAG0AYQByAGsAIABvAGYAIABCAGUAaQBqAGkAbgBnACAAVABzAGEAbgBnAGUAcgAgAEMAaABhAHIAYQBjAHQAZQByACAAVABlAGMAaABuAG8AbABvAGcAeQAgAEMAbwAuACwAIABMAHQAZAAuAABUc2FuZ2VyWFdaIGlzIGEgdHJhZGVtYXJrIG9mIEJlaWppbmcgVHNhbmdlciBDaGFyYWN0ZXIgVGVjaG5vbG9neSBDby4sIEx0ZC4AAFMAFwBOAKwATgDTAIAAMwBlAIcAWwBXAGIAgABnAC8AZwAJAJYAUABRAGwAUwD4AABTF07CTu4zZVtXYmcvZwlQUWxTvwAAUwAXAE4ArABOANMAgAAzAGUAhwBbAFcAYgCAAGcALwBnAAkAlgBQAFEAbABTAPgAAFMXTsJO7jNlW1diZy9nCVBRbFO/AABDAGgAaQBuAGUAcwBlACAAZgBvAG4AdAAgAGYAbwByACAAYQBuAHkAIABzAHkAcwB0AGUAbQAuAABDaGluZXNlIGZvbnQgZm9yIGFueSBzeXN0ZW0uAAByAG8AZABnAGUAcgAuAGwAaQB1AEAAbwB1AHQAbABvAG8AawAuAGMAbwBtAAByb2RnZXIubGl1QG91dGxvb2suY29tAAByAG8AZABnAGUAcgAuAGwAaQB1AEAAbwB1AHQAbABvAG8AawAuAGMAbwBtAAByb2RnZXIubGl1QG91dGxvb2suY29tAABlAOAAiwC6AGAAqABOAOUATwBVAHkAzQBlALkAXwAPAE8AfwB1ACgAiwDlAFsAVwBPAFMA/wAMAGAAqABfAMUAmAB7AE4AiwBRAEgAgwC3AF8AlwBTABcATgCsAE4A0wCAADMAZQCHAFsAVwBiAIAAZwAvAGcACQCWAFAAUQBsAFMA+AB2AIQAawBjAF8ADwBOAGYAlwBiAIsAuABTAO8AMAACAABliLxgrE6MT1V56mVfD09/dSiMW1dPU9gMYKxfgXtOUUjhX1MXTsJO7jNlW1diZy9nCVBRbFO/dmtjXw9OZmL8U5UwAgAAAgAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQACAQIBAwEEAQUHdW5pNTE2Qwd1bmk1NkVEB3VuaTVGNjkHdW5pODI3MgAAAAH//wACAAEAAAAMAAAAFgAAAAIAAQADAAYAAQAEAAAAAgAAAAAAAAABAAAAANWkJwgAAAAA2tuIVAAAAADb4Me4') format('truetype'); src: url('data:font/truetype;charset=utf-8;base64,AAEAAAAOAIAAAwBgRkZUTYxgdxUAAAyYAAAAHEdERUYAKQANAAAMeAAAAB5PUy8ypWh5tAAAAWgAAABgY21hcAIIjDUAAAHgAAABWmN2dCAAIQJ5AAADPAAAAARnYXNw//8AAwAADHAAAAAIZ2x5Znpt8q4AAANQAAACPGhlYWQZqZPqAAAA7AAAADZoaGVhB4cC4AAAASQAAAAkaG10eAxuALkAAAHIAAAAFmxvY2EBcAICAAADQAAAABBtYXhwAA8AYQAAAUgAAAAgbmFtZXh/J3gAAAWMAAAGlHBvc3T3xaShAAAMIAAAAFAAAQAAAAEAALFcJkBfDzz1AAsD6AAAAADa24hUAAAAANvgx7gAIf+pA60DUAAAAAgAAgAAAAAAAAABAAAD2P7zAAAD6AAAAAADrQABAAAAAAAAAAAAAAAAAAAABAABAAAABwAxAAcAAAAAAAIAAAAAAAAAAAAAAC4AAAAAAAQD6AGQAAUAAAKKAlgAAABLAooCWAAAAV4AMgFBAAACAgQAAAAAAAAAgAAAAxAAAAAAAAASAAAAAFRTQU4AQFFsgnIDcP+IAAAD2AENAAQAAQAAAAACFwLJAAAAIAABA+gAIQAAAAAD6AAAA+gARwBgAFEAVgAAAAAAAwAAAAMAAAAcAAEAAAAAAFQAAwABAAAAHAAEADgAAAAKAAgAAgACUWxW7V9pgnL//wAAUWxW7V9pgnL//66XqRegnH2UAAEAAAAAAAAAAAAAAAABBgAAAQAAAAAAAAABAgAAAAIAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACECeQAAACoAKgAqAF4AkADoAR4AAgAhAAABKgKaAAMABwAusQEALzyyBwQA7TKxBgXcPLIDAgDtMgCxAwAvPLIFBADtMrIHBgH8PLIBAgDtMjMRIREnMxEjIQEJ6MfHApr9ZiECWAAAAwBH/6kDrQNDAAMAEQAYAAATJxMXARMHJwUnNzYTFwIHJScDFhcGByYDm1TNXAEthVgo/dsHJGNoqmNrAUAsJ7HOLz+yeQFwKgGoIP3H/uwsYTVdA9MBPSr+/9gYawJ+4HVGJJgBHQAEAGD/7gOKAwgAAwASABYAGgAAASE1IQUjNSEVIxUzNxUhESMDIwEhESEXIREhAkr+tAFM/rNTAf1lMFL+8yI0mgIM/coCNrf81gMqAkM/v0BA8lR3ARX+2wIj/XxPAxoAAAAABwBR/7wDoAM/AAMADAAQABQAKAAsADAAAAETFwsBFwcnNwcnNxcnFwcnNyclFwMXBycVIxEHJxMjNTM1MxUzFSMVBScTFxMBJwEB9XaigulvSGkGUSRHM6tMSj0DNAEjUySWPW5yfUekrs5yo6MBBT/WSin+8TkBAwGyASMy/tABGRvRJBQVjBN8QYIhiBmElnz+QY4+evYBAcIwAQQ/Pz8/QBIvATQn/u/+xzgBLwAEAFb/zQONA1AAAwAHAAsAHAAAAQcFNxcjFTMhMzUjARUhESclFwchNxcHMxEhESEBNHoBL3Mmnp7+om9vAmn83RQA/zscASUnPqbP/f0BwgLMcwF0sbCw/mKwAnUd8S0aJzmf/tb+yQAAAAAAABwBVgABAAAAAAAAACQAVAABAAAAAAABAAkAjwABAAAAAAACAAcAqQABAAAAAAADAB0A7QABAAAAAAAEAAkBIQABAAAAAAAFADsBowABAAAAAAAGAAoB9QABAAAAAAAHAEsCmAABAAAAAAAIABQDFgABAAAAAAAJABQDXQABAAAAAAAKABwDrAABAAAAAAALABYD9wABAAAAAAAMABYEPAABAAAAAAANAEQE+QADAAEECQAAAFIAAAADAAEECQABABQAeQADAAEECQACAA4AmQADAAEECQADADoAsQADAAEECQAEABQBCwADAAEECQAFAHYBKwADAAEECQAGABQB3wADAAEECQAHAJYCAAADAAEECQAIADAC5AADAAEECQAJADADKwADAAEECQAKADgDcgADAAEECQALACwDyQADAAEECQAMACwEDgADAAEECQANAKQEUwCpAFMAFwBOAKwATgDTAIAAMwBlAIcAWwBXAGIAgABnAC8AZwAJAJYAUABRAGwAUwD4ADAAAgBPAN0AdQBZAGIAQABnAAkAZwBDAFIAKQAwAAIAAKlTF07CTu4zZVtXYmcvZwlQUWxTvzACT3VZYkBnCWdDUikwAgAATgDTAIAAMwBcAA8ATgA4AFsAUAAATu4zXA9OOFtQAABSAGUAZwB1AGwAYQByAABSZWd1bGFyAAAxAC4AMAAwADAAOwBUAFMAQQBOADsAVABzAGEAbgBnAGUAcgBYAFcAWgA7AFQAUwBBAE4ARwBFAFIAADEuMDAwO1RTQU47VHNhbmdlclhXWjtUU0FOR0VSAABOANMAgAAzAFwADwBOADgAWwBQAABO7jNcD044W1AAAFYAZQByAHMAaQBvAG4AIAAxAC4AMAAwADAAOwBQAFMAIAAxAC4AMAAwADEAOwBoAG8AdABjAG8AbgB2ACAAMQAuADAALgA4ADgAOwBtAGEAawBlAG8AdABmAC4AbABpAGIAMgAuADUALgA2ADQANwA4ADAAMAAAVmVyc2lvbiAxLjAwMDtQUyAxLjAwMTtob3Rjb252IDEuMC44ODttYWtlb3RmLmxpYjIuNS42NDc4MDAAAFQAcwBhAG4AZwBlAHIAWABXAFoAAFRzYW5nZXJYV1oAAFQAcwBhAG4AZwBlAHIAWABXAFoAIABpAHMAIABhACAAdAByAGEAZABlAG0AYQByAGsAIABvAGYAIABCAGUAaQBqAGkAbgBnACAAVABzAGEAbgBnAGUAcgAgAEMAaABhAHIAYQBjAHQAZQByACAAVABlAGMAaABuAG8AbABvAGcAeQAgAEMAbwAuACwAIABMAHQAZAAuAABUc2FuZ2VyWFdaIGlzIGEgdHJhZGVtYXJrIG9mIEJlaWppbmcgVHNhbmdlciBDaGFyYWN0ZXIgVGVjaG5vbG9neSBDby4sIEx0ZC4AAFMAFwBOAKwATgDTAIAAMwBlAIcAWwBXAGIAgABnAC8AZwAJAJYAUABRAGwAUwD4AABTF07CTu4zZVtXYmcvZwlQUWxTvwAAUwAXAE4ArABOANMAgAAzAGUAhwBbAFcAYgCAAGcALwBnAAkAlgBQAFEAbABTAPgAAFMXTsJO7jNlW1diZy9nCVBRbFO/AABDAGgAaQBuAGUAcwBlACAAZgBvAG4AdAAgAGYAbwByACAAYQBuAHkAIABzAHkAcwB0AGUAbQAuAABDaGluZXNlIGZvbnQgZm9yIGFueSBzeXN0ZW0uAAByAG8AZABnAGUAcgAuAGwAaQB1AEAAbwB1AHQAbABvAG8AawAuAGMAbwBtAAByb2RnZXIubGl1QG91dGxvb2suY29tAAByAG8AZABnAGUAcgAuAGwAaQB1AEAAbwB1AHQAbABvAG8AawAuAGMAbwBtAAByb2RnZXIubGl1QG91dGxvb2suY29tAABlAOAAiwC6AGAAqABOAOUATwBVAHkAzQBlALkAXwAPAE8AfwB1ACgAiwDlAFsAVwBPAFMA/wAMAGAAqABfAMUAmAB7AE4AiwBRAEgAgwC3AF8AlwBTABcATgCsAE4A0wCAADMAZQCHAFsAVwBiAIAAZwAvAGcACQCWAFAAUQBsAFMA+AB2AIQAawBjAF8ADwBOAGYAlwBiAIsAuABTAO8AMAACAABliLxgrE6MT1V56mVfD09/dSiMW1dPU9gMYKxfgXtOUUjhX1MXTsJO7jNlW1diZy9nCVBRbFO/dmtjXw9OZmL8U5UwAgAAAgAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQACAQIBAwEEAQUHdW5pNTE2Qwd1bmk1NkVEB3VuaTVGNjkHdW5pODI3MgAAAAH//wACAAEAAAAMAAAAFgAAAAIAAQADAAYAAQAEAAAAAgAAAAAAAAABAAAAANWkJwgAAAAA2tuIVAAAAADb4Me4') format('truetype');
font-weight: normal; font-weight: normal;
font-style: normal; font-style: normal;
font-display: swap; font-display: swap;
} }
@font-face{ @font-face {
font-family: 'horizon_method_stick_bodyttf'; font-family: 'horizon_method_stick_bodyttf';
src: url('data:font/truetype;charset=utf-8;base64,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') format('truetype'); src: url('data:font/truetype;charset=utf-8;base64,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') format('truetype');
font-weight: normal; font-weight: normal;
font-style: normal; font-style: normal;
font-display: swap; font-display: swap;
} }
@font-face{
@font-face {
font-family: 'Qiantu_rabbitttf'; font-family: 'Qiantu_rabbitttf';
src: url('data:font/truetype;charset=utf-8;base64,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') format('truetype'); src: url('data:font/truetype;charset=utf-8;base64,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') format('truetype');
font-weight: normal; font-weight: normal;
font-style: normal; font-style: normal;
font-display: swap; font-display: swap;
} }
@font-face{ @font-face {
font-family: 'Standing_cool_happy_bodyttf'; font-family: 'Standing_cool_happy_bodyttf';
src: url('data:font/truetype;charset=utf-8;base64,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') format('truetype'); src: url('data:font/truetype;charset=utf-8;base64,AAEAAAANAIAAAwBQRkZUTYUJCdEAAAgYAAAAHEdERUYAKQANAAAH+AAAAB5PUy8yrLAA8QAAAVgAAABgY21hcAIIjDUAAAHQAAABWmdhc3D//wADAAAH8AAAAAhnbHlmYm7hlgAAAzwAAAIQaGVhZBJuJn0AAADcAAAANmhoZWEHlgNgAAABFAAAACRobXR4DIAAhwAAAbgAAAAWbG9jYQD2AXQAAAMsAAAAEG1heHAADQA2AAABOAAAACBuYW1lsfrbPgAABUwAAAJRcG9zdPdCpM8AAAegAAAAUAABAAAAAgAA4m8b318PPPUACwPoAAAAANOEGlkAAAAA2+DIbwA9/78DrAMRAAAACAACAAAAAAAAAAEAAANb/3MAjQPoAAAAAAOsAAEAAAAAAAAAAAAAAAAAAAAEAAEAAAAHADQABQAAAAAAAgAAAAAAAAAAAAAAAAAAAAAABAPoAZAABQAAAfQB9AAAAD4B9AH0AAAB9AAvAP4AAAIBBgADAQEBAQEAAAADEAAAAAAAAAAAAAAAWllFQwBAUWyCcgNb/3MAjQNpAJgABAABAAAAAAIAAqwAAAAgAAED6AAAAAAAAAPoAAAD6ABKAFAAPQB4AAAAAAADAAAAAwAAABwAAQAAAAAAVAADAAEAAAAcAAQAOAAAAAoACAACAAJRbFbtX2mCcv//AABRbFbtX2mCcv//rpepF6CcfZQAAQAAAAAAAAAAAAAAAAEGAAABAAAAAAAAAAECAAAAAgAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAGwAygEIAAMASv/SA58C/gAKAA4AEgAANxMXAyUnNxMHJwUBNxMHJRMXA6/WWLQBgjZVjFUp/gkBrFS+VPz/5UjkIgHhJ/5sNm4r/uUqUUQC8yz+mS1nAQ49/vIAAAAEAFD/vwOYAxEABwALABoAHgAABSUnAzclFwMlBRMFARc3FwcvAQcDJzcHJyUXJSclFwM6/WkvJC4C6TEu/WYCPyj9eQG1D3oasTwUSmlZWlwIAe8I/j4EAYsEQQgtAtcyFDL9DTkHApIR/s+NIVoyKscF/u4h6QZfI155XhBfAAUAPf/AA6wDDwASACIAKwAvADMAABM/ARcHNxcPARcHJwcnEwMnNwcBNwcnNy8BNxcHHwEHNxcDASUXBxcHJzcFFzcXByc3FwdI9wJeAcUGzgPyJs8GXgqvT6qYAi2qoSh+Vh2ySYJXHG+eKeL9fgIaB05Qa1Np/jmXTF1O8UpgSgF6EioEHw9eD0xqVlvCBAE1/v02+Qv+2+4ITKYPTOU5qQ9LkghL/sIDJSleBinMLMgiKDeCN1s7eTsAAwB4/8gDcAMHABYAGgAeAAATNxcHBRcHNxcPASUHBQclJxM3JTclBwU3DwElBxc3eOVDHAGDJlJmLxgv/fAFAlUI/X4rFC4BbEf+f2wBNA/cBQFBELENAh7pQh0DS28DNegrC1sxXTQxAYYsCWADb9J9BXN6gQOIAAAAAAAAEADGAAEAAAAAAAAAGQA0AAEAAAAAAAEAEgB4AAEAAAAAAAIABwCbAAEAAAAAAAMAEgDNAAEAAAAAAAQAEgEKAAEAAAAAAAUADAE3AAEAAAAAAAYADwFkAAEAAAAAAAcABAGGAAMAAQQJAAAAMgAAAAMAAQQJAAEAKABOAAMAAQQJAAIADgCLAAMAAQQJAAMAKACjAAMAAQQJAAQAKADgAAMAAQQJAAUAGAEdAAMAAQQJAAYAHgFEAAMAAQQJAAcAEAF0ACgAYwApACAAQwBvAHAAeQByAGkAZwBoAHQAIABSABgAUQB1AFEASwAgADIAMAAxADYAAChjKSBDb3B5cmlnaHQgUhhRdVFLIDIwMTYAAHoA2QCRAHcAXwDrAE4AUABPAFMAMgAwADEANgBPAO4AiwCiAHIASAAAevR3X5FOUE9TMjAxNk+UonJIAABSAGUAZwB1AGwAYQByAABSZWd1bGFyAAB6ANkAkQB3AF8A6wBOAFAATwBTADIAMAAxADYATwDuAIsAogByAEgAAHr0d1+RTlBPUzIwMTZPlKJySAAAegDZAJEAdwBfAOsATgBQAE8AUwAyADAAMQA2AE8A7gCLAKIAcgBIAAB69HdfkU5QT1MyMDE2T5SickgAAFYAZQByAHMAaQBvAG4AIAAzAC4AMQAyAABWZXJzaW9uIDMuMTIAAEgAYQBwAHAAeQBaAGMAbwBvAGwALQAyADAAMQA2AABIYXBweVpjb29sLTIwMTYAAJQAnwCfAFAAWwBXAF4AkwAAUFtXXgAAAAAAAgAAAAAAAP99AC4AAAABAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQACAQIBAwEEAQUHdW5pNTE2Qwd1bmk1NkVEB3VuaTVGNjkHdW5pODI3MgAAAAH//wACAAEAAAAMAAAAFgAAAAIAAQADAAYAAQAEAAAAAgAAAAAAAAABAAAAANWkJwgAAAAA04QaWQAAAADb4Mhv') format('truetype');
font-weight: normal; font-weight: normal;
font-style: normal; font-style: normal;
font-display: swap; font-display: swap;
} }
</style> </style>
\ No newline at end of file
...@@ -45,23 +45,69 @@ ...@@ -45,23 +45,69 @@
</view> </view>
</view> </view>
<view v-if="designer.status.value == 1" style="width: 136upx; height: 60upx;background: #F29F3D;opacity: 0.86;border-radius: 30px; margin-top: 70upx;"> <view v-if="designer.status.value == 1" style="width: 136upx; height: 60upx;background: #F29F3D;opacity: 0.86;border-radius: 30px; margin-top: 40upx;">
<view style="text-align: center; font-size: 26upx; color: #FFFFFF; line-height: 60upx;"> 打印中 <view style="text-align: center; font-size: 26upx; color: #FFFFFF; line-height: 60upx;"> 打印中
</view> </view>
</view> </view>
<view v-else style="width: 136upx; height: 60upx;border-radius: 30upx;margin-top: 70upx;"> <view v-else style="width: 136upx; height: 60upx;border-radius: 30upx;margin-top: 40upx;">
<view style="text-align: center; font-size: 26upx; color: #67C4CA; line-height: 60upx;"> 排队中 <view style="text-align: center; font-size: 26upx; color: #F6BE36; line-height: 60upx;"> 排队中
</view> </view>
</view> </view>
</view> </view>
</view> </view>
</view> </view>
<!-- 提示 -->
<view v-if="sighstate"> <view v-if="sighstate">
<!-- background:rgba(0,0,0,0.6); --> <view style="position: fixed; z-index:999; width: 100%; height: 100%; background:rgba(0,0,0,0.6); top: 0;"
<view @click.stop="sighstate = false"></view>
style="position: fixed; z-index:999; width: 100%; height: 100%; top: 0; background:rgba(0,0,0,0.6); justify-content: center;" <view style="position: fixed; z-index: 1000; top: 300upx; left: 0; right: 0; margin: auto;
width: 558upx; height: 680upx; background: #FFFFFF; border-radius: 10upx;
display: flex; align-items: center; justify-content: center;">
<view style="position: absolute;
top: 0; right: 0;" @click="sighstate = false">
<image src="../../static/icon_guanbi.png" mode=""
style="width: 26upx; height: 26upx; padding: 12upx 22upx;"></image>
</view>
<view style="width: 558upx;">
<view style="display: flex; align-items: center; justify-content: center;
width: 500upx;
height: 350upx;
position: relative; margin: auto;">
<view style="width: 400upx; height: 300upx; display: flex; border: 1px solid #F6BE36;
box-shadow: 0 0 20px #ccc; border-radius: 10upx;">
<view style="width: calc(100% / 4); height: 100%;" v-for="item in 4" :key="a">
<!-- <image style="width: 100%; height: 100%;position: absolute;
top: 0; left: 0; right: 0; bottom: 0;
margin:auto; z-index: 1;" :src="designer.front_image_old" mode="aspectFit"></image> -->
<image style="width: 36%; height: 36%; position: absolute;
top: 0; left: 0; right: 0; bottom: 0;
margin: auto; z-index:1;" :src="designer.works_image + '?x-oss-process=image/resize,lfit,w_300'"
mode="aspectFit"></image>
<!-- <image style="width: 100%; height: 100%;position: absolute;
top: 0; left: 0; right: 0; bottom: 0;
margin:auto; z-index: 2;" :src="designer.front_image" mode="aspectFit"></image> -->
</view>
</view>
</view>
<view style="text-align: center; font-size: 36upx; margin-top: 58upx;">作品排队中</view>
<view style="text-align: center; font-size: 36upx;">如需要打印可与客服确认</view>
<view v-if="designer.user_id == userId " @click="toOrderDetail(designer)" style="width: 135upx; height: 50upx;background: #F6BE36;
border-radius: 40upx;
color: #FFFFFF;
margin:10upx auto;
text-align: center;
padding:auto;
padding-top: 15upx;">排队中</view>
</view>
</view>
</view>
<!-- 提示 -->
<!-- <view v-if="sighstate">
<view style="position: fixed; z-index:999; width: 100%; height: 100%; top: 0; background:rgba(0,0,0,0.6); justify-content: center;"
@click.stop="sighstate = false"></view> @click.stop="sighstate = false"></view>
<view style="position: fixed; z-index: 1000; top: 52%; left: 50%; right: 0; margin: auto; transform: translate(-50%, -50%); <view style="position: fixed; z-index: 1000; top: 52%; left: 50%; right: 0; margin: auto; transform: translate(-50%, -50%);
width: 558upx; height: 650upx; background: #FFFFFF; border-radius: 10upx; width: 558upx; height: 650upx; background: #FFFFFF; border-radius: 10upx;
...@@ -71,18 +117,6 @@ ...@@ -71,18 +117,6 @@
<image src="../../static/icon_guanbi.png" mode="" <image src="../../static/icon_guanbi.png" mode=""
style="width: 26upx; height: 26upx; padding: 20upx; "></image> style="width: 26upx; height: 26upx; padding: 20upx; "></image>
</view> </view>
<!-- <view v-if=" designer.goods_name == '背包' " style="width: 558upx;">
<view style="display: flex; align-items: center; justify-content: center;
width: 100%; height: 360upx; ">
<image :src="designer.works_image + '?x-oss-process=image/resize,lfit,w_80'"mode="aspectFit" style="width:80upx; margin-left: 100upx;"></image>
<image :src="designer.back_image + '?x-oss-process=image/resize,lfit,w_300'"mode="aspectFit" style=" width: 300upx;margin-left: -200upx;"></image>
</view>
<view style="text-align: center; font-size: 36upx; margin-top: 58upx;">作品排队中</view>
<view style="text-align: center; font-size: 36upx;">如需要打印可与客服确认</view>
</view> -->
<!-- goods_name=马卡龙 -->
<view v-if=" designer.goods_name == '马卡龙' " style="width: 558upx; margin-top: 60upx; "> <view v-if=" designer.goods_name == '马卡龙' " style="width: 558upx; margin-top: 60upx; ">
<view style="display: flex; align-items: center; justify-content: center; <view style="display: flex; align-items: center; justify-content: center;
width: 500upx; height: 340upx; position: relative; margin: auto;"> width: 500upx; height: 340upx; position: relative; margin: auto;">
...@@ -114,24 +148,12 @@ ...@@ -114,24 +148,12 @@
text-align: center; text-align: center;
padding:auto; padding:auto;
padding-top: 15upx;">查看详情</view> padding-top: 15upx;">查看详情</view>
</view> </view>
<!--<view v-if=" designer.goods_name == '单肩袋' " style="width: 558upx;">
<view style="display: flex; align-items: center; justify-content: center;
width: 100%; height: 360upx; ">
<image :src="designer.works_image + '?x-oss-process=image/resize,lfit,w_140'"mode="aspectFit" style="width:140upx; margin-left: 100upx;"></image>
</view>
<view style="text-align: center; font-size: 36upx; margin-top: 58upx;">作品排队中</view>
<view style="text-align: center; font-size: 36upx;">如需要打印可与客服确认</view>
</view> -->
<view v-if=" designer.goods_name != '马卡龙' " <view v-if=" designer.goods_name != '马卡龙' "
style="width: 558upx;"> style="width: 558upx;">
<view style="display: flex; align-items: center; justify-content: center; <view style="display: flex; align-items: center; justify-content: center;
width: 100%; height: 360upx; "> width: 100%; height: 360upx; ">
<image :src="designer.works_image + '?x-oss-process=image/resize,lfit,w_100'" mode="aspectFit" style="width:100upx; "></image> <image :src="designer.works_image + '?x-oss-process=image/resize,lfit,w_100'" mode="aspectFit" style="width:100upx; "></image>
<!-- <image :src="designer.back_image + '?x-oss-process=image/resize,lfit,w_290'" mode="aspectFit" style=" width: 300upx;margin-left: -200upx;"></image> -->
</view> </view>
<view style="text-align: center; font-size: 36upx; margin-top: 58upx;">作品排队中</view> <view style="text-align: center; font-size: 36upx; margin-top: 58upx;">作品排队中</view>
<view style="text-align: center; font-size: 36upx;">如需要打印可与客服确认</view> <view style="text-align: center; font-size: 36upx;">如需要打印可与客服确认</view>
...@@ -143,11 +165,10 @@ ...@@ -143,11 +165,10 @@
text-align: center; text-align: center;
padding:auto; padding:auto;
padding-top: 15upx;">查看详情</view> padding-top: 15upx;">查看详情</view>
</view> </view>
</view> </view>
</view> -->
</view>
</view> </view>
</view> </view>
</template> </template>
......
static/icon_diy_ai.png

205 Bytes | W: | H:

static/icon_diy_ai.png

1.35 KB | W: | H:

static/icon_diy_ai.png
static/icon_diy_ai.png
static/icon_diy_ai.png
static/icon_diy_ai.png
  • 2-up
  • Swipe
  • Onion skin
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment