Commit ac04536f by huahua

优化页面

parent e12f7f84
## 使用注意
- 引入该组件,用v-if控制组件,组件create会触发喷发特效函数,然后可以传入一些位置参数,具体参考组件内的props属性,每个属性都备注了
-
## 示例代码
```
<template>
<view>
<fireworks v-if="isReady" />
</view>
</template>
<script>
import fireworks from '@/components/fireworks/index.vue'
export default {
data() {
return {
isReady: false
}
},
components: {
fireworks
},
onReady() {
this.$nextTick(() => {//后面记得销毁哈,不使用时设置为false
setTimeout(() => {
this.isReady = true;
}, 50)
})
},
}
</script>
```
\ No newline at end of file
<template>
<canvas class="fire-canvas" :style="{width: width + 'px', height: height + 'px', 'z-index': zIndex}"
:canvas-id="canvasId" @error="canvasIdErrorCallback"></canvas>
</template>
<script>
/*
浏览器的最高刷新赔率(最后一个表示1秒刷新60次)
*/
const minBrowserRefreshTime = window && (window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame) || function(t) {
setTimeout(t, 1e3 / 60)
}
const systenInfo = uni.getSystemInfoSync();
let fireCanvasBox = null;
export default {
props: {
/*
礼花数量(最好小于500,太多会卡顿)
*/
particleCount: {
type: [Number, String],
default: 80
},
/*取值 0-360
喷发角度示意图(简单说就是喷射方向)
礼花(90)
礼花(180) 礼花0
礼花(270)
*/
angle: {
type: [Number, String],
default: 90
},
/*
爆炸范围
*/
spread: {
type: [Number, String],
default: 100
},
/*
喷发的初始速度
*/
startVelocity: {
type: [Number, String],
default: 45
},
/*
喷发的衰退时间,超出canvas会被清除,跟startVelocity配合使用
*/
decay: {
type: [Number, String],
default: 0.9
},
/*
刷新几次消失(其实是透明度为0),这个跟间隔的刷新频率有关
*/
ticks: {
type: [Number, String],
default: 150
},
/*
礼花层级
*/
zIndex: {
type: [Number, String],
default: 1
},
/*
所有要随机的礼花颜色预选值
*/
colors: {
type: Array,
default: () => ["#5BC0EB", "#2176AE", "#FDE74C", "#9BC53D", "#E55934", "#FA7921", "#FF4242"]
},
canvasId: {
type: String,
default: 'fireCanvas'
},
/*
canvas宽度(单位px)
*/
width: {
type: [Number, String],
default: () => {
return systenInfo.windowWidth
}
},
/*
canvas高度(单位px)
*/
height: {
type: [Number, String],
default: () => {
return systenInfo.windowHeight
}
},
/*
中心点-x
*/
x: {
type: [Number, String],
default: () => {
return systenInfo.windowWidth / 2
}
},
/*
中心点-y
*/
y: {
type: [Number, String],
default: () => {
return systenInfo.windowHeight * 0.4
}
}
},
data() {
return {
/*
手机分辨率
*/
pixelRatio: systenInfo.pixelRatio
}
},
onShow(){
console.log('onShow');
this.initCanvas();
}, created() {
console.log('created');
this.initCanvas();
},
methods: {
open(){
},
/*
转16进制(颜色用)
*/
parseInt16(t) {
return parseInt(t, 16);
},
canvasIdErrorCallback(e) {
console.error(e.detail.errMsg)
},
initCanvas() {
fireCanvasBox = null;
fireCanvasBox = uni.createCanvasContext(this.canvasId, this);
fireCanvasBox.fillRect(0, 0, this.width * this.pixelRatio, this.height * this.pixelRatio);
fireCanvasBox.scale(this.pixelRatio,this.pixelRatio);
fireCanvasBox.save();
this.fireworksDraw();
},
fireworksDraw() {
let ribbon = [] ,//彩带容器
particleCount = this.particleCount, n = null, r = null, a = null,i = null;
for (; particleCount--;){
n = {
x: this.x,
y: this.y,
angle: this.angle,
spread: this.spread,
startVelocity: this.startVelocity,
color: this.colors[particleCount % this.colors.length],
ticks: this.ticks,
decay: this.decay
},
i = 0,
r = n.angle * (Math.PI / 180),
a = n.spread * (Math.PI / 180);
ribbon.push({//菜单位置初始化
x: n.x,
y: n.y,
depth: .5 * Math.random() + .6,
wobble: 10 * Math.random(),
velocity: .5 * n.startVelocity + Math.random() * n.startVelocity,
angle2D: -r + (.5 * a - Math.random() * a),
tiltAngle: Math.random() * Math.PI,
color: (i = (n.color + "").replace(/[^0-9a-f]/gi, ""), i.length < 6 && (i = i[0] + i[0] + i[1] + i[1] + i[2] + i[2]), {//生成随机颜色
r: this.parseInt16(i.substring(0, 2)),
g: this.parseInt16(i.substring(2, 4)),
b: this.parseInt16(i.substring(4, 6))
}),
tick: 0,
totalTicks: n.ticks,
decay: n.decay,
random: Math.random() + 5,
tiltSin: 0,
tiltCos: 0,
wobbleX: 0,
wobbleY: 0
})
}
minBrowserRefreshTime(function drawRibbon() {
if(!fireCanvasBox) return ;
fireCanvasBox.draw(),
fireCanvasBox.restore(),
ribbon = ribbon.filter((e) => {
e.x += Math.cos(e.angle2D) * e.velocity,
e.y += Math.sin(e.angle2D) * e.velocity + 5 * e.depth,
e.wobble += .1,
e.velocity *= e.decay,
e.tiltAngle += .02 * Math.random() + .12,
e.tiltSin = Math.sin(e.tiltAngle),
e.tiltCos = Math.cos(e.tiltAngle),
e.random = Math.random() + 4,
e.wobbleX = e.x + 10 * Math.cos(e.wobble) * e.depth,
e.wobbleY = e.y + 10 * Math.sin(e.wobble) * e.depth;
// 开始画图
fireCanvasBox.fillStyle="rgba(" + e.color.r + ", " + e.color.g + ", " + e.color.b + ", " + (1 - (e.tick++) / e.totalTicks) + ")",
fireCanvasBox.beginPath(),
fireCanvasBox.moveTo(Math.floor(e.x),Math.floor(e.y)),
fireCanvasBox.lineTo(Math.floor(e.wobbleX),Math.floor(e.y + e.random * e.tiltSin)),
fireCanvasBox.lineTo(Math.floor(e.wobbleX + e.random * e.tiltCos),Math.floor(e.wobbleY + e.random * e.tiltSin)),
fireCanvasBox.lineTo(Math.floor(e.x + e.random * e.tiltCos),Math.floor(e.wobbleY)),
fireCanvasBox.closePath(),
fireCanvasBox.fill();
return e.tick < e.totalTicks
})
ribbon.length ? minBrowserRefreshTime(drawRibbon): fireCanvasBox = null;//轮询调用或者释放掉
}
)
}
},
}
</script>
<style>
.fire-canvas{
position: fixed;
top: 0px;
left: 0px;
pointer-events: none;
z-index: 99999999;
}
</style>
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
<!-- 加载中图 --> <!-- 加载中图 -->
<view v-else-if="!loading_complete" class="loading"> <view v-else-if="!loading_complete" class="loading">
<image v-if="loadingIngImg == 'two-balls'" class="loading_img" :src="require('./loading_two_balls.gif')" mode="aspectFit"></image>
<view v-if="loadingIngImg == 'oblique-light'" class="loading_oblique_light"></view> <view v-if="loadingIngImg == 'oblique-light'" class="loading_oblique_light"></view>
<view v-if="loadingIngImg == 'looming'" class="loading_looming"></view> <view v-if="loadingIngImg == 'looming'" class="loading_looming"></view>
</view> </view>
...@@ -49,10 +49,11 @@ ...@@ -49,10 +49,11 @@
default: false, default: false,
}, },
//可选: 加载失败图片:可以本地url、网络url、base64 (与src一致)
// 可选: 加载失败图片:可以本地url、网络url、base64 (与src一致)
loadingErrorImg: { loadingErrorImg: {
type: String, type: String,
default: require('./loading_error.png'),
}, },
// 可选: 加载中的图片 // 可选: 加载中的图片
......
This source diff could not be displayed because it is too large. You can view the blob instead.
/* eslint-disable */
var cityData = [
[{
"label": "市辖区",
"value": "1101"
}],
[{
"label": "市辖区",
"value": "1201"
}],
[{
"label": "石家庄市",
"value": "1301"
},
{
"label": "唐山市",
"value": "1302"
},
{
"label": "秦皇岛市",
"value": "1303"
},
{
"label": "邯郸市",
"value": "1304"
},
{
"label": "邢台市",
"value": "1305"
},
{
"label": "保定市",
"value": "1306"
},
{
"label": "张家口市",
"value": "1307"
},
{
"label": "承德市",
"value": "1308"
},
{
"label": "沧州市",
"value": "1309"
},
{
"label": "廊坊市",
"value": "1310"
},
{
"label": "衡水市",
"value": "1311"
}
],
[{
"label": "太原市",
"value": "1401"
},
{
"label": "大同市",
"value": "1402"
},
{
"label": "阳泉市",
"value": "1403"
},
{
"label": "长治市",
"value": "1404"
},
{
"label": "晋城市",
"value": "1405"
},
{
"label": "朔州市",
"value": "1406"
},
{
"label": "晋中市",
"value": "1407"
},
{
"label": "运城市",
"value": "1408"
},
{
"label": "忻州市",
"value": "1409"
},
{
"label": "临汾市",
"value": "1410"
},
{
"label": "吕梁市",
"value": "1411"
}
],
[{
"label": "呼和浩特市",
"value": "1501"
},
{
"label": "包头市",
"value": "1502"
},
{
"label": "乌海市",
"value": "1503"
},
{
"label": "赤峰市",
"value": "1504"
},
{
"label": "通辽市",
"value": "1505"
},
{
"label": "鄂尔多斯市",
"value": "1506"
},
{
"label": "呼伦贝尔市",
"value": "1507"
},
{
"label": "巴彦淖尔市",
"value": "1508"
},
{
"label": "乌兰察布市",
"value": "1509"
},
{
"label": "兴安盟",
"value": "1522"
},
{
"label": "锡林郭勒盟",
"value": "1525"
},
{
"label": "阿拉善盟",
"value": "1529"
}
],
[{
"label": "沈阳市",
"value": "2101"
},
{
"label": "大连市",
"value": "2102"
},
{
"label": "鞍山市",
"value": "2103"
},
{
"label": "抚顺市",
"value": "2104"
},
{
"label": "本溪市",
"value": "2105"
},
{
"label": "丹东市",
"value": "2106"
},
{
"label": "锦州市",
"value": "2107"
},
{
"label": "营口市",
"value": "2108"
},
{
"label": "阜新市",
"value": "2109"
},
{
"label": "辽阳市",
"value": "2110"
},
{
"label": "盘锦市",
"value": "2111"
},
{
"label": "铁岭市",
"value": "2112"
},
{
"label": "朝阳市",
"value": "2113"
},
{
"label": "葫芦岛市",
"value": "2114"
}
],
[{
"label": "长春市",
"value": "2201"
},
{
"label": "吉林市",
"value": "2202"
},
{
"label": "四平市",
"value": "2203"
},
{
"label": "辽源市",
"value": "2204"
},
{
"label": "通化市",
"value": "2205"
},
{
"label": "白山市",
"value": "2206"
},
{
"label": "松原市",
"value": "2207"
},
{
"label": "白城市",
"value": "2208"
},
{
"label": "延边朝鲜族自治州",
"value": "2224"
}
],
[{
"label": "哈尔滨市",
"value": "2301"
},
{
"label": "齐齐哈尔市",
"value": "2302"
},
{
"label": "鸡西市",
"value": "2303"
},
{
"label": "鹤岗市",
"value": "2304"
},
{
"label": "双鸭山市",
"value": "2305"
},
{
"label": "大庆市",
"value": "2306"
},
{
"label": "伊春市",
"value": "2307"
},
{
"label": "佳木斯市",
"value": "2308"
},
{
"label": "七台河市",
"value": "2309"
},
{
"label": "牡丹江市",
"value": "2310"
},
{
"label": "黑河市",
"value": "2311"
},
{
"label": "绥化市",
"value": "2312"
},
{
"label": "大兴安岭地区",
"value": "2327"
}
],
[{
"label": "市辖区",
"value": "3101"
}],
[{
"label": "南京市",
"value": "3201"
},
{
"label": "无锡市",
"value": "3202"
},
{
"label": "徐州市",
"value": "3203"
},
{
"label": "常州市",
"value": "3204"
},
{
"label": "苏州市",
"value": "3205"
},
{
"label": "南通市",
"value": "3206"
},
{
"label": "连云港市",
"value": "3207"
},
{
"label": "淮安市",
"value": "3208"
},
{
"label": "盐城市",
"value": "3209"
},
{
"label": "扬州市",
"value": "3210"
},
{
"label": "镇江市",
"value": "3211"
},
{
"label": "泰州市",
"value": "3212"
},
{
"label": "宿迁市",
"value": "3213"
}
],
[{
"label": "杭州市",
"value": "3301"
},
{
"label": "宁波市",
"value": "3302"
},
{
"label": "温州市",
"value": "3303"
},
{
"label": "嘉兴市",
"value": "3304"
},
{
"label": "湖州市",
"value": "3305"
},
{
"label": "绍兴市",
"value": "3306"
},
{
"label": "金华市",
"value": "3307"
},
{
"label": "衢州市",
"value": "3308"
},
{
"label": "舟山市",
"value": "3309"
},
{
"label": "台州市",
"value": "3310"
},
{
"label": "丽水市",
"value": "3311"
}
],
[{
"label": "合肥市",
"value": "3401"
},
{
"label": "芜湖市",
"value": "3402"
},
{
"label": "蚌埠市",
"value": "3403"
},
{
"label": "淮南市",
"value": "3404"
},
{
"label": "马鞍山市",
"value": "3405"
},
{
"label": "淮北市",
"value": "3406"
},
{
"label": "铜陵市",
"value": "3407"
},
{
"label": "安庆市",
"value": "3408"
},
{
"label": "黄山市",
"value": "3410"
},
{
"label": "滁州市",
"value": "3411"
},
{
"label": "阜阳市",
"value": "3412"
},
{
"label": "宿州市",
"value": "3413"
},
{
"label": "六安市",
"value": "3415"
},
{
"label": "亳州市",
"value": "3416"
},
{
"label": "池州市",
"value": "3417"
},
{
"label": "宣城市",
"value": "3418"
}
],
[{
"label": "福州市",
"value": "3501"
},
{
"label": "厦门市",
"value": "3502"
},
{
"label": "莆田市",
"value": "3503"
},
{
"label": "三明市",
"value": "3504"
},
{
"label": "泉州市",
"value": "3505"
},
{
"label": "漳州市",
"value": "3506"
},
{
"label": "南平市",
"value": "3507"
},
{
"label": "龙岩市",
"value": "3508"
},
{
"label": "宁德市",
"value": "3509"
}
],
[{
"label": "南昌市",
"value": "3601"
},
{
"label": "景德镇市",
"value": "3602"
},
{
"label": "萍乡市",
"value": "3603"
},
{
"label": "九江市",
"value": "3604"
},
{
"label": "新余市",
"value": "3605"
},
{
"label": "鹰潭市",
"value": "3606"
},
{
"label": "赣州市",
"value": "3607"
},
{
"label": "吉安市",
"value": "3608"
},
{
"label": "宜春市",
"value": "3609"
},
{
"label": "抚州市",
"value": "3610"
},
{
"label": "上饶市",
"value": "3611"
}
],
[{
"label": "济南市",
"value": "3701"
},
{
"label": "青岛市",
"value": "3702"
},
{
"label": "淄博市",
"value": "3703"
},
{
"label": "枣庄市",
"value": "3704"
},
{
"label": "东营市",
"value": "3705"
},
{
"label": "烟台市",
"value": "3706"
},
{
"label": "潍坊市",
"value": "3707"
},
{
"label": "济宁市",
"value": "3708"
},
{
"label": "泰安市",
"value": "3709"
},
{
"label": "威海市",
"value": "3710"
},
{
"label": "日照市",
"value": "3711"
},
{
"label": "莱芜市",
"value": "3712"
},
{
"label": "临沂市",
"value": "3713"
},
{
"label": "德州市",
"value": "3714"
},
{
"label": "聊城市",
"value": "3715"
},
{
"label": "滨州市",
"value": "3716"
},
{
"label": "菏泽市",
"value": "3717"
}
],
[{
"label": "郑州市",
"value": "4101"
},
{
"label": "开封市",
"value": "4102"
},
{
"label": "洛阳市",
"value": "4103"
},
{
"label": "平顶山市",
"value": "4104"
},
{
"label": "安阳市",
"value": "4105"
},
{
"label": "鹤壁市",
"value": "4106"
},
{
"label": "新乡市",
"value": "4107"
},
{
"label": "焦作市",
"value": "4108"
},
{
"label": "濮阳市",
"value": "4109"
},
{
"label": "许昌市",
"value": "4110"
},
{
"label": "漯河市",
"value": "4111"
},
{
"label": "三门峡市",
"value": "4112"
},
{
"label": "南阳市",
"value": "4113"
},
{
"label": "商丘市",
"value": "4114"
},
{
"label": "信阳市",
"value": "4115"
},
{
"label": "周口市",
"value": "4116"
},
{
"label": "驻马店市",
"value": "4117"
},
{
"label": "省直辖县级行政区划",
"value": "4190"
}
],
[{
"label": "武汉市",
"value": "4201"
},
{
"label": "黄石市",
"value": "4202"
},
{
"label": "十堰市",
"value": "4203"
},
{
"label": "宜昌市",
"value": "4205"
},
{
"label": "襄阳市",
"value": "4206"
},
{
"label": "鄂州市",
"value": "4207"
},
{
"label": "荆门市",
"value": "4208"
},
{
"label": "孝感市",
"value": "4209"
},
{
"label": "荆州市",
"value": "4210"
},
{
"label": "黄冈市",
"value": "4211"
},
{
"label": "咸宁市",
"value": "4212"
},
{
"label": "随州市",
"value": "4213"
},
{
"label": "恩施土家族苗族自治州",
"value": "4228"
},
{
"label": "省直辖县级行政区划",
"value": "4290"
}
],
[{
"label": "长沙市",
"value": "4301"
},
{
"label": "株洲市",
"value": "4302"
},
{
"label": "湘潭市",
"value": "4303"
},
{
"label": "衡阳市",
"value": "4304"
},
{
"label": "邵阳市",
"value": "4305"
},
{
"label": "岳阳市",
"value": "4306"
},
{
"label": "常德市",
"value": "4307"
},
{
"label": "张家界市",
"value": "4308"
},
{
"label": "益阳市",
"value": "4309"
},
{
"label": "郴州市",
"value": "4310"
},
{
"label": "永州市",
"value": "4311"
},
{
"label": "怀化市",
"value": "4312"
},
{
"label": "娄底市",
"value": "4313"
},
{
"label": "湘西土家族苗族自治州",
"value": "4331"
}
],
[{
"label": "广州市",
"value": "4401"
},
{
"label": "韶关市",
"value": "4402"
},
{
"label": "深圳市",
"value": "4403"
},
{
"label": "珠海市",
"value": "4404"
},
{
"label": "汕头市",
"value": "4405"
},
{
"label": "佛山市",
"value": "4406"
},
{
"label": "江门市",
"value": "4407"
},
{
"label": "湛江市",
"value": "4408"
},
{
"label": "茂名市",
"value": "4409"
},
{
"label": "肇庆市",
"value": "4412"
},
{
"label": "惠州市",
"value": "4413"
},
{
"label": "梅州市",
"value": "4414"
},
{
"label": "汕尾市",
"value": "4415"
},
{
"label": "河源市",
"value": "4416"
},
{
"label": "阳江市",
"value": "4417"
},
{
"label": "清远市",
"value": "4418"
},
{
"label": "东莞市",
"value": "4419"
},
{
"label": "中山市",
"value": "4420"
},
{
"label": "潮州市",
"value": "4451"
},
{
"label": "揭阳市",
"value": "4452"
},
{
"label": "云浮市",
"value": "4453"
}
],
[{
"label": "南宁市",
"value": "4501"
},
{
"label": "柳州市",
"value": "4502"
},
{
"label": "桂林市",
"value": "4503"
},
{
"label": "梧州市",
"value": "4504"
},
{
"label": "北海市",
"value": "4505"
},
{
"label": "防城港市",
"value": "4506"
},
{
"label": "钦州市",
"value": "4507"
},
{
"label": "贵港市",
"value": "4508"
},
{
"label": "玉林市",
"value": "4509"
},
{
"label": "百色市",
"value": "4510"
},
{
"label": "贺州市",
"value": "4511"
},
{
"label": "河池市",
"value": "4512"
},
{
"label": "来宾市",
"value": "4513"
},
{
"label": "崇左市",
"value": "4514"
}
],
[{
"label": "海口市",
"value": "4601"
},
{
"label": "三亚市",
"value": "4602"
},
{
"label": "三沙市",
"value": "4603"
},
{
"label": "儋州市",
"value": "4604"
},
{
"label": "省直辖县级行政区划",
"value": "4690"
}
],
[{
"label": "市辖区",
"value": "5001"
},
{
"label": "县",
"value": "5002"
}
],
[{
"label": "成都市",
"value": "5101"
},
{
"label": "自贡市",
"value": "5103"
},
{
"label": "攀枝花市",
"value": "5104"
},
{
"label": "泸州市",
"value": "5105"
},
{
"label": "德阳市",
"value": "5106"
},
{
"label": "绵阳市",
"value": "5107"
},
{
"label": "广元市",
"value": "5108"
},
{
"label": "遂宁市",
"value": "5109"
},
{
"label": "内江市",
"value": "5110"
},
{
"label": "乐山市",
"value": "5111"
},
{
"label": "南充市",
"value": "5113"
},
{
"label": "眉山市",
"value": "5114"
},
{
"label": "宜宾市",
"value": "5115"
},
{
"label": "广安市",
"value": "5116"
},
{
"label": "达州市",
"value": "5117"
},
{
"label": "雅安市",
"value": "5118"
},
{
"label": "巴中市",
"value": "5119"
},
{
"label": "资阳市",
"value": "5120"
},
{
"label": "阿坝藏族羌族自治州",
"value": "5132"
},
{
"label": "甘孜藏族自治州",
"value": "5133"
},
{
"label": "凉山彝族自治州",
"value": "5134"
}
],
[{
"label": "贵阳市",
"value": "5201"
},
{
"label": "六盘水市",
"value": "5202"
},
{
"label": "遵义市",
"value": "5203"
},
{
"label": "安顺市",
"value": "5204"
},
{
"label": "毕节市",
"value": "5205"
},
{
"label": "铜仁市",
"value": "5206"
},
{
"label": "黔西南布依族苗族自治州",
"value": "5223"
},
{
"label": "黔东南苗族侗族自治州",
"value": "5226"
},
{
"label": "黔南布依族苗族自治州",
"value": "5227"
}
],
[{
"label": "昆明市",
"value": "5301"
},
{
"label": "曲靖市",
"value": "5303"
},
{
"label": "玉溪市",
"value": "5304"
},
{
"label": "保山市",
"value": "5305"
},
{
"label": "昭通市",
"value": "5306"
},
{
"label": "丽江市",
"value": "5307"
},
{
"label": "普洱市",
"value": "5308"
},
{
"label": "临沧市",
"value": "5309"
},
{
"label": "楚雄彝族自治州",
"value": "5323"
},
{
"label": "红河哈尼族彝族自治州",
"value": "5325"
},
{
"label": "文山壮族苗族自治州",
"value": "5326"
},
{
"label": "西双版纳傣族自治州",
"value": "5328"
},
{
"label": "大理白族自治州",
"value": "5329"
},
{
"label": "德宏傣族景颇族自治州",
"value": "5331"
},
{
"label": "怒江傈僳族自治州",
"value": "5333"
},
{
"label": "迪庆藏族自治州",
"value": "5334"
}
],
[{
"label": "拉萨市",
"value": "5401"
},
{
"label": "日喀则市",
"value": "5402"
},
{
"label": "昌都市",
"value": "5403"
},
{
"label": "林芝市",
"value": "5404"
},
{
"label": "山南市",
"value": "5405"
},
{
"label": "那曲地区",
"value": "5424"
},
{
"label": "阿里地区",
"value": "5425"
}
],
[{
"label": "西安市",
"value": "6101"
},
{
"label": "铜川市",
"value": "6102"
},
{
"label": "宝鸡市",
"value": "6103"
},
{
"label": "咸阳市",
"value": "6104"
},
{
"label": "渭南市",
"value": "6105"
},
{
"label": "延安市",
"value": "6106"
},
{
"label": "汉中市",
"value": "6107"
},
{
"label": "榆林市",
"value": "6108"
},
{
"label": "安康市",
"value": "6109"
},
{
"label": "商洛市",
"value": "6110"
}
],
[{
"label": "兰州市",
"value": "6201"
},
{
"label": "嘉峪关市",
"value": "6202"
},
{
"label": "金昌市",
"value": "6203"
},
{
"label": "白银市",
"value": "6204"
},
{
"label": "天水市",
"value": "6205"
},
{
"label": "武威市",
"value": "6206"
},
{
"label": "张掖市",
"value": "6207"
},
{
"label": "平凉市",
"value": "6208"
},
{
"label": "酒泉市",
"value": "6209"
},
{
"label": "庆阳市",
"value": "6210"
},
{
"label": "定西市",
"value": "6211"
},
{
"label": "陇南市",
"value": "6212"
},
{
"label": "临夏回族自治州",
"value": "6229"
},
{
"label": "甘南藏族自治州",
"value": "6230"
}
],
[{
"label": "西宁市",
"value": "6301"
},
{
"label": "海东市",
"value": "6302"
},
{
"label": "海北藏族自治州",
"value": "6322"
},
{
"label": "黄南藏族自治州",
"value": "6323"
},
{
"label": "海南藏族自治州",
"value": "6325"
},
{
"label": "果洛藏族自治州",
"value": "6326"
},
{
"label": "玉树藏族自治州",
"value": "6327"
},
{
"label": "海西蒙古族藏族自治州",
"value": "6328"
}
],
[{
"label": "银川市",
"value": "6401"
},
{
"label": "石嘴山市",
"value": "6402"
},
{
"label": "吴忠市",
"value": "6403"
},
{
"label": "固原市",
"value": "6404"
},
{
"label": "中卫市",
"value": "6405"
}
],
[{
"label": "乌鲁木齐市",
"value": "6501"
},
{
"label": "克拉玛依市",
"value": "6502"
},
{
"label": "吐鲁番市",
"value": "6504"
},
{
"label": "哈密市",
"value": "6505"
},
{
"label": "昌吉回族自治州",
"value": "6523"
},
{
"label": "博尔塔拉蒙古自治州",
"value": "6527"
},
{
"label": "巴音郭楞蒙古自治州",
"value": "6528"
},
{
"label": "阿克苏地区",
"value": "6529"
},
{
"label": "克孜勒苏柯尔克孜自治州",
"value": "6530"
},
{
"label": "喀什地区",
"value": "6531"
},
{
"label": "和田地区",
"value": "6532"
},
{
"label": "伊犁哈萨克自治州",
"value": "6540"
},
{
"label": "塔城地区",
"value": "6542"
},
{
"label": "阿勒泰地区",
"value": "6543"
},
{
"label": "自治区直辖县级行政区划",
"value": "6590"
}
],
[{
"label": "台北",
"value": "6601"
},
{
"label": "高雄",
"value": "6602"
},
{
"label": "基隆",
"value": "6603"
},
{
"label": "台中",
"value": "6604"
},
{
"label": "台南",
"value": "6605"
},
{
"label": "新竹",
"value": "6606"
},
{
"label": "嘉义",
"value": "6607"
},
{
"label": "宜兰",
"value": "6608"
},
{
"label": "桃园",
"value": "6609"
},
{
"label": "苗栗",
"value": "6610"
},
{
"label": "彰化",
"value": "6611"
},
{
"label": "南投",
"value": "6612"
},
{
"label": "云林",
"value": "6613"
},
{
"label": "屏东",
"value": "6614"
},
{
"label": "台东",
"value": "6615"
},
{
"label": "花莲",
"value": "6616"
},
{
"label": "澎湖",
"value": "6617"
}
],
[{
"label": "香港岛",
"value": "6701"
},
{
"label": "九龙",
"value": "6702"
},
{
"label": "新界",
"value": "6703"
}
],
[{
"label": "澳门半岛",
"value": "6801"
},
{
"label": "氹仔岛",
"value": "6802"
},
{
"label": "路环岛",
"value": "6803"
},
{
"label": "路氹城",
"value": "6804"
}
]
]
export default cityData;
/* eslint-disable */
var provinceData = [{
"label": "北京市",
"value": "11"
},
{
"label": "天津市",
"value": "12"
},
{
"label": "河北省",
"value": "13"
},
{
"label": "山西省",
"value": "14"
},
{
"label": "内蒙古自治区",
"value": "15"
},
{
"label": "辽宁省",
"value": "21"
},
{
"label": "吉林省",
"value": "22"
},
{
"label": "黑龙江省",
"value": "23"
},
{
"label": "上海市",
"value": "31"
},
{
"label": "江苏省",
"value": "32"
},
{
"label": "浙江省",
"value": "33"
},
{
"label": "安徽省",
"value": "34"
},
{
"label": "福建省",
"value": "35"
},
{
"label": "江西省",
"value": "36"
},
{
"label": "山东省",
"value": "37"
},
{
"label": "河南省",
"value": "41"
},
{
"label": "湖北省",
"value": "42"
},
{
"label": "湖南省",
"value": "43"
},
{
"label": "广东省",
"value": "44"
},
{
"label": "广西壮族自治区",
"value": "45"
},
{
"label": "海南省",
"value": "46"
},
{
"label": "重庆市",
"value": "50"
},
{
"label": "四川省",
"value": "51"
},
{
"label": "贵州省",
"value": "52"
},
{
"label": "云南省",
"value": "53"
},
{
"label": "西藏自治区",
"value": "54"
},
{
"label": "陕西省",
"value": "61"
},
{
"label": "甘肃省",
"value": "62"
},
{
"label": "青海省",
"value": "63"
},
{
"label": "宁夏回族自治区",
"value": "64"
},
{
"label": "新疆维吾尔自治区",
"value": "65"
},
{
"label": "台湾",
"value": "66"
},
{
"label": "香港",
"value": "67"
},
{
"label": "澳门",
"value": "68"
}
]
export default provinceData;
<template>
<div class="mpvue-picker">
<div :class="{'pickerMask':showPicker}" @click="maskClick" catchtouchmove="true"></div>
<div class="mpvue-picker-content " :class="{'mpvue-picker-view-show':showPicker}">
<div class="mpvue-picker__hd" catchtouchmove="true">
<div class="mpvue-picker__action" @click="pickerCancel">取消</div>
<div class="mpvue-picker__action" :style="{color:themeColor}" @click="pickerConfirm">确定</div>
</div>
<picker-view indicator-style="height: 40px;" class="mpvue-picker-view" :value="pickerValue" @change="pickerChange">
<block>
<picker-view-column>
<div class="picker-item" v-for="(item,index) in provinceDataList" :key="index">{{item.label}}</div>
</picker-view-column>
<picker-view-column>
<div class="picker-item" v-for="(item,index) in cityDataList" :key="index">{{item.label}}</div>
</picker-view-column>
<picker-view-column>
<div class="picker-item" v-for="(item,index) in areaDataList" :key="index">{{item.label}}</div>
</picker-view-column>
</block>
</picker-view>
</div>
</div>
</template>
<script>
import provinceData from './city-data/province.js';
import cityData from './city-data/city.js';
import areaData from './city-data/area.js';
export default {
data() {
return {
pickerValue: [0, 0, 0],
provinceDataList: [],
cityDataList: [],
areaDataList: [],
/*是否显示控件 */
showPicker: false,
};
},
created() {
this.init()
},
props: {
/* 默认值 */
pickerValueDefault: {
type: Array,
default(){
return [0, 0, 0]
}
},
/* 主题色 */
themeColor: String
},
watch:{
pickerValueDefault(){
this.init();
}
},
methods: {
init() {
this.handPickValueDefault(); // 对 pickerValueDefault 做兼容处理
this.provinceDataList = provinceData;
this.cityDataList = cityData[this.pickerValueDefault[0]];
this.areaDataList = areaData[this.pickerValueDefault[0]][this.pickerValueDefault[1]];
this.pickerValue = this.pickerValueDefault;
},
show() {
setTimeout(() => {
this.showPicker = true;
}, 0);
},
maskClick() {
this.pickerCancel();
},
pickerCancel() {
this.showPicker = false;
this._$emit('onCancel');
},
pickerConfirm(e) {
this.showPicker = false;
this._$emit('onConfirm');
},
showPickerView() {
this.showPicker = true;
},
handPickValueDefault() {
if (this.pickerValueDefault !== [0, 0, 0]) {
if (this.pickerValueDefault[0] > provinceData.length - 1) {
this.pickerValueDefault[0] = provinceData.length - 1;
}
if (this.pickerValueDefault[1] > cityData[this.pickerValueDefault[0]].length - 1) {
this.pickerValueDefault[1] = cityData[this.pickerValueDefault[0]].length - 1;
}
if (this.pickerValueDefault[2] > areaData[this.pickerValueDefault[0]][this.pickerValueDefault[1]].length - 1) {
this.pickerValueDefault[2] = areaData[this.pickerValueDefault[0]][this.pickerValueDefault[1]].length - 1;
}
}
},
pickerChange(e) {
let changePickerValue = e.mp.detail.value;
if (this.pickerValue[0] !== changePickerValue[0]) {
// 第一级发生滚动
this.cityDataList = cityData[changePickerValue[0]];
this.areaDataList = areaData[changePickerValue[0]][0];
changePickerValue[1] = 0;
changePickerValue[2] = 0;
} else if (this.pickerValue[1] !== changePickerValue[1]) {
// 第二级滚动
this.areaDataList =
areaData[changePickerValue[0]][changePickerValue[1]];
changePickerValue[2] = 0;
}
this.pickerValue = changePickerValue;
this._$emit('onChange');
},
_$emit(emitName) {
let pickObj = {
label: this._getLabel(),
value: this.pickerValue,
cityCode: this._getCityCode()
};
this.$emit(emitName, pickObj);
},
_getLabel() {
let pcikerLabel =
this.provinceDataList[this.pickerValue[0]].label +
'-' +
this.cityDataList[this.pickerValue[1]].label +
'-' +
this.areaDataList[this.pickerValue[2]].label;
return pcikerLabel;
},
_getCityCode() {
return this.areaDataList[this.pickerValue[2]].value;
}
}
};
</script>
<style>
.pickerMask {
position: fixed;
z-index: 1000;
top: 0;
right: 0;
left: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.6);
}
.mpvue-picker-content {
position: fixed;
bottom: 0;
left: 0;
width: 100%;
transition: all 0.3s ease;
transform: translateY(100%);
z-index: 3000;
}
.mpvue-picker-view-show {
transform: translateY(0);
}
.mpvue-picker__hd {
display: flex;
padding: 9px 15px;
background-color: #fff;
position: relative;
text-align: center;
font-size: 17px;
}
.mpvue-picker__hd:after {
content: ' ';
position: absolute;
left: 0;
bottom: 0;
right: 0;
height: 1px;
border-bottom: 1px solid #e5e5e5;
color: #e5e5e5;
transform-origin: 0 100%;
transform: scaleY(0.5);
}
.mpvue-picker__action {
display: block;
flex: 1;
color: #1aad19;
}
.mpvue-picker__action:first-child {
text-align: left;
color: #888;
}
.mpvue-picker__action:last-child {
text-align: right;
}
.picker-item {
text-align: center;
line-height: 40px;
text-overflow: ellipsis;
white-space: nowrap;
font-size: 16px;
}
.mpvue-picker-view {
position: relative;
bottom: 0;
left: 0;
width: 100%;
height: 238px;
background-color: rgba(255, 255, 255, 1);
}
</style>
...@@ -28,13 +28,13 @@ ...@@ -28,13 +28,13 @@
"navigationStyle": "custom" //禁用uni-app默认的头部导航 "navigationStyle": "custom" //禁用uni-app默认的头部导航
} }
}, },
{ {
"path": "pages/index/index_order", "path": "pages/index/index_order",
"style": { "style": {
"navigationBarTitleText": "", "navigationBarTitleText": "",
"navigationStyle": "custom" //禁用uni-app默认的头部导航 "navigationStyle": "custom" //禁用uni-app默认的头部导航
} }
} }
], ],
"globalStyle": { "globalStyle": {
"navigationBarTextStyle": "#ffffff", "navigationBarTextStyle": "#ffffff",
......
<template>
<!-- 相框 -->
<view class="content" style="width: 100%; height: 100%; position: relative;">
<refresh @interrupt="interrupt" @pushToInterrupt="pushToInterrupt" @finished="finished" @scrolltolower="g" :scrollHeight="windowHeight">
<template slot="top">
<view style="color: #FFFFFF;position: absolute; top: 0;width: 100%; text-align: center;"
:style="'height:' + 40 + 'px; line-height:' + 40 + 'px;'">{{tip}}</view>
</template>
<template slot="content">
<view style="width:100%; margin: auto; height:calc(90% - 160upx); overflow: hidden;">
<view style="float: left; width: calc(100% / 3); margin: 40upx 0 0;" v-for="(item, index) in datalist" :key="index" @click="Worksdetail(item)">
<view style="width: 148.5upx; height: 204.6upx;margin: auto; position: relative;">
<view v-if="item.name == '清除'">
<image style="width: 148.5upx; height: 148.5upx;margin: auto;"
src="../../../static/icon/diy_icon_remove_normal.png" mode=""></image>
</view>
<view v-else :style="{'mask-image':' url(' + item.image + '?x-oss-process=image/resize,lfit,w_112)','-webkit-mask-image':' url(' + item.image + '?x-oss-process=image/resize,lfit,w_112)',}"
style="width: 100%; height: 100%; overflow: hidden; mask-size: 80%; -webkit-mask-size: 80%;mask-repeat:no-repeat;-webkit-mask-repeat: no-repeat;">
<image style="width: 148.5upx; height: 204.6upx; margin: auto;" :src="item.compose_image + '?x-oss-process=image/resize,lfit,w_112'"
mode="aspectFill"></image>
</view>
<!-- <view v-if="Number(item.sales_price) > 0" style="min-width: 39upx; position: absolute; top: 0; right: 0;
background: #EF5354; border-radius: 8upx 0upx 11upx 8upx; text-align: center; padding: 2upx 8upx;
font-size: 18upx; font-weight: bold; color: #FFFFFF;">{{item.sales_price}}</view> -->
</view>
</view>
<view class="align-center" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);"
v-if="datalist.length == 0">
<span class="iconfont icon-wushuju" style="font-size: 100upx; text-align: center; color: #B2B2B2;"></span>
<view style="color: #B2B2B2; text-align: center; line-height: 50upx;font-size: 24upx;">啊嘞,还是一片荒漠</view>
</view>
</view>
</template>
<template slot="bottom">
<view>
没有更多数据了
</view>
</template>
</refresh>
</view>
</template>
<script>
import homeservice from '@/service/homeservice.js';
import refresh from '@/components/xing-refresh/xing-refresh.vue';
export default {
props: {
windowHeight: {
type: Number,
default: 563
}
},
components: {
refresh
},
data() {
return {
queryPage: {
s: 'Material.getShapeList',
page: 1,
per_page: 50,
shape_category_id: null, //分类
goods_category_id:null,//星形接口列表增加,产品分类参数
total: 0,
machine_id: null, //设备id
},
datalist: [], //作品、贴图列表
Material_category:[] ,//贴图分类
currentId: 0,/* 控制被选中 */
currentIndex:null,/* 控制位置 */
tip: ''
};
},
mounted() {
// this.getShapeList()
},
/**
* 组件的公有方法列表
*/
methods: {
Worksdetail(item){
console.log(item)
this.$emit('Worksdetail',item)
},
g(e){
uni.showLoading({
title: '正在加载中...'
})
homeservice.WorksList(this.queryPage).then(result => {
this.datalist = this.datalist.concat(result.data)
this.queryPage.page += 1;
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();
});
},
interrupt(e) {
this.tip = '刷新中'
//模拟发送请求
setTimeout(e, 500);
this.tip = '刷新成功';
this.queryPage.page = 1
this.getShapeList()
},
pushToInterrupt() {
this.tip = '释放刷新';
},
finished() {
this.tip = '下拉刷新';
},
open(queryPage) {
this.queryPage = {
page:queryPage.page,
per_page:queryPage.per_page,
s:queryPage.s,
shape_category_id:queryPage.shape_category_id,
goods_category_id:queryPage.goods_category_id,
machine_id: queryPage.machine_id, //设备id
}
this.getShapeList()
},
// 模板形状列表
getShapeList(){
console.log(this.windowHeight)
this.datalist = []
uni.showLoading({title: '正在加载中...'})
homeservice.WorksList(this.queryPage).then(result => {
this.datalist = result.data
// this.datalist.unshift(
// {
// compose_image: "../../static/icon/diy_icon_remove_normal.png",
// id: null,
// image: "",
// name: "清除",
// sales_price: null,
// shape_category_id: null,
// }
// )
this.queryPage.page += 1;
uni.hideLoading();
this.tip = '';
}).catch(err => {
uni.showToast({title: err.msg,icon: 'none'})
uni.hideLoading();
});
}
}
}
</script>
<style lang="scss">
</style>
<template>
<view>
<view style="width:630upx; margin:auto; display: flex; flex-direction: column;">
<view style="width:100%; min-height: 741upx; background: #282932; border-radius: 10upx; position: relative;">
<view @click="cancel()" style="position: absolute; top: 0upx; right: 0upx;">
<image src="../../static/mine/icon_guanbi.png" mode=""
style="height: 23upx; width: 23upx; padding: 21upx 33upx;"></image>
</view>
<!-- 品牌 -->
<view v-if="sizelist.length == 0">
<view style="margin:46upx auto 52upx;font-size: 36upx; color: #FFFFFF; text-align: center;">
请选择定制手机壳品牌
</view>
<!-- 无数据 -->
<view v-if="catrgoryList.length == null" style="text-align: center; color: #BEBEBE;">该设备没有库存</view>
<scroll-view scroll-y scroll-with-animation style="box-sizing: border-box;white-space: nowrap;
width: 288upx; margin:30upx auto; height: 600upx; overflow: hidden;">
<view v-for="(item,index) in catrgoryList" :key="index" @click="brandclick(item)"
:class="[brandtext == item.title ? 'brandactive':'' ]"
style="margin-bottom: 10upx; display: flex;align-items: center;
background: #373743;border-radius: 10upx;height: 90upx; line-height: 90upx; justify-content: center; overflow: hidden;">
<view style="width: 45%;">
<image :src="item.icon" mode="aspectFit" style="width: 30%; height: 60upx; margin-right: 26upx; float: right;"></image>
</view>
<view style="width: 55%;">
<view style="text-align: left; color: #FFFFFF; font-size: 28upx;" >{{item.title}} </view>
</view>
</view>
</scroll-view>
</view>
<!-- 机型 -->
<view v-if="sizelist.length > 0">
<view style="margin:46upx auto 52upx;font-size: 36upx; color: #FFFFFF; text-align: center;">
请选择手机壳型号
</view>
<scroll-view scroll-y scroll-with-animation style="box-sizing: border-box;white-space: nowrap;
width: calc(100% - 60upx); margin:30upx auto; height: 500upx; overflow: hidden;">
<view v-for="(item,index) in sizelist" :key="index" style="float: left; margin-bottom: 20upx;">
<view class="model" :class="[modeltext == item.title ? 'modelactive':'' ]" @click="modelclick(item)">{{item.title}} </view>
</view>
</scroll-view>
<view style="width:100%; display: flex; height: 100upx; align-items: center;border-radius:0 0 10upx 10upx; position: relative;z-index: 3; margin-bottom: 20upx;">
<view @click.stop="cancel_center()" style="width:50%;">
<view class="canbutton">返回</view>
</view>
<view @click.stop="changeChannel()" style="width:50%;">
<view class="experiencebutton" style="margin: auto;">
确定
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import homeservice from '@/service/homeservice.js';
export default {
props: {
// sn: {
// type: Number
// }
},
components: {
},
data() {
return {
queryPage: {
s: 'Material.list',
},
long: null,
catrgoryList:null,
sizelist: [],
brandtext:null,
modeltext:null,
goods_id:null,
dict_id:null,
machine_id:null,
key:null,//1直营配送站 2 万能通用版 3色彩自助站
goods_id_e:null,
sn:null
};
},
mounted() {
},
/**
* 组件的公有方法列表
*/
methods: {
cancel(){
this.$emit('brandscenterclose')
},
open(options) {
this.catrgoryList = this.$base.productfind
//console.log(options)
if (options.machine_id != 'null') {
this.machine_id = options.machine_id;
this.key = options.key;
this.goods_id = options.goods_id;
this.sn = options.sn;
}
// 查询手机壳品牌
this.Customize_now()
},
brandclick(e){
this.brandtext = e.title
this.sizelist = e.sub
},
modelclick(e){
this.modeltext = e.title
this.goods_id = e.id
this.dict_id = e.dict_id
this.goods_id_e = e
},
// 手机壳品牌
Customize_now(){
homeservice.queryList({
s: 'product.find',
machine_id:this.machine_id,
key:this.key
}).then(result => {
this.catrgoryList = result[0].brand;
this.$base.productfind = result[0].brand
console.log(result)
}).catch(err => {
uni.showToast({title: err.msg,icon: 'none'});
});
this.sizelist = []
this.brandtext = null
this.modeltext = null
this.goods_id = null
this.dict_id = null
},
cancel_center(){
this.modeltext = null
this.goods_id = null
this.dict_id = null
this.sizelist = []
},
changeChannel(){
// 释放锁定库存
// homeservice.queryList({
// // s: 'Order.lockAttrStock',
// s: 'Order.newLockAttrStock',
// machine_id:this.machine_id, //设备id
// goods_id:null, //产品
// dict_id:null,//产品属性id
// old_sn:null,
// onlyClear:1
// }).then(result => {
// }).catch(err => {
// uni.showToast({title: err.msg || err.data,icon: 'none'});
// });
var loading = false
if (loading) return;
if (this.goods_id == null) {
uni.showToast({title: '请选择手机壳型号!',icon: 'none'});
return false;
}
loading = true
if (loading) {
// 有设备判断设备是否正常
if(this.machine_id != undefined && this.machine_id != null && this.machine_id != ''){
if(this.key == 2){
this.$emit('goodsbrands',{
sn:this.sn,
goods_id_e:this.goods_id_e
})
}else{
// 锁定库存
homeservice.queryList({
//s: 'Order.lockAttrStock',
s: 'Order.newLockAttrStock',
machine_id:this.machine_id, //设备id
goods_id:this.goods_id, //产品
dict_id:this.dict_id,//产品属性id
old_sn:this.sn
}).then(result => {
this.$base.lockInventory = result //锁库存储存信息
//console.log(result.sn)
this.sn = result.sn
uni.setStorage({
key: 'setgood',
data: {
sn:this.sn,
brandtext:this.brandtext,
modeltext: this.modeltext,
goods_id: this.goods_id
},
success: function () {
console.log('success');
}
});
this.$emit('goodsbrands',{
sn:this.sn,
goods_id_e:this.goods_id_e
})
}).catch(err => {
uni.showToast({title: err.msg || err.data,icon: 'none'});
});
}
}else{
this.$emit('goodsbrands',{
sn:this.sn,
goods_id_e:this.goods_id_e
})
}
}
}
},
onShow(options) {
},
}
</script>
<style lang="scss">
.experiencebutton{
width: 230upx; height: 70upx; line-height: 70upx; text-align: center; color: #FFFFFF;
margin:40upx auto 0; border-radius: 35upx; background: linear-gradient(to right,#834DC4,#1983D7);
font-size: 26upx;
}
.canbutton{
color: #FFFFFF;
font-size: 26upx;
width: 218upx;
height: 58upx;
line-height: 58upx;
border: 1px transparent solid;
border-radius: 30px;
position: relative;
margin: auto;
background: #292933;
text-align: center;
}
.canbutton:after{
content:'';
position: absolute;
top: -3px; bottom: -3px;
left: -3px; right: -3px;
background: linear-gradient(to right,#834DC4,#1983D7);
border-radius: 30px;
content: '';
z-index: -1;
}
// 品牌
.brandactive{
background: #141319 !important;
color: #FFFFFF !important;
}
// 型号
.model{
padding: 0upx 20upx;
height: 60upx;
line-height: 60upx;
background: #141319;
text-align: center;
color: #FFFFFF;
border-radius: 30upx;
margin-right: 20upx;
font-size: 28upx;
}
.modelactive{
color: #1A7DCD;
}
</style>
<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'" <view v-if="show && text != 'typeface'"
style="width: 100%; height: 95upx; display: flex; flex-direction: row; "> style="width: 100%; height: 95upx; display: flex; flex-direction: row; ">
...@@ -46,7 +45,7 @@ ...@@ -46,7 +45,7 @@
<text style="font-size: 20upx;"> <text style="font-size: 20upx;">
<text style="font-size: 32upx;" <text style="font-size: 32upx;"
:style="{'color': data.itemList[data.cidx].font_dict_id == item.id ? '#F56364 !important' : '#ffffff'}"> :style="{'color': data.itemList[data.cidx].font_dict_id == item.id ? '#F56364 !important' : '#ffffff'}">
色彩公园 {{replaceText(item.title)}}
</text> </text>
<text v-if="item.remark != ''"> <text v-if="item.remark != ''">
{{item.long == true ? '' : '(点击加载)'}} {{item.long == true ? '' : '(点击加载)'}}
...@@ -765,6 +764,15 @@ ...@@ -765,6 +764,15 @@
*/ */
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, '');
......
<template>
<view>
<view style="width:630upx; margin:auto; display: flex; flex-direction: column;">
<view style="width:100%; min-height: 741upx; background: #282932; border-radius: 10upx; position: relative;">
<view @click="cancel()" style="position: absolute; top: 0upx; right: 0upx;">
<image src="../../static/mine/icon_guanbi.png" mode=""
style="height: 23upx; width: 23upx; padding: 21upx 33upx;"></image>
</view>
<!-- 品牌 -->
<view v-if="sizelist.length == 0">
<view style="margin:46upx auto 52upx;font-size: 36upx; color: #FFFFFF; text-align: center;">
请选择定制手机壳品牌
</view>
<!-- 无数据 -->
<view v-if="catrgoryList.length == null" style="text-align: center; color: #BEBEBE;">该设备没有库存</view>
<scroll-view scroll-y scroll-with-animation style="box-sizing: border-box;white-space: nowrap;
width: 288upx; margin:30upx auto; height: 600upx; overflow: hidden;">
<view v-for="(item,index) in catrgoryList" :key="index" @click="brandclick(item)"
:class="[brandtext == item.title ? 'brandactive':'' ]"
style="margin-bottom: 10upx; display: flex;align-items: center;
background: #373743;border-radius: 10upx;height: 90upx; line-height: 90upx; justify-content: center; overflow: hidden;">
<view style="width: 45%;">
<image :src="item.icon" mode="aspectFit" style="width: 30%; height: 60upx; margin-right: 26upx; float: right;"></image>
</view>
<view style="width: 55%;">
<view style="text-align: left; color: #FFFFFF; font-size: 28upx;" >{{item.title}} </view>
</view>
</view>
</scroll-view>
</view>
<!-- 机型 -->
<!-- <view v-if="sizelist.length > 0">
<view style="margin:46upx auto 52upx;font-size: 36upx; color: #FFFFFF; text-align: center;">
请选择手机壳型号
</view>
<scroll-view scroll-y scroll-with-animation style="box-sizing: border-box;white-space: nowrap;
width: calc(100% - 60upx); margin:30upx auto; height: 500upx; overflow: hidden;">
<view v-for="(item,index) in sizelist" :key="index" style="float: left; margin-bottom: 20upx;">
<view class="model" :class="[modeltext == item.title ? 'modelactive':'' ]" @click="modelclick(item)">{{item.title}} </view>
</view>
</scroll-view>
<view style="width:100%; display: flex; height: 100upx; align-items: center;border-radius:0 0 10upx 10upx; position: relative;z-index: 3; margin-bottom: 20upx;">
<view @click.stop="cancel_center()" style="width:50%;">
<view class="canbutton">返回</view>
</view>
<view @click.stop="changeChannel()" style="width:50%;">
<view class="experiencebutton" style="margin: auto;">
确定
</view>
</view>
</view>
</view> -->
</view>
</view>
</view>
</template>
<script>
import homeservice from '@/service/homeservice.js';
export default {
props: {
},
components: {
},
data() {
return {
queryPage: {
s: 'Material.list',
},
long: null,
catrgoryList:null,
sizelist: [],
brandtext:null,
modeltext:null,
goods_id:null,
dict_id:null,
key:null,//1直营配送站 2 万能通用版 3色彩自助站
machine_id:null,
goods_id_e:null,
};
},
mounted() {
},
/**
* 组件的公有方法列表
*/
methods: {
cancel(){
this.$emit('brandscenterclose')
},
open(options) {
this.catrgoryList = this.$base.productfind
console.log(options)
if (options.machine_id != 'null') {
this.machine_id = options.machine_id;
this.goods_id = options.goods_id;
this.Customize_now()// 随机壁纸
}
},
brandclick(e){
this.brandtext = e.title
this.sizelist = e.sub
},
//随机壁纸
Customize_now(){
homeservice.queryList({
s: 'Material.randomMaterial',
machine_id:this.machine_id,
goods_id:this.goods_id
}).then(result => {
}).catch(err => {
uni.showToast({title: err.msg,icon: 'none'});
});
//查询颜色列表
homeservice.queryList({
s: 'Material.colorList',
page:1,
per_page:20,
}).then(result => {
console.log(result)
}).catch(err => {
uni.showToast({title: err.msg,icon: 'none'});
});
//查询分类
homeservice.queryList({
s: 'Material.category',
machine_id:this.machine_id,
key:0
}).then(result => {
console.log(result)
}).catch(err => {
uni.showToast({title: err.msg,icon: 'none'});
});
//查询分类下系列
homeservice.queryList({
s: 'Material.seriesList',
category_id:33,
}).then(result => {
console.log(result)
}).catch(err => {
uni.showToast({title: err.msg,icon: 'none'});
});
//查询分类下面列表
homeservice.queryList({
s: 'Material.list',
machine_id:this.machine_id,//设备id
material_category_id:0, //一级分类
material_series_id:0,//二级分类
is_new:1,//最新
is_hot:1,//热门
is_recommend:1,//推荐
is_under:0, //贴图是否为背景图
partner_id:14,
goods_id:24, //商品id
page:1,//分页
per_page:20,//分页
}).then(result => {
console.log(result)
}).catch(err => {
uni.showToast({title: err.msg,icon: 'none'});
});
}
},
onShow(options) {
},
}
</script>
<style lang="scss">
.experiencebutton{
width: 230upx; height: 70upx; line-height: 70upx; text-align: center; color: #FFFFFF;
margin:40upx auto 0; border-radius: 35upx; background: linear-gradient(to right,#834DC4,#1983D7);
font-size: 26upx;
}
.canbutton{
color: #FFFFFF;
font-size: 26upx;
width: 218upx;
height: 58upx;
line-height: 58upx;
border: 1px transparent solid;
border-radius: 30px;
position: relative;
margin: auto;
background: #292933;
text-align: center;
}
.canbutton:after{
content:'';
position: absolute;
top: -3px; bottom: -3px;
left: -3px; right: -3px;
background: linear-gradient(to right,#834DC4,#1983D7);
border-radius: 30px;
content: '';
z-index: -1;
}
//品牌
.brandactive{
background: #141319 !important;
color: #FFFFFF !important;
}
//型号
.model{
padding: 0upx 20upx;
height: 60upx;
line-height: 60upx;
background: #141319;
text-align: center;
color: #FFFFFF;
border-radius: 30upx;
margin-right: 20upx;
font-size: 28upx;
}
.modelactive{
color: #1A7DCD;
}
</style>
...@@ -2,8 +2,7 @@ ...@@ -2,8 +2,7 @@
<view class="full-width full-height" style="background: #FFFFFF; "> <view class="full-width full-height" style="background: #FFFFFF; ">
<!-- 自定义头部 --> <!-- 自定义头部 -->
<myhead :worksid="works_id" :title="titlename" :color="'#131319'" :titleShow="true" :backShow="true" <myhead :worksid="works_id" :title="titlename" :color="'#131319'" :titleShow="true" :backShow="true" :background="'#fff'"></myhead>
:background="'#fff'"></myhead>
<!-- 登录弹框 --> <!-- 登录弹框 -->
<Signin ref="Signin"></Signin> <Signin ref="Signin"></Signin>
...@@ -199,16 +198,17 @@ ...@@ -199,16 +198,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 id="item-text" class="item-text" :style="{'font-weight': data.itemList[data.cidx].font_style , <view 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>
<!-- 上一步、下一步按钮 --> <!-- 上一步、下一步按钮 -->
...@@ -300,7 +300,28 @@ ...@@ -300,7 +300,28 @@
mode=""></image> mode=""></image>
<view class="tool_li_text">添加涂鸦</view> <view class="tool_li_text">添加涂鸦</view>
</view> </view>
<view class="tool_li" @click.stop="removedeleteItem" v-if="data.itemList.length > 0">
<view class="tool_li" @click="showAiChange()" style="height: 100upx;">
<image class="tool_li_img" style="width: 55upx; height: 45upx;"
src="../../static/icon_diy_ai.png" mode="aspectFit"></image>
<view class="tool_li_text":style="{color: font_color}">AI图像</view>
</view>
<view class="tool_li" @click="openAiMakePicture()" >
<image class="tool_li_img" style="width: 44upx; height: 43upx;"
src="../../static/icon_diy_draw_designs.png" mode=""></image>
<view class="tool_li_text":style="{color: font_color}">AI画图</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.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>
<view class="tool_li_text">移除图片</view> <view class="tool_li_text">移除图片</view>
...@@ -324,16 +345,7 @@ ...@@ -324,16 +345,7 @@
<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;"
...@@ -356,8 +368,7 @@ ...@@ -356,8 +368,7 @@
<!-- 预览 --> <!-- 预览 -->
<view v-if="showtwo"> <view v-if="showtwo">
<view <view style="position: fixed; z-index:999; width: 100%; height: 100%; background:rgba(0,0,0,0.6); top: 0;"
style="position: fixed; z-index:999; width: 100%; height: 100%; background:rgba(0,0,0,0.6); top: 0;"
@click.stop="showtwo = !showtwo"></view> @click.stop="showtwo = !showtwo"></view>
<view <view
style="position: fixed; top:calc((100% - 550upx) / 2); left:calc((100% - 600upx) / 2); z-index:1000; width: 600upx; min-height: 550upx; border-radius: 12upx;"> style="position: fixed; top:calc((100% - 550upx) / 2); left:calc((100% - 600upx) / 2); z-index:1000; width: 600upx; min-height: 550upx; border-radius: 12upx;">
...@@ -449,10 +460,9 @@ ...@@ -449,10 +460,9 @@
</scroll-view> </scroll-view>
</view> </view>
</view> </view>
<view <view style="position: absolute; top: 90upx; left: 120upx; height: 100%; width: calc(100% - 240upx);z-index: 999; overflow: hidden; background: #282932; ">
style="position: absolute; bottom: 0upx; left: 120upx; height: 100%; width: calc(100% - 240upx);z-index: 999; overflow: hidden; background: #282932; ">
<!-- 轮播图 --> <!-- 轮播图 -->
<view style="position: relative; width: calc(100% - 40upx); z-index: 99; margin:30upx auto; "> <view v-if=" Adlists != null && Adlists.length > 0 " style="position: relative; width: calc(100% - 40upx); z-index: 99; margin:30upx auto; ">
<swiper :autoplay="true" :interval="3000" :duration="1000" :indicator-dots="true" <swiper :autoplay="true" :interval="3000" :duration="1000" :indicator-dots="true"
:indicator-active-color="'#ffffff'" :indicator-active-color="'#ffffff'"
style="height: 150upx; width: 100%; border-radius: 10upx; overflow: hidden; margin:auto; margin-top:55upx;"> style="height: 150upx; width: 100%; border-radius: 10upx; overflow: hidden; margin:auto; margin-top:55upx;">
...@@ -561,10 +571,61 @@ ...@@ -561,10 +571,61 @@
<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: 20upx;">
<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="selectGoodSizeItem" @toCustomSize="toCustomSize"></switchGoods> <switchGoods ref="switchGoods" @selectGoodItem="selectGoodSizeItem" @toCustomSize="toCustomSize"></switchGoods>
<!--商品弹框 --> <!--商品弹框 -->
</view> </view>
</view> </view>
...@@ -578,7 +639,6 @@ ...@@ -578,7 +639,6 @@
import WxTouchEvent from "../../util/wx-touch-event"; import WxTouchEvent from "../../util/wx-touch-event";
import ProgressBar from '@/components/Progress-Bar/Progress-Bar.vue'; import ProgressBar from '@/components/Progress-Bar/Progress-Bar.vue';
import scrollList from './scrollView.vue'; import scrollList from './scrollView.vue';
import shapeScrollView from './shapeScrollView.vue';
import textsettings from './textsettings.vue'; // 文本 import textsettings from './textsettings.vue'; // 文本
import Signin from '../index/Signin.vue'; // 登录 import Signin from '../index/Signin.vue'; // 登录
import drag from './js/drag.js'; // 封装 import drag from './js/drag.js'; // 封装
...@@ -605,7 +665,6 @@ ...@@ -605,7 +665,6 @@
kpsImageCutter, kpsImageCutter,
ProgressBar, ProgressBar,
scrollList, scrollList,
shapeScrollView,
Signin, Signin,
textsettings, textsettings,
bgColor, bgColor,
...@@ -786,7 +845,12 @@ ...@@ -786,7 +845,12 @@
design_bgwidthrate: 1, //背景宽度比率 design_bgwidthrate: 1, //背景宽度比率
design_bgheightrate: 1, //背景高度比率 design_bgheightrate: 1, //背景高度比率
pixel_scale: 1, pixel_scale: 1,
history_bannerList: [] //历史作品banner history_bannerList: [] ,//历史作品banner
aiSearchText: "",//Ai搜索文字
aiStyle: "contemporary style",
activeRadio: '现代风', //存的是单选按钮选中的value值
radioGroup: ['现代风', '卡通风', '铅笔画风'],
upLoadImageUrl: "", //上传图片地址
}; };
}, },
...@@ -797,6 +861,234 @@ ...@@ -797,6 +861,234 @@
}, },
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();
},
//contemporary style:现代风
//cartoon style:卡通风
//pencil art:铅笔画风
//文字生成图片
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: 0, // 裁剪窗口x
image_left: 0, // 图片x
frame_top: 0, // 裁剪窗口y
image_top: 0, // 图片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;
this.$refs["showAiChange"].close();
},
showAiChangeClose() { showAiChangeClose() {
this.selectChangeType = 1; this.selectChangeType = 1;
...@@ -805,8 +1097,34 @@ ...@@ -805,8 +1097,34 @@
//显示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
});
}
//this.selectChangeType = 1;
//this.$refs["showAiChange"].open();
}, },
showAiChangeType(type) { showAiChangeType(type) {
...@@ -1215,16 +1533,24 @@ ...@@ -1215,16 +1533,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);
} }
}) })
}, },
...@@ -1244,16 +1570,24 @@ ...@@ -1244,16 +1570,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" &&
return wx.showToast({ formatImage != "jpg" &&
title: '只能上传.png、.jpg、.jpep 格式', formatImage != "jpeg" &&
icon: 'none', formatImage != "webp" &&
image: '', formatImage != "gif" &&
duration: 2000, formatImage != "bmp" &&
mask: true, formatImage != "tiff" &&
}) formatImage != "tif"
} ) {
this.uploadDIY(tempFilePaths, 0, 0, 0, tempFilePaths.length); return wx.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,formatImage);
} }
}) })
}, },
...@@ -1273,16 +1607,24 @@ ...@@ -1273,16 +1607,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);
} }
}) })
}, },
...@@ -1302,16 +1644,24 @@ ...@@ -1302,16 +1644,24 @@
var path = res.tempFiles[0].path; var path = res.tempFiles[0].path;
tempFilePaths[0] = path; tempFilePaths[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);
} }
}) })
}, },
...@@ -1335,9 +1685,9 @@ ...@@ -1335,9 +1685,9 @@
* successUp是成功上传的个数->0 * successUp是成功上传的个数->0
* failUp是上传失败的个数->0 * failUp是上传失败的个数->0
* i是文件路径数组的指标->0 * i是文件路径数组的指标->0
* length是文件路径数组的长度 * length是文件路径数组的长度
*/ */
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
...@@ -1360,7 +1710,7 @@ ...@@ -1360,7 +1710,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,
...@@ -1374,12 +1724,21 @@ ...@@ -1374,12 +1724,21 @@
} }
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
}); }); */
uni.getImageInfo({ /* uni.getImageInfo({
src: tempFilePaths[i], src: tempFilePaths[i],
success: (image) => { success: (image) => {
let width = 0 let width = 0
...@@ -1443,7 +1802,7 @@ ...@@ -1443,7 +1802,7 @@
_this.data.itemList = items; _this.data.itemList = items;
_this.saveSnapshot(); _this.saveSnapshot();
} }
}); }); */
} }
}, },
fail: function(err) { fail: function(err) {
...@@ -2513,12 +2872,16 @@ ...@@ -2513,12 +2872,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
...@@ -2532,6 +2895,8 @@ ...@@ -2532,6 +2895,8 @@
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;
var query = wx.createSelectorQuery(); var query = wx.createSelectorQuery();
...@@ -4297,7 +4662,7 @@ ...@@ -4297,7 +4662,7 @@
.tool_li { .tool_li {
width: 100%; width: 100%;
height: 115upx; height: 105upx;
.tool_li_img { .tool_li_img {
width: 53upx; width: 53upx;
......
...@@ -263,6 +263,7 @@ ...@@ -263,6 +263,7 @@
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>
<!-- 上一步、下一步按钮--> <!-- 上一步、下一步按钮-->
...@@ -387,9 +388,22 @@ ...@@ -387,9 +388,22 @@
<image class="tool_li_img" src="../../static/icon_tuya.png" mode=""></image> <image class="tool_li_img" src="../../static/icon_tuya.png" mode=""></image>
<view class="tool_li_text">添加涂鸦</view> <view class="tool_li_text">添加涂鸦</view>
</view> </view>
<view class="tool_li" @click="showAiChange()" style="height: 100upx;">
<image class="tool_li_img" style="width: 55upx; height: 45upx;"
src="../../static/icon_diy_ai.png" mode="aspectFit"></image>
<view class="tool_li_text">AI图像</view>
</view>
<view class="tool_li" @click="openAiMakePicture()" >
<image class="tool_li_img" style="width: 44upx; height: 43upx;"
src="../../static/icon_diy_draw_designs.png" mode=""></image>
<view class="tool_li_text">AI画图</view>
</view>
<view class="tool_li" @click.stop="removedeleteItem" <view class="tool_li" @click.stop="removedeleteItem"
v-if="data.itemList.length > 0 && data.itemList[0] != undefined " style="padding-top: 40upx;"> v-if="data.itemList.length > 0 && data.itemList[0] != undefined " style="padding-top: 10upx;">
<image class="tool_li_img" style="width: 50upx; height: 50upx;margin-top: 20upx;" <image class="tool_li_img" style="width: 50upx; height: 50upx;margin-top: 10upx;"
src="../../static/diy_icon_middle_default.png" mode=""></image> src="../../static/diy_icon_middle_default.png" mode=""></image>
<view class="tool_li_text">移除图层</view> <view class="tool_li_text">移除图层</view>
</view> </view>
...@@ -471,15 +485,18 @@ ...@@ -471,15 +485,18 @@
</view> </view>
</view> </view>
<!-- AI图像 --> <!-- AI图像 -->
<view v-if="data.itemList.length > 0"> <!-- <view v-if="data.itemList.length > 0">
<view class="tool_li" @click.stop='showAiChange()' <view class="tool_li" @click.stop='showAiChange()'
v-if="data.itemList[data.cidx].type == 0 && data.itemList[data.cidx].isUpLoadImage"> v-if="data.itemList[data.cidx].type == 0 && data.itemList[data.cidx].isUpLoadImage">
<image class="tool_li_img" style="width: 51upx; height: 38upx;" <image class="tool_li_img" style="width: 51upx; height: 38upx;"
src="../../static/img/icon_diy_ai.png" mode=""></image> src="../../static/img/icon_diy_ai.png" mode=""></image>
<view class="tool_li_text">图像</view> <view class="tool_li_text">图像</view>
</view> </view>
</view> </view> -->
<view class="tool_li" style="height: 90upx;" @click.stop='deleteItem'> <view class="tool_li" style="height: 90upx;" @click.stop='deleteItem'>
<image class="tool_li_img" style="width: 51upx; height: 51upx;" <image class="tool_li_img" style="width: 51upx; height: 51upx;"
...@@ -493,8 +510,6 @@ ...@@ -493,8 +510,6 @@
</view> </view>
</view> </view>
<!-- 生成作品 --> <!-- 生成作品 -->
...@@ -1012,6 +1027,58 @@ ...@@ -1012,6 +1027,58 @@
选中的图片必须带有清晰人物头像</view> 选中的图片必须带有清晰人物头像</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: 20upx;">
<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>
</view> </view>
...@@ -1032,7 +1099,6 @@ ...@@ -1032,7 +1099,6 @@
import kpsImageCutter from "@/components/ksp-image-cutter/ksp-image-cutter.vue"; // 截取图片 import kpsImageCutter from "@/components/ksp-image-cutter/ksp-image-cutter.vue"; // 截取图片
import ProgressBar from '@/components/Progress-Bar/Progress-Bar.vue'; // 上传图片进度条 import ProgressBar from '@/components/Progress-Bar/Progress-Bar.vue'; // 上传图片进度条
import scrollList from './components/scrollView.vue'; // 贴图 import scrollList from './components/scrollView.vue'; // 贴图
import shapeScrollView from './components/shapeScrollView.vue'; // 相框
import textsettings from './components/textsettings.vue'; // 文本弹框 import textsettings from './components/textsettings.vue'; // 文本弹框
import uniPopup from './common/uni-popup/uni-popup.vue'; import uniPopup from './common/uni-popup/uni-popup.vue';
import myhead from './head/head.vue'; // 页眉 import myhead from './head/head.vue'; // 页眉
...@@ -1066,7 +1132,6 @@ ...@@ -1066,7 +1132,6 @@
myhead, myhead,
ProgressBar, ProgressBar,
scrollList, scrollList,
shapeScrollView,
Signin, Signin,
textsettings, textsettings,
bgColor, bgColor,
...@@ -1273,6 +1338,11 @@ ...@@ -1273,6 +1338,11 @@
itemData: null, //选中模板对象 itemData: null, //选中模板对象
history_bannerList: [], //历史作品banner history_bannerList: [], //历史作品banner
loadTitleHeight: false, //加载首页高度 loadTitleHeight: false, //加载首页高度
aiSearchText: "",//Ai搜索文字
aiStyle: "contemporary style",
activeRadio: '现代风', //存的是单选按钮选中的value值
radioGroup: ['现代风', '卡通风', '铅笔画风'],
upLoadImageUrl: ""
}; };
}, },
...@@ -1283,6 +1353,448 @@ ...@@ -1283,6 +1353,448 @@
}, },
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
}
var _this = this;
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;
let topData = _this.data.editorHeight -
height;
let leftData = _this.data.editorWidth -
width;
let xData = topData + height / 2;
let yData = leftData + width / 2;
let filletRadiusSize = 0;
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: topData, //左上距离
left: leftData, //左边距离
x: xData, //中心点x轴
y: yData, //中心点y轴
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
isDrag: true,
isFillet: false, //是否圆角
conterScale: 0,
filletRadiusSize: filletRadiusSize, //圆角半径大小
isUpLoadImage: true
})
_this.data.itemList = items
_this.saveSnapshot();
/* 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();
},
//contemporary style:现代风
//cartoon style:卡通风
//pencil art:铅笔画风
//文字生成图片
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;
let topData = _this.data.editorHeight -
height;
let leftData = _this.data.editorWidth -
width;
let xData = topData + height / 2;
let yData = leftData + width / 2;
let filletRadiusSize = 0;
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: topData, //左上距离
left: leftData, //左边距离
x: xData, //中心点x轴
y: yData, //中心点y轴
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
isDrag: true,
isFillet: false, //是否圆角
conterScale: 0,
filletRadiusSize: filletRadiusSize, //圆角半径大小
isUpLoadImage: false
})
_this.data.itemList = items
_this.saveSnapshot();
/* 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: 0, // 裁剪窗口x
image_left: 0, // 图片x
frame_top: 0, // 裁剪窗口y
image_top: 0, // 图片y
isUpLoadImage: false
})
_this.data.itemList = items;
_this.saveSnapshot(); */
// 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
// //console.log(_this.mix_scale)
// //if (ratio >= 1) { //长方形
// 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;
...@@ -1291,8 +1803,34 @@ ...@@ -1291,8 +1803,34 @@
//显示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
});
}
/* this.selectChangeType = 1;
this.$refs["showAiChange"].open(); */
}, },
showAiChangeType(type) { showAiChangeType(type) {
...@@ -2504,17 +3042,24 @@ ...@@ -2504,17 +3042,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 != if (formatImage != "png" &&
"jpeg") { 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);
} }
}) })
}, },
...@@ -2533,16 +3078,24 @@ ...@@ -2533,16 +3078,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" &&
return uni.showToast({ formatImage != "jpg" &&
title: '只能上传.png、.jpg、.jpep 格式', formatImage != "jpeg" &&
formatImage != "webp" &&
formatImage != "gif" &&
formatImage != "bmp" &&
formatImage != "tiff" &&
formatImage != "tif"
) {
return wx.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);
} }
}) })
}, },
...@@ -2561,18 +3114,24 @@ ...@@ -2561,18 +3114,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" && if (formatImage != "png" &&
formatImage != formatImage != "jpg" &&
"jpeg") { 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);
} }
}) })
}, },
...@@ -2591,17 +3150,24 @@ ...@@ -2591,17 +3150,24 @@
var path = res.tempFiles[0].path; var path = res.tempFiles[0].path;
tempFilePaths[0] = path; tempFilePaths[0] = path;
var formatImage = path.split(".")[(path.split(".")).length - 1]; var formatImage = path.split(".")[(path.split(".")).length - 1];
if (formatImage != "png" && formatImage != "jpg" && if (formatImage != "png" &&
formatImage != "jpeg") { formatImage != "jpg" &&
return uni.showToast({ formatImage != "jpeg" &&
title: '只能上传.png、.jpg、.jpep 格式', formatImage != "webp" &&
formatImage != "gif" &&
formatImage != "bmp" &&
formatImage != "tiff" &&
formatImage != "tif"
) {
return wx.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);
} }
}) })
}, },
...@@ -2627,7 +3193,7 @@ ...@@ -2627,7 +3193,7 @@
* i是文件路径数组的指标->0 * i是文件路径数组的指标->0
* length是文件路径数组的长度 * length是文件路径数组的长度
*/ */
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
...@@ -2651,7 +3217,7 @@ ...@@ -2651,7 +3217,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,
...@@ -2663,8 +3229,21 @@ ...@@ -2663,8 +3229,21 @@
if (res.statusCode != 200) { if (res.statusCode != 200) {
return; return;
} }
if (res.statusCode == 200) { if (res.statusCode == 200) {
_this.percent = 100 _this.percent = 100
_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"
}
/*if (res.statusCode == 200) {
_this.percent = 100
uni.showToast({ uni.showToast({
title: '上传成功', title: '上传成功',
icon: 'none', icon: 'none',
...@@ -2754,9 +3333,9 @@ ...@@ -2754,9 +3333,9 @@
_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')
}, },
fail: function(err) { fail: function(err) {
failUp++; failUp++;
...@@ -3372,7 +3951,7 @@ ...@@ -3372,7 +3951,7 @@
is_under: is_under, //贴图是否为背景图 is_under: is_under, //贴图是否为背景图
is_discount: is_discount, //贴图是否用卷 is_discount: is_discount, //贴图是否用卷
id: items.length + 1, id: items.length + 1,
type: 0, //0图片 1文字 2贴图 type: 2, //0图片 1文字 2贴图
material_id: material_id, //贴图id material_id: material_id, //贴图id
original_id: original_id, original_id: original_id,
index: index, index: index,
...@@ -3694,9 +4273,9 @@ ...@@ -3694,9 +4273,9 @@
if (this.Works_category_id) { if (this.Works_category_id) {
this.queryPage.shape_category_id = this.Works_category_id this.queryPage.shape_category_id = this.Works_category_id
} }
this.$nextTick(() => { /* this.$nextTick(() => {
this.$refs['shapeScrollView'].open(this.queryPage) this.$refs['shapeScrollView'].open(this.queryPage)
}) }) */
} else if (e == 23) { //壁纸 } else if (e == 23) { //壁纸
this.Adlists = this.diy_backList this.Adlists = this.diy_backList
this.queryPage.goods_id = this.data.goods_id this.queryPage.goods_id = this.data.goods_id
...@@ -6111,7 +6690,7 @@ ...@@ -6111,7 +6690,7 @@
.tool_li { .tool_li {
width: 100%; width: 100%;
height: 112upx; height: 105upx;
.tool_li_img { .tool_li_img {
width: 50upx; width: 50upx;
......
...@@ -382,7 +382,6 @@ ...@@ -382,7 +382,6 @@
import kpsImageCutter from "@/components/ksp-image-cutter/ksp-image-cutter.vue"; // 截取图片 import kpsImageCutter from "@/components/ksp-image-cutter/ksp-image-cutter.vue"; // 截取图片
import ProgressBar from '@/components/Progress-Bar/Progress-Bar.vue'; // 上传图片进度条 import ProgressBar from '@/components/Progress-Bar/Progress-Bar.vue'; // 上传图片进度条
import scrollList from './components/scrollView.vue'; // 贴图 import scrollList from './components/scrollView.vue'; // 贴图
import shapeScrollView from './components/shapeScrollView.vue'; // 相框
import textsettings from './components/textsettings.vue'; // 文本弹框 import textsettings from './components/textsettings.vue'; // 文本弹框
import uniPopup from './common/uni-popup/uni-popup.vue'; import uniPopup from './common/uni-popup/uni-popup.vue';
import myhead from './head/head.vue'; // 页眉 import myhead from './head/head.vue'; // 页眉
...@@ -3196,10 +3195,7 @@ ...@@ -3196,10 +3195,7 @@
this.queryPage.shape_category_id = item.id this.queryPage.shape_category_id = item.id
this.currentId = index; this.currentId = index;
this.currentIndex = Math.max(0, index - 1); this.currentIndex = Math.max(0, index - 1);
this.$nextTick(() => {
this.$refs['shapeScrollView'].open(this
.queryPage)
})
} else if (this.e_active == 23) { //壁纸 } else if (this.e_active == 23) { //壁纸
this.currentId_wallpaper = index; this.currentId_wallpaper = index;
this.currentIndex_wallpaper = Math.max(0, index - 1); this.currentIndex_wallpaper = Math.max(0, index - 1);
...@@ -3393,27 +3389,7 @@ ...@@ -3393,27 +3389,7 @@
bg_text_color: this.bg_text_color bg_text_color: this.bg_text_color
}) })
}) })
} else if (e == 22) { //形状
this.queryPage.goods_id = this.data.goods_id
this.brands = this.Works_category
this.currentId = this.currentId_Works;
this.currentIndex = this.currentIndex_Works;
this.queryPage.s = 'Material.getShapeList'
this.queryPage.material_category_id = null
this.queryPage.works_category_id = null
this.queryPage.shape_category_id = null
this.queryPage.is_hot = null
this.queryPage.is_new = null
this.queryPage.shape_category_id = this.Works_category[0]
.id
if (this.Works_category_id) {
this.queryPage.shape_category_id = this
.Works_category_id
}
this.$nextTick(() => {
this.$refs['shapeScrollView'].open(this
.queryPage)
})
} else if (e == 23) { //壁纸 } else if (e == 23) { //壁纸
this.Adlists = this.diy_backList this.Adlists = this.diy_backList
//this.queryPage.goods_id = null //this.queryPage.goods_id = null
......
<template> <template>
<view class="full-width full-height"> <view class="full-width full-height">
<view v-if="system_config.baking_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: #F29F3D; border-radius: 44upx 0px 0px 44upx;"> <Signin ref="Signin"></Signin>
<view style="font-size: 24upx; font-weight: 800; color: #FFFFFF;">
<view>定制</view> <view v-if= "long && LoupanList.length > 0" >
<view>体验</view> <view style="margin-top: 50upx;">
</view> <view style="width: 690upx; margin:30upx auto 30upx; display: flex;">
</view> <view>
<view style="position: relative; width: 320upx; height: 160upx;" @click="order()">
<image src="../../static/mine/dingdan@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: #FFFFFF;font-weight: bold;">
订单</view>
<view style="margin-top: 15upx;margin-left:26upx;font-size: 24upx;
font-weight: 400; color: #FFFFFF;">我的定制</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: #FFFFFF;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: #FFFFFF;font-weight: bold;">个人中心</view>
<view style="margin-top: 15upx;margin-left:30upx;font-size: 24upx;
font-weight: 400; color: #FFFFFF;">更多作品更多精彩</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>
<!-- 无设备 --> <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>
<view class="start_title" style="margin-top: 120upx;">定制站必须扫码才能使用</view> <view class="start_title" style="margin-top: 120upx;">定制站必须扫码才能使用</view>
</view> </view>
</view> </view>
<!-- 扫码定制 -->
<!-- 扫码定制 --> <view @click="scanning" style="width: 460upx; position: fixed; bottom: 180upx; margin: auto; height: 164upx; background: #F5DFA4 ;left: 0; right: 0; z-index: 99; border-radius: 20upx; display: flex; align-items: center;">
<view @click="scanning" style="width: 460upx; position: fixed; bottom: 180upx; margin: auto;
height: 164upx; background: #F5DFA4 ;left: 0; right: 0; z-index: 99; border-radius: 20upx;
display: flex; align-items: center;">
<view style="background: #FFFFFF;width: 120upx; <view style="background: #FFFFFF;width: 120upx;
height: 120upx;border-radius: 50%; margin: 22upx 30upx;text-align: center;"> height: 120upx;border-radius: 50%; margin: 22upx 30upx;text-align: center;">
<image style="height: 61upx; width: 61upx;margin:32upx auto;" src="../../static/icon_saoyisao.png" <image style="height: 61upx; width: 61upx;margin:32upx auto;" src="../../static/icon_saoyisao.png"mode=""></image>
mode=""></image>
</view> </view>
<view style="color: #333333 ; font-weight: bold;font-size: 34upx;">开始扫码定制</view> <view style="color: #333333 ; font-weight: bold;font-size: 34upx;">开始扫码定制</view>
</view> </view>
<!-- 登录弹框 --> </view>
<Signin ref="Signin"></Signin> </view>
</view> </view>
</template> </template>
<script> <script>
import userService from '@/service/UserService'; import userService from '@/service/UserService';
import homeservice from '@/service/homeservice.js';
import Signin from './Signin.vue'; import Signin from './Signin.vue';
var pixelRationum = null; var pixelRationum = null;
export default { export default {
...@@ -53,9 +119,19 @@ ...@@ -53,9 +119,19 @@
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
});
},
getQueryString(url, name) { getQueryString(url, name) {
var reg = new RegExp('(^|&|/?)' + name + '=([^&|/?]*)(&|/?|$)', 'i') var reg = new RegExp('(^|&|/?)' + name + '=([^&|/?]*)(&|/?|$)', 'i')
...@@ -128,33 +204,29 @@ ...@@ -128,33 +204,29 @@
}); });
} }
}, },
//防止重复点击 //防止重复点击
touchStart(e) { touchStart(e) {
this.touchStartTime = e.timeStamp; this.touchStartTime = e.timeStamp;
}, },
touchEnd(e) { touchEnd(e) {
this.touchEndTime = e.timeStamp; this.touchEndTime = e.timeStamp;
}, },
doubleTap(e) { doubleTap(e) {
//console.log("点击")
// 控制点击事件在350ms内触发,加这层判断是为了防止长按时会触发点击事件 // 控制点击事件在350ms内触发,加这层判断是为了防止长按时会触发点击事件
if (this.touchEndTime - this.touchStartTime < 350) { if (this.touchEndTime - this.touchStartTime < 350) {
//console.log("点击1") //当前点击的时间
// 当前点击的时间
const currentTime = e.timeStamp; const currentTime = e.timeStamp;
const lastTapTime = this.lastTapTime; const lastTapTime = this.lastTapTime;
// 更新最后一次点击时间 //更新最后一次点击时间
this.lastTapTime = currentTime; this.lastTapTime = currentTime;
// 如果两次点击时间在300毫秒内,则认为是双击事件 //如果两次点击时间在300毫秒内,则认为是双击事件
if (currentTime - lastTapTime > 300) { if (currentTime - lastTapTime > 300) {
if (!this.$AppContext.checkLogin()) { if (!this.$AppContext.checkLogin()) {
this.tologo('navigateTo') this.tologo('navigateTo')
//console.log("点击2")
// uni.navigateTo({
// url: '../index/machineDetail?machine_id=' + this.$Env.getmachineId()
// });
} else { } else {
//console.log("点击3")
if (this.$Env.getmachineId() && this.$Env.getmachineId() != "") { if (this.$Env.getmachineId() && this.$Env.getmachineId() != "") {
uni.navigateTo({ uni.navigateTo({
url: '../index/machineDetail?machine_id=' + this.$Env.getmachineId() url: '../index/machineDetail?machine_id=' + this.$Env.getmachineId()
...@@ -164,9 +236,32 @@ ...@@ -164,9 +236,32 @@
} }
} }
}, },
//加载数据
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();
});
},
tologo(e) { tologo(e) {
//先登陆
let that = this; let that = this;
uni.login({ uni.login({
provider: 'weixin', provider: 'weixin',
...@@ -227,7 +322,7 @@ ...@@ -227,7 +322,7 @@
// }) // })
// } // }
// }); // });
// }, //},
//登录跳进去 //登录跳进去
logoToHome() { logoToHome() {
...@@ -242,7 +337,61 @@ ...@@ -242,7 +337,61 @@
} }
}) })
}, },
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/recommend',
path: '/pages/index/mine',
extraData: {
foo: 'bar'
},
envVersion: Env.getenvVersion(),
success(res) {
// 打开成功
}
})
},
systemConfig() { systemConfig() {
var _this = this var _this = this
...@@ -306,6 +455,7 @@ ...@@ -306,6 +455,7 @@
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() {
this.systemConfig() this.systemConfig()
...@@ -330,4 +480,15 @@ ...@@ -330,4 +480,15 @@
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>
<template> <template>
<view class="content" style="width: 100%; height: 100%; position: relative;"> <view class="content" style="width: 100%; height: 100%; position: relative; margin-top: 100upx;">
<refresh @interrupt="interrupt" @pushToInterrupt="pushToInterrupt" @finished="finished" @scrolltolower="g" :scrollHeight="windowHeight"> <refresh @interrupt="interrupt" @pushToInterrupt="pushToInterrupt" @finished="finished" @scrolltolower="g" :scrollHeight="windowHeight">
<template slot="top"> <template slot="top">
<view style="color: #FFFFFF;position: absolute; top: 0;width: 100%; text-align: center;" <view style="color: #FFFFFF;position: absolute; top: 0;width: 100%; text-align: center;"
......
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
<text style="font-size: 20upx;" > <text style="font-size: 20upx;" >
<text style="font-size: 32upx;" <text style="font-size: 32upx;"
:style="{'color': data.itemList[data.cidx].font_dict_id == item.id ? '#F56364 !important' : '#ffffff'}"> :style="{'color': data.itemList[data.cidx].font_dict_id == item.id ? '#F56364 !important' : '#ffffff'}">
色彩公园 {{replaceText(item.title)}}
</text> </text>
<!-- <text v-if="item.remark != ''"> <!-- <text v-if="item.remark != ''">
{{item.long ? '' : '(下载该字体)'}} {{item.long ? '' : '(下载该字体)'}}
...@@ -753,6 +753,14 @@ ...@@ -753,6 +753,14 @@
*/ */
methods: { methods: {
//替换文字
replaceText(textStr){
if(textStr.includes("-Regular")){
textStr = textStr.replace("-Regular","")
}
return textStr;
},
//过滤字符串 //过滤字符串
filterTextInput(textStr) { filterTextInput(textStr) {
......
...@@ -33,28 +33,47 @@ ...@@ -33,28 +33,47 @@
mode="aspectFit"></image> mode="aspectFit"></image>
</view> </view>
<view style="width: 100% ; margin-top: -40upx;"> <view style="width: 100% ; margin-top: -40upx;">
<view v-if="designer.status.value == 1">
<view style="text-align: left; font-size: 29upx; color: #F29F3D ; line-height: 80upx;font-weight: 600;">
打印中
</view>
</view>
<view v-else>
<view style="text-align: left; font-size: 30upx; color: #333; line-height: 80upx;font-weight: 600; margin-top: 20upx;"> <view style="text-align: left; font-size: 30upx; color: #333; line-height: 80upx;font-weight: 600; margin-top: 20upx;">
排队中 {{designer.id || ''}}
</view> </view>
</view>
<view style="font-size: 29upx; color: #333333; margin-top: 20upx; font-weight: 600;"> <view style="font-size: 29upx; color: #333333; margin-top: 20upx; font-weight: 600;">
{{ designer.customize_size_id == 0 ? designer.goods_name || '' : ''}} {{ designer.customize_size_id == 0 ? designer.goods_name || '' : ''}}
{{designer.goods_specs || ''}} {{designer.goods_specs || ''}}
</view> </view>
</view> </view>
<view style="width: 90%;font-size: 28upx; margin-top: 70upx; font-weight: 550; text-align: right; font-size: 36upx; color: #333; margin-right: 30upx;">
{{designer.id || ''}}
<view v-if="designer.status.value == 1" style="width: 90%;font-size: 28upx; margin-top: 20upx;
font-size: 36upx; margin-right: 30upx;">
<view style="width: 136upx; height: 60upx;background: #F29F3D;opacity: 0.86;border-radius: 30px; float: right; ">
<view style="text-align: center; font-size: 26upx; color: #FFFFFF; line-height: 60upx;"> 打印中
</view>
</view>
</view>
<view v-else style="width: 90%;font-size: 28upx; margin-top: 20upx; text-align: right; font-size: 26upx; color: #F29F3D; margin-right: 30upx;">
排队中
</view> </view>
</view> </view>
</view> </view>
</view> </view>
<!-- <view v-if="designer.status.value == 1">
<view style="text-align: left; font-size: 29upx; color: #F29F3D ; line-height: 80upx;font-weight: 600;">
打印中
</view>
</view>
<view v-else>
<view style="text-align: left; font-size: 30upx; color: #333; line-height: 80upx;font-weight: 600; margin-top: 20upx;">
排队中
</view>
</view>
<view style="width: 90%;font-size: 28upx; margin-top: 70upx; font-weight: 550; text-align: right; font-size: 36upx; color: #333; margin-right: 30upx;">
{{designer.id || ''}}
</view> -->
<!-- 提示 --> <!-- 提示 -->
<view v-if="sighstate && designer != null"> <view v-if="sighstate && designer != null">
<view <view
...@@ -79,11 +98,11 @@ ...@@ -79,11 +98,11 @@
<view v-if="designer.user_id == userId " @click="toOrderDetail(designer)" style="width: 135upx; height: 50upx;background: #F29F3D ; <view v-if="designer.user_id == userId " @click="toOrderDetail(designer)" style="width: 135upx; height: 50upx;background: #F29F3D ;
border-radius: 40upx; border-radius: 40upx;
color: #FFFFFF; color: #FFFFFF;
margin:10upx auto; margin:20upx auto;
text-align: center; text-align: center;
padding:auto; padding:auto;
padding-top: 20upx; padding-top: 20upx;
margin-top: 15upx;">查看详情</view> margin-top: 25upx;">查看详情</view>
</view> </view>
</view> </view>
</view> </view>
......
static/delete-active.png

450 Bytes | W: | H:

static/delete-active.png

342 Bytes | W: | H:

static/delete-active.png
static/delete-active.png
static/delete-active.png
static/delete-active.png
  • 2-up
  • Swipe
  • Onion skin
static/delete.png

411 Bytes | W: | H:

static/delete.png

281 Bytes | W: | H:

static/delete.png
static/delete.png
static/delete.png
static/delete.png
  • 2-up
  • Swipe
  • Onion skin
static/diy_icon_middle_default.png

2.52 KB | W: | H:

static/diy_icon_middle_default.png

829 Bytes | W: | H:

static/diy_icon_middle_default.png
static/diy_icon_middle_default.png
static/diy_icon_middle_default.png
static/diy_icon_middle_default.png
  • 2-up
  • Swipe
  • Onion skin
static/diy_icon_replace_default.png

2.51 KB | W: | H:

static/diy_icon_replace_default.png

855 Bytes | W: | H:

static/diy_icon_replace_default.png
static/diy_icon_replace_default.png
static/diy_icon_replace_default.png
static/diy_icon_replace_default.png
  • 2-up
  • Swipe
  • Onion skin
static/icon_back_enabled.png

3.79 KB | W: | H:

static/icon_back_enabled.png

1.6 KB | W: | H:

static/icon_back_enabled.png
static/icon_back_enabled.png
static/icon_back_enabled.png
static/icon_back_enabled.png
  • 2-up
  • Swipe
  • Onion skin
static/icon_banner_dot.png

290 Bytes | W: | H:

static/icon_banner_dot.png

182 Bytes | W: | H:

static/icon_banner_dot.png
static/icon_banner_dot.png
static/icon_banner_dot.png
static/icon_banner_dot.png
  • 2-up
  • Swipe
  • Onion skin
static/icon_banner_select_dot.png

314 Bytes | W: | H:

static/icon_banner_select_dot.png

226 Bytes | W: | H:

static/icon_banner_select_dot.png
static/icon_banner_select_dot.png
static/icon_banner_select_dot.png
static/icon_banner_select_dot.png
  • 2-up
  • Swipe
  • Onion skin
static/icon_close.png

7.64 KB | W: | H:

static/icon_close.png

2.3 KB | W: | H:

static/icon_close.png
static/icon_close.png
static/icon_close.png
static/icon_close.png
  • 2-up
  • Swipe
  • Onion skin
static/icon_diy.png

10 KB | W: | H:

static/icon_diy.png

9.9 KB | W: | H:

static/icon_diy.png
static/icon_diy.png
static/icon_diy.png
static/icon_diy.png
  • 2-up
  • Swipe
  • Onion skin
static/icon_diy_ai.png

205 Bytes | W: | H:

static/icon_diy_ai.png

758 Bytes | 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
static/icon_diy_enhance_style.png

10.9 KB | W: | H:

static/icon_diy_enhance_style.png

8.7 KB | W: | H:

static/icon_diy_enhance_style.png
static/icon_diy_enhance_style.png
static/icon_diy_enhance_style.png
static/icon_diy_enhance_style.png
  • 2-up
  • Swipe
  • Onion skin
static/icon_diy_matting_style.png

11.4 KB | W: | H:

static/icon_diy_matting_style.png

7.48 KB | W: | H:

static/icon_diy_matting_style.png
static/icon_diy_matting_style.png
static/icon_diy_matting_style.png
static/icon_diy_matting_style.png
  • 2-up
  • Swipe
  • Onion skin
static/icon_diy_no_print.png

3.67 KB | W: | H:

static/icon_diy_no_print.png

1.87 KB | W: | H:

static/icon_diy_no_print.png
static/icon_diy_no_print.png
static/icon_diy_no_print.png
static/icon_diy_no_print.png
  • 2-up
  • Swipe
  • Onion skin
static/icon_diy_no_select.png

3.54 KB | W: | H:

static/icon_diy_no_select.png

1.84 KB | W: | H:

static/icon_diy_no_select.png
static/icon_diy_no_select.png
static/icon_diy_no_select.png
static/icon_diy_no_select.png
  • 2-up
  • Swipe
  • Onion skin
static/icon_diy_print.png

1.17 KB | W: | H:

static/icon_diy_print.png

1.04 KB | W: | H:

static/icon_diy_print.png
static/icon_diy_print.png
static/icon_diy_print.png
static/icon_diy_print.png
  • 2-up
  • Swipe
  • Onion skin
static/icon_guanbi.png

1.39 KB | W: | H:

static/icon_guanbi.png

409 Bytes | W: | H:

static/icon_guanbi.png
static/icon_guanbi.png
static/icon_guanbi.png
static/icon_guanbi.png
  • 2-up
  • Swipe
  • Onion skin
static/icon_guaqi.png

16.8 KB | W: | H:

static/icon_guaqi.png

5.13 KB | W: | H:

static/icon_guaqi.png
static/icon_guaqi.png
static/icon_guaqi.png
static/icon_guaqi.png
  • 2-up
  • Swipe
  • Onion skin
static/icon_home_good_back.png

12.2 KB | W: | H:

static/icon_home_good_back.png

2.67 KB | W: | H:

static/icon_home_good_back.png
static/icon_home_good_back.png
static/icon_home_good_back.png
static/icon_home_good_back.png
  • 2-up
  • Swipe
  • Onion skin
static/icon_line_frame.png

975 Bytes | W: | H:

static/icon_line_frame.png

212 Bytes | W: | H:

static/icon_line_frame.png
static/icon_line_frame.png
static/icon_line_frame.png
static/icon_line_frame.png
  • 2-up
  • Swipe
  • Onion skin
static/icon_make_diy_back_color.png

2.47 KB | W: | H:

static/icon_make_diy_back_color.png

975 Bytes | W: | H:

static/icon_make_diy_back_color.png
static/icon_make_diy_back_color.png
static/icon_make_diy_back_color.png
static/icon_make_diy_back_color.png
  • 2-up
  • Swipe
  • Onion skin
static/icon_make_diy_radio.png

1.27 KB | W: | H:

static/icon_make_diy_radio.png

279 Bytes | W: | H:

static/icon_make_diy_radio.png
static/icon_make_diy_radio.png
static/icon_make_diy_radio.png
static/icon_make_diy_radio.png
  • 2-up
  • Swipe
  • Onion skin
static/icon_nextstep.png

3.73 KB | W: | H:

static/icon_nextstep.png

2.06 KB | W: | H:

static/icon_nextstep.png
static/icon_nextstep.png
static/icon_nextstep.png
static/icon_nextstep.png
  • 2-up
  • Swipe
  • Onion skin
static/icon_saoyisao.png

756 Bytes | W: | H:

static/icon_saoyisao.png

366 Bytes | W: | H:

static/icon_saoyisao.png
static/icon_saoyisao.png
static/icon_saoyisao.png
static/icon_saoyisao.png
  • 2-up
  • Swipe
  • Onion skin
static/icon_tuya.png

2.45 KB | W: | H:

static/icon_tuya.png

910 Bytes | W: | H:

static/icon_tuya.png
static/icon_tuya.png
static/icon_tuya.png
static/icon_tuya.png
  • 2-up
  • Swipe
  • Onion skin
static/icon_update_xy_image.png

793 Bytes | W: | H:

static/icon_update_xy_image.png

529 Bytes | W: | H:

static/icon_update_xy_image.png
static/icon_update_xy_image.png
static/icon_update_xy_image.png
static/icon_update_xy_image.png
  • 2-up
  • Swipe
  • Onion skin
static/icon_wechat.png

953 Bytes | W: | H:

static/icon_wechat.png

562 Bytes | W: | H:

static/icon_wechat.png
static/icon_wechat.png
static/icon_wechat.png
static/icon_wechat.png
  • 2-up
  • Swipe
  • Onion skin
static/icon_work_change_shap.png

6.56 KB | W: | H:

static/icon_work_change_shap.png

2.47 KB | W: | H:

static/icon_work_change_shap.png
static/icon_work_change_shap.png
static/icon_work_change_shap.png
static/icon_work_change_shap.png
  • 2-up
  • Swipe
  • Onion skin
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAbUAAsAAAAADQQAAAaFAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCEcAqKIIgNATYCJAM4Cx4ABCAFhG0HgVcbCgsjEWaEU0b2lwf0EMsl5gVjdl2kvBUqZ8RggaiESuHMT/vq+w5zMLK2p520x3yfD+b1vbRpB/wAuCfwBAFZe8oDz7H8F2V3nn7N1eRb20bRRmuwUT3v/v/z/O577zsq046ArVAN7GTOrJKBSqcZwDuoGFCraQDw/PLevyDzUBv4nGc7nMsHHJGiqLmifDsgh/6aD1zpuvTy5CenxaSaGoMxmHT7P8dSLxMsv/1rsHunEB2LKIuk41ECDagicQe6keAO8zxMSCqH9W/z+UAASvaKAoP73FJUoISLYK9p7GhCRS2MGoSE3Ccq9g39J5OhlDw4Bl8AMCn9e/IDwakAOEII4kKF09Ja0feN6q2XrBQHd8aQwSCMlwSwOwjgAb6AAjlVpg+C5E2+QpSXwdRUAKwlW3d6p5ieObIgFsKiWDLLYqVs4duFb+cUpY5aD4fRiDRhLXWn/80DQkZDiRKI5NR4HAUVkCjQrWbq+mYNMFWIQICZIMiAOZjNHkdEUAILQqDAQhAEYFEIIrBkBDmwLAQ1sFIEHthCBA5e9kRQwNs5Q6ACANp4qC2wgsw8vxbhrb2sxeMICIJnNycJJJBQM0tfMtDSrKZ9NF56h0bFEmKyfPuZwQfGHRpysDx73XLjTr9z9+w3bzpO3qy/rLDCw9VcvUi2X3hrz722Zl9Z8m8mO5Om6W6/mjJMsbmOBIyrKVyFKdgax2B6IrBoPou50VOdskUHUZUMFhKLFDO2uQTC6mnqhim7hIxssmPR7hrE6gyKq0c1jm2cwYBnWpHP2woFey5nzWZHVyFKruFrnAwUVZ6WFKOXmiyJ3GpRabAlecDbiEkjV2r1FEVqPs0VCu9uok1mgoHJkk/0U1ShUL+Qt9FWp6BIvM0lmuxuOSMYLIxs3Zs7z2UtVZNRUjYt94vV0bo6LPEI81FiqStoypn0boR8auP5toEyIUNp5d2I+NTRWpVD3A3SJBQhM73Mu/5guW8hP04rIU1KNc12y8aZTq9n1ypu1uoVWpAsx68M2XS0zw3v22HVNkcwbV2Ni5oHqQ/SLqRecP46Bp8c43fZ5X95ypT/m9il3phjO8ecEgYMtDSHjMHbGHJ5ewj0qq7jnchRsi2j98tlFvBrDqzJ76JSw+S5Q50mOx+snHkd7Ne649yOIaEdoYeu+cB3fuoFXAgObg+ZhpfhYPAyEHz0+gArrlHe8+d9zwvvFcVQ74TaewZERyIEifnByKAfSFL/fI35pWo1PSMNsTGyl/3Uy4Tt9P9LCTqO2YgW3u7o61fecc6GcdbxcZPlHluT51LD4aFMiqpdc1uLilsal5qmtrc81d9Udtt9h+vYOKA+6o0ZkwgXevaHy9mvpK2kv7fLMbW+pq/TUv2LgWL1T0tuwMeQdcR3atu6umVOanrVPod9/vlrnTrwOewOn9CAaQa+WSR136fmi88Q96ErFHNfPrX4BIPfh9zc7Abz/jY+Fjc19dw09D+P6N2EFxYfzaebPlhM36z5QnwAgyzQXNfl+rjYvgYQuwk+J6JEoqb2oEXnF7ouDOwtr7fwdzvHxMsdjahbJbakYjBYexv+OcR+DmiWN/jSI/7okyEjbzV9VDAKazgDAEiH+pO+U7o2I6GkOgD4Nv4HZyniX4C0rH9H6joA8Gd4JKw01TMA0g2yjhRALPWPYkn8Lx8mtOUwfkiSf3TrwbvfXxyvi/0tV/0PZ907pUmnfaTBA/wKAOQ4cLb8xCyOk+jVJiLa8NkecvjPYVXD4rogAK0UKIVPWBBKWQb8tPLG7ufymjm78Zv2mpXAkbEDnpwrkVJ9QaASCiK5BFDyMT5YxcQiECSsAOBtE4DQ2wOO1iHg6V0SKfUOBOb+QKQPAaVyZHJMlXHXwa0bp4DVXGRrgZJqHcR4K+v9qowvwVVtqehTuRZrRRLGzdYHVSs3xg7twqTMWmhHlbiHi6myJNE4ypXk0DI3syjSqjcKJVWdLTdOAau5kK0FlFTreGbeav3+qzK+BGcY9qL9qVyLSxcSodiB+OCunYZdy8B2YVJMDVrQu55UCfeUVKVsIqFRr5UrySHbo6GZiWg67eoO5/dWj/oiIhbxPS9JVlRNN0zLdlzPj8FB9uO5RwuUHkvrcWMx91GSaqPY8AsnOULN5JPDrCmQ1KxpzYONVbVpsM6AihMOVwgl7C6R7dzBMtBYlqPM5xQ59tLkbIW12VgPtQnadghoN3m79I7HD3U6AAA=') format('woff2'), url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAbUAAsAAAAADQQAAAaFAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCEcAqKIIgNATYCJAM4Cx4ABCAFhG0HgVcbCgsjEWaEU0b2lwf0EMsl5gVjdl2kvBUqZ8RggaiESuHMT/vq+w5zMLK2p520x3yfD+b1vbRpB/wAuCfwBAFZe8oDz7H8F2V3nn7N1eRb20bRRmuwUT3v/v/z/O577zsq046ArVAN7GTOrJKBSqcZwDuoGFCraQDw/PLevyDzUBv4nGc7nMsHHJGiqLmifDsgh/6aD1zpuvTy5CenxaSaGoMxmHT7P8dSLxMsv/1rsHunEB2LKIuk41ECDagicQe6keAO8zxMSCqH9W/z+UAASvaKAoP73FJUoISLYK9p7GhCRS2MGoSE3Ccq9g39J5OhlDw4Bl8AMCn9e/IDwakAOEII4kKF09Ja0feN6q2XrBQHd8aQwSCMlwSwOwjgAb6AAjlVpg+C5E2+QpSXwdRUAKwlW3d6p5ieObIgFsKiWDLLYqVs4duFb+cUpY5aD4fRiDRhLXWn/80DQkZDiRKI5NR4HAUVkCjQrWbq+mYNMFWIQICZIMiAOZjNHkdEUAILQqDAQhAEYFEIIrBkBDmwLAQ1sFIEHthCBA5e9kRQwNs5Q6ACANp4qC2wgsw8vxbhrb2sxeMICIJnNycJJJBQM0tfMtDSrKZ9NF56h0bFEmKyfPuZwQfGHRpysDx73XLjTr9z9+w3bzpO3qy/rLDCw9VcvUi2X3hrz722Zl9Z8m8mO5Om6W6/mjJMsbmOBIyrKVyFKdgax2B6IrBoPou50VOdskUHUZUMFhKLFDO2uQTC6mnqhim7hIxssmPR7hrE6gyKq0c1jm2cwYBnWpHP2woFey5nzWZHVyFKruFrnAwUVZ6WFKOXmiyJ3GpRabAlecDbiEkjV2r1FEVqPs0VCu9uok1mgoHJkk/0U1ShUL+Qt9FWp6BIvM0lmuxuOSMYLIxs3Zs7z2UtVZNRUjYt94vV0bo6LPEI81FiqStoypn0boR8auP5toEyIUNp5d2I+NTRWpVD3A3SJBQhM73Mu/5guW8hP04rIU1KNc12y8aZTq9n1ypu1uoVWpAsx68M2XS0zw3v22HVNkcwbV2Ni5oHqQ/SLqRecP46Bp8c43fZ5X95ypT/m9il3phjO8ecEgYMtDSHjMHbGHJ5ewj0qq7jnchRsi2j98tlFvBrDqzJ76JSw+S5Q50mOx+snHkd7Ne649yOIaEdoYeu+cB3fuoFXAgObg+ZhpfhYPAyEHz0+gArrlHe8+d9zwvvFcVQ74TaewZERyIEifnByKAfSFL/fI35pWo1PSMNsTGyl/3Uy4Tt9P9LCTqO2YgW3u7o61fecc6GcdbxcZPlHluT51LD4aFMiqpdc1uLilsal5qmtrc81d9Udtt9h+vYOKA+6o0ZkwgXevaHy9mvpK2kv7fLMbW+pq/TUv2LgWL1T0tuwMeQdcR3atu6umVOanrVPod9/vlrnTrwOewOn9CAaQa+WSR136fmi88Q96ErFHNfPrX4BIPfh9zc7Abz/jY+Fjc19dw09D+P6N2EFxYfzaebPlhM36z5QnwAgyzQXNfl+rjYvgYQuwk+J6JEoqb2oEXnF7ouDOwtr7fwdzvHxMsdjahbJbakYjBYexv+OcR+DmiWN/jSI/7okyEjbzV9VDAKazgDAEiH+pO+U7o2I6GkOgD4Nv4HZyniX4C0rH9H6joA8Gd4JKw01TMA0g2yjhRALPWPYkn8Lx8mtOUwfkiSf3TrwbvfXxyvi/0tV/0PZ907pUmnfaTBA/wKAOQ4cLb8xCyOk+jVJiLa8NkecvjPYVXD4rogAK0UKIVPWBBKWQb8tPLG7ufymjm78Zv2mpXAkbEDnpwrkVJ9QaASCiK5BFDyMT5YxcQiECSsAOBtE4DQ2wOO1iHg6V0SKfUOBOb+QKQPAaVyZHJMlXHXwa0bp4DVXGRrgZJqHcR4K+v9qowvwVVtqehTuRZrRRLGzdYHVSs3xg7twqTMWmhHlbiHi6myJNE4ypXk0DI3syjSqjcKJVWdLTdOAau5kK0FlFTreGbeav3+qzK+BGcY9qL9qVyLSxcSodiB+OCunYZdy8B2YVJMDVrQu55UCfeUVKVsIqFRr5UrySHbo6GZiWg67eoO5/dWj/oiIhbxPS9JVlRNN0zLdlzPj8FB9uO5RwuUHkvrcWMx91GSaqPY8AsnOULN5JPDrCmQ1KxpzYONVbVpsM6AihMOVwgl7C6R7dzBMtBYlqPM5xQ59tLkbIW12VgPtQnadghoN3m79I7HD3U6AAA=') format('woff2'),
url('iconfont.woff?t=1604382534615') format('woff'), url('iconfont.woff?t=1604382534615') format('woff'),
url('iconfont.ttf?t=1604382534615') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */ url('iconfont.ttf?t=1604382534615') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
url('iconfont.svg?t=1604382534615#iconfont') format('svg'); /* iOS 4.1- */ /*url('iconfont.svg?t=1604382534615#iconfont') format('svg'); /* iOS 4.1- */
} }
.iconfont { .iconfont {
......
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<!--
2013-9-30: Created.
-->
<svg>
<metadata>
Created by iconfont
</metadata>
<defs>
<font id="iconfont" horiz-adv-x="1024" >
<font-face
font-family="iconfont"
font-weight="500"
font-stretch="normal"
units-per-em="1024"
ascent="896"
descent="-128"
/>
<missing-glyph />
<glyph glyph-name="31daishouhuo" unicode="&#58880;" d="M841.530179 758.220007 366.132818 758.220007c-49.562812 0-89.855494-40.144302-89.855494-89.499383l0-131.069151-172.015725-99.067296-6.299473-4.189416 0.713244-1.218758 0.029676-0.118704c-3.922333-4.694929-6.062066-10.54824-6.062066-16.58063l0-275.063683c0-16.075117 12.063757-29.1499 26.891464-29.1499 14.857383 0 26.921139 13.103436 26.921139 29.238928L146.455583 401.026792l168.746262 97.373725c11.707646 4.130064 19.552312 15.124466 19.552312 27.336602L334.754157 664.412504c0 19.552312 16.015765 35.479049 35.68678 35.479049l466.750423 0c19.671015 0 35.68678-15.926738 35.68678-35.479049l0-512.034792c0-16.104793 13.104459-29.179576 29.238928-29.179576 16.134469 0 29.238928 13.104459 29.238928 29.238928L931.355997 668.721647C931.355997 718.076728 891.063315 758.220007 841.530179 758.220007zM741.957369 239.648334c-55.595202 0-102.900601-39.49041-112.973004-94.104261l-204.284663 0.118704c-10.132778 54.555523-57.437154 93.985558-112.973004 93.985558-63.647599 0-115.439172-51.554166-115.439172-114.934682s51.791573-114.934682 115.439172-114.934682c51.67287 0 97.194646 34.558074 111.071701 84.209914l208.117968-0.089028c13.906731-49.592488 59.398832-84.120886 111.042026-84.120886 63.647599 0 115.409496 51.554166 115.409496 114.934682S805.604968 239.648334 741.957369 239.648334zM741.957369 70.485587c-30.070876 0-54.525847 24.336268-54.525847 54.228065 0 29.892821 24.454972 54.228065 54.525847 54.228065s54.525847-24.336268 54.525847-54.228065C796.483216 94.821855 772.028245 70.485587 741.957369 70.485587zM311.726697 70.485587c-30.070876 0-54.525847 24.336268-54.525847 54.228065 0 29.892821 24.454972 54.228065 54.525847 54.228065 30.0412 0 54.496172-24.336268 54.496172-54.228065C366.221846 94.821855 341.766874 70.485587 311.726697 70.485587zM224.930889 322.848245c0-15.540951 12.687974-28.199249 28.317952-28.199249l109.526509 0.029676c15.421224 0 27.575032 4.605901 36.162618 13.727653 13.638625 14.470573 12.539594 35.003212 12.509918 35.121915l0 85.814458c0 15.540951-12.687974 28.199249-28.317952 28.199249s-28.317952-12.658298-28.317952-28.199249l0.029676-78.2072-101.652168 0C237.589187 351.047494 224.930889 338.35952 224.930889 322.848245z" horiz-adv-x="1024" />
<glyph glyph-name="wodeqianbao" unicode="&#58917;" d="M510.027066-206.883469c-310.781162 0-449.376731 106.263186-449.376731 344.549244 0 188.549284 149.627832 393.97084 333.539492 457.902918l233.69346-0.329505c182.468798-63.797002 331.50516-269.12953 331.513346-457.573413C959.39561-100.61926 820.807205-206.883469 510.027066-206.883469zM403.554102 530.933603c-34.134425-13.268188-67.544349-32.459273-99.323123-57.051367-35.151591-27.239388-66.721611-59.758012-93.818759-96.66048-27.224038-37.081547-48.516993-76.631308-63.288418-117.526717-14.981203-41.434691-22.572088-82.479503-22.572088-122.029264 0-50.379411 7.067976-93.51893 21.008476-128.222313 13.223163-32.967856 32.766264-59.32413 59.728336-80.595596 28.959565-22.825868 67.709101-40.431851 115.179252-52.309366 51.785433-12.938684 115.559922-19.505239 189.559287-19.505239 73.991178 0 137.765667 6.566556 189.5511 19.505239 47.462988 11.876492 86.212524 29.468149 115.179252 52.309366 26.977421 21.300119 46.520523 47.657416 59.735499 80.595596 13.941524 34.733059 21.001313 77.872578 21.001313 128.222313 0 39.549761-7.599072 80.609922-22.579251 122.029264-14.771425 40.926108-36.06438 80.46052-63.281255 117.526717-27.088962 36.916794-58.658981 69.436442-93.818759 96.66048-31.794124 24.591071-65.187675 43.783179-99.255585 57.020668l-211.94411 0.418532L403.554102 530.933603zM500.326123-32.409762c-23.320125 0-42.294268 18.98233-42.294268 42.302455 0 2.692319 0.284479 5.445012 0.845251 8.196683l1.480724 7.389294-2.169409 0 0 39.041178-83.751473 0.045025c-18.039865 0-32.714076 14.59951-32.714076 32.549324 0 17.97949 14.629185 32.608675 32.601512 32.608675l5.653767 0 0.01535 0.104377L458.189444 129.827249 458.189444 180.790968l-81.395822 0-2.273786 0.059352c-18.107403 0-32.79594 14.613836-32.79594 32.578999s14.629185 32.594349 32.601512 32.594349l5.467525 0 0.01535 0.074701 70.198805 0 1.196245 4.6366c0.441045 1.749854 1.166569 3.261277 2.213411 4.622274l3.365654 4.247744-90.871637 90.856287c-8.331759 8.316409-4.823865 25.399483 7.816013 38.053688 7.66661 7.673773 17.404392 12.251022 26.050306 12.251022 4.966105 0 9.109472-1.541099 11.989055-4.427846l89.562828-89.585341 83.115999 88.6132c3.829212 4.158716 9.647731 6.446829 16.394389 6.446829 9.610892 0 19.707854-4.39817 27.007097-11.756765 13.9712-14.120602 19.310811-24.276916 7.52437-37.560454l-92.090395-94.132914-0.994654-4.771677-1.02433-5.564739 6.087649-1.765203 77.266781-0.164752 1.75804-0.090051c17.994839-0.135076 32.564673-14.748912 32.564673-32.594349 0-17.830087-14.531971-32.429597-32.391734-32.549324l-4.009314-0.074701-80.415494 0 0-50.962695 82.435501 0 1.772366-0.119727c18.032702-0.135076 32.608675-14.748912 32.608675-32.578999 0-17.845437-14.531971-32.444946-32.399921-32.564673l-84.416622-0.045025 0-40.702004-0.441045-1.779529 0.029676-3.290953c0.590448-3.261277 0.912789-6.028297 0.912789-8.855692C542.621415-13.427432 523.646248-32.409762 500.326123-32.409762zM397.069411 634.175989 323.130422 745.24155l0.276293 0.972141-0.171915 3.948939c-0.61296 2.857071-1.001817 4.577249-1.001817 6.238075 0 12.011568 5.92392 22.556739 15.099906 26.880207l2.737344 2.423189c8.840342 2.093684 97.752348 22.138206 170.023348 22.482037l2.109034 0c73.019037 0 154.436348-19.102057 167.839613-22.37766l0.650823-1.541099 2.131547-1.017166c9.102309-4.322445 14.988366-14.868639 14.988366-26.850531 0-1.675152-0.418532-3.440355-0.852414-5.29561l-0.441045-1.88493 0.957815-4.457522-74.395384-110.586654L397.069411 634.174965zM510.415922 744.283736c-26.14752-0.135076-57.596789-3.096525-93.504604-8.810666l-9.491165-1.5104 23.896246-35.885302 157.52571 0 24.232914 36.363186-9.468652 1.541099c-34.149774 5.504364-64.896032 8.302083-91.39557 8.302083L510.415922 744.283736z" horiz-adv-x="1024" />
<glyph glyph-name="wodeyouhuijuan" unicode="&#59374;" d="M1009.770667 502.464C1018.282667 505.472 1024 513.536 1024 522.602667l0 131.242667c0 52.352-42.56 94.976-94.912 94.976L94.976 748.821333c-52.352 0-94.954667-42.624-94.954667-94.976l0-131.242667c0-9.045333 5.696-17.130667 14.250667-20.138667C64.426667 484.736 98.133333 437.141333 98.133333 384c0-53.12-33.706667-100.757333-83.882667-118.506667C5.696 262.549333 0 254.421333 0 245.376l0-131.242667c0-52.330667 42.602667-94.954667 94.954667-94.954667L929.066667 19.178667c52.330667 0 94.933333 42.624 94.933333 94.954667l0 131.242667c0 9.045333-5.674667 17.130667-14.229333 20.117333-50.218667 17.749333-83.946667 65.365333-83.946667 118.506667S959.552 484.714667 1009.770667 502.464zM883.114667 384c0-66.048 38.869333-125.717333 98.154667-152.981333l0-116.885333c0-28.778667-23.402667-52.202667-52.202667-52.202667L94.954667 61.930667c-28.8 0-52.224 23.424-52.224 52.202667l0 116.885333c59.264 27.264 98.133333 86.933333 98.133333 152.981333 0 66.048-38.869333 125.738667-98.133333 152.981333l0 116.864c0 28.8 23.402667 52.224 52.224 52.224L929.066667 706.069333c28.778667 0 52.202667-23.402667 52.202667-52.224l0-116.864C921.962667 509.717333 883.114667 450.048 883.114667 384zM683.690667 503.466667l-144.682667 0 86.293333 86.208c8.384 8.362667 8.384 21.888 0 30.229333-8.341333 8.341333-21.824 8.341333-30.208 0L512 536.896l-83.008 82.986667c-8.384 8.362667-21.866667 8.362667-30.208 0-8.362667-8.362667-8.362667-21.866667 0-30.208l86.229333-86.208-144.768 0c-11.776 0-21.354667-9.557333-21.354667-21.354667 0-11.797333 9.578667-21.376 21.354667-21.376l150.4 0 0-79.893333L364.8 380.842667c-11.818667 0-21.376-9.557333-21.376-21.376 0-11.818667 9.557333-21.333333 21.376-21.333333l125.845333 0 0-174.869333c0-11.84 9.557333-21.376 21.354667-21.376 11.84 0 21.376 9.578667 21.376 21.376L533.376 338.133333l125.76 0c11.861333 0 21.418667 9.536 21.418667 21.333333s-9.536 21.376-21.376 21.376l-125.781333 0 0 79.893333 150.357333 0c11.776 0 21.312 9.6 21.312 21.376C705.045333 493.888 695.509333 503.466667 683.690667 503.466667z" horiz-adv-x="1024" />
<glyph glyph-name="daifukuan01" unicode="&#58918;" d="M391.809105 800.640142l217.4628 0c5.718235 0 10.354835 5.102205 10.354835 11.395538l0 8.546653c0 6.293333-4.6366 11.395538-10.354835 11.395538l-217.4628 0c-5.719258 0-10.355859-5.102205-10.355859-11.395538l0-8.546653C381.453247 805.742347 386.089847 800.640142 391.809105 800.640142zM305.64877 506.253368l389.782448 0c5.718235 0 10.354835 5.102205 10.354835 11.395538l0 8.546653c0 6.293333-4.6366 11.395538-10.354835 11.395538L305.64877 537.591097c-5.719258 0-10.355859-5.102205-10.355859-11.395538l0-8.546653C295.292911 511.355573 299.929512 506.253368 305.64877 506.253368zM860.412736 300.245458 860.412736 793.414577c0 20.977777-15.429411 37.986149-34.463929 37.986149L704.581622 831.400726c-10.743692-1.198292-15.273868-14.719236-15.273868-14.719236l-38.392402-69.362764c0 0-2.835581-4.306072-4.256954-5.184069-1.219781-0.7552-4.738931-0.949628-4.738931-0.949628L357.80771 741.185029c0 0-2.674922 0.339738-3.66139 0.949628-0.724501 0.448208-2.591011 2.174526-2.591011 2.174526l-40.058344 72.372308c0 0-4.530177 13.520945-15.272845 14.719236L175.201789 831.400726c-19.033495 0-34.463929-17.007349-34.463929-37.986149l0-754.434541c0-20.9788 15.430434-37.985126 34.463929-37.985126l382.28059 0c-0.002047 0.002047-0.004093 0.004093-0.00614 0.00614 38.684044-39.760562 92.759637-64.470337 152.61691-64.470337 117.593232 0 212.923414 95.329159 212.923414 212.922391C923.016563 208.369957 899.083477 261.695466 860.412736 300.245458zM854.310761 306.081373c-0.218988 0.200568-0.432859 0.406253-0.652869 0.607844C853.878926 306.488649 854.092797 306.282964 854.310761 306.081373zM850.96455 309.097056c-0.287549 0.254803-0.573051 0.512676-0.862647 0.766456C850.391499 309.609733 850.677001 309.351859 850.96455 309.097056zM175.201789 32.332638c-3.325745 0-6.031367 2.982938-6.031367 6.647397L169.170422 793.414577c0 3.665483 2.705622 6.647397 6.031367 6.647397l112.188128 0 39.893592-72.073502 2.424212-4.380774 3.566222-3.300162c3.911076-3.618411 6.048763-4.940522 6.952342-5.499248 1.477654-0.914836 5.973038-3.696182 14.328333-4.755304l1.620917-0.205685 1.63115 0 284.11278 0 0.711198 0 0.710175 0.039909c10.194176 0.562818 15.497972 3.846608 17.225313 4.916986 3.194762 1.974981 7.598049 5.362124 13.358239 14.106276l0.668219 1.017166 0.594541 1.072425 38.22458 69.062935 112.534006 0c3.324722 0 6.031367-2.981914 6.031367-6.647397l0-469.37111c-34.530444 24.153096-76.550467 38.33305-121.886001 38.33305-1.439792 0-2.874467-0.025583-4.307096-0.055259l0 7.184633c0 6.293333-4.6366 11.395538-10.354835 11.395538L305.64877 380.902452c-5.719258 0-10.355859-5.102205-10.355859-11.395538l0-8.546653c0-6.29538 4.6366-11.396561 10.355859-11.396561l331.537905 0c1.38658 0.505513 2.781346 0.995677 4.181229 1.472538-60.281945-20.546965-108.391662-67.375503-130.688481-126.8255L305.64877 224.210737c-5.719258 0-10.355859-5.102205-10.355859-11.395538l0-8.547677c0-6.294356 4.6366-11.395538 10.355859-11.395538l195.95802 0c0.282433 1.363044 0.578168 2.720971 0.887206 4.074805-3.479241-15.273868-5.323239-31.168883-5.323239-47.495734 0-43.278689 12.924357-83.533508 35.107589-117.138884-0.004093 0.00614-0.008186 0.01228-0.01228 0.01842L175.201789 32.330592zM847.305207 312.256002c-0.26606 0.224104-0.530073 0.450255-0.797156 0.673335C846.775134 312.706257 847.039147 312.479083 847.305207 312.256002zM843.547627 315.352527c-0.221034 0.178055-0.441045 0.357134-0.661056 0.533143C843.106582 315.709661 843.326593 315.530582 843.547627 315.352527zM839.734788 318.352861c-0.163729 0.12689-0.328481 0.252757-0.493234 0.379647C839.406307 318.605617 839.571059 318.479751 839.734788 318.352861zM835.868737 321.25598c-0.088004 0.064468-0.176009 0.128937-0.264013 0.192382C835.692728 321.384917 835.780733 321.321472 835.868737 321.25598zM701.857581 362.202555c-0.303922-0.011256-0.608867-0.021489-0.912789-0.033769C701.248713 362.181065 701.553659 362.191298 701.857581 362.202555zM697.232237 361.978451c-0.343831-0.021489-0.686638-0.042979-1.030469-0.064468C696.545598 361.935472 696.888406 361.959008 697.232237 361.978451zM692.459536 361.644853c-0.172939-0.01535-0.344854-0.031722-0.517793-0.046049C692.115706 361.61313 692.287621 361.630527 692.459536 361.644853zM680.063205 360.258273c-0.394996-0.055259-0.789992-0.106424-1.183965-0.164752C679.273213 360.150826 679.668209 360.203014 680.063205 360.258273zM675.686525 359.59517c-0.532119-0.086981-1.063215-0.173962-1.594311-0.265036C674.623309 359.421208 675.154405 359.508189 675.686525 359.59517zM671.063227 358.793922c-0.568958-0.105401-1.133823-0.215918-1.701758-0.325411C669.929404 358.578004 670.495292 358.689544 671.063227 358.793922zM666.400021 357.880109c-0.522909-0.10847-1.041726-0.228197-1.561565-0.339738C665.358295 357.652935 665.877111 357.771639 666.400021 357.880109zM659.509077 356.314451c-0.653893-0.158612-1.308809-0.313132-1.960655-0.478907C658.200268 356.002342 658.856207 356.155838 659.509077 356.314451zM655.051555 355.178581c-0.727571-0.193405-1.454118-0.387833-2.177596-0.589424C653.597437 354.790748 654.323984 354.984153 655.051555 355.178581zM650.470213 353.903541c-0.7552-0.220011-1.509377-0.445138-2.260483-0.673335C648.96186 353.458403 649.715013 353.683531 650.470213 353.903541zM645.903198 352.520031c-0.799202-0.251733-1.595334-0.5137-2.390443-0.775666C644.308887 352.006332 645.103995 352.268298 645.903198 352.520031zM509.358335 220.58414c-0.049119-0.1361-0.097214-0.273223-0.145309-0.409322C509.261121 220.310917 509.309216 220.44804 509.358335 220.58414zM505.630431 209.031013c-0.027629-0.093121-0.057305-0.187265-0.083911-0.280386C505.574149 208.843748 505.602801 208.937892 505.630431 209.031013zM504.702292 205.728804c-0.140193-0.51063-0.278339-1.02126-0.414439-1.532913C504.423953 204.707544 504.562099 205.218174 504.702292 205.728804zM503.572562 201.436034c-0.156566-0.627287-0.309038-1.257643-0.460488-1.886977C503.26557 200.178391 503.414973 200.808748 503.572562 201.436034zM554.005184 4.654252c0.010233-0.011256 0.021489-0.021489 0.030699-0.032746C554.025651 4.63174 554.014394 4.642996 554.005184 4.654252zM535.081183 28.173922c0.00921-0.01228 0.01842-0.024559 0.026606-0.037862C535.098579 28.149363 535.089369 28.161642 535.081183 28.173922zM538.005792 24.066371c0.00921-0.01228 0.01842-0.023536 0.025583-0.035816C538.024212 24.041812 538.015002 24.054091 538.005792 24.066371zM541.023522 20.032498c0.00921-0.013303 0.019443-0.024559 0.028653-0.037862C541.042965 20.007939 541.032732 20.019195 541.023522 20.032498zM544.13028 16.076396c0.01228-0.01535 0.024559-0.029676 0.036839-0.046049C544.155862 16.04672 544.142559 16.061047 544.13028 16.076396zM547.332205 12.191926c0.01228-0.01535 0.024559-0.028653 0.036839-0.044002C547.357787 12.163273 547.344484 12.176576 547.332205 12.191926zM550.624181 8.384204c0.01228-0.014326 0.023536-0.026606 0.035816-0.039909C550.647717 8.357598 550.63646 8.370901 550.624181 8.384204zM838.944795 20.601456c-34.417881-34.416857-80.179111-53.371558-128.851647-53.371558-48.673559 0-94.433766 18.954701-128.851647 53.371558-34.417881 34.417881-53.372581 80.179111-53.372581 128.851647 0 48.673559 18.954701 94.433766 53.372581 128.851647s80.178087 53.372581 128.851647 53.372581c48.672536 0 94.433766-18.954701 128.851647-53.372581s53.372581-80.179111 53.372581-128.851647S873.362676 55.02036 838.944795 20.601456zM801.834596 139.991614c8.477069 0 15.349593 6.872524 15.349593 15.349593s-6.872524 15.349593-15.349593 15.349593l-59.743686 0 65.669652 85.421508c5.167696 6.721075 3.906983 16.35755-2.813069 21.524223-6.721075 5.16872-16.358573 3.906983-21.524223-2.813069l-72.494081-94.297666-72.496128 94.297666c-5.166673 6.720052-14.802124 7.981788-21.524223 2.813069-6.720052-5.166673-7.980765-14.803147-2.813069-21.524223l65.671699-85.421508-59.744709 0c-8.477069 0-15.349593-6.872524-15.349593-15.349593s6.872524-15.349593 15.349593-15.349593l75.556836 0 0-33.440623-71.920006 0c-8.477069 0-15.349593-6.872524-15.349593-15.349593s6.872524-15.349593 15.349593-15.349593l71.920006 0 0-57.341986c0-8.477069 6.872524-15.349593 15.349593-15.349593s15.349593 6.872524 15.349593 15.349593l0 57.341986 71.918983 0c8.477069 0 15.349593 6.872524 15.349593 15.349593s-6.872524 15.349593-15.349593 15.349593l-71.918983 0 0 33.440623L801.834596 139.991614z" horiz-adv-x="1024" />
<glyph glyph-name="yiwancheng" unicode="&#58974;" d="M889.679805 348.948693c0 41.48074-27.488051 76.604702-65.056692 87.821161L824.623114 575.747115c0 47.821145-38.557154 86.729294-85.951581 86.729294l-39.310308 0-87.373976 94.53405c-3.321652 3.619434-8.553817 4.706185-13.033851 2.76702L374.667192 662.476409l-85.661985 0c-47.393403 0-85.951581-38.908148-85.951581-86.729294l0-453.629591c0-47.806819 38.557154-86.706781 85.951581-86.706781l449.666326 0c47.393403 0 85.951581 38.899962 85.951581 86.706781L824.623114 261.118322C862.190731 272.334781 889.679805 307.46079 889.679805 348.948693zM600.618317 735.0851l67.11149-72.608691L433.252495 662.476409 600.618317 735.0851zM801.478997 122.118548c0-34.932604-28.181853-63.35698-62.808488-63.35698L289.005206 58.761568c-34.626635 0-62.808488 28.424376-62.808488 63.35698L226.196719 575.747115c0 34.94693 28.181853 63.379493 62.808488 63.379493l449.666326 0c34.626635 0 62.808488-28.433586 62.808488-63.379493l0-135.267776c-0.857531 0.024559-1.716084 0.038886-2.578732 0.038886L578.36243 440.518225c-6.390547 0-11.573593-5.230118-11.573593-11.675924l0-159.799496c0-6.445806 5.184069-11.675924 11.573593-11.675924l220.537835 0c0.862647 0 1.722224 0.01535 2.578732 0.038886L801.478997 122.118548zM798.900266 280.717705 589.936023 280.717705 589.936023 417.17047l208.964242 0c37.296441 0 67.636446-30.607088 67.636446-68.221778C866.536712 311.324794 836.196707 280.717705 798.900266 280.717705z" horiz-adv-x="1024" />
<glyph glyph-name="wodedingdan" unicode="&#58950;" d="M383 555l260 0c16.6 0 30 13.4 30 30 0 16.6-13.4 30-30 30L383 615c-16.6 0-30-13.4-30-30C353 568.4 366.4 555 383 555zM383 431l260 0c16.6 0 30 13.4 30 30 0 16.6-13.4 30-30 30L383 491c-16.6 0-30-13.4-30-30C353 444.4 366.4 431 383 431zM383 298l260 0c16.6 0 30 13.4 30 30 0 16.6-13.4 30-30 30L383 358c-16.6 0-30-13.4-30-30C353 311.4 366.4 298 383 298zM807 205.3c0.4 2.9 0.4 5.9 0 8.9L807 693l-0.5 0c-4.5 39.9-38.3 71-79.5 71L316 764c-44.2 0-80-35.8-80-80l0-600c0-41.1 31.1-75 71-79.5l0-0.5 281 0 0 0.4c4 0.7 7.8 2.2 11.1 4.3 3.5 1.3 6.8 3.3 9.7 6l188.8 172.9c3.8 3.5 6.6 7.8 8.1 12.4l1.3 0L807 205.3zM296 84 296 684c0 11 9 20 20 20l411 0c11 0 20-9 20-20l0-437L633 247c-44.2 0-80-35.8-80-80l0-103L316 64C305 64 296 73 296 84zM708.1 187 613 99.9 613 167c0 11 9 20 20 20L708.1 187z" horiz-adv-x="1024" />
<glyph glyph-name="jifen" unicode="&#58954;" d="M801.23724 896C518.930425 896 289.23724 666.306816 289.23724 384s229.693184-512 512-512c282.311824 0 512 229.693184 512 512S1083.549065 896 801.23724 896zM801.23724-64.000939c-247.04241 0-447.995931 200.963537-447.995931 448.000939 0 247.04241 200.95352 448.000939 447.995931 448.000939S1249.23818 631.04241 1249.23818 384C1249.23818 136.962598 1048.279651-64.000939 801.23724-64.000939zM801.23724 486.167108c-22.665682 0-43.835093 2.909902-63.543293 8.725949-19.689418 5.796014-35.216825 14.408021-46.594742 25.773417l0-34.499367c0-9.338231 4.933311-17.999071 14.782402-25.975007 9.841579-7.977188 23.235392-14.292827 40.150136-18.975716 16.914744-4.659099 35.315742-6.996787 55.205498-6.996787 19.879739 0 38.290753 2.337688 55.196733 6.996787 16.914744 4.659099 30.308557 10.998528 40.1589 18.975716 9.840327 7.975936 14.773637 16.638028 14.773637 25.975007l0 34.499367c-11.369152-11.364144-26.920349-19.953613-46.61102-25.773417C845.064821 489.074505 823.894158 486.167108 801.23724 486.167108zM911.366511 364.838972c-11.369152-11.365396-26.920349-19.956117-46.61102-25.772165-19.69067-5.8173-40.860082-8.728454-63.516999-8.728454-22.665682 0-43.835093 2.909902-63.543293 8.728454-19.689418 5.816048-35.216825 14.382979-46.594742 25.748375l0-34.49561c0-9.340735 4.933311-18.000323 14.782402-25.977511 9.841579-7.974684 23.235392-14.292827 40.150136-18.975716 16.914744-4.659099 35.315742-6.976753 55.205498-6.976753 19.879739 0 38.290753 2.341444 55.196733 7.000543 16.914744 4.680384 30.308557 10.998528 40.1589 18.973212 9.840327 7.97844 14.773637 16.635524 14.773637 25.975007L911.367763 364.838972zM705.86533 538.095835c9.840327-7.999726 23.235392-14.320374 40.150136-18.979472 16.931021-4.659099 35.332019-6.976753 55.221775-6.976753 19.879739 0 38.290753 2.342696 55.196733 7.000543 16.914744 4.659099 30.308557 10.998528 40.1589 18.975716 9.840327 7.97844 14.773637 16.634272 14.773637 25.975007l0 21.514994c0 9.339483-4.932058 17.996566-14.773637 25.973755-9.850344 7.975936-23.244156 14.296584-40.1589 18.975716-16.905979 4.659099-35.316994 7.000543-55.196733 7.000543-19.889756 0-38.290753-2.341444-55.221775-7.000543-16.914744-4.679132-30.309809-10.998528-40.150136-18.975716-9.849091-7.977188-14.774889-16.634272-14.774889-25.97125l0-21.540036C691.09044 554.730107 696.016238 546.071771 705.86533 538.095835zM864.771769 416.970541c-19.706948-5.8173-40.876359-8.729706-63.534528-8.729706-22.665682 0-43.835093 2.911154-63.542041 8.729706-19.691922 5.818552-35.218077 14.404265-46.595994 25.769661l0-34.499367c0-9.339483 4.933311-17.996566 14.782402-25.973755 9.841579-7.974684 23.235392-14.294079 40.150136-18.974464 16.931021-4.659099 35.332019-7.000543 55.221775-7.000543 19.879739 0 38.281989 2.341444 55.196733 7.000543 16.913492 4.659099 30.308557 10.99978 40.1589 18.974464 9.840327 7.977188 14.774889 16.635524 14.774889 25.973755l0 34.499367C900.013636 431.374806 884.462439 422.786589 864.771769 416.970541zM801.23724 253.274784c-22.665682 0-43.835093 2.909902-63.543293 8.725949-19.689418 5.796014-35.216825 14.408021-46.594742 25.773417l0-34.499367c0-9.338231 4.933311-17.999071 14.782402-25.975007 9.841579-7.977188 23.235392-14.292827 40.150136-18.975716 16.914744-4.659099 35.315742-6.996787 55.205498-6.996787 19.879739 0 38.290753 2.337688 55.196733 6.996787 16.914744 4.659099 30.308557 10.998528 40.1589 18.975716 9.840327 7.975936 14.773637 16.638028 14.773637 25.975007l0 34.499367c-11.369152-11.364144-26.920349-19.953613-46.61102-25.773417C845.064821 256.182182 823.894158 253.274784 801.23724 253.274784zM801.23724 175.348512c-22.665682 0-43.835093 2.911154-63.542041 8.729706-19.691922 5.818552-35.218077 14.404265-46.595994 25.769661l0-34.499367c0-9.339483 4.933311-17.996566 14.782402-25.973755 9.841579-7.974684 23.235392-14.294079 40.150136-18.974464 16.931021-4.659099 35.332019-7.000543 55.221775-7.000543 19.879739 0 38.281989 2.341444 55.196733 7.000543 16.913492 4.659099 30.308557 10.99978 40.1589 18.974464 9.840327 7.977188 14.774889 16.635524 14.774889 25.973755l0 34.499367c-11.370404-11.365396-26.921601-19.953613-46.612272-25.769661C845.064821 178.259666 823.894158 175.348512 801.23724 175.348512zM801.23724 97.447282c-22.665682 0-43.835093 2.909902-63.543293 8.728454-19.689418 5.816048-35.216825 14.382979-46.594742 25.748375l0-34.49561c0-9.340735 4.933311-18.000323 14.782402-25.977511 9.841579-7.974684 23.235392-14.292827 40.150136-18.975716 16.914744-4.659099 35.315742-6.976753 55.205498-6.976753 19.879739 0 38.290753 2.341444 55.196733 7.000543 16.914744 4.680384 30.308557 10.998528 40.1589 18.973212 9.840327 7.97844 14.773637 16.635524 14.773637 25.975007l0 34.499367c-11.369152-11.365396-26.920349-19.956117-46.61102-25.772165C845.064821 100.357184 823.894158 97.447282 801.23724 97.447282zM465.847252 399.703954c-8.431704-6.829004-12.648808-14.240239-12.648808-22.234956l0-18.441065c0-7.993466 4.217104-15.407205 12.648808-22.234956 8.425443-6.849038 19.89226-12.259402 34.374156-16.248622 14.494417-3.987968 30.248456-5.972561 47.277142-5.972561 17.019921 0 32.781473 2.005879 47.255856 5.992595 14.480644 3.98922 25.94746 9.415862 34.380416 16.244866 8.425443 6.831508 12.647556 14.241491 12.647556 22.238713l0 18.419779c0 7.99597-4.223365 15.407205-12.647556 22.236208-8.432956 6.829004-19.899773 12.239368-34.380416 16.244866-14.473131 3.987968-30.235935 5.992595-47.255856 5.992595-17.028686 0-32.781473-2.004627-47.277142-5.992595C485.739512 411.943322 474.272696 406.531706 465.847252 399.703954M453.205957 255.155452 453.205957 225.620699c0-7.99597 4.224617-15.407205 12.65632-22.237461 8.425443-6.827752 19.89226-12.238116 34.374156-16.244866 14.494417-3.98922 30.248456-5.993847 47.277142-5.993847 17.019921 0 32.77396 2.004627 47.255856 5.993847 14.480644 3.987968 25.94746 9.417114 34.380416 16.244866 8.425443 6.829004 12.648808 14.242743 12.648808 22.237461l0 29.536005c-9.73515-9.730141-23.047575-17.082527-39.905974-22.062165-16.87092-4.980891-34.995202-7.47384-54.392879-7.47384-19.403937 0-37.528219 2.49295-54.400391 7.47384C476.239759 238.074178 462.946115 245.425311 453.205957 255.155452M453.205957 188.443071l0-29.532249c0-7.997222 4.224617-15.410961 12.65632-22.239965 8.425443-6.827752 19.89226-12.236864 34.374156-16.244866 14.480644-3.987968 30.234682-5.972561 47.262116-5.972561 17.019921 0 32.781473 2.004627 47.255856 5.992595 14.480644 4.00675 25.94746 9.415862 34.380416 16.243614 8.425443 6.830256 12.647556 14.242743 12.647556 22.238713l0 29.536005c-9.733897-9.730141-23.046323-17.085031-39.904722-22.063417-16.857147-4.980891-34.981429-7.472588-54.379105-7.472588-19.403937 0-37.528219 2.491697-54.401643 7.472588C476.239759 171.378073 462.946115 178.712929 453.205957 188.443071M453.205957 321.870338l0-29.536005c0-7.994718 4.224617-15.409709 12.65632-22.238713 8.425443-6.829004 19.89226-12.236864 34.374156-16.244866 14.480644-3.987968 30.234682-5.990091 47.262116-5.990091 17.019921 0 32.781473 2.000871 47.255856 5.990091 14.480644 3.987968 25.94746 9.415862 34.380416 16.244866 8.425443 6.829004 12.647556 14.243995 12.647556 22.238713L641.782378 321.870338c-9.733897-9.730141-23.046323-17.082527-39.904722-22.064669-16.857147-4.980891-34.981429-7.470084-54.379105-7.470084-19.403937 0-37.528219 2.491697-54.401643 7.470084C476.239759 304.767778 462.946115 312.140197 453.205957 321.870338M973.325886 405.062982c-8.431704-6.829004-12.648808-14.241491-12.648808-22.234956l0-18.441065c0-7.993466 4.217104-15.407205 12.648808-22.234956 8.425443-6.849038 19.89226-12.259402 34.374156-16.248622 14.494417-3.987968 30.248456-5.972561 47.277142-5.972561 17.019921 0 32.781473 2.005879 47.255856 5.992595 14.480644 3.98922 25.94746 9.415862 34.380416 16.244866 8.425443 6.831508 12.647556 14.241491 12.647556 22.238713l0 18.419779c0 7.99597-4.222112 15.407205-12.647556 22.236208-8.432956 6.829004-19.899773 12.239368-34.380416 16.244866-14.474383 3.987968-30.235935 5.992595-47.255856 5.992595-17.028686 0-32.781473-2.004627-47.277142-5.992595C993.218146 417.30235 981.751329 411.891986 973.325886 405.062982M960.684591 260.515732l0-29.536005c0-7.99597 4.223365-15.407205 12.65632-22.237461 8.425443-6.8265 19.89226-12.238116 34.374156-16.244866 14.494417-3.98922 30.248456-5.993847 47.277142-5.993847 17.019921 0 32.77396 2.004627 47.255856 5.993847 14.480644 3.987968 25.94746 9.417114 34.380416 16.244866 8.425443 6.829004 12.648808 14.242743 12.648808 22.237461l0 29.536005c-9.73515-9.730141-23.047575-17.082527-39.905974-22.062165-16.87092-4.980891-34.995202-7.47384-54.392879-7.47384-19.403937 0-37.529471 2.49295-54.400391 7.47384C983.718393 243.434457 970.424749 250.785591 960.684591 260.515732M960.684591 193.802098l0-29.532249c0-7.997222 4.223365-15.410961 12.65632-22.239965 8.425443-6.827752 19.89226-12.236864 34.374156-16.244866 14.480644-3.987968 30.234682-5.972561 47.262116-5.972561 17.019921 0 32.781473 2.004627 47.255856 5.992595 14.480644 4.00675 25.94746 9.415862 34.380416 16.243614 8.425443 6.830256 12.647556 14.242743 12.647556 22.238713l0 29.536005c-9.733897-9.730141-23.046323-17.085031-39.904722-22.063417-16.857147-4.980891-34.981429-7.472588-54.379105-7.472588-19.403937 0-37.529471 2.491697-54.401643 7.472588C983.718393 176.738353 970.424749 184.073209 960.684591 193.802098M960.684591 327.230618l0-29.536005c0-7.994718 4.223365-15.409709 12.65632-22.238713 8.425443-6.829004 19.89226-12.236864 34.374156-16.244866 14.480644-3.987968 30.234682-5.990091 47.262116-5.990091 17.019921 0 32.781473 2.000871 47.255856 5.990091 14.480644 3.987968 25.94746 9.415862 34.380416 16.244866 8.425443 6.829004 12.647556 14.243995 12.647556 22.238713l0 29.536005c-9.733897-9.730141-23.046323-17.082527-39.904722-22.064669-16.857147-4.980891-34.981429-7.470084-54.379105-7.470084-19.403937 0-37.529471 2.491697-54.401643 7.470084C983.718393 310.128058 970.424749 317.500477 960.684591 327.230618" horiz-adv-x="1603" />
<glyph glyph-name="lingjuandizhi" unicode="&#59006;" d="M943.088 555.856 526.592 868.36C516.24 876.12 504.112 880 492 880c-12.12 0-24.24-3.88-34.592-11.64L40.912 555.856C25.28 544.128 16 525.184 16 505l0-562.488C16-92.008 42.64-120 75.496-120c0 0 79.44 0 146.528 0 103.688 0 91.472 81.88 91.472 81.88L313.496 255c0 34.52 26.64 62.504 59.496 62.504l238 0c32.856 0 59.504-27.984 59.504-62.504l0-298.368c0 0-3.68-75.304 81.528-76.624 68.904 0 156.464 0 156.464 0 32.856 0 59.504 27.992 59.504 62.504L967.992 505C968 525.184 958.72 544.128 943.088 555.856z" horiz-adv-x="1024" />
<glyph glyph-name="weibiaoti2fuzhi05" unicode="&#58914;" d="M633.6 678.4l108.8 0L512 832 281.6 678.4 384 678.4l0-275.2 249.6 0L633.6 678.4zM435.2 723.2 512 774.4l76.8-51.2L588.8 448 435.2 448 435.2 723.2zM627.2 134.4l76.8 102.4 179.2 0-64-249.6L204.8-12.8l-64 249.6 179.2 0 76.8-102.4L627.2 134.4zM838.4 614.4l-147.2 0c-12.8 0-25.6-12.8-25.6-25.6 0-12.8 12.8-25.6 25.6-25.6l108.8 0c12.8 0 19.2-6.4 25.6-19.2L876.8 320c6.4-12.8-6.4-32-25.6-32l-160 0c-6.4 0-12.8-6.4-19.2-12.8l-57.6-83.2c-6.4-6.4-12.8-12.8-19.2-12.8L435.2 179.2c-6.4 0-12.8 6.4-19.2 12.8L358.4 275.2C352 281.6 345.6 288 339.2 288L172.8 288C160 288 147.2 300.8 147.2 320l51.2 224c0 12.8 12.8 19.2 25.6 19.2l108.8 0c12.8 0 25.6 12.8 25.6 25.6 0 12.8-12.8 25.6-25.6 25.6L185.6 614.4c-12.8 0-19.2-6.4-25.6-19.2L89.6 268.8c0-6.4 0-6.4 0-12.8l76.8-300.8c0-12.8 12.8-19.2 25.6-19.2l652.8 0c12.8 0 19.2 6.4 25.6 19.2l76.8 300.8c0 6.4 0 6.4 0 12.8l-76.8 326.4C857.6 608 851.2 614.4 838.4 614.4z" horiz-adv-x="1024" />
<glyph glyph-name="shouhuodizhi" unicode="&#58978;" d="M512.005117 895.653099c-282.287201 0-434.613492-213.591633-434.613492-396.730697 0-190.322673 196.84625-402.487817 429.855118-504.555447l4.758374-2.100848 4.758374 2.100848c232.997612 102.066607 429.844885 314.251194 429.844885 504.555447C946.607352 682.06249 794.292318 895.653099 512.005117 895.653099zM512.00307 369.313509c-108.035552 0-195.61419 87.579661-195.61419 195.61419S403.967518 760.541889 512.00307 760.541889c108.033505 0 195.61419-87.579661 195.61419-195.61419S620.037599 369.313509 512.00307 369.313509zM259.848143-88.530057a246.409 38.232 0 1 0 504.303714 0 246.409 38.232 0 1 0-504.303714 0Z" horiz-adv-x="1024" />
<glyph glyph-name="wodeshoucang" unicode="&#59017;" d="M1019.733333 512c-8.533333 25.6-34.133333 46.933333-59.733333 51.2l-268.8 42.666667L580.266667 853.333333c-12.8 25.6-38.4 42.666667-68.266667 42.666667s-55.466667-17.066667-68.266667-42.666667L328.533333 605.866667l-264.533333-42.666667C34.133333 558.933333 12.8 541.866667 4.266667 512c-8.533333-25.6 0-55.466667 17.066666-76.8l196.266667-200.533333L170.666667-42.666667c-4.266667-29.866667 8.533333-55.466667 29.866666-72.533333 12.8-8.533333 29.866667-12.8 42.666667-12.8 12.8 0 25.6 4.266667 34.133333 8.533333l230.4 123.733334 230.4-123.733334c12.8-4.266667 25.6-8.533333 34.133334-8.533333 17.066667 0 29.866667 4.266667 42.666666 12.8 21.333333 17.066667 34.133333 46.933333 29.866667 72.533333l-46.933333 277.333334 196.266666 200.533333c29.866667 25.6 34.133333 51.2 25.6 76.8z" horiz-adv-x="1024" />
<glyph glyph-name="ziyuan" unicode="&#58919;" d="M512 470.646154a226.855385 226.855385 0 1 1 205.193846-322.953846 36.233846 36.233846 0 1 1-65.378461 30.326154 154.781538 154.781538 0 0 0-294.99077 65.378461A154.781538 154.781538 0 0 0 512 398.572308a157.538462 157.538462 0 0 0 140.603077-90.19077 36.233846 36.233846 0 0 1 65.378461 30.326154A228.036923 228.036923 0 0 1 512 470.646154zM512 604.553846a351.704615 351.704615 0 1 1 351.310769-351.310769A351.704615 351.704615 0 0 1 512 604.553846z m279.236923-351.310769A279.236923 279.236923 0 1 0 512 532.48a279.630769 279.630769 0 0 0 279.236923-279.236923zM801.083077 866.461538H222.916923a62.227692 62.227692 0 0 1-62.227692-62.227692v-142.178461a114.215385 114.215385 0 0 1 39.384615-78.769231L250.486154 541.538462a36.233846 36.233846 0 1 1 45.686154 54.744615l-50.412308 39.384615a48.049231 48.049231 0 0 0-12.996923 24.418462V794.387692h558.473846v-132.332307a30.326154 30.326154 0 0 0-12.996923-24.418462l-50.412308-39.384615A36.233846 36.233846 0 0 1 773.513846 541.538462l50.806154 39.384615a101.612308 101.612308 0 0 1 39.384615 78.769231V804.233846A62.227692 62.227692 0 0 1 801.083077 866.461538z" horiz-adv-x="1024" />
<glyph glyph-name="gouwuche" unicode="&#58887;" d="M289 14.8c-55.9 0-101.4 45.5-101.4 101.4 0 55.9 45.5 101.4 101.4 101.4s101.4-45.5 101.4-101.4c0-55.9-45.5-101.4-101.4-101.4z m0 161.6c-33.2 0-60.2-27-60.2-60.1 0-33.2 27-60.1 60.2-60.1s60.2 27 60.2 60.1c-0.1 33.1-27.1 60.1-60.2 60.1zM566.2 14.8c-55.9 0-101.4 45.5-101.4 101.4 0 55.9 45.5 101.4 101.4 101.4s101.4-45.5 101.4-101.4c0-55.9-45.5-101.4-101.4-101.4z m0 161.6c-33.2 0-60.2-27-60.2-60.1 0-33.2 27-60.1 60.2-60.1s60.2 27 60.2 60.1c-0.1 33.1-27.1 60.1-60.2 60.1zM648.4 255.2H198.3L86.9 645.4h567.2l45.7 107.7h163.5c40.7 0 73.8-33.4 73.8-74.5 0-41-33.1-74.3-73.8-74.3-5.1 0-47.7-0.1-70.2-0.2L648.4 255.2z m-419 41.3h391.4l144.7 348.9h13.7s77.1 0.2 84 0.2c17.9 0 32.6 14.8 32.6 33 0 18-14.9 33.2-32.6 33.2H727l-45.7-107.7H141.6l87.8-307.6z" horiz-adv-x="1024" />
<glyph glyph-name="yiguanbigongdanshu" unicode="&#59025;" d="M576 832H256a64.19 64.19 0 0 1-64-64v-768a64.19 64.19 0 0 1 64-64h512a64.19 64.19 0 0 1 64 64V576z m94.39-687.53l-45.25-45.25L512 212.35 398.86 99.22l-45.25 45.25 113.14 113.14-113.14 113.14L398.86 416 512 302.86 625.14 416l45.25-45.25-113.14-113.14zM576 576V768l192-192z" horiz-adv-x="1025" />
<glyph glyph-name="shouhoukefu" unicode="&#58901;" d="M824.2 535.3C809 590.2 744.7 768 512.1 768c-230.8 0-297-177.8-310.2-232.7-43.5-17-104-62.4-104-151.3 0-87 60.5-136.2 102.2-155.1 5.7-34.1 22.7-109.7 96.5-155.1 53-34.1 117.3-41.6 160.8-43.5 9.5-18.9 28.4-30.3 49.2-30.3 32.2 0 56.8 24.6 56.8 56.8 0 30.3-24.6 56.8-56.8 56.8-22.7 0-41.6-13.2-51.1-34.1-37.8 1.9-90.8 9.5-134.3 35.9-70 43.5-73.8 128.6-73.8 132.4V512.6c3.8 22.7 45.4 204.3 264.8 204.3S773.3 533.4 777 512.6v-266.7c0-7.6 3.8-15.1 9.5-20.8 3.8-3.8 9.5-5.7 15.1-5.7 1.9 0 5.7 0 7.6 1.9 41.6 13.2 119.2 62.4 119.2 160.8-0.2 90.8-62.6 136.2-104.2 153.2zM198 287.5c-22.7 17-51.1 45.4-51.1 96.5s28.4 79.5 51.1 92.7v-189.2z m630 0V476.7c22.7-15.1 51.1-43.5 51.1-92.7s-28.4-79.5-51.1-96.5z" horiz-adv-x="1024" />
<glyph glyph-name="wodeyuyue" unicode="&#58903;" d="M868.864 529.92h-808.96v-61.44h808.96v61.44zM261.632 614.912c-16.896 0-30.72 13.824-30.72 30.72V791.552c0 16.896 13.824 30.72 30.72 30.72s30.72-13.824 30.72-30.72v-145.92c0-16.896-13.824-30.72-30.72-30.72zM161.792 353.28c0 16.896 13.824 30.72 30.72 30.72h145.92c16.896 0 30.72-13.824 30.72-30.72s-13.824-30.72-30.72-30.72H192.512c-16.896 0-30.72 13.824-30.72 30.72zM747.52 292.864c16.896 0 30.72-13.824 30.72-30.72V184.32c0-16.896-13.824-30.72-30.72-30.72s-30.72 13.824-30.72 30.72v78.336c0 16.896 13.824 30.208 30.72 30.208zM858.624 180.736c0-16.896-13.824-30.72-30.72-30.72h-78.336c-16.896 0-30.72 13.824-30.72 30.72s13.824 30.72 30.72 30.72h78.336c16.896 0 30.72-13.824 30.72-30.72zM161.792 189.44c0 16.896 13.824 30.72 30.72 30.72h145.92c16.896 0 30.72-13.824 30.72-30.72s-13.824-30.72-30.72-30.72H192.512c-16.896 0-30.72 13.824-30.72 30.72zM666.112 614.912c-16.896 0-30.72 13.824-30.72 30.72V791.552c0 16.896 13.824 30.72 30.72 30.72s30.72-13.824 30.72-30.72v-145.92c0-16.896-13.824-30.72-30.72-30.72zM458.752 22.528m-30.72 0a30.72 30.72 0 1 1 61.44 0 30.72 30.72 0 1 1-61.44 0ZM752.64 354.304c93.184 0 168.96-75.776 168.96-168.96s-75.776-168.96-168.96-168.96-168.96 75.776-168.96 168.96 75.776 168.96 168.96 168.96m0 61.44c-127.488 0-230.4-102.912-230.4-230.4s102.912-230.4 230.4-230.4 230.4 102.912 230.4 230.4-102.912 230.4-230.4 230.4zM460.8 53.248H175.104c-37.376 0-68.608 30.72-68.608 68.608V647.68c0 37.376 30.72 68.608 68.608 68.608h578.048c37.376 0 68.608-30.72 68.608-68.608v-177.664h60.416V645.12c0 72.704-58.88 131.584-131.584 131.584H178.176C105.472 776.704 46.08 717.824 46.08 645.12v-520.704c0-72.704 58.88-131.584 131.584-131.584H460.8v60.416z" horiz-adv-x="1024" />
<glyph glyph-name="buqiajuan" unicode="&#59038;" d="M941.511111 486.4l25.6 2.844444V671.288889c0 48.355556-36.977778 85.333333-85.333333 85.333333H142.222222c-48.355556 0-85.333333-36.977778-85.333333-85.333333v-184.888889l19.911111-5.688889c39.822222-14.222222 65.422222-51.2 65.422222-93.866667 0-42.666667-25.6-79.644444-65.422222-93.866666l-19.911111-5.688889v-184.888889c0-48.355556 36.977778-85.333333 85.333333-85.333333h739.555556c48.355556 0 85.333333 36.977778 85.333333 85.333333v182.044444l-25.6 2.844445c-51.2 5.688889-88.177778 48.355556-88.177778 99.555555s36.977778 93.866667 88.177778 99.555556zM910.222222 236.088889v-133.688889c0-17.066667-11.377778-28.444444-28.444444-28.444444H142.222222c-17.066667 0-28.444444 11.377778-28.444444 28.444444v145.066667c51.2 25.6 85.333333 79.644444 85.333333 139.377777s-34.133333 113.777778-85.333333 139.377778V671.288889c0 17.066667 11.377778 28.444444 28.444444 28.444444h739.555556c17.066667 0 28.444444-11.377778 28.444444-28.444444v-133.688889c-65.422222-19.911111-113.777778-79.644444-113.777778-150.755556s48.355556-130.844444 113.777778-150.755555zM696.888889 415.288889h-113.777778c-17.066667 0-28.444444-11.377778-28.444444-28.444445s11.377778-28.444444 28.444444-28.444444h113.777778c17.066667 0 28.444444 11.377778 28.444444 28.444444s-11.377778 28.444444-28.444444 28.444445zM440.888889 415.288889h-113.777778c-17.066667 0-28.444444-11.377778-28.444444-28.444445s11.377778-28.444444 28.444444-28.444444h113.777778c17.066667 0 28.444444 11.377778 28.444444 28.444444s-11.377778 28.444444-28.444444 28.444445z" horiz-adv-x="1024" />
<glyph glyph-name="kuaidi-" unicode="&#58897;" d="M292.6799 72.3c-2.32-2.57-2.41-2.77-1.81-2.13s1.1 1.29 1.66 1.93zM750.5899 54.08l0.37 0.19c-1.62-0.59-2.51-0.94-2.91-1.11l1.35 0.46zM1024.0099 154.61c-0.54 12.16-9.79 22.19-22.3 22.29l-63.15 0.51-100.62 0.81-23.06 0.19c-12 0.1-22.39-10.29-22.3-22.3 0.05-6.16 0-12.31-0.37-18.46-0.3-5.54-1.3-11.11-1.46-16.63 0.21 7.2 0 0.29-0.31-1.73-0.4-2.42-0.84-4.83-1.34-7.24-0.91-4.45-2-8.88-3.31-13.24q-1.6-5.4-3.67-10.66c-0.08-0.17-0.17-0.35-0.26-0.57q-1.26-2.72-2.65-5.37c-1.49-2.8-3.1-5.54-4.85-8.18-0.66-1-1.36-2-2.06-2.95l-0.68-0.84a80.58 80.58 0 0 0-5.6-5.94c-0.88-0.84-1.79-1.65-2.71-2.46-1.9-0.61-4.53-3.29-6.18-4.28-2-1.2-4.05-2.29-6.15-3.29l1.67 0.61c-0.68-0.25-1.36-0.52-2-0.8-1.3-0.61-3.57-1.36-2.51-0.91-1.64-0.56-3.29-1.08-5-1.54-1.84-0.49-3.69-0.93-5.55-1.3-0.61-0.12-1.21-0.22-1.81-0.32a88.6 88.6 0 0 0-14.75-0.27l-1.71 0.17a108.17 108.17 0 0 0-13.52 3.09c-1.51 0.47-3 1-4.5 1.55l0.88-0.46c-0.4 0.21-0.81 0.39-1.22 0.58l-0.24 0.09a16.3 16.3 0 0 0-2.16 1 76.59 76.59 0 0 0-8.78 5.18 7.57 7.57 0 0 0-1.27 0.9l-0.17 0.15a10.81 10.81 0 0 1-1.4 1l0.79-0.45c-0.9 0.79-1.8 1.57-2.67 2.39-2.64 2.51-4.77 5.49-7.34 8l0.92-0.91a15.4 15.4 0 0 0-1.14 1.42q-1.25 1.83-2.4 3.71a95.38 95.38 0 0 0-5 9.23c-0.24 0.49-0.46 1-0.68 1.48-0.4 1-0.81 2.06-1.18 3.1q-1.77 4.92-3.13 10t-2.36 10.18c-0.3 1.52-0.57 3-0.82 4.57l-0.21 1.34c-0.57 5.14-1 10.28-1.17 15.46a128.6 128.6 0 0 0 0.3 16.07c1.14 12-11.14 22.3-22.3 22.3H338.7299c-12.8 0-21.28-10.26-22.3-22.3-0.27-3.27-0.58-6.53-0.95-9.78-0.11-1-0.24-2-0.37-3v-0.27c-0.92-5.67-1.87-11.31-3.13-16.91a174.93 174.93 0 0 0-7.76-25.74l0.49 1c-0.27-0.57-0.52-1.16-0.77-1.74l-0.11-0.27c-0.07-0.14-0.13-0.29-0.19-0.43-0.79-1.72-1.6-3.43-2.46-5.12a115.18 115.18 0 0 0-5.47-9.6c-0.88-1.39-1.79-2.75-2.74-4.1l-0.25-0.33 0.66 0.73-0.81-0.93c-0.55-0.7-1.26-1.5-1.66-1.93-1.25-1.47-2.49-2.95-3.86-4.34q-2.79-2.83-5.83-5.39c-0.7-0.5-1.39-1-2.11-1.47-1.9-1.27-3.87-2.46-5.89-3.54-1.71-0.92-6.14-2.59-5.63-2.43a62.73 62.73 0 0 0-6.26-1.87c-1-0.24-2-0.44-3.06-0.63l2.13 0.18c-0.7-0.06-1.4-0.16-2.09-0.23h-0.42c-0.38-0.07-0.76-0.15-1.15-0.21-1.81-0.33-4.61-0.33 0.12 0.14-2.33-0.11-4.63 0-7 0-3.24 0-6.46-0.38-9.72-0.29-1.3 0-2.6 0.11-3.89 0.21l0.79-0.23a7.89 7.89 0 0 1-1.3 0.27l-0.69 0.06a7.54 7.54 0 0 0-1.47 0.28 68.25 68.25 0 0 0-9.32 2.53l-1 0.39c-1.39 0.71-2.81 1.37-4.18 2.14-1.57 0.88-3.35 1.81-5 2.87l-0.52 0.48c-0.64 0.58-1.33 1.1-2 1.67q-2 1.69-3.78 3.52c-2.13 2.11-4.09 4.36-6 6.66-1.14 1.63-2.29 3.26-3.37 4.93a130.08 130.08 0 0 0-9 16.63c0 0.1-0.1 0.22-0.15 0.34 0.12-0.31 0.24-0.63 0.37-1-0.58 1.58-1.26 3.12-1.86 4.69q-1.6 4.23-3 8.53a220.54 220.54 0 0 0-8 34c-0.1 0.62-0.19 1.23-0.28 1.84-0.14 1.22-0.29 2.43-0.41 3.65s-0.27 2.7-0.35 4.06c-0.72 12-9.63 22.3-22.3 22.3H44.6199v278l40.29 35 74.64 64.91 9.64 8.39h147.24v-105.77c0-11.66 10.26-22.84 22.3-22.3s22.3 9.8 22.3 22.3V578 718.43h602.13c8.46 0 16.94-0.15 25.4 0h1.08c11.66 0 22.84 10.25 22.3 22.29s-9.8 22.3-22.3 22.3H365.2099c-8.46 0-16.94 0.15-25.39 0h-1.09a22.62 22.62 0 0 1-22.3-22.3V601.8H163.6599a27.77 27.77 0 0 1-18.52-6.56c-1.25-1-2.45-2.12-3.67-3.19l-56.78-49.37-65.74-57.16c-4.07-3.55-8.62-6.9-12.39-10.78C-0.5401 467.43 0.0099 459.5 0.0099 450.66v-302.08a22.62 22.62 0 0 1 22.3-22.3h111.19c6.27-40.17 23.47-81.13 56.43-104.87 19.17-13.81 42.6-16.79 65.57-15.75 21.59 1 41.26 9.71 57.65 23.61 28.06 23.81 40 61 45.33 97H616.0099a203 203 0 0 1 4.53-30.87c7.22-32.51 26.22-64.35 57.24-79a109.27 109.27 0 0 1 30.75-9.69c1.45-0.21 3.89-0.54 5.53-0.75s3-0.44 4.53-0.6a80.76 80.76 0 0 1 14.75-0.22c24 1.82 46.58 10.8 64.16 27.62 27 25.86 36.7 64.08 39 100.87l41.45-0.33 100.63-0.82 23-0.18c11.78-0.09 22.95 10.33 22.43 22.31z m-810.4-95.75a17.18 17.18 0 0 0-2.56 2.08c-0.11 0.06 1.64-1.34 2.56-2.08z m55-5.51l3.2 1.13z m494 7.85l-1.31-1.08c-2.17-1.78-0.15-0.01 1.26 1.08zM678.6399 72c1.5-1.68 3.12-3.1 0 0zM235.7299 50.3h0.51c-3.89 1.12-3.87 0.73-2.67 0.38h0.12c0.66-0.2 1.32-0.27 2.04-0.38zM258.2299 50.5l-1.41-0.14 1 0.07zM689.2399 61.33c0.18-0.13 0.37-0.24 0.54-0.37 0.94-0.51 1.14-0.26-2 1.59l0.61-0.54c0.25-0.24 0.55-0.48 0.85-0.68zM304.0999 92.63l0.08 0.21c-2-4.26-1.07-2.48-0.39-1 0 0.09 0.07 0.18 0.11 0.27s0.11 0.37 0.2 0.52zM701.0099 54.64l0.34-0.12c-2.63 1.33-3.11 1.5-2.74 1.26l0.84-0.43c0.46-0.25 0.98-0.48 1.56-0.71zM989.6399 473.73H686.7899c-11.67 0-22.84-10.26-22.3-22.3s9.8-22.3 22.3-22.3h302.85c11.66 0 22.84 10.26 22.3 22.3s-9.8 22.3-22.3 22.3z" horiz-adv-x="1024" />
</font>
</defs></svg>
static/image/icon_left_center_image.png

737 Bytes | W: | H:

static/image/icon_left_center_image.png

364 Bytes | W: | H:

static/image/icon_left_center_image.png
static/image/icon_left_center_image.png
static/image/icon_left_center_image.png
static/image/icon_left_center_image.png
  • 2-up
  • Swipe
  • Onion skin
static/image/icon_left_right_alignment.png

1.72 KB | W: | H:

static/image/icon_left_right_alignment.png

784 Bytes | W: | H:

static/image/icon_left_right_alignment.png
static/image/icon_left_right_alignment.png
static/image/icon_left_right_alignment.png
static/image/icon_left_right_alignment.png
  • 2-up
  • Swipe
  • Onion skin
static/image/icon_new_default.png

2.09 KB | W: | H:

static/image/icon_new_default.png

1.08 KB | W: | H:

static/image/icon_new_default.png
static/image/icon_new_default.png
static/image/icon_new_default.png
static/image/icon_new_default.png
  • 2-up
  • Swipe
  • Onion skin
static/image/icon_new_pressed.png

2.26 KB | W: | H:

static/image/icon_new_pressed.png

757 Bytes | W: | H:

static/image/icon_new_pressed.png
static/image/icon_new_pressed.png
static/image/icon_new_pressed.png
static/image/icon_new_pressed.png
  • 2-up
  • Swipe
  • Onion skin
static/image/icon_right_center_image.png

729 Bytes | W: | H:

static/image/icon_right_center_image.png

381 Bytes | W: | H:

static/image/icon_right_center_image.png
static/image/icon_right_center_image.png
static/image/icon_right_center_image.png
static/image/icon_right_center_image.png
  • 2-up
  • Swipe
  • Onion skin
static/image/icon_top_left_image.png

594 Bytes | W: | H:

static/image/icon_top_left_image.png

350 Bytes | W: | H:

static/image/icon_top_left_image.png
static/image/icon_top_left_image.png
static/image/icon_top_left_image.png
static/image/icon_top_left_image.png
  • 2-up
  • Swipe
  • Onion skin
static/image/icon_top_right_image.png

636 Bytes | W: | H:

static/image/icon_top_right_image.png

352 Bytes | W: | H:

static/image/icon_top_right_image.png
static/image/icon_top_right_image.png
static/image/icon_top_right_image.png
static/image/icon_top_right_image.png
  • 2-up
  • Swipe
  • Onion skin
static/image/my-o.png

12.6 KB | W: | H:

static/image/my-o.png

3.79 KB | W: | H:

static/image/my-o.png
static/image/my-o.png
static/image/my-o.png
static/image/my-o.png
  • 2-up
  • Swipe
  • Onion skin
static/image/my.png

9.79 KB | W: | H:

static/image/my.png

4.84 KB | W: | H:

static/image/my.png
static/image/my.png
static/image/my.png
static/image/my.png
  • 2-up
  • Swipe
  • Onion skin
static/image/remind_picture.png

40.9 KB | W: | H:

static/image/remind_picture.png

9.77 KB | W: | H:

static/image/remind_picture.png
static/image/remind_picture.png
static/image/remind_picture.png
static/image/remind_picture.png
  • 2-up
  • Swipe
  • Onion skin
static/item_good_frame.png

3.21 KB | W: | H:

static/item_good_frame.png

1.68 KB | W: | H:

static/item_good_frame.png
static/item_good_frame.png
static/item_good_frame.png
static/item_good_frame.png
  • 2-up
  • Swipe
  • Onion skin
static/liebiao.png

34.9 KB | W: | H:

static/liebiao.png

9.2 KB | W: | H:

static/liebiao.png
static/liebiao.png
static/liebiao.png
static/liebiao.png
  • 2-up
  • Swipe
  • Onion skin
static/logo.jpg

14.8 KB | W: | H:

static/logo.jpg

4.46 KB | W: | H:

static/logo.jpg
static/logo.jpg
static/logo.jpg
static/logo.jpg
  • 2-up
  • Swipe
  • Onion skin
static/phone.png

970 Bytes | W: | H:

static/phone.png

663 Bytes | W: | H:

static/phone.png
static/phone.png
static/phone.png
static/phone.png
  • 2-up
  • Swipe
  • Onion skin
static/quxiao.png

3.41 KB | W: | H:

static/quxiao.png

1.84 KB | W: | H:

static/quxiao.png
static/quxiao.png
static/quxiao.png
static/quxiao.png
  • 2-up
  • Swipe
  • Onion skin
static/randomwallpaper.png

5.3 KB | W: | H:

static/randomwallpaper.png

1.57 KB | W: | H:

static/randomwallpaper.png
static/randomwallpaper.png
static/randomwallpaper.png
static/randomwallpaper.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