Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
self-support
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
李俊赕
self-support
Commits
780731be
Commit
780731be
authored
May 10, 2021
by
zhengzy
Browse files
Options
Browse Files
Download
Plain Diff
我的合同
parents
386939b0
902493b1
Changes
19
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
1476 additions
and
1205 deletions
+1476
-1205
order.js
src/common/api/order.js
+6
-0
http.interceptor.js
src/common/http.interceptor.js
+4
-4
XhFiles.vue
src/components/createCom/XhFiles.vue
+10
-4
preview.vue
src/components/photo/preview.vue
+2
-2
setting.vue
src/components/photo/setting.vue
+444
-454
standard.vue
src/components/photo/standard.vue
+2
-2
index.vue
src/components/take/index.vue
+581
-578
w-navbar.vue
src/components/w-navbar/w-navbar.vue
+75
-0
pages.json
src/pages.json
+21
-2
index.vue
src/pages/index/index.vue
+0
-1
mine.vue
src/pages/index/mine.vue
+213
-55
index.vue
src/pages/login/index.vue
+6
-14
index.vue
src/pages/mine/address/index.vue
+54
-35
complete.vue
src/pages/order/complete.vue
+22
-15
list.vue
src/pages/photo/list.vue
+25
-25
index.js
src/store/index.js
+3
-1
u-button.vue
src/uview-ui/components/u-button/u-button.vue
+4
-3
u-subsection.vue
src/uview-ui/components/u-subsection/u-subsection.vue
+2
-8
mpShare.js
src/uview-ui/libs/mixin/mpShare.js
+2
-2
No files found.
src/common/api/order.js
View file @
780731be
...
@@ -74,6 +74,11 @@ let orderApiFun = function(vm){
...
@@ -74,6 +74,11 @@ let orderApiFun = function(vm){
* 获取师傅水印 or 默认水印
* 获取师傅水印 or 默认水印
*/
*/
let
getWatermark
=
async
(
params
=
{})
=>
await
vm
.
$u
.
get
(
prefix
+
vm
.
vuex_token
+
'/photo/watermark'
,
params
);
let
getWatermark
=
async
(
params
=
{})
=>
await
vm
.
$u
.
get
(
prefix
+
vm
.
vuex_token
+
'/photo/watermark'
,
params
);
/**
* 保存师傅水印
*/
let
saveWatermark
=
async
(
params
=
{})
=>
await
vm
.
$u
.
post
(
prefix
+
vm
.
vuex_token
+
'/photo/watermark'
,
params
);
/**
/**
* 获取师傅开放可选时间段
* 获取师傅开放可选时间段
...
@@ -144,6 +149,7 @@ let orderApiFun = function(vm){
...
@@ -144,6 +149,7 @@ let orderApiFun = function(vm){
orderStandard
,
orderStandard
,
saveImage
,
saveImage
,
getWatermark
,
getWatermark
,
saveWatermark
,
openTimerange
,
openTimerange
,
contactTime
,
contactTime
,
checkRejectable
,
checkRejectable
,
...
...
src/common/http.interceptor.js
View file @
780731be
...
@@ -16,11 +16,11 @@ const install = (Vue, vm) => {
...
@@ -16,11 +16,11 @@ const install = (Vue, vm) => {
function
toLoginPage
(){
function
toLoginPage
(){
const
app
=
getApp
()
const
app
=
getApp
()
let
jumpLoginStatus
=
app
&&
app
.
globalData
&&
app
.
globalData
.
jumpLoginStatus
let
curpath
=
vm
.
$Route
.
path
if
(
!
jumpLoginStatus
){
if
(
curpath
==
'/pages/login/index'
)
{
return
// 如果已经在登录页,无需再次跳转
return
false
}
}
app
.
globalData
.
jumpLoginStatus
=
false
vm
.
$u
.
route
(
'/pages/login/index'
);
vm
.
$u
.
route
(
'/pages/login/index'
);
}
}
Vue
.
prototype
.
$u
.
http
.
setConfig
({
Vue
.
prototype
.
$u
.
http
.
setConfig
({
...
...
src/components/createCom/XhFiles.vue
View file @
780731be
...
@@ -72,7 +72,13 @@
...
@@ -72,7 +72,13 @@
}
}
},
},
methods
:
{
methods
:
{
selectUpload
(){
selectUpload
(){
if
(
this
.
imgList
.
length
===
10
)
{
return
this
.
$refs
.
uToast
.
show
({
title
:
'图片已超出最大数量'
,
type
:
'error'
,
})
}
// 弹窗展示
// 弹窗展示
this
.
maskShow
=
true
this
.
maskShow
=
true
},
},
...
@@ -104,14 +110,14 @@
...
@@ -104,14 +110,14 @@
setValue
()
{
setValue
()
{
const
dataValue
=
[]
const
dataValue
=
[]
this
.
imgList
.
map
(
item
=>
{
this
.
imgList
.
map
(
item
=>
{
dataValue
.
push
(
item
.
src
)
dataValue
.
push
(
item
.
path
)
})
})
this
.
valueChange
(
dataValue
)
this
.
valueChange
(
dataValue
)
},
},
closeTake
(
val
)
{
closeTake
(
val
)
{
if
(
val
&&
val
.
length
>
0
){
if
(
val
&&
val
.
length
>
0
){
val
.
forEach
((
item
,
index
,
array
)
=>
{
val
.
forEach
((
item
,
index
,
array
)
=>
{
item
.
path
=
item
.
src
item
.
path
=
item
.
key
this
.
imgList
.
push
(
item
)
this
.
imgList
.
push
(
item
)
})
})
this
.
setValue
()
this
.
setValue
()
...
...
src/components/photo/preview.vue
View file @
780731be
...
@@ -125,7 +125,7 @@
...
@@ -125,7 +125,7 @@
photo
.
currentItemLength
=
10
photo
.
currentItemLength
=
10
this
.
continuePhoto
()
this
.
continuePhoto
()
// 完成本项
// 完成本项
this
.
$emit
(
'finish'
)
//
this.$emit('finish')
},
},
// 确认图片
// 确认图片
continuePhoto
()
{
continuePhoto
()
{
...
@@ -139,7 +139,7 @@
...
@@ -139,7 +139,7 @@
},
},
submitFile
()
{
submitFile
()
{
const
photo
=
getApp
().
globalData
.
photo
const
photo
=
getApp
().
globalData
.
photo
photo
.
currentItemLength
=
photo
.
currentItemLength
+
1
if
(
photo
.
currentItemLength
<
10
)
photo
.
currentItemLength
=
photo
.
currentItemLength
+
1
uni
.
hideLoading
()
uni
.
hideLoading
()
// 当前项的图片显示
// 当前项的图片显示
// 拍照项张数目增加 等于10张
// 拍照项张数目增加 等于10张
...
...
src/components/photo/setting.vue
View file @
780731be
This diff is collapsed.
Click to expand it.
src/components/photo/standard.vue
View file @
780731be
...
@@ -3,13 +3,13 @@
...
@@ -3,13 +3,13 @@
<view
class=
"wrap"
>
<view
class=
"wrap"
>
<swiper
class=
"swiper-box"
:current=
"swiperCurrent"
@
transition=
"transition"
<swiper
class=
"swiper-box"
:current=
"swiperCurrent"
@
transition=
"transition"
@
animationfinish=
"animationfinish"
>
@
animationfinish=
"animationfinish"
>
<swiper-item
class=
"swiper-item"
v-if=
"currentItem.main
_point && currentItem.main_p
oint.length > 0"
>
<swiper-item
class=
"swiper-item"
v-if=
"currentItem.main
Point && currentItem.mainP
oint.length > 0"
>
<view
class=
"inner txt-inner"
:style=
"
{'background-image':'url(/static/photo/shadow-bg.png)'}">
<view
class=
"inner txt-inner"
:style=
"
{'background-image':'url(/static/photo/shadow-bg.png)'}">
<view
class=
"title"
>
<view
class=
"title"
>
拍照要求
拍照要求
</view>
</view>
<view
class=
"txt-box"
>
<view
class=
"txt-box"
>
<view
class=
"txt"
v-for=
"(txt,index) in currentItem.main
_p
oint"
:key=
"index"
>
<view
class=
"txt"
v-for=
"(txt,index) in currentItem.main
P
oint"
:key=
"index"
>
{{
index
+
1
}}
.
{{
txt
}}
{{
index
+
1
}}
.
{{
txt
}}
</view>
</view>
<view
class=
"txt tips"
v-if=
"currentItem.note"
>
<view
class=
"txt tips"
v-if=
"currentItem.note"
>
...
...
src/components/take/index.vue
View file @
780731be
This diff is collapsed.
Click to expand it.
src/components/w-navbar/w-navbar.vue
0 → 100644
View file @
780731be
<
template
>
<u-navbar
:height=
"40"
:background=
"background"
:back-icon-color=
"navbarColor"
:title=
"title"
:titleColor=
"navbarColor"
:is-back=
"isBack"
:is-fixed=
"isFixed"
:title-bold=
"true"
:border-bottom=
"false"
>
</u-navbar>
</
template
>
<
script
>
/**
* navbar 自定义导航栏
* @description 此组件一般用于在特殊情况下,需要自定义导航栏的时候用到,一般建议使用uniapp自带的导航栏。
* @tutorial https://www.uviewui.com/components/navbar.html
* @property {String Number} height 导航栏高度(不包括状态栏高度在内,内部自动加上),注意这里的单位是px(默认40)
* @property {String} navbar-Color 导航栏内容的颜色(默认#333333)
* @property {String} title 导航栏标题,如设置为空字符,将会隐藏标题占位区域
* @property {String Number} title-width 导航栏标题的最大宽度,内容超出会以省略号隐藏,单位rpx(默认250)
* @property {Boolean} is-back 是否显示导航栏左边返回图标和辅助文字(默认true)
* @property {Object} background 导航栏背景设置,见官网说明(默认{ background: '#ffffff' })
* @property {Boolean} is-fixed 导航栏是否固定在顶部(默认true)
* @example <w-navbar title="剑未配妥,出门已是江湖"></w-navbar>
*/
export
default
{
name
:
"w-navbar"
,
props
:
{
height
:
{
type
:
String
,
default
:
"40"
},
background
:
{
type
:
Object
,
default
(){
return
{
backgroundColor
:
'none'
}
}
},
navbarColor
:
{
type
:
String
,
default
:
"#333333"
},
title
:
{
type
:
String
,
default
:
""
},
titleBold
:
{
type
:
Boolean
,
default
:
true
},
isBack
:
{
type
:
Boolean
,
default
:
true
},
isFixed
:
{
type
:
Boolean
,
default
:
true
},
},
data
()
{
return
{
};
}
}
</
script
>
<
style
lang=
"scss"
>
</
style
>
src/pages.json
View file @
780731be
...
@@ -34,7 +34,8 @@
...
@@ -34,7 +34,8 @@
"path"
:
"pages/index/mine"
,
"path"
:
"pages/index/mine"
,
"style"
:
{
"style"
:
{
"navigationBarTitleText"
:
"我的"
,
"navigationBarTitleText"
:
"我的"
,
"navigationStyle"
:
"custom"
"navigationStyle"
:
"custom"
,
"disableScroll"
:
true
}
}
},
},
{
{
...
@@ -145,6 +146,24 @@
...
@@ -145,6 +146,24 @@
"enablePullDownRefresh"
:
false
,
"enablePullDownRefresh"
:
false
,
"navigationStyle"
:
"custom"
//隐藏系统导航栏
"navigationStyle"
:
"custom"
//隐藏系统导航栏
}
}
},
{
"path"
:
"address/index"
,
"style"
:
{
"navigationBarTitleText"
:
"收获地址"
,
"enablePullDownRefresh"
:
false
,
"navigationStyle"
:
"custom"
,
//
隐藏系统导航栏
"disableScroll"
:
true
}
},
{
"path"
:
"address/addSite"
,
"style"
:
{
"navigationBarTitleText"
:
"修改地址"
,
"enablePullDownRefresh"
:
false
,
"navigationStyle"
:
"custom"
,
//
隐藏系统导航栏
"disableScroll"
:
true
}
}
}
]
]
},
},
...
@@ -332,7 +351,7 @@
...
@@ -332,7 +351,7 @@
"preloadRule"
:
{
"preloadRule"
:
{
"pages/index/index"
:
{
"pages/index/index"
:
{
"network"
:
"all"
,
"network"
:
"all"
,
"packages"
:
[
"pages/order"
,
"pages/learn"
]
"packages"
:
[
"pages/order"
,
"pages/learn"
,
"pages/mine"
]
}
}
},
},
"globalStyle"
:
{
"globalStyle"
:
{
...
...
src/pages/index/index.vue
View file @
780731be
...
@@ -108,7 +108,6 @@
...
@@ -108,7 +108,6 @@
watch
:
{
watch
:
{
vuex_token
(
val
,
oldVal
)
{
vuex_token
(
val
,
oldVal
)
{
// 监听token变化,如果更新则重新加载页面数据
// 监听token变化,如果更新则重新加载页面数据
console
.
log
(
''
,
val
,
oldVal
)
val
&&
this
.
initSettleInfo
()
val
&&
this
.
initSettleInfo
()
}
}
},
},
...
...
src/pages/index/mine.vue
View file @
780731be
<
template
>
<
template
>
<view>
<view
class=
"mine-view"
>
<u-navbar
v-if=
"!takeStatus"
:is-back=
"false"
:title-size=
"26"
title-color=
"#000"
title=
"我的"
></u-navbar>
<image
class=
"header-image"
mode=
"widthFix"
:src=
"wodebeijingImage"
></image>
<view
v-if=
"!takeStatus"
>
<u-navbar
:is-back=
"false"
:background=
"
{ background: 'transparent' }" :border-bottom="false">
<view
class=
"u-flex user-box u-p-l-30 u-p-r-20 u-p-b-30"
>
<text
class=
"title-view"
>
我的
</text>
<view
class=
"u-m-r-10"
>
</u-navbar>
<u-avatar
:src=
"pic"
size=
"140"
></u-avatar>
<view
class=
"mine-content"
>
<view
class=
"header-view"
>
<view
class=
"head-image"
>
<u-avatar
:src=
"headImageUrl"
size=
"142"
mode=
"circle"
></u-avatar>
</view>
</view>
<view
class=
"u-flex-1"
>
<view
class=
"header-content"
>
<view
class=
"u-font-18 u-p-b-20"
>
uView ui
</view>
<view
class=
"name-view"
@
click=
"handleClickName"
>
{{
name
}}
</view>
<view
class=
"u-font-14 u-tips-color"
>
微信号:helang_uView
</view>
<view
:class=
"['tel-view',
{'active': info.tel}]" @click="handleClickTel">
<text>
{{
telTip
}}
</text>
<u-icon
class=
"tel-arrow-icon"
name=
"arrow-up-fill"
></u-icon>
</view>
</view>
</view>
</view>
</view>
<view
class=
"u-m-t-20"
>
<view
class=
"list-view"
>
<u-cell-group>
<u-cell-item
v-for=
"(item, index) in items"
:title=
"item.title"
:value=
"item.value"
:key=
"index"
>
<u-icon
slot=
"icon"
size=
"32"
name=
"search"
></u-icon>
</u-cell-item>
</u-cell-group>
</view>
<view
class=
"u-m-t-20"
>
<u-cell-group>
<u-cell-group>
<u-cell-item
icon=
"setting"
title=
"设置"
></u-cell-item>
<view
v-for=
"(item, index) in items"
:key=
"index"
>
<u-cell-item
:value=
"item.value"
:border-bottom=
"false"
@
click=
"handleClick(index)"
>
<image
slot=
"icon"
:src=
"imageUrl + item.icon"
:style=
"item.imageStyle"
></image>
<view
slot=
"title"
class=
"item-title"
>
{{
item
.
title
}}
</view>
<view
slot=
"value"
class=
"item-value"
>
{{
value
}}
</view>
</u-cell-item>
<view
v-if=
"index == 3"
class=
"line-view"
></view>
</view>
</u-cell-group>
</u-cell-group>
</view>
</view>
<view
class=
"u-m-t-20"
@
click=
"take"
>
<
!--
<
view
class=
"u-m-t-20"
@
click=
"take"
>
<u-cell-group>
<u-cell-group>
<u-cell-item
icon=
"setting"
title=
"相机组件测试"
></u-cell-item>
<u-cell-item
icon=
"setting"
title=
"相机组件测试"
></u-cell-item>
</u-cell-group>
</u-cell-group>
</view>
</view>
-->
</view>
</view>
<
take-photo
v-if=
"takeStatus"
:currentItem=
"testData"
@
close=
"closeTake"
></take-photo
>
<
!--
<take-photo
v-if=
"takeStatus"
:currentItem=
"testData"
@
close=
"closeTake"
></take-photo>
--
>
</view>
</view>
</
template
>
</
template
>
...
@@ -43,52 +48,205 @@
...
@@ -43,52 +48,205 @@
},
},
data
()
{
data
()
{
return
{
return
{
pic
:
'https://uviewui.com/common/logo.png'
,
serviceTel
:
'0755-81773817'
,
show
:
true
,
info
:
{},
takeStatus
:
false
,
// pic: 'https://uviewui.com/common/logo.png',
testData
:
{
// show: true,
_id
:
'1'
,
// 规格ID
// takeStatus: false,
system_id
:
'2'
,
// 系统ID
// testData: {
brand_id
:
'3'
,
// 品牌ID
// _id: '1', // 规格ID
classify_id
:
'4'
,
// 分类ID
// system_id: '2', // 系统ID
images
:
[
// 拍照要求示意图
// brand_id: '3', // 品牌ID
'https://qn-static.banshouhui.com/live_mark.png'
,
// classify_id: '4', // 分类ID
'https://qn-static.banshouhui.com/live_mark.png'
,
// images: [ // 拍照要求示意图
'https://qn-static.banshouhui.com/live_mark.png'
// 'https://qn-static.banshouhui.com/live_mark.png',
],
// 'https://qn-static.banshouhui.com/live_mark.png',
main_point
:
[]
// 要点
// 'https://qn-static.banshouhui.com/live_mark.png'
}
// ],
// main_point: [] // 要点
// }
}
}
},
},
computed
:
{
computed
:
{
items
()
{
items
()
{
return
[
return
[{
{
title
:
'我的钱包'
,
value
:
''
,
icon
:
''
},
title
:
'我的钱包'
,
{
title
:
'我的质保金'
,
value
:
''
,
icon
:
''
},
value
:
''
,
{
title
:
'我的合同'
,
value
:
''
,
icon
:
''
},
icon
:
'qianbao.png'
,
{
title
:
'我的证件'
,
value
:
''
,
icon
:
''
},
imageStyle
:
'width:34rpx;height:32rpx'
{
title
:
'我的收货地址'
,
value
:
''
,
icon
:
''
},
},
{
title
:
'我的仓库'
,
value
:
''
,
icon
:
''
},
{
{
title
:
'联系客服'
,
value
:
'6666666'
,
icon
:
''
}]
title
:
'配件押金'
,
value
:
''
,
icon
:
'yajin.png'
,
imageStyle
:
'width:32rpx;height:32rpx'
},
{
title
:
'我的合同'
,
value
:
''
,
icon
:
'hetong.png'
,
imageStyle
:
'width:34rpx;height:32rpx'
},
{
title
:
'我的证件'
,
value
:
''
,
icon
:
'zhengjian.png'
,
imageStyle
:
'width:36rpx;height:28rpx'
},
{
title
:
'收货地址'
,
value
:
''
,
icon
:
'wddizhi.png'
,
imageStyle
:
'width:32rpx;height:32rpx'
},
{
title
:
'我的仓库'
,
value
:
''
,
icon
:
'cangku.png'
,
imageStyle
:
'width:36rpx;height:32rpx'
},
{
title
:
'联系客服'
,
value
:
this
.
serviceTel
,
icon
:
'lxkefu.png'
,
imageStyle
:
'width:32rpx;height:32rpx'
}
]
},
name
()
{
return
this
.
info
.
name
||
'点击登录'
},
telTip
()
{
return
this
.
info
.
tel
?
'已绑定手机号'
:
'绑定手机号'
},
imageUrl
()
{
return
process
.
uniEnv
.
qn_base_url
},
pages
()
{
return
[
''
,
''
,
''
,
''
,
'address'
,
''
,
''
]
},
headImageUrl
()
{
return
this
.
info
.
headImage
||
this
.
placeholderImage
},
wodebeijingImage
()
{
return
this
.
imageUrl
+
'wodebeijing.png'
},
placeholderImage
()
{
return
this
.
imageUrl
+
'touxiang.png'
}
}
},
},
onLoad
()
{
onLoad
()
{
},
},
methods
:
{
methods
:
{
take
()
{
handleClick
(
index
)
{
uni
.
hideTabBar
()
uni
.
navigateTo
({
this
.
takeStatus
=
true
url
:
'pages/mine/'
+
this
.
pages
[
index
]
})
},
},
closeTake
(
img
)
{
handleClickName
()
{
console
.
log
(
img
)
this
.
takeStatus
=
false
},
}
handleClickTel
()
{
},
// take() {
// uni.hideTabBar()
// this.takeStatus = true
// },
// closeTake(img) {
// console.log(img)
// this.takeStatus = false
// }
}
}
}
}
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
.mine-view
{
position
:
relative
;
height
:
100vh
;
overflow
:
auto
;
background-color
:
#FFFFFF
;
.header-image
{
position
:
absolute
;
width
:
100%
;
}
.title-view
{
color
:
#FFFFFF
;
font-weight
:
bold
;
font-size
:
40rpx
;
padding-left
:
30rpx
;
}
.mine-content
{
</
style
>
.header-view
{
padding
:
30rpx
30rpx
80rpx
30rpx
;
display
:
flex
;
align-items
:
center
;
.head-image
{
width
:
142rpx
;
height
:
142rpx
;
}
.header-content
{
color
:
#FFFFFF
;
z-index
:
0
;
margin-left
:
24rpx
;
.name-view
{
font-size
:
44rpx
;
font-weight
:
bold
;
margin-bottom
:
14rpx
;
margin-top
:
6rpx
;
}
.tel-view
{
background-color
:
#FFFFFF
;
border-radius
:
26rpx
;
color
:
#2272FF
;
width
:
164rpx
;
height
:
52rpx
;
font-size
:
20rpx
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
&
.active
{
color
:
#FFFFFF
;
border
:
2rpx
solid
#FFFFFF
;
background-color
:
#2272FF
;
}
.tel-arrow-icon
{
transform
:rotate
(
90deg
)
;
margin-left
:
6rpx
;
}
}
}
}
.list-view
{
background-color
:
#FFFFFF
;
border-radius
:
16rpx
16rpx
0
0
;
overflow
:
hidden
;
.item-title
{
font-size
:
32rpx
;
color
:
#333333
;
margin-left
:
16rpx
;
line-height
:
32rpx
;
}
.item-value
{
font-size
:
26rpx
;
color
:
#999999
;
}
.line-view
{
height
:
2rpx
;
background-color
:
#F4F5F7
;
margin
:
30rpx
;
}
}
}
}
</
style
>
src/pages/login/index.vue
View file @
780731be
...
@@ -113,9 +113,6 @@ export default {
...
@@ -113,9 +113,6 @@ export default {
signupLogin
(
e
)
{
signupLogin
(
e
)
{
var
that
=
this
var
that
=
this
console
.
log
(
e
.
detail
.
errMsg
)
console
.
log
(
e
.
detail
.
iv
)
console
.
log
(
e
.
detail
.
encryptedData
)
if
(
!
e
||
!
e
.
detail
||
e
.
detail
.
errMsg
.
indexOf
(
'user deny'
)
>
-
1
)
{
if
(
!
e
||
!
e
.
detail
||
e
.
detail
.
errMsg
.
indexOf
(
'user deny'
)
>
-
1
)
{
wx
.
showModal
({
wx
.
showModal
({
title
:
'提示'
,
title
:
'提示'
,
...
@@ -157,22 +154,17 @@ export default {
...
@@ -157,22 +154,17 @@ export default {
goBackPage
()
{
goBackPage
()
{
let
pages
=
getCurrentPages
();
let
pages
=
getCurrentPages
();
debugger
if
(
pages
.
length
)
{
if
(
pages
.
length
)
{
let
index
=
pages
.
length
-
1
;
let
index
=
pages
.
length
-
1
;
if
(
index
)
{
if
(
index
)
{
let
prevPage
=
pages
[
index
];
//上一个页面
let
prevPage
=
pages
[
index
];
//上一个页面
if
(
prevPage
.
route
==
"pages/login/index"
)
{
if
(
prevPage
&&
prevPage
.
$vm
)
{
uni
.
redirectTo
({
prevPage
.
$vm
.
isRefresh
=
true
;
url
:
'pages/index/index'
})
}
else
{
if
(
prevPage
&&
prevPage
.
$vm
)
{
prevPage
.
$vm
.
isRefresh
=
true
;
}
uni
.
navigateBack
({
delta
:
1
})
}
}
uni
.
navigateBack
({
delta
:
1
})
}
else
{
}
else
{
uni
.
redirectTo
({
uni
.
redirectTo
({
url
:
'pages/index/index'
url
:
'pages/index/index'
...
...
src/pages/mine/address/index.vue
View file @
780731be
<
template
>
<
template
>
<view>
<view
class=
"address-wrap"
>
<view
class=
"item"
v-for=
"(res, index) in siteList"
:key=
"res.id"
>
<w-navbar
title=
"收货地址"
></w-navbar>
<view
class=
"item"
v-for=
"(res, sindex) in siteList"
:key=
"res.id"
>
<view
class=
"top"
>
<view
class=
"top"
>
<view
class=
"name"
>
{{
res
.
name
}}
</view>
<view
class=
"name"
>
{{
res
.
name
}}
</view>
<view
class=
"phone"
>
{{
res
.
phone
}}
</view>
<view
class=
"phone"
>
{{
res
.
phone
}}
</view>
<view
class=
"tag"
>
<text
v-for=
"(item, index) in res.tag"
:key=
"index"
:class=
"
{red:item.tagText=='默认'}">
{{
item
.
tagText
}}
</text>
</view>
</view>
</view>
<view
class=
"bottom"
>
<view
class=
"bottom"
>
广东省深圳市宝安区 自由路66号
<view
class=
"address"
>
广东省深圳市宝安区宝城67区留芳路6号庭威产业园3栋10C
</view>
<u-icon
name=
"edit-pen"
:size=
"40"
color=
"#999999"
></u-icon>
<u-icon
:name=
"editPen"
:size=
"32"
color=
"#999999"
></u-icon>
</view>
<view
class=
"default"
v-show=
"true"
>
<u-icon
name=
"checkmark-circle"
color=
"#2272FF"
size=
"32"
></u-icon>
<text
class=
"txt"
>
默认地址
</text>
</view>
</view>
</view>
</view>
<view
class=
"addSite"
@
tap=
"toAddSite"
>
<view
class=
"addSite"
@
tap=
"toAddSite"
>
...
@@ -25,12 +27,20 @@
...
@@ -25,12 +27,20 @@
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
background
:
{
backgroundColor
:
'none'
},
siteList
:
[]
siteList
:
[]
};
};
},
},
onLoad
()
{
onLoad
()
{
this
.
getData
();
this
.
getData
();
},
},
computed
:
{
editPen
()
{
return
process
.
uniEnv
.
qn_base_url
+
'icon/edit-pen.png'
}
},
methods
:
{
methods
:
{
getData
()
{
getData
()
{
this
.
siteList
=
[
this
.
siteList
=
[
...
@@ -46,7 +56,7 @@ export default {
...
@@ -46,7 +56,7 @@ export default {
tagText
:
'家'
tagText
:
'家'
}
}
],
],
site
:
'广东省深圳市宝安区
自由路66号
'
site
:
'广东省深圳市宝安区
宝城67区留芳路6号庭威产业园3栋10C
'
},
},
{
{
id
:
2
,
id
:
2
,
...
@@ -70,7 +80,7 @@ export default {
...
@@ -70,7 +80,7 @@ export default {
},
},
toAddSite
(){
toAddSite
(){
uni
.
navigateTo
({
uni
.
navigateTo
({
url
:
'/pages/
templat
e/address/addSite'
url
:
'/pages/
min
e/address/addSite'
});
});
}
}
}
}
...
@@ -78,42 +88,51 @@ export default {
...
@@ -78,42 +88,51 @@ export default {
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
.address-wrap
{
background-color
:
#F4F5F7
;
}
.item
{
.item
{
padding
:
40rpx
20rpx
;
margin
:
30rpx
;
padding
:
50rpx
30rpx
48rpx
30rpx
;
background-color
:
#FFFFFF
;
border-radius
:
12px
;
.top
{
.top
{
display
:
flex
;
display
:
flex
;
font-size
:
32rpx
;
font-weight
:
bold
;
font-weight
:
bold
;
font-size
:
34rpx
;
color
:
#333333
;
line-height
:
32rpx
;
.phone
{
.phone
{
margin-left
:
60rpx
;
margin-left
:
20rpx
;
}
font-size
:
28rpx
;
.tag
{
font-weight
:
400
;
display
:
flex
;
color
:
#666666
;
font-weight
:
normal
;
align-items
:
center
;
text
{
display
:
block
;
width
:
60rpx
;
height
:
34rpx
;
line-height
:
34rpx
;
color
:
#ffffff
;
font-size
:
20rpx
;
border-radius
:
6rpx
;
text-align
:
center
;
margin-left
:
30rpx
;
background-color
:rgb
(
49
,
145
,
253
)
;
}
.red
{
background-color
:red
}
}
}
}
}
.bottom
{
.bottom
{
display
:
flex
;
display
:
flex
;
margin-top
:
20rpx
;
margin-top
:
24rpx
;
font-size
:
28rpx
;
justify-content
:
space-between
;
justify-content
:
space-between
;
color
:
#999999
;
align-items
:
flex-start
;
font-size
:
28rpx
;
font-weight
:
400
;
color
:
#333333
;
.address
{
max-width
:
500rpx
;
line-height
:
40rpx
;
}
}
.default
{
border-top
:
2rpx
solid
#F4F5F7
;
margin-top
:
22rpx
;
padding-top
:
30rpx
;
.txt
{
margin-left
:
12rpx
;
font-size
:
28rpx
;
font-weight
:
400
;
color
:
#333333
;
line-height
:
28rpx
;
}
}
}
}
}
.addSite
{
.addSite
{
...
...
src/pages/order/complete.vue
View file @
780731be
...
@@ -22,9 +22,9 @@
...
@@ -22,9 +22,9 @@
<view
class=
"class-item"
:key=
"groupIndex"
v-show=
"current == groupIndex"
>
<view
class=
"class-item"
:key=
"groupIndex"
v-show=
"current == groupIndex"
>
<view
class=
"title"
v-if=
"groupItem.name !== '基本信息'"
>
{{
groupItem
.
name
}}
</view>
<view
class=
"title"
v-if=
"groupItem.name !== '基本信息'"
>
{{
groupItem
.
name
}}
</view>
<view
class=
"class-bd"
>
<view
class=
"class-bd"
>
<u-form-item
v-for=
"(item,itemIndex) in groupItem.items"
:key=
"itemIndex"
v-if=
"typeToComponentType(item.fieldsType)!=='location'"
<u-form-item
v-for=
"(item,itemIndex) in groupItem.items"
:key=
"itemIndex"
label-position=
"top"
label-position=
"top"
:prop=
"item.fieldsName"
:border-bottom=
"false"
v-show=
"item.fieldsId != 200 || show200"
>
:prop=
"item.fieldsName"
:border-bottom=
"false"
v-show=
"item.fieldsId != 200 || show200"
>
<view
:class=
"[
{'label-bold': groupItem.name === '基本信息'}, 'label']">
<view
:class=
"[
{'label-bold': groupItem.name === '基本信息'}, 'label']"
v-if="typeToComponentType(item.fieldsType)!=='location'"
>
<image
class=
"item-image"
:src=
"mixingImage"
v-if=
"item.required"
></image>
<image
class=
"item-image"
:src=
"mixingImage"
v-if=
"item.required"
></image>
{{
item
.
fieldsTitle
}}
{{
item
.
fieldsTitle
}}
</view>
</view>
...
@@ -239,6 +239,9 @@
...
@@ -239,6 +239,9 @@
'font-size'
:
'32rpx'
,
'font-size'
:
'32rpx'
,
}
}
},
},
show200
()
{
return
this
.
form
.
paymentMethodsType
!=
'03'
}
},
},
methods
:
{
methods
:
{
getCompleteData
()
{
//获取工单配置的完工项目
getCompleteData
()
{
//获取工单配置的完工项目
...
@@ -256,7 +259,8 @@
...
@@ -256,7 +259,8 @@
},
},
saveComplete
(){
// 保存完工信息
saveComplete
(){
// 保存完工信息
let
self
=
this
let
self
=
this
let
param
=
{}
let
param
=
{}
self
.
list
.
forEach
((
panel
)
=>
{
self
.
list
.
forEach
((
panel
)
=>
{
param
[
panel
.
panelFieldsName
]
=
[]
param
[
panel
.
panelFieldsName
]
=
[]
panel
.
items
.
forEach
((
group
)
=>
{
panel
.
items
.
forEach
((
group
)
=>
{
...
@@ -272,15 +276,8 @@
...
@@ -272,15 +276,8 @@
})
})
})
})
})
})
if
(
!
param
.
base
[
0
].
fieldsValue
)
{
return
this
.
$refs
.
uToast
.
show
({
title
:
'请先选择产品规格'
,
type
:
'error'
,
})
}
self
.
$u
.
api
.
saveCompleteData
(
param
,
self
.
orderId
).
then
((
res
)
=>
{
self
.
$u
.
api
.
saveCompleteData
(
param
,
self
.
orderId
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
if
(
res
.
code
==
200
)
{
this
.
$refs
.
uToast
.
show
({
this
.
$refs
.
uToast
.
show
({
title
:
'保存成功'
,
title
:
'保存成功'
,
...
@@ -288,7 +285,7 @@
...
@@ -288,7 +285,7 @@
})
})
}
else
{
}
else
{
this
.
$refs
.
uToast
.
show
({
this
.
$refs
.
uToast
.
show
({
title
:
res
.
message
,
title
:
res
.
data
,
type
:
'error'
,
type
:
'error'
,
})
})
}
}
...
@@ -310,7 +307,8 @@
...
@@ -310,7 +307,8 @@
panelResult
.
submitted
++
panelResult
.
submitted
++
}
else
if
(
value
&&
Array
.
isArray
(
value
)
&&
value
.
length
>
0
){
}
else
if
(
value
&&
Array
.
isArray
(
value
)
&&
value
.
length
>
0
){
panelResult
.
submitted
++
panelResult
.
submitted
++
}
else
if
(
first
){
// 记录第一个 为空 并且需要必填的项 用于定位
}
else
if
(
first
){
// 记录第一个 为空 并且需要必填的项 用于定位
console
.
log
(
ele
)
first
=
false
first
=
false
self
.
waitHandlerPanelIndex
=
panelIndex
self
.
waitHandlerPanelIndex
=
panelIndex
self
.
waitHandlerGroupIndex
=
groupIndex
self
.
waitHandlerGroupIndex
=
groupIndex
...
@@ -394,7 +392,16 @@
...
@@ -394,7 +392,16 @@
}
else
{
}
else
{
this
.
$set
(
this
.
form
,
innerItem
.
fieldsName
,
data
.
value
)
this
.
$set
(
this
.
form
,
innerItem
.
fieldsName
,
data
.
value
)
}
}
this
.
show200
=
innerItem
.
fieldsId
!=
199
||
data
.
value
!=
'03'
if
(
innerItem
.
fieldsId
==
199
)
{
// 选不需要收款的时候,收款金额修改为非必选
for
(
var
item
of
this
.
list
[
0
].
items
)
{
for
(
var
i
of
item
.
items
)
{
if
(
i
.
fieldsId
==
200
)
{
i
.
required
=
data
.
value
!=
'03'
}
}
}
}
console
.
log
(
this
.
form
)
console
.
log
(
this
.
form
)
},
},
nextStep
()
{
nextStep
()
{
...
...
src/pages/photo/list.vue
View file @
780731be
...
@@ -5,12 +5,12 @@
...
@@ -5,12 +5,12 @@
<view
class=
"topView"
>
<view
class=
"topView"
>
<view
:class=
"['topItemView',
{'active':activeTop===ikey}]" @click="handleTopItemChange(ikey,item)"
<view
:class=
"['topItemView',
{'active':activeTop===ikey}]" @click="handleTopItemChange(ikey,item)"
v-for="(item,ikey) in dataList" :key="ikey">
v-for="(item,ikey) in dataList" :key="ikey">
<text
:class=
"['ph-lst-top-index',
{'active':activeTop===ikey}]">
{{
ikey
+
1
}}
</text>
<text
:class=
"['ph-lst-top-index',
{'active':activeTop===ikey}]">
{{
ikey
+
1
}}
</text>
<text
class=
"topItemTitle"
>
{{
item
.
type
}}
</text>
<text
class=
"topItemTitle"
>
{{
item
.
type
}}
</text>
</view>
</view>
</view>
</view>
<view
class=
"rightView"
>
<view
class=
"rightView"
>
<view
class=
"right-view-title"
>
拍照项有:
</view>
<view
class=
"right-view-title"
>
拍照项有:
</view>
<scroll-view
scroll-y=
"true"
class=
"scroll-y"
>
<scroll-view
scroll-y=
"true"
class=
"scroll-y"
>
...
@@ -33,7 +33,7 @@
...
@@ -33,7 +33,7 @@
<!-- <u-button v-if="activeTop + 1 === dataList.length" class="ph-list-button" type="error" shape="circle"
<!-- <u-button v-if="activeTop + 1 === dataList.length" class="ph-list-button" type="error" shape="circle"
:disabled="buttonDisabled" :custom-style="buttonStyle" @click="isPopShow = true">一键清空展示图片</u-button> -->
:disabled="buttonDisabled" :custom-style="buttonStyle" @click="isPopShow = true">一键清空展示图片</u-button> -->
</view>
</view>
<!-- <u-popup border-radius="10" v-model="isPopShow" safe-area-inset-bottom mode="center" width="690rpx"
<!-- <u-popup border-radius="10" v-model="isPopShow" safe-area-inset-bottom mode="center" width="690rpx"
height="600rpx">
height="600rpx">
<view class="ph-list-pop-title">
<view class="ph-list-pop-title">
...
@@ -165,7 +165,7 @@
...
@@ -165,7 +165,7 @@
}
}
})
})
},
},
getListDataNew
()
{
getListDataNew
()
{
this
.
loading
=
true
this
.
loading
=
true
let
self
=
this
let
self
=
this
var
data
=
{
var
data
=
{
...
@@ -177,7 +177,6 @@
...
@@ -177,7 +177,6 @@
self
.
$u
.
api
.
orderStandard
(
data
).
then
((
res
)
=>
{
self
.
$u
.
api
.
orderStandard
(
data
).
then
((
res
)
=>
{
this
.
loading
=
false
this
.
loading
=
false
if
(
res
.
code
==
200
)
{
if
(
res
.
code
==
200
)
{
console
.
log
(
"==="
,
res
.
data
)
if
(
res
.
data
&&
res
.
data
.
length
>
0
){
if
(
res
.
data
&&
res
.
data
.
length
>
0
){
let
dataList
=
[]
let
dataList
=
[]
var
flag
=
false
;
var
flag
=
false
;
...
@@ -196,7 +195,7 @@
...
@@ -196,7 +195,7 @@
}
else
{
}
else
{
flag
=
false
flag
=
false
}
}
})
})
if
(
!
flag
){
if
(
!
flag
){
var
dataItem
=
{
type
:
''
,
list
:[]}
var
dataItem
=
{
type
:
''
,
list
:[]}
dataItem
.
type
=
item
.
type
dataItem
.
type
=
item
.
type
...
@@ -205,6 +204,7 @@
...
@@ -205,6 +204,7 @@
}
}
}
}
})
})
console
.
log
(
"==="
,
dataList
)
this
.
handleData
(
dataList
)
this
.
handleData
(
dataList
)
}
}
}
else
{
}
else
{
...
@@ -217,7 +217,6 @@
...
@@ -217,7 +217,6 @@
this
.
dataList
=
result
this
.
dataList
=
result
if
(
result
.
length
>
0
)
{
if
(
result
.
length
>
0
)
{
var
item
=
result
[
0
]
var
item
=
result
[
0
]
getApp
().
globalData
.
photo
.
waterSetting
=
this
.
userWatermark
this
.
rightList
=
item
.
list
this
.
rightList
=
item
.
list
}
}
},
},
...
@@ -253,33 +252,35 @@
...
@@ -253,33 +252,35 @@
})
})
},
},
// 清除图片
// 清除图片
handleClickSure
:
function
()
{
handleClickSure
:
function
()
{
this
.
$u
.
cloudApi
.
cleanImage
({
this
.
$u
.
cloudApi
.
cleanImage
({
'token'
:
this
.
vuex_token
,
'token'
:
this
.
vuex_token
,
}).
then
(
res
=>
{
}).
then
(
res
=>
{
this
.
isPopShow
=
false
this
.
isPopShow
=
false
if
(
res
&&
res
.
result
)
{
if
(
res
&&
res
.
result
)
{
this
.
getListData
()
this
.
getListData
()
}
}
})
})
},
},
take
(
item
,
ikey
)
{
take
(
item
,
ikey
)
{
this
.
currentItemDate
=
item
this
.
currentItemDate
=
item
const
photo
=
getApp
().
globalData
.
photo
const
photo
=
getApp
().
globalData
.
photo
photo
.
currentItem
=
item
photo
.
currentItem
=
item
photo
.
itemIndex
=
ikey
photo
.
itemIndex
=
ikey
const
len
=
item
.
orderImages
?
item
.
orderImages
.
length
:
0
const
len
=
item
.
orderImages
?
item
.
orderImages
.
length
:
0
photo
.
currentItemLength
=
len
>
9
?
10
:
len
photo
.
currentItemLength
=
len
>
9
?
10
:
len
uni
.
hideTabBar
()
uni
.
hideTabBar
()
this
.
takeStatus
=
true
this
.
takeStatus
=
true
},
},
closeTake
(
img
)
{
closeTake
(
img
)
{
console
.
log
(
img
)
if
(
img
!==
undefined
){
if
(
img
!==
undefined
){
if
(
!
this
.
currentItemDate
.
orderImages
)
this
.
currentItemDate
.
orderImages
=
[]
// step1 添加图片
// step1 添加图片
this
.
currentItemDate
.
orderImages
.
push
(
img
[
img
.
length
-
1
].
key
)
img
.
forEach
(
v
=>
{
this
.
currentItemDate
.
orderImages
.
push
(
v
.
key
)
})
// step2 保存图片
// step2 保存图片
var
data
=
{
var
data
=
{
type
:
this
.
currentItemDate
.
type
,
type
:
this
.
currentItemDate
.
type
,
...
@@ -446,7 +447,6 @@
...
@@ -446,7 +447,6 @@
background-color
:
#FAFAFA
;
background-color
:
#FAFAFA
;
width
:
100%
;
width
:
100%
;
height
:
100
rpx
;
height
:
100
rpx
;
position
:
fixed
;
display
:
flex
;
display
:
flex
;
flex-direction
:
row
;
flex-direction
:
row
;
z-index
:
1
;
z-index
:
1
;
...
@@ -499,6 +499,6 @@
...
@@ -499,6 +499,6 @@
}
}
.scroll-y
{
.scroll-y
{
height
:
80
vh
;
height
:
73
vh
;
}
}
</
style
>
</
style
>
src/store/index.js
View file @
780731be
...
@@ -33,7 +33,9 @@ const store = new Vuex.Store({
...
@@ -33,7 +33,9 @@ const store = new Vuex.Store({
vuex_user
:
lifeData
.
vuex_user
?
lifeData
.
vuex_user
:
{},
vuex_user
:
lifeData
.
vuex_user
?
lifeData
.
vuex_user
:
{},
vuex_token
:
lifeData
.
vuex_token
?
lifeData
.
vuex_token
:
''
,
vuex_token
:
lifeData
.
vuex_token
?
lifeData
.
vuex_token
:
''
,
vuex_version
:
'1.0.1'
,
vuex_version
:
'1.0.1'
,
vuex_config
:
{},
vuex_config
:
{},
// 入驻信息
vuex_settled
:
{},
vuex_wx_uid
:
lifeData
.
vuex_wx_uid
||
0
,
vuex_wx_uid
:
lifeData
.
vuex_wx_uid
||
0
,
},
},
mutations
:
{
mutations
:
{
...
...
src/uview-ui/components/u-button/u-button.vue
View file @
780731be
...
@@ -26,6 +26,7 @@
...
@@ -26,6 +26,7 @@
:send-message-img="sendMessageImg"
:send-message-img="sendMessageImg"
:show-message-card="showMessageCard"
:show-message-card="showMessageCard"
@getphonenumber="getphonenumber"
@getphonenumber="getphonenumber"
@getuserinfo="getuserinfo"
@error="error"
@error="error"
@opensetting="opensetting"
@opensetting="opensetting"
@launchapp="launchapp"
@launchapp="launchapp"
...
@@ -324,9 +325,9 @@ export default {
...
@@ -324,9 +325,9 @@ export default {
getphonenumber
(
res
)
{
getphonenumber
(
res
)
{
this
.
$emit
(
'getphonenumber'
,
res
);
this
.
$emit
(
'getphonenumber'
,
res
);
},
},
//
getuserinfo(res) {
getuserinfo
(
res
)
{
//
this.$emit('getuserinfo', res);
this
.
$emit
(
'getuserinfo'
,
res
);
//
},
},
error
(
res
)
{
error
(
res
)
{
this
.
$emit
(
'error'
,
res
);
this
.
$emit
(
'error'
,
res
);
},
},
...
...
src/uview-ui/components/u-subsection/u-subsection.vue
View file @
780731be
...
@@ -24,7 +24,6 @@
...
@@ -24,7 +24,6 @@
* @property {Boolean} bold 激活选项的字体是否加粗(默认true)
* @property {Boolean} bold 激活选项的字体是否加粗(默认true)
* @property {String} bg-color 组件背景颜色,mode为button时有效(默认#eeeeef)
* @property {String} bg-color 组件背景颜色,mode为button时有效(默认#eeeeef)
* @property {String} button-color 按钮背景颜色,mode为button时有效(默认#ffffff)
* @property {String} button-color 按钮背景颜色,mode为button时有效(默认#ffffff)
* @property {String Number} border-radius 圆角值,单位rpx(默认5)
* @event {Function} change 分段器选项发生改变时触发
* @event {Function} change 分段器选项发生改变时触发
* @example <u-subsection active-color="#ff9900"></u-subsection>
* @example <u-subsection active-color="#ff9900"></u-subsection>
*/
*/
...
@@ -92,12 +91,7 @@
...
@@ -92,12 +91,7 @@
vibrateShort
:
{
vibrateShort
:
{
type
:
Boolean
,
type
:
Boolean
,
default
:
false
default
:
false
},
}
// 圆角值
borderRadius
:
{
type
:
[
Number
,
String
],
default
:
5
},
},
},
data
()
{
data
()
{
return
{
return
{
...
@@ -111,7 +105,7 @@
...
@@ -111,7 +105,7 @@
},
},
currentIndex
:
this
.
current
,
currentIndex
:
this
.
current
,
buttonPadding
:
3
,
// mode = button 时,组件的内边距
buttonPadding
:
3
,
// mode = button 时,组件的内边距
//
borderRadius: 5, // 圆角值
borderRadius
:
5
,
// 圆角值
firstTimeVibrateShort
:
true
// 组件初始化时,会触发current变化,此时不应震动
firstTimeVibrateShort
:
true
// 组件初始化时,会触发current变化,此时不应震动
};
};
},
},
...
...
src/uview-ui/libs/mixin/mpShare.js
View file @
780731be
...
@@ -2,8 +2,8 @@ module.exports = {
...
@@ -2,8 +2,8 @@ module.exports = {
onLoad
()
{
onLoad
()
{
// 设置默认的转发参数
// 设置默认的转发参数
this
.
$u
.
mpShare
=
{
this
.
$u
.
mpShare
=
{
title
:
'
充电桩安装火爆进行中...就等你
'
,
// 默认为小程序名称
title
:
''
,
// 默认为小程序名称
path
:
'
/pages/index/index
'
,
// 默认为当前页面路径
path
:
''
,
// 默认为当前页面路径
imageUrl
:
''
// 默认为当前页面的截图
imageUrl
:
''
// 默认为当前页面的截图
}
}
},
},
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment