Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wechat_currency
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
huahua
wechat_currency
Commits
1ef1fc22
Commit
1ef1fc22
authored
Aug 09, 2024
by
huahua
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
优化页面
parent
adf4a7cf
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
962 additions
and
375 deletions
+962
-375
pages/index/index.vue
+408
-110
pages/index/machineDetail.vue
+2
-2
pages/index/mall.vue
+183
-7
pages/index/switchGoods.vue
+7
-12
pages/index/textsettings.vue
+307
-210
pages/mall/lineUp.vue
+55
-34
static/icon_diy_ai.png
+0
-0
No files found.
pages/index/index.vue
View file @
1ef1fc22
...
...
@@ -207,16 +207,17 @@
</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'
:style=
"
{width:data.editorWidth + 'px' ,height: data.itemList[data.cidx].height +'px'}"
style="text-align: center;">
<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,
'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
}}
</view>
</view>
<image
:src=
"upLoadImageUrl"
mode=
"scaleToFill"
@
load=
"upLoadIImageLoad"
@
error=
"upLoadIImageLoadErr"
></image>
</view>
<!-- 上一步、下一步按钮 -->
...
...
@@ -321,6 +322,21 @@
<view
class=
"tool_li_text"
>
智能推荐
</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"
>
<image
class=
"tool_li_img"
style=
"width: 50upx; height: 50upx;"
src=
"../../static/diy_icon_middle_default.png"
mode=
""
></image>
...
...
@@ -354,15 +370,6 @@
<view
class=
"tool_li_text"
>
移除
</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
class=
"tool_li"
v-if=
"data.itemList[data.cidx].type == 1"
@
click=
"showPopup(4)"
>
<image
class=
"tool_li_img"
style=
"width: 51upx; height: 51upx;"
...
...
@@ -607,7 +614,58 @@
</view>
<view
style=
"font-size: 30upx;color:#333; width:100%;text-align: center;margin: auto;"
>
选中的图片必须带有清晰人物头像
</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>
<!--商品弹框 -->
...
...
@@ -813,7 +871,12 @@
material_series_currentId
:
0
,
isShowGif
:
false
,
//是否显示
history_bannerList
:
[]
,
//历史banner集合
selectChangeType
:
1
selectChangeType
:
1
,
aiSearchText
:
""
,
//Ai搜索文字
aiStyle
:
"contemporary style"
,
activeRadio
:
'现代风'
,
//存的是单选按钮选中的value值
radioGroup
:
[
'现代风'
,
'卡通风'
,
'铅笔画风'
],
upLoadImageUrl
:
""
,
//上传图片地址
};
},
...
...
@@ -824,6 +887,224 @@
},
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
()
{
this
.
selectChangeType
=
1
;
...
...
@@ -832,8 +1113,32 @@
//显示Ai转换
showAiChange
()
{
this
.
selectChangeType
=
1
;
this
.
$refs
[
"showAiChange"
].
open
();
if
(
this
.
data
==
null
){
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
)
{
...
...
@@ -967,7 +1272,7 @@
},
fail
:
err
=>
{
//console.log(err);
}
}
});
},
...
...
@@ -1003,7 +1308,6 @@
return
formData
},
//点击显示动画
oclikGifImage
()
{
this
.
isShowGif
=
false
;
...
...
@@ -1103,16 +1407,15 @@
title
:
'加载中...'
,
mask
:
true
})
//
读取主图遮罩
//读取主图遮罩
uni
.
getImageInfo
({
src
:
result
.
url
,
success
:
(
image
)
=>
{
//
清空历史记录
//清空历史记录
items
=
[];
// 当前显示的图片列表
index
=
0
;
// 所点击的图片的索引
snapshot
=
[];
// 操作历史记录清空
snapshotIndex
=
-
1
;
uni
.
hideLoading
()
let
index
=
items
.
length
;
let
width
=
0
...
...
@@ -1158,10 +1461,8 @@
under_color
:
''
,
content
:
result
.
url
,
// 贴图地址
top
:
that
.
editor_top
-
height
/
2
,
// 初始图片Y坐标,根据画布高/2-图片高/2
left
:
that
.
data
.
editorWidth
/
2
-
width
/
2
,
// 初始图片X坐标,因为div是相对定位,所以计算是要多减一次移动的距离
x
:
that
.
data
.
editorWidth
/
2
,
// 初始圆心位置,可再downImg之后又宽高和初始的图片位置得出
left
:
that
.
data
.
editorWidth
/
2
-
width
/
2
,
// 初始图片X坐标,因为div是相对定位,所以计算是要多减一次移动的距离
x
:
that
.
data
.
editorWidth
/
2
,
// 初始圆心位置,可再downImg之后又宽高和初始的图片位置得出
y
:
that
.
editor_top
,
scale
:
1
,
// 缩放比例 1为不缩放
lastScale
:
1
,
// 上一次的绽放比例
...
...
@@ -1398,21 +1699,28 @@
sourceType
:
[
'camera'
,
'album'
],
//从相册选择
count
:
1
,
success
:
(
res
)
=>
{
//console.log(res)
let
tempFilePaths
=
res
.
tempFilePaths
;
var
size
=
res
.
tempFiles
[
0
].
size
;
var
path
=
res
.
tempFiles
[
0
].
path
;
var
formatImage
=
path
.
split
(
"."
)[(
path
.
split
(
"."
)).
length
-
1
];
if
(
formatImage
!=
"png"
&&
formatImage
!=
"jpg"
&&
formatImage
!=
"jpeg"
)
{
return
wx
.
showToast
({
title
:
'只能上传.png、.jpg、.jpep 格式'
,
if
(
formatImage
!=
"png"
&&
formatImage
!=
"jpg"
&&
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'
,
image
:
''
,
duration
:
2000
,
mask
:
true
,
})
}
this
.
uploadDIY
(
tempFilePaths
,
0
,
0
,
0
,
tempFilePaths
.
length
);
this
.
uploadDIY
(
tempFilePaths
,
0
,
0
,
0
,
tempFilePaths
.
length
,
formatImage
);
}
})
},
...
...
@@ -1432,16 +1740,24 @@
var
size
=
res
.
tempFiles
[
0
].
size
;
var
path
=
res
.
tempFiles
[
0
].
path
;
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
({
title
:
'只能上传.png、.jpg、.jpep
格式'
,
title
:
'只能上传.png、.jpg、.jpep
、.webp、.gif、. bmp、. tiff、. tif
格式'
,
icon
:
'none'
,
image
:
''
,
duration
:
2000
,
mask
:
true
,
})
}
this
.
uploadDIY
(
tempFilePaths
,
0
,
0
,
0
,
tempFilePaths
.
length
);
this
.
uploadDIY
(
tempFilePaths
,
0
,
0
,
0
,
tempFilePaths
.
length
,
formatImage
);
}
})
},
...
...
@@ -1461,16 +1777,24 @@
var
size
=
res
.
tempFiles
[
0
].
size
;
var
path
=
res
.
tempFiles
[
0
].
path
;
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
({
title
:
'只能上传.png、.jpg、.jpep
格式'
,
title
:
'只能上传.png、.jpg、.jpep
、.webp、.gif、. bmp、. tiff、. tif
格式'
,
icon
:
'none'
,
image
:
''
,
duration
:
2000
,
mask
:
true
,
})
}
this
.
uploadDIY
(
tempFilePaths
,
0
,
0
,
0
,
tempFilePaths
.
length
);
this
.
uploadDIY
(
tempFilePaths
,
0
,
0
,
0
,
tempFilePaths
.
length
,
formatImage
);
}
})
},
...
...
@@ -1492,16 +1816,24 @@
//var size = res.tempFiles.size;
//console.log("微信上传图片" + tempFilePaths + size + path)
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
({
title
:
'只能上传.png、.jpg、.jpep
格式'
,
title
:
'只能上传.png、.jpg、.jpep
、.webp、.gif、. bmp、. tiff、. tif
格式'
,
icon
:
'none'
,
image
:
''
,
duration
:
2000
,
mask
:
true
,
})
}
this
.
uploadDIY
(
tempFilePaths
,
0
,
0
,
0
,
tempFilePaths
.
length
);
this
.
uploadDIY
(
tempFilePaths
,
0
,
0
,
0
,
tempFilePaths
.
length
,
formatImage
);
}
})
},
...
...
@@ -1526,7 +1858,7 @@
* length是文件路径数组的长度
* 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
user_id
=
userService
.
getUserInfo
().
id
||
0
var
_this
=
this
...
...
@@ -1549,7 +1881,7 @@
filePath
:
tempFilePaths
[
i
],
name
:
'file'
,
formData
:
{
'key'
:
atter
.
dir
+
time
+
'.
jpg'
,
'key'
:
atter
.
dir
+
time
+
'.
'
+
formatImage
,
'OSSAccessKeyId'
:
atter
.
accessid
,
'policy'
:
atter
.
policy
,
'Signature'
:
atter
.
signature
,
...
...
@@ -1564,7 +1896,18 @@
}
if
(
res
.
statusCode
==
200
)
{
_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: '上传成功',
icon: 'none',
duration: 3000
...
...
@@ -1641,7 +1984,7 @@
_this.data.itemList = items
_this.saveSnapshot();
}
});
});
*/
}
// console.log(atter.host + '/' + atter.dir + time + '.jpg')
},
...
...
@@ -1708,17 +2051,15 @@
});
var
that
=
this
if
(
this
.
machine_id
!=
undefined
&&
this
.
machine_id
!=
null
&&
this
.
machine_id
!=
''
)
{
// 判断设备是否正常
//判断设备是否正常
that
.
isComeDelivery
=
false
;
//
判断设备是否正常
//判断设备是否正常
homeservice
.
WorksList
({
s
:
'machine.detail'
,
//s: 'machine.newDetail',
machine_id
:
this
.
machine_id
}).
then
(
res
=>
{
that
.
machine_item
=
res
//判断配送版
if
(
res
.
delivery
==
1
&&
res
.
machine_category_id
==
"64"
)
{
//this.key = 1;
...
...
@@ -1765,7 +2106,7 @@
},
1500
);
}
},
//
创建订单
//创建订单
createWorks_one
(
e
)
{
let
pixelRate
=
this
.
data
.
pixelRate
;
let
components
=
[];
...
...
@@ -1807,7 +2148,7 @@
index
:
item
.
index
,
font_family
:
item
.
font_family
+
'.ttf'
,
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_size
:
item
.
font_size
/
pixelRate
/
this
.
design_widthrate
,
font_color
:
item
.
font_color
,
...
...
@@ -2211,8 +2552,7 @@
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
let
ratioheight
=
(
this
.
data
.
editorHeight
*
this
.
mix_scale
)
/
image
.
height
let
resultmix_scale
=
result
.
mix_scale
||
1
// if (ratio >= 1) { //长方形
width
=
this
.
data
.
editorWidth
*
this
.
mix_scale
*
resultmix_scale
...
...
@@ -2309,42 +2649,16 @@
});
});
},
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
)
{
this
.
background_color
=
bg
this
.
$refs
[
'showshare'
].
close
()
},
bgColorClick
()
{
this
.
queryPage
.
page
=
1
this
.
backgroundColor
=
!
this
.
backgroundColor
...
...
@@ -2363,7 +2677,7 @@
},
//
//
打开弹框 1模板 2贴图 3字体 4编辑 22添加相框 23壁纸
//打开弹框 1模板 2贴图 3字体 4编辑 22添加相框 23壁纸
material_series_handleScroll
(
index
,
item
)
{
this
.
queryPage
.
page
=
1
this
.
material_series_currentId
=
item
.
id
...
...
@@ -2678,6 +2992,8 @@
})
}
this
.
delete_wrap_state
=
true
this
.
e_active
=
null
},
typefaceshow
(
type
)
{
//关闭弹框
...
...
@@ -2741,12 +3057,16 @@
},
//文本字体
typefaceClick
(
typeface
)
{
//
获取当前选中的部件
async
typefaceClick
(
typeface
)
{
//获取当前选中的部件
var
item
=
items
[
index
];
if
(
item
!=
undefined
&&
item
.
type
==
1
)
{
item
.
font_family
=
typeface
.
key
item
.
font_dict_id
=
typeface
.
id
this
.
data
.
itemList
=
items
await
this
.
setData
({
data
:
this
.
data
})
// 字体行高变化
if
(
typeface
.
title
==
'思源黑体'
)
{
heightRate
=
1.48
...
...
@@ -2760,15 +3080,13 @@
heightRate
=
1.14
}
else
if
(
typeface
.
title
==
'站酷快乐体'
)
{
heightRate
=
1.14
}
else
{
heightRate
=
1.4
}
var
that
=
this
;
//let itemText = this.$refs.itemText;
//console.log("文字大小:"+itemText)
//var query = wx.createSelectorQuery();
var
query
=
wx
.
createSelectorQuery
();
query
.
select
(
'#item-text'
).
boundingClientRect
();
uni
.
createSelectorQuery
().
in
(
this
).
select
(
'#item-text'
).
boundingClientRect
(
res
=>
{
//console.log(data.height)
//console.log(data.width)
var
width
=
res
.
width
;
var
rate
=
item
.
width
/
width
;
var
tmpSize
=
item
.
font_size
*
rate
;
...
...
@@ -2787,26 +3105,6 @@
that
.
data
.
itemList
=
items
}).
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
{
uni
.
showToast
({
title
:
'啊嘞,你还没有输入内容哦'
,
...
...
@@ -4451,14 +4749,14 @@
//
底部工具栏
.toolRight
{
position
:
fixed
;
top
:
21
0
upx
;
top
:
18
0
upx
;
right
:
0
;
width
:
120
upx
;
z-index
:
99
;
.tool_li
{
width
:
100%
;
height
:
1
15
upx
;
height
:
1
02
upx
;
.tool_li_img
{
width
:
53
upx
;
...
...
pages/index/machineDetail.vue
View file @
1ef1fc22
...
...
@@ -27,7 +27,7 @@
<view
@
click=
"Customize_now"
hover-class=
"hover-class-bg"
style=
"position: fixed; bottom: 130upx; left: 0; right: 0; margin: auto;
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);
border-radius: 40px;"
>
<view
...
...
@@ -73,7 +73,7 @@
<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;
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>
运营
</view>
<view>
中心
</view>
...
...
pages/index/mall.vue
View file @
1ef1fc22
<
template
>
<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;
width: 100upx; height: 88upx; background: #43cf7c; border-radius: 44upx 0px 0px 44upx;"
>
<view
style=
"font-size: 24upx; font-weight: 800; color: #FFFFFF;"
>
<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=
"margin-top: 231upx;"
>
<image
src=
"../../static/icon_diy.png"
mode=
""
style=
"width: 513upx; height: 251upx;"
></image>
...
...
@@ -28,6 +29,81 @@
</view>
<view
style=
"color: #333333 ; font-weight: bold;font-size: 33upx;"
>
开始扫码定制
</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>
...
...
@@ -35,8 +111,11 @@
</
template
>
<
script
>
import
Env
from
'@/util/Env.js'
;
import
userService
from
'@/service/UserService'
;
import
Signin
from
'./Signin.vue'
;
import
homeservice
from
'@/service/homeservice.js'
;
var
pixelRationum
=
null
;
export
default
{
components
:
{
...
...
@@ -54,9 +133,72 @@
touchEndTime
:
null
,
lastTapTime
:
null
,
system_config
:
null
,
LoupanList
:[],
long
:
false
};
},
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
)
{
var
reg
=
new
RegExp
(
'(^|&|/?)'
+
name
+
'=([^&|/?]*)(&|/?|$)'
,
'i'
)
var
r
=
url
.
substr
(
1
).
match
(
reg
)
...
...
@@ -65,6 +207,8 @@
}
return
null
;
},
scanning
()
{
if
(
!
this
.
$AppContext
.
checkLogin
())
{
this
.
tologo
(
'navigateTo'
)
...
...
@@ -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
()
{
var
_this
=
this
wx
.
request
({
...
...
@@ -224,7 +393,7 @@
success
:
(
res
)
=>
{},
}
},
//
分享朋友圈
//分享朋友圈
onShareTimeline
()
{
return
{
title
:
this
.
$Env
.
getmalltext
(),
...
...
@@ -239,12 +408,9 @@
let
promoter_id
=
qrUrl
.
replace
(
/
[^
0-9
]
/ig
,
""
)
this
.
$base
.
promoter_id
=
promoter_id
}
this
.
loadGoodsList
();
},
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
()
}
};
...
...
@@ -267,4 +433,14 @@
color
:
#333333
;
line-height
:
20
upx
;
}
.statuslist
{
font-size
:
23
upx
;
padding
:
8
upx
20
upx
8
upx
20
upx
;
border-radius
:
20
upx
;
font-weight
:
500
;
color
:
#FFFFFF
;
}
</
style
>
pages/index/switchGoods.vue
View file @
1ef1fc22
...
...
@@ -3,13 +3,11 @@
style=
" position: absolute; top: 0; width: 100%; height: 100%; display: flex; flex-direction: column; "
@
click=
"closeView()"
>
<view
style=
"position: absolute; top: 0; width: 100%; height: 100%; background: #999999; z-index: 999; opacity: 0.5; "
>
</view>
<view
style=
"position: absolute; top: 0; width: 100%; height: 100%; background: #999999; z-index: 999; opacity: 0.5; "
></view>
<view
style=
" position: absolute;
top: calc(50% -
6
20upx);
height:
12
50upx;
top: calc(50% -
4
20upx);
height:
7
50upx;
width: 100%;
margin:auto;
display: flex;
...
...
@@ -17,7 +15,7 @@
justify-content: center;
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%;"
>
<view
v-for=
"(item,index) in goods"
:key=
"index"
@
click=
"goodclick(item)"
>
<view
style=
"float: left; margin: 10upx;
...
...
@@ -26,18 +24,15 @@
height: 300upx; width: 210upx;"
hover-class=
"brandactive"
:class=
"[brandtext == item.title ? 'brandactive':'' ]"
>
<image
mode=
"widthFix"
style=
"width:calc(100% - 60upx);margin: auto;"
: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%;
color:#333; position: absolute; bottom: 20upx; "
>
{{
item
!=
null
?
item
.
name
:
''
}}
</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"
@
change=
"swiperChangeGood"
>
<swiper-item
class=
"swiper-item"
v-for=
"(item,index) in goods"
:key=
"index"
>
...
...
@@ -53,7 +48,7 @@
{{
item
!=
null
?
item
.
name
:
''
}}
</view>
</swiper-item>
</swiper>
-->
</swiper>
</view>
</view>
...
...
pages/index/textsettings.vue
View file @
1ef1fc22
<
template
>
<view>
<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
style=
"width: 260upx; height: 100%; background: #292933; border-top-right-radius: 60upx;display: flex; flex-direction: row; "
>
<image
v-if=
"bg_text_color"
style=
"width: 47upx; height: 47upx; display: block;margin-top: 45upx; margin-left:45upx;"
src=
"../../static/img/icon_qiehuan_on.png"
mode=
"aspectFill"
@
click=
"bgtextcolor"
></image>
<image
v-else
style=
"width: 47upx; height: 47upx; display: block;margin-top: 45upx; margin-left:45upx;"
src=
"../../static/img/icon_qiehuan.png"
mode=
"aspectFill"
@
click=
"bgtextcolor"
></image>
<view
style=
"width: 80upx; margin-top: 45upx;margin-left: 45upx;"
@
click=
"typefaceshow('share')"
>
<text
style=
"font-size: 36upx; color: #FFFFFF;"
>
字体
</text>
</view>
<view
v-if=
"show && text != 'typeface'"
style=
"width: 100%; height: 100upx; display: flex; flex-direction: row; "
>
<view
style=
"width: 260upx; height: 100%; background: #292933; border-top-right-radius: 60upx;display: flex; flex-direction: row; "
>
<image
v-if=
"bg_text_color"
style=
"width: 47upx; height: 47upx; display: block;margin-top: 45upx; margin-left:45upx;"
src=
"../../static/img/icon_qiehuan_on.png"
mode=
"aspectFill"
@
click=
"bgtextcolor"
></image>
<image
v-else
style=
"width: 47upx; height: 47upx; display: block;margin-top: 45upx; margin-left:45upx;"
src=
"../../static/img/icon_qiehuan.png"
mode=
"aspectFill"
@
click=
"bgtextcolor"
></image>
<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
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;"
>
<view
style=
"width: 601upx; height: 57upx; background: rgb(255,255,255,0.1); margin: 21upx 41upx 21upx 21upx; border-radius: 10upx;"
>
<input
:fixed=
"true"
:auto-height=
"true"
:show-confirm-bar=
"false"
:cursor-spacing=
"73"
: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
style=
"width: 601upx; height: 57upx; background: rgb(255,255,255,0.1); margin: 21upx 41upx 21upx 21upx; border-radius: 10upx;"
>
<input
:fixed=
"true"
:auto-height=
"true"
:show-confirm-bar=
"false"
:cursor-spacing=
"73"
: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
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
v-if=
"text == 'typeface'"
style=
"border-bottom: 2upx solid #000000;"
>
<scroll-view
style=
"width: calc(100% - 40upx); margin: auto; height:598upx; overflow: hidden;"
scroll-y
scroll-with-animation
>
<view
v-for=
"(item, index) in typefacedata"
:style=
"
{'font-family':item.textlong == true ? item.key : item.key + 'ttf','color': data.itemList[data.cidx].font_dict_id == item.id ? '#F56364 !important' : 'none'}"
@click="typefaceClick(item, index)"
:key="index" style="font-size: 36upx; color: #FFFFFF; padding:22upx 0 21upx; text-align: center;">
<!-- 色彩公园
{{
item
.
title
}}
color: item.textlong == true ? '#ffffff' : '#BEBEBE'-->
<text
style=
"font-size: 20upx;"
>
<text
style=
"font-size: 32upx;"
:style=
"
{'color': data.itemList[data.cidx].font_dict_id == item.id ? '#F56364 !important' : '#ffffff'}">
色彩公园
</text>
<text
v-if=
"item.remark != ''"
>
{{
item
.
long
==
true
?
''
:
'(点击加载)'
}}
</text>
<text
v-if=
"item.remark != ''"
style=
"color: #F56364;"
>
{{
item
.
textlong
==
false
?
'(下载失败,点击重新下载)'
:
''
}}
<view
v-if=
"text == 'typeface'"
style=
"border-bottom: 2upx solid #000000;"
>
<scroll-view
style=
"width: calc(100% - 40upx); margin: auto; height:598upx; overflow: hidden;"
scroll-y
scroll-with-animation
>
<view
v-for=
"(item, index) in typefacedata"
:style=
"
{'font-family':item.textlong == true ? item.key : item.key + 'ttf','color': data.itemList[data.cidx].font_dict_id == item.id ? '#F56364 !important' : 'none'}"
@click="typefaceClick(item, index)" :key="index"
style="font-size: 36upx; color: #FFFFFF; padding:22upx 0 21upx; text-align: center;">
<!-- 色彩公园
{{
item
.
title
}}
color: item.textlong == true ? '#ffffff' : '#BEBEBE'-->
<text
style=
"font-size: 20upx;"
>
<text
style=
"font-size: 32upx;"
:style=
"
{'color': data.itemList[data.cidx].font_dict_id == item.id ? '#F56364 !important' : '#ffffff'}">
{{
replaceText
(
item
.
title
)
}}
</text>
<text
v-if=
"item.remark != ''"
>
{{
item
.
long
==
true
?
''
:
'(点击加载)'
}}
</text>
<text
v-if=
"item.remark != ''"
style=
"color: #F56364;"
>
{{
item
.
textlong
==
false
?
'(下载失败,点击重新下载)'
:
''
}}
</text>
</text>
</text>
</view>
</scroll-view>
</view>
<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;
margin-left: 35upx; margin-right: 35upx;margin-bottom: 30upx; margin-top: 40upx; width: calc(100% - 70upx);"
scroll-x
scroll-with-animation
>
<view
style=
"text-align: center; display: inline-block; padding-left: 20upx;"
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].font_color == item.color && !bg_text_color"
style=
"width: 60upx; height: 60upx; background: #000000; border: 4upx solid #EF6262; border-radius: 50%;"
:style=
"
{background:item.color}">
</view>
<view
v-else-if=
"data.itemList[data.cidx].under_color == item.color && bg_text_color"
style=
"width: 60upx; height: 60upx; background: #000000; border: 4upx solid #EF6262; border-radius: 50%;"
:style=
"
{background:item.color}">
</view>
</view>
</scroll-view>
</view>
<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;
margin-left: 35upx; margin-right: 35upx;margin-bottom: 30upx; margin-top: 40upx; width: calc(100% - 70upx);"
scroll-x
scroll-with-animation
>
<view
style=
"text-align: center; display: inline-block; padding-left: 20upx;"
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].font_color == item.color && !bg_text_color"
style=
"width: 60upx; height: 60upx; background: #000000; border: 4upx solid #EF6262; border-radius: 50%;"
:style=
"
{background:item.color}">
</view>
<view
v-else-if=
"data.itemList[data.cidx].under_color == item.color && bg_text_color"
style=
"width: 60upx; height: 60upx; background: #000000; border: 4upx solid #EF6262; border-radius: 50%;"
:style=
"
{background:item.color}">
</view>
<view
v-else
style=
"width: 68upx; height: 68upx; border-radius: 50%;"
:style=
"
{background:item.color}">
</view>
</view>
<view
v-else
style=
"width: 68upx; height: 68upx; border-radius: 50%;"
:style=
"
{background:item.color}">
</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>
<!-- 颜色 结束-->
</view>
<!-- 颜色 -->
<view
v-if=
"text == 'color'"
style=
"display: flex; height: 68upx; padding: 38upx 0 41upx;border-bottom: 1upx solid #000000;"
>
<!-- 背景 -->
<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
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
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
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
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>
</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
v-if=
"text == 'color'"
style=
"display: flex; height: 68upx; padding: 38upx 0 41upx;border-bottom: 1upx solid #000000;"
>
<!-- 背景 -->
<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
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
v-if=
"!show"
class=
"tooltextone
"
>
<view
style=
"width: calc(100% - 125upx);display: flex; justify-content: center;
"
>
<view
class=
"tooltext_li"
@
click=
"modify('modify')"
>
<image
style=
"width: 50upx; height: 50upx; display: block;margin: auto;"
src=
"../../static/icon/diy_icon_editor_default.png"
mode=
""
></image
>
<
view
class=
"tooltext_li_text"
>
修改
<
/view>
</view
>
<view
class=
"tooltext_li"
@
click=
"typeface('typeface')"
>
<image
style=
"width: 50upx; height: 50upx; display: block;margin: auto;"
src=
"../../static/icon/icon_typeface.png"
mode=
""
></image
>
<
view
class=
"tooltext_li_text"
>
字体
<
/view>
</view
>
<view
class=
"tooltext_li"
@
click=
"color('color')"
>
<image
style=
"width: 50upx; height: 50upx; display: block;margin: auto;"
src=
"../../static/icon/replace.png"
mode=
""
></image
>
<
view
class=
"tooltext_li_text"
>
颜色
<
/view>
</view
>
<view
class=
"tooltext_li"
@
click=
"keyboard"
>
<image
style=
"width: 50upx; height: 50upx; display: block;margin: auto;"
src=
"../../static/icon/diy_icon_on_default.png"
mode=
""
></image
>
<
view
class=
"tooltext_li_text"
>
键盘
<
/view>
<!-- 切换 --
>
<view
v-if=
"!show"
class=
"tooltextone"
>
<view
style=
"width: calc(100% - 125upx);display: flex; justify-content: center;
"
>
<view
class=
"tooltext_li"
@
click=
"modify('modify')
"
>
<image
style=
"width: 50upx; height: 50upx; display: block;margin: auto;"
src=
"../../static/icon/diy_icon_editor_default.png"
mode=
""
></image>
<view
class=
"tooltext_li_text"
>
修改
</view
>
</view>
<view
class=
"tooltext_li"
@
click=
"typeface('typeface')"
>
<image
style=
"width: 50upx; height: 50upx; display: block;margin: auto;"
src=
"../../static/icon/icon_typeface.png"
mode=
""
></image>
<view
class=
"tooltext_li_text"
>
字体
</view
>
</view>
<view
class=
"tooltext_li"
@
click=
"color('color')"
>
<image
style=
"width: 50upx; height: 50upx; display: block;margin: auto;"
src=
"../../static/icon/replace.png"
mode=
""
></image>
<view
class=
"tooltext_li_text"
>
颜色
</view
>
</view>
<view
class=
"tooltext_li"
@
click=
"keyboard"
>
<image
style=
"width: 50upx; height: 50upx; display: block;margin: auto;"
src=
"../../static/icon/diy_icon_on_default.png"
mode=
""
></image>
<view
class=
"tooltext_li_text"
>
键盘
</view
>
</view>
</view>
</view
>
<view
style=
"width: 125upx;"
@
click=
"cancel('share')
"
>
<view
style=
"display: flex; padding:36upx 0;"
>
<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"
></image
>
<view
style=
"width: 125upx;"
@
click=
"cancel('share')"
>
<view
style=
"display: flex; padding:36upx 0;
"
>
<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"
></image>
</view
>
</view>
</view>
</view>
</view>
</view>
</view>
...
...
@@ -189,9 +227,9 @@
<
script
>
import
loadFont
from
'@/util/loadFont.js'
import
homeservice
from
'@/service/homeservice.js'
;
var
app
=
getApp
();
// 当前APP实例
export
default
{
props
:
{
...
...
@@ -201,7 +239,7 @@
},
data
()
{
return
{
colorList
:
[{
color
:
'#000000'
,
index
:
'01'
...
...
@@ -662,49 +700,99 @@
index
:
'WG9'
}
],
show
:
true
,
show
:
true
,
data
:
null
,
bg_text_color
:
null
,
inputBottom
:
0
,
text
:
'modify'
,
textlist
:[
{
text
:
'仓耳小丸子'
,
url
:
'url("https://tprint.refinecolor.com/text/CangErXiaoWanZi.ttf")'
,
fontname
:
'仓耳小丸子'
,
lineheight
:
1.26
,
long
:
false
,
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
},
text
:
'modify'
,
textlist
:
[{
text
:
'仓耳小丸子'
,
url
:
'url("https://tprint.refinecolor.com/text/CangErXiaoWanZi.ttf")'
,
fontname
:
'仓耳小丸子'
,
lineheight
:
1.26
,
long
:
false
,
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
()
{
},
onLoad
()
{
},
mounted
()
{
},
/**
* 组件的公有方法列表
*/
methods
:
{
//替换文字
replaceText
(
textStr
)
{
if
(
textStr
.
includes
(
"-Regular"
))
{
textStr
=
textStr
.
replace
(
"-Regular"
,
""
)
}
return
textStr
;
},
//过滤字符串
filterTextInput
(
textStr
)
{
let
content
=
textStr
.
replace
(
/
[^\a
-
\z\A
-
\Z
0-9
\u
4E00-
\u
9FA5
\.\,\?
\<
\>\。\,\-\—
—
\=\;\@\!\!\+\$\%\*\(\)\#\&\*]
/g
,
''
);
let
content
=
textStr
.
replace
(
/
[^\a
-
\z\A
-
\Z
0-9
\u
4E00-
\u
9FA5
\.\,\?
\<
\>\。\,\-\—
—
\=\;\@\!\!\+\$\%\*\(\)\#\&\*]
/g
,
''
);
let
that
=
this
;
setTimeout
(
function
()
{
that
.
data
.
currentText
=
content
;
that
.
$emit
(
'textInput'
,
content
)
},
0
);
},
typefaceshow
(
e
){
typefaceshow
(
e
)
{
this
.
$emit
(
'typefaceshow'
,
e
)
},
keyboard
(
e
)
{
...
...
@@ -714,21 +802,21 @@
this
.
text
=
e
this
.
inputBottom
=
0
},
typefaceClick
(
e
,
index
)
{
console
.
log
(
this
.
typefacedata
.
length
)
console
.
log
(
index
+
1
)
if
((
index
+
1
)
==
this
.
typefacedata
.
length
)
{
if
(
e
.
textlong
==
true
)
{
typefaceClick
(
e
,
index
)
{
if
(
this
.
$base
.
typefacedata
.
length
>
0
)
{
this
.
typefacedata
=
this
.
$base
.
typefacedata
}
if
((
index
+
1
)
==
this
.
typefacedata
.
length
)
{
if
(
e
.
textlong
==
true
)
{
this
.
$emit
(
'typefaceClick'
,
e
)
}
else
{
if
(
e
.
remark
!=
''
)
{
}
else
{
if
(
e
.
remark
!=
''
)
{
this
.
loadFont
(
e
)
}
else
{
}
else
{
this
.
$emit
(
'typefaceClick'
,
e
)
}
}
}
else
{
}
else
{
this
.
$emit
(
'typefaceClick'
,
e
)
}
},
...
...
@@ -739,7 +827,7 @@
mask
:
true
,
});
wx
.
loadFontFace
({
global
:
true
,
global
:
true
,
family
:
textlist
.
key
,
source
:
'url('
+
textlist
.
remark
+
')'
,
desc
:
{
...
...
@@ -755,7 +843,9 @@
uni
.
hideLoading
();
// wx.showToast({title: '字体下载完成',icon: 'success',duration: 2000});
textlist
.
long
=
true
that
.
setData
({
typefacedata
:
that
.
typefacedata
});
that
.
setData
({
typefacedata
:
that
.
typefacedata
});
that
.
$emit
(
'typefaceClick'
,
textlist
)
}
})
...
...
@@ -814,7 +904,7 @@
this
.
data
=
data
.
data
this
.
bg_text_color
=
data
.
bg_text_color
this
.
text
=
data
.
text
if
(
this
.
text
==
'typeface'
)
{
if
(
this
.
text
==
'typeface'
)
{
this
.
typeface
(
'typeface'
)
this
.
inputBottom
=
'none'
}
...
...
@@ -836,14 +926,14 @@
// })
// this.typefacedata = result
// }).catch(err => {
// });
if
(
this
.
$base
.
typefacedata
.
length
>
0
)
{
if
(
this
.
$base
.
typefacedata
.
length
>
0
)
{
this
.
typefacedata
=
this
.
$base
.
typefacedata
console
.
log
(
this
.
$base
.
typefacedata
)
//
console.log(this.$base.typefacedata)
}
}
}
}
...
...
@@ -859,8 +949,10 @@
align-items
:
center
;
height
:
100
upx
;
background
:
#292933
;
.tooltext_li
{
width
:
25%
;
.tooltext_li_top
{
border-radius
:
50%
;
text-align
:
center
;
...
...
@@ -870,6 +962,7 @@
display
:
block
;
padding
:
2
upx
;
margin
:
2
upx
auto
;
.tooltext_li_top_icon
{
color
:
#FFFFFF
;
font-size
:
26
upx
;
...
...
@@ -877,6 +970,7 @@
text-align
:
center
;
}
}
.tooltext_li_text
{
text-align
:
center
;
color
:
#FFFFFF
;
...
...
@@ -884,42 +978,44 @@
}
}
}
@font-face
{
@font-face
{
font-family
:
'Stand_cool_blackttf'
;
src
:
url('data:font/truetype;charset=utf-8;base64,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')
format
(
'truetype'
);
font-weight
:
normal
;
font-style
:
normal
;
font-display
:
swap
;
}
@font-face
{
@font-face
{
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'
);
font-weight
:
normal
;
font-style
:
normal
;
font-display
:
swap
;
}
@font-face
{
@font-face
{
font-family
:
'horizon_method_stick_bodyttf'
;
src
:
url('data:font/truetype;charset=utf-8;base64,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')
format
(
'truetype'
);
font-weight
:
normal
;
font-style
:
normal
;
font-display
:
swap
;
}
@font-face
{
@font-face
{
font-family
:
'Qiantu_rabbitttf'
;
src
:
url('data:font/truetype;charset=utf-8;base64,AAEAAAAOAIAAAwBgRkZUTYy3vLsAABM4AAAAHEdERUYAKQANAAATGAAAAB5PUy8yvBObNQAAAWgAAABgY21hcAIIjDUAAAHgAAABWmN2dCAAIQJ5AAADPAAAAARnYXNw//8AAwAAExAAAAAIZ2x5ZhsE/uAAAANQAAANHGhlYWQaAdjoAAAA7AAAADZoaGVhB7kDJQAAASQAAAAkaG10eAzOAL8AAAHIAAAAFmxvY2EGDAkUAAADQAAAABBtYXhwABcCRQAAAUgAAAAgbmFtZY1aBfsAABBsAAACU3Bvc3T3SKTTAAASwAAAAFAAAQAAAAEAAA5QuadfDzz1AAsD6AAAAADbMs2PAAAAANvgyCP/9/9yA9gC3wAAAAgAAgAAAAAAAAABAAAD6P84AAAD6P/3AAAD2AABAAAAAAAAAAAAAAAAAAAABAABAAAABwIVAA8AAAAAAAIAAAAAAAAAAAAAAC4AAAAAAAQD6AGQAAUAAAKKAlgAAABLAooCWAAAAV4AMgEgAAAAAAUAAAAAAAAAoAACvxAAAAAAAAASAAAAAFVLV04AQFFsgnIDIP84AMgD6ADIAAQAAQAAAAAB4AKoAAAAIAABA+gAIQAAAAAD6AAAA+gApwDH//cATgAAAAAAAwAAAAMAAAAcAAEAAAAAAFQAAwABAAAAHAAEADgAAAAKAAgAAgACUWxW7V9pgnL//wAAUWxW7V9pgnL//66XqRegnH2UAAEAAAAAAAAAAAAAAAABBgAAAQAAAAAAAAABAgAAAAIAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACECeQAAACoAKgAqAN4CMgUEBo4AAgAhAAABKgKaAAMABwAusQEALzyyBwQA7TKxBgXcPLIDAgDtMgCxAwAvPLIFBADtMrIHBgH8PLIBAgDtMjMRIREnMxEjIQEJ6MfHApr9ZiECWAAAAwCn/5gDQgLAAB8AQgB/AAAAMzIXFhUHDgEHDgEjIicuATU0NjMyFhcUMzI3Njc2NxYzMhceARceARcWMzI1NDYzMhceARUUBiMiJy4BJy4BNTQ3AjMyFxYVFAcOAQcGFhceARcWNjc+ATU0JyY1NDc2MzIXHgEXHgEVFAYjIi8BBwYjIicuAScmNTQ3PgI3AZIKEQwKAgMeDxpRKBcRFhkTEw8aBwQICS4lHQWvBQcKCxMdERYSEgwNHA0KFAkHOCgQCBhCDRcvEVcLEAoHGjNUBAEEChAwIxoZDxIpGR0DCRQLDRFsEwwIGBETDg8eQ1oYIyMvGTMbET5DFwLAEAsOFRxhGy84Cg0uFxMaGBQCBhR1SAMvBQQhQiQhDwwPDRsQChERJjICBikTIHUhGw/+9Q0HCRIRIYk3HBALFRUCAQMHBx8GBBkdFggHEAUIThIMDw0UGA0OHD8HCBkXL0MyPSZSPgcABgDH/4UDKQLWAEQAWgBtAJEApgDwAAAAMzIWFxYVFAYHDgEXHgEXFhUUBgcOAQcGIyInLgEnLgEnLgE1NDY/AScmNTQ3PgE3NjMyFhcWNzY3NjMyFxY3MDc+ATcWJiMiBgcGFRQWFxYXHgEzMjY1NCYnJCMiBw4BFRQfATc+AT8BJy4BJxYjIgcOAQcOARUUFx4BFx4BFxYzMjc+ATc+ATc+ATU0Jy4BJwceAhcWFRQHDgEjIi4BJyY1ND8BBjMeAhcWFRQHDgEPARceATMyNjU0JyY1NDYzMhYVFAYHDgEjIiYnLgEnLgEjIgYHBgcGIyImNTQ2Nz4BNz4BPwEjIicmNTQ2NwKzCBQsDxkVEwkEBAggBwgQDx1xYSEJDSk7Th4VGw4KBQwPCw4XAgMPECArGi0PEAEGLCELDCsyAggFKA00DwwSGgYDChAeCAMIAgYYCAn+VQgMEBMWCQwRDzESEREFEwfDEA8iNk0TEhgBCRwXFzoyHA4NHiVLEg0bBgcJAgpYUzIhKQwFBw0HIDQuJA4DAQsNJX80PxEEBwgEFg0fAQETFgUFBQESDg8eFA8MEhYVFA8aFQIBBAYGAwIJSgMGEBIMDAYOBAUGBAMTGQkTCQkC1hAMFikZMBIICQMKZiQoQD53J0lQEQUJDS8qHkE4JC01RF8tJhMdIQYMFBsSIBcWEgIDBwUICwISDiUDMQYQDwcEBQoLGAgEBzANCQ4KDQoMIREPDxQUECMHBhAGDAFKBwwyJCB9NhUKSmQmJicKBwYHIxIPMBQXYC0WHICKEZYBAwQHBwoMDAcDAwoNAwUJCw1xAQIEBAoNDwYEBQEDIy0iAQICDAMFDBAeEA8kCwkFBgoSMjAiFA8dew4BEw0KEQUDDgcLIR0VBQYVCQ8EAAAP//f/mQPYAtQAUQBmAHwAmwCzAMUA0gDiAT4BVQGjAbsB1gHwAhQAAAAzMh8CFA4BJyYGBwYjBgcGFRQWMzIWFx4BMzIWFRQjIicuASMiJicmNTQ/AScmIyIHBiMiJyYjIgcjIicuATU0NjMyNzYzMhcWMzI2Nz4BNxYmIyYGFRQzNzYWFxYzMjc2NTQmJwQzMhcWFRQHDgEjIicmNTQ2Nz4BPwEEJi8BBwYjIgYVFDMyNzYzMhYVFBcWNjc2NTQmBwYjBjMyFhUUDgEHBiMiJyY1NDY3PgE3PgE3BjMyFhcWFRQHDgEjIicmNTQ3BjMyFhUUBiMiJjU0NwYzMhYVFAcOASMiLwE0NjcWMzIWHwIeARcWFRQHDgEHIgciFx4BFx4BFxYXFhUUBiMiJy4BLwEHFA4BBwYjIicuAScuAQcGBwYHBiMiJy4BNTQ2Nz4BNz4BPwEnLgEnJjY3PgEzMjY1NDY3BDMyFhUHDgIHBiMiJjU0Njc+ATc2NwQzMhceATM2FxYVFAYHDgEjIicjIgcGIyInLgE1ND8BNCMnIgYVFBceARUUBiMiBw4BIyIVFAYjIiY1NDc2NSY2Nz4BNTQnJjU0Nz4BNxYjIgcOARUUFxYzMjY3PgEXFjMyNTQmJwQzMhcWFRQHDgEHBiMiJicmNTQ3Njc+ATc2NwQmIyIGFRQHBhUUFjMyNjc+ATMwFxYzMjY1BicmIyIHDgEjIgYHBgcGFRQXMzI3PgEzMh8BMjY3PgEzMjYnA2MSFRYVIw8TAwIIAQkOBg0BDQoKCAIBBQQCBAcGDwUNBAQMBA0NCwoLBwsMEBoODQYMBgMFDQsGBxYHBgwLEAsIAwMDCQYFEgcwDgIJIAoKEB4IBAICBQgTDv5oBQYNDRYney4dDQsbFyZIKCQBLggCBQkHDQUGCAcJBwcHCQcIDAQBCgUDCQoKDhQoOBQMBRoJBA8RFCkLAwkD7AQKFgUGAwYTCw4LDA5REg8TFxMSFxBiBBEZAwUREBkIAQcGlgcOFgECNicSCAsLCBImNQIBEhEdFgkaCRcCARUPCgURLxATAQIFBwoQEQ0HAwEBAwICDypQEwoEChEVDhAbEw4LFhMhLCQjBQQNCwlTJg4GEAoBchEMEQEDLDoVExMPExIdDR8JIwP9Pg8hIQsPDi8KBAoIBggGBwQIEAkJBAUIDAwBAggKCw0KDw0QCAMMBwsLERcNERkHBQMRCAUEAQEDBCQPJwgLDw0SAgMGBQsCBCEUDAIHFAwC5QQJDQkdM4U2AwcRGwQCMhofFT0eLxL9lwUHGhYHBwQDAgkCAwUDDg4CCAWJDwQGCAQCCg8QBQICBgYMAggGBQoHBQMGBAcDBAoECAYDAtQLCzcSGAwCAgICBwEEAQIEBgUHBQYJBg8NBggFBAkNDwwLDA4bJA0HAQwEDQUIGgwMBAMHBgcPAxsDAhMICAEBEhELBQgNDxwDDgoKDhMdM0YQDQwOFgQHKiQgGwYFCw0NBAMHBQQHBQcGBQwQAwUJBQUGYxUPFEM4BwIUBwcKEw0OMhYGDAIIDwoMBgQIDQ8LDA4PECMUEhQYFA8SDw8bEQYIDQwlCAYLBzgYExYBAgQJDA4ODAkFAQEJCBweDBsHEwkDBQ8TAgYsGB1nKzMOBwwQCyVMKkECASZvGAYCBxgNDw8DBQcOCSQnQgIBDQ0KGAQECAQIDyAEExIPCRNBOgoJDg0NFxcKIQwrA1QbCQUDGAwLDx8KCAUBBQYFBRIKBgMHBAEFBAUEBxIODBgOBwUHCREZDw0IBwsIHQMCBQUIBgMIBhgQKQgbCQkhEAQIBgkHDw8CAgUGFAcXDAoMFS5RbgYBEA0IAxcTCBIOQSg9CAwHDA0HDAcIAwUGBAQFBAQRF0ECAQkHBAQMDwkGBQYDDQsIAQEHBgYJBwUABwBO/3IDYALfAGwAjACeALMA8wEJARoAAAAzMhYVFA8BFx4BFRQHBhUUFhcWFx4BFQ4BBw4BBw4BIyImJzQ3PgEzHwE3NjU0Nj8BBw4BBwYjIiY1NDY3PgEzMjY3PgE3PgE3NjU0IyIGBw4BBwYmJy4BJyY2NzYzMhcWFRQPATMyPgE3NjcWMzIWFRQWFx4BFRQHBgcOAQcGJicuAScmNTQ2Nz4BNxYnJiMiDwEXHgEVFDY3NjU0JwYmFRQWFxYVFA8BNz4BNz4BNTQmJwQzMhcWFRQHBhUUFxYXHgE7ATI2Nz4BNTQmIyIHDgEjIiY1NDc+ATMyFx4BFRQHDgEHBiMiJyYnLgEnJjU0NjcGNjMyFhUUFxYVFAYjIiYnJi8BNzY3FiYjMA8BFx4BFRQ+ATUuAScCPwoPEgoLFB4kQwsMCg8dMTIBFhwRGhUmSTFSQAEMCAoHGB4MCgcFCiccKi0KChEVDw4PQgwFDAQHHB0XQBUPLhAUGigwIxsTDBMSAwMjHwQGDAkNDAgODj9CERgK6QgIDgkFCQsGEAcFDgIHFAUCDAcODgkJDwMQAwMCAgoLDAcHCAUKBvJFBQMIAwIfLi4QDAcoI/7KCQUKEQIDChd+FTEqHh0WDh0YDQkPCQYTEBETBQovHx8dGB4CBy8wLz8ZHaRTGhoIBhEOlQgDCAoRDzsGBg0ECwoMDCINEwkBEQwKBAYPDwEEAgLfFQ8QEBMHCS0dNTAJAwMEAgEQGEYsHiwZEA8ICggVHhMKBgUCAjo3DAQMBQ8DAgoNAxINChYJCRYHBQwMAgMgEw8IDgoVIRYCAQQIDR4WHy4GAQwNCgoODSo8GRoEpBQOBBQIDhYGCAYbEA0YAQQXEwgcCRgIAhQKCxgIQgUGCg0TBw8DAggHDQQEB20JAwMKBAsSDyFCAwUOEAsODRYmCyUFByQUDBghSSpNIQcEBAgOGRIQEhcSDxcUEQ8gIxAMPCEHDig0FRcDEEwWNS8hKzdeDHYNEwwHKCQHCVwVFCIQGwwhJUkNDw4TBg8EBQ4UBQQLBwAAABIA3gABAAAAAAAAABUAMgABAAAAAAABAAkAXgABAAAAAAACAAcAeAABAAAAAAADABMAqAABAAAAAAAEAAgAzgABAAAAAAAFAA0A8wABAAAAAAAGAAgBEwABAAAAAAAIAAUBKgABAAAAAAALABYBXgADAAEECQAAADAAAAADAAEECQABABQASAADAAEECQACAA4AaAADAAEECQADACYAgAADAAEECQAEABAAvAADAAEECQAFABoA1wADAAEECQAGABABAQADAAEECQAIAAwBHAADAAEECQALACwBMABOAAoAbQB3AFQAwQBWAP4AfwBRAH4A3AB5ANEAYgCAAGcACQCWAFAAUQBsAFMA+AAATgptd1TnVn9RfoZ5hGJnCVBRbFO/AABTAEMAVgD+AFwADwBRAFQATwBTAABTQ1ZcD1FUT1MAAFIAZQBnAHUAbABhAHIAAFJlZ3VsYXIAADEALgAwADAAMAA7AFUASwBXAE4AOwBRAFQAeABpAGEAbwB0AHUAADEuMDAwO1VLV047UVR4aWFvdHUAAFEAVAB4AGkAYQBvAHQAdQAAUVR4aWFvdHUAAFYAZQByAHMAaQBvAG4AIAAxAC4AMAAwADAAAFZlcnNpb24gMS4wMDAAAFEAVAB4AGkAYQBvAHQAdQAAUVR4aWFvdHUAAFMAQwBWAP4AfwBRAABTQ1Z/UQAAaAB0AHQAcABzADoALwAvAHcAdwB3AC4ANQA4AHAAaQBjAC4AYwBvAG0ALwAAaHR0cHM6Ly93d3cuNThwaWMuY29tLwAAAAIAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAAAAAABwAAAAEAAgECAQMBBAEFB3VuaTUxNkMHdW5pNTZFRAd1bmk1RjY5B3VuaTgyNzIAAAAB//8AAgABAAAADAAAABYAAAACAAEAAwAGAAEABAAAAAIAAAAAAAAAAQAAAADVpCcIAAAAANsyzY8AAAAA2+DIIw==')
format
(
'truetype'
);
font-weight
:
normal
;
font-style
:
normal
;
font-display
:
swap
;
}
@font-face
{
@font-face
{
font-family
:
'Standing_cool_happy_bodyttf'
;
src
:
url('data:font/truetype;charset=utf-8;base64,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')
format
(
'truetype'
);
font-weight
:
normal
;
font-style
:
normal
;
font-display
:
swap
;
}
</
style
>
</
style
>
\ No newline at end of file
pages/mall/lineUp.vue
View file @
1ef1fc22
...
...
@@ -45,23 +45,69 @@
</view>
</view>
<view
v-if=
"designer.status.value == 1"
style=
"width: 136upx; height: 60upx;background: #F29F3D;opacity: 0.86;border-radius: 30px; margin-top:
7
0upx;"
>
<view
v-if=
"designer.status.value == 1"
style=
"width: 136upx; height: 60upx;background: #F29F3D;opacity: 0.86;border-radius: 30px; margin-top:
4
0upx;"
>
<view
style=
"text-align: center; font-size: 26upx; color: #FFFFFF; line-height: 60upx;"
>
打印中
</view>
</view>
<view
v-else
style=
"width: 136upx; height: 60upx;border-radius: 30upx;margin-top:
7
0upx;"
>
<view
style=
"text-align: center; font-size: 26upx; color: #
67C4CA
; line-height: 60upx;"
>
排队中
<view
v-else
style=
"width: 136upx; height: 60upx;border-radius: 30upx;margin-top:
4
0upx;"
>
<view
style=
"text-align: center; font-size: 26upx; color: #
F6BE36
; line-height: 60upx;"
>
排队中
</view>
</view>
</view>
</view>
</view>
<!-- 提示 -->
<view
v-if=
"sighstate"
>
<!-- background:rgba(0,0,0,0.6); -->
<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:999; width: 100%; height: 100%; background:rgba(0,0,0,0.6); top: 0;"
@
click
.
stop=
"sighstate = false"
></view>
<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>
<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;
...
...
@@ -71,18 +117,6 @@
<image
src=
"../../static/icon_guanbi.png"
mode=
""
style=
"width: 26upx; height: 26upx; padding: 20upx; "
></image>
</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
style=
"display: flex; align-items: center; justify-content: center;
width: 500upx; height: 340upx; position: relative; margin: auto;"
>
...
...
@@ -114,24 +148,12 @@
text-align: center;
padding:auto;
padding-top: 15upx;"
>
查看详情
</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 != '马卡龙' "
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_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
style=
"text-align: center; font-size: 36upx; margin-top: 58upx;"
>
作品排队中
</view>
<view
style=
"text-align: center; font-size: 36upx;"
>
如需要打印可与客服确认
</view>
...
...
@@ -143,11 +165,10 @@
text-align: center;
padding:auto;
padding-top: 15upx;"
>
查看详情
</view>
</view>
</view>
</view>
</view>
-->
</view>
</view>
</
template
>
...
...
static/icon_diy_ai.png
View replaced file @
adf4a7cf
View file @
1ef1fc22
205 Bytes
|
W:
|
H:
1.35 KB
|
W:
|
H:
2-up
Swipe
Onion skin
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment