Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jinli gu
Litemall
Commits
1a150f65
Commit
1a150f65
authored
Oct 17, 2018
by
Junling Bu
Browse files
fix[renard-wx]: renard小程序里面采用微信地址组件的地址,与小程序后台不一致。
parent
857323c6
Changes
2
Show whitespace changes
Inline
Side-by-side
renard-wx/pages/ucenter/addressAdd/addressAdd.js
View file @
1a150f65
...
@@ -20,7 +20,13 @@ Page({
...
@@ -20,7 +20,13 @@ Page({
},
},
addressId
:
0
,
addressId
:
0
,
openSelectRegion
:
false
,
openSelectRegion
:
false
,
selectRegionList
:
[
{
id
:
0
,
name
:
'
省份
'
,
pid
:
1
,
type
:
1
},
{
id
:
0
,
name
:
'
城市
'
,
pid
:
1
,
type
:
2
},
{
id
:
0
,
name
:
'
区县
'
,
pid
:
1
,
type
:
3
}
],
regionType
:
1
,
regionType
:
1
,
regionList
:
[],
selectRegionDone
:
false
selectRegionDone
:
false
},
},
bindinputMobile
(
event
)
{
bindinputMobile
(
event
)
{
...
@@ -53,9 +59,7 @@ Page({
...
@@ -53,9 +59,7 @@ Page({
},
},
getAddressDetail
()
{
getAddressDetail
()
{
let
that
=
this
;
let
that
=
this
;
util
.
request
(
api
.
AddressDetail
,
{
util
.
request
(
api
.
AddressDetail
,
{
id
:
that
.
data
.
addressId
}).
then
(
function
(
res
)
{
id
:
that
.
data
.
addressId
}).
then
(
function
(
res
)
{
if
(
res
.
errno
===
0
)
{
if
(
res
.
errno
===
0
)
{
if
(
res
.
data
)
{
if
(
res
.
data
)
{
that
.
setData
({
that
.
setData
({
...
@@ -65,73 +69,200 @@ Page({
...
@@ -65,73 +69,200 @@ Page({
}
}
});
});
},
},
setRegionDoneStatus
()
{
let
that
=
this
;
let
doneStatus
=
that
.
data
.
selectRegionList
.
every
(
item
=>
{
return
item
.
id
!=
0
;
});
that
.
setData
({
selectRegionDone
:
doneStatus
})
wxChooseAddress
()
{
},
chooseRegion
()
{
let
that
=
this
;
let
that
=
this
;
this
.
setData
({
openSelectRegion
:
!
this
.
data
.
openSelectRegion
});
//设置区域选择数据
let
address
=
this
.
data
.
address
;
let
address
=
this
.
data
.
address
;
// 用户已经同意小程序使用地址功能
if
(
address
.
provinceId
>
0
&&
address
.
cityId
>
0
&&
address
.
areaId
>
0
)
{
wx
.
chooseAddress
({
let
selectRegionList
=
this
.
data
.
selectRegionList
;
success
:
function
(
res
)
{
selectRegionList
[
0
].
id
=
address
.
provinceId
;
address
.
provinceId
=
99999
;
selectRegionList
[
0
].
name
=
address
.
provinceName
;
address
.
cityId
=
88888
;
selectRegionList
[
0
].
pid
=
0
;
address
.
areaId
=
77777
;
address
.
name
=
res
.
userName
;
address
.
mobile
=
res
.
telNumber
;
address
.
provinceName
=
res
.
provinceName
;
address
.
cityName
=
res
.
cityName
;
address
.
areaName
=
res
.
countyName
;
address
.
address
=
res
.
provinceName
+
res
.
cityName
+
res
.
countyName
+
res
.
detailInfo
;
that
.
setData
({
selectRegionList
[
1
].
id
=
address
.
cityId
;
address
:
address
,
selectRegionList
[
1
].
name
=
address
.
cityName
;
selectRegionList
[
1
].
pid
=
address
.
provinceId
;
selectRegionList
[
2
].
id
=
address
.
areaId
;
selectRegionList
[
2
].
name
=
address
.
areaName
;
selectRegionList
[
2
].
pid
=
address
.
cityId
;
this
.
setData
({
selectRegionList
:
selectRegionList
,
regionType
:
3
});
});
this
.
getRegionList
(
address
.
cityId
);
}
else
{
this
.
setData
({
selectRegionList
:
[
{
id
:
0
,
name
:
'
省份
'
,
pid
:
0
,
type
:
1
},
{
id
:
0
,
name
:
'
城市
'
,
pid
:
0
,
type
:
2
},
{
id
:
0
,
name
:
'
区县
'
,
pid
:
0
,
type
:
3
}
],
regionType
:
1
})
this
.
getRegionList
(
0
);
}
}
this
.
setRegionDoneStatus
();
},
onLoad
:
function
(
options
)
{
// 页面初始化 options为页面跳转所带来的参数
console
.
log
(
options
)
if
(
options
.
id
&&
options
.
id
!=
0
)
{
this
.
setData
({
addressId
:
options
.
id
});
});
this
.
getAddressDetail
();
}
},
},
onReady
:
function
()
{
wxAddress
()
{
},
selectRegionType
(
event
)
{
let
that
=
this
;
let
that
=
this
;
// 可以通过 wx.getSetting 先查询一下用户是否授权了 "scope.address" 这个 scope
let
regionTypeIndex
=
event
.
target
.
dataset
.
regionTypeIndex
;
wx
.
getSetting
({
let
selectRegionList
=
that
.
data
.
selectRegionList
;
success
(
res
)
{
if
(
!
res
.
authSetting
[
'
scope.address
'
])
{
//判断是否可点击
wx
.
authorize
({
if
(
regionTypeIndex
+
1
==
this
.
data
.
regionType
||
(
regionTypeIndex
-
1
>=
0
&&
selectRegionList
[
regionTypeIndex
-
1
].
id
<=
0
))
{
scope
:
'
scope.address
'
,
return
false
;
success
()
{
that
.
wxChooseAddress
();
}
}
this
.
setData
({
regionType
:
regionTypeIndex
+
1
})
let
selectRegionItem
=
selectRegionList
[
regionTypeIndex
];
this
.
getRegionList
(
selectRegionItem
.
pid
);
this
.
setRegionDoneStatus
();
},
selectRegion
(
event
)
{
let
that
=
this
;
let
regionIndex
=
event
.
target
.
dataset
.
regionIndex
;
let
regionItem
=
this
.
data
.
regionList
[
regionIndex
];
let
regionType
=
regionItem
.
type
;
let
selectRegionList
=
this
.
data
.
selectRegionList
;
selectRegionList
[
regionType
-
1
]
=
regionItem
;
if
(
regionType
!=
3
)
{
this
.
setData
({
selectRegionList
:
selectRegionList
,
regionType
:
regionType
+
1
})
})
this
.
getRegionList
(
regionItem
.
id
);
}
else
{
}
else
{
that
.
wxChooseAddress
();
this
.
setData
({
selectRegionList
:
selectRegionList
})
}
}
//重置下级区域为空
selectRegionList
.
map
((
item
,
index
)
=>
{
if
(
index
>
regionType
-
1
)
{
item
.
id
=
0
;
item
.
name
=
index
==
1
?
'
城市
'
:
'
区县
'
;
item
.
pid
=
0
;
}
}
})
return
item
;
},
});
onLoad
:
function
(
options
)
{
let
that
=
this
;
// 页面初始化 options为页面跳转所带来的参数
console
.
log
(
options
);
if
(
options
.
id
&&
options
.
id
!=
0
)
{
this
.
setData
({
this
.
setData
({
addressId
:
options
.
id
selectRegionList
:
selectRegionList
});
})
this
.
getAddressDetail
();
that
.
setData
({
regionList
:
that
.
data
.
regionList
.
map
(
item
=>
{
//标记已选择的
if
(
that
.
data
.
regionType
==
item
.
type
&&
that
.
data
.
selectRegionList
[
that
.
data
.
regionType
-
1
].
id
==
item
.
id
)
{
item
.
selected
=
true
;
}
else
{
}
else
{
that
.
wxAddress
()
;
item
.
selected
=
false
;
}
}
return
item
;
})
});
this
.
setRegionDoneStatus
();
},
},
doneSelectRegion
()
{
if
(
this
.
data
.
selectRegionDone
===
false
)
{
return
false
;
}
let
address
=
this
.
data
.
address
;
let
selectRegionList
=
this
.
data
.
selectRegionList
;
address
.
provinceId
=
selectRegionList
[
0
].
id
;
address
.
cityId
=
selectRegionList
[
1
].
id
;
address
.
areaId
=
selectRegionList
[
2
].
id
;
address
.
provinceName
=
selectRegionList
[
0
].
name
;
address
.
cityName
=
selectRegionList
[
1
].
name
;
address
.
areaName
=
selectRegionList
[
2
].
name
;
onReady
:
function
()
{
this
.
setData
({
address
:
address
,
openSelectRegion
:
false
});
},
},
cancelSelectRegion
()
{
this
.
setData
({
openSelectRegion
:
false
,
regionType
:
this
.
data
.
regionDoneStatus
?
3
:
1
});
},
getRegionList
(
regionId
)
{
let
that
=
this
;
let
regionType
=
that
.
data
.
regionType
;
util
.
request
(
api
.
RegionList
,
{
pid
:
regionId
}).
then
(
function
(
res
)
{
if
(
res
.
errno
===
0
)
{
that
.
setData
({
regionList
:
res
.
data
.
map
(
item
=>
{
//标记已选择的
if
(
regionType
==
item
.
type
&&
that
.
data
.
selectRegionList
[
regionType
-
1
].
id
==
item
.
id
)
{
item
.
selected
=
true
;
}
else
{
item
.
selected
=
false
;
}
return
item
;
})
});
}
});
},
cancelAddress
()
{
cancelAddress
()
{
wx
.
navigateBack
();
wx
.
navigateBack
();
},
},
saveAddress
()
{
saveAddress
()
{
console
.
log
(
this
.
data
.
address
)
;
console
.
log
(
this
.
data
.
address
)
let
address
=
this
.
data
.
address
;
let
address
=
this
.
data
.
address
;
if
(
address
.
name
==
''
)
{
if
(
address
.
name
==
''
)
{
...
@@ -174,16 +305,16 @@ Page({
...
@@ -174,16 +305,16 @@ Page({
provinceName
:
address
.
provinceName
,
provinceName
:
address
.
provinceName
,
cityName
:
address
.
cityName
,
cityName
:
address
.
cityName
,
countyName
:
address
.
areaName
countyName
:
address
.
areaName
},
'
POST
'
).
then
(
function
(
res
)
{
},
'
POST
'
).
then
(
function
(
res
)
{
if
(
res
.
errno
===
0
)
{
if
(
res
.
errno
===
0
)
{
//返回之前,先取出上一页对象,并设置addressId
//返回之前,先取出上一页对象,并设置addressId
var
pages
=
getCurrentPages
();
var
pages
=
getCurrentPages
();
var
prevPage
=
pages
[
pages
.
length
-
2
];
var
prevPage
=
pages
[
pages
.
length
-
2
];
console
.
log
(
prevPage
);
console
.
log
(
prevPage
);
if
(
prevPage
.
route
==
"
pages/
shopping/
checkout/checkout
"
)
{
if
(
prevPage
.
route
==
"
pages/checkout/checkout
"
)
{
prevPage
.
setData
({
prevPage
.
setData
({
addressId
:
res
.
data
addressId
:
res
.
data
})
;
})
try
{
try
{
wx
.
setStorageSync
(
'
addressId
'
,
res
.
data
);
wx
.
setStorageSync
(
'
addressId
'
,
res
.
data
);
...
@@ -197,16 +328,16 @@ Page({
...
@@ -197,16 +328,16 @@ Page({
});
});
},
},
onShow
:
function
()
{
onShow
:
function
()
{
// 页面显示
// 页面显示
},
},
onHide
:
function
()
{
onHide
:
function
()
{
// 页面隐藏
// 页面隐藏
},
},
onUnload
:
function
()
{
onUnload
:
function
()
{
// 页面关闭
// 页面关闭
}
}
});
})
\ No newline at end of file
\ No newline at end of file
renard-wx/pages/ucenter/addressAdd/addressAdd.wxml
View file @
1a150f65
<view class="add-address">
<view class="add-address">
<view class="add-form">
<view class="add-form">
<view class="form-item">
<view class="form-item">
<input class="input" bindinput="bindinputName" placeholder="姓名" value="{{address.name}}"/>
<input class="input" bindinput="bindinputName" placeholder="姓名" value="{{address.name}}"
auto-focus
/>
</view>
</view>
<view class="form-item">
<view class="form-item">
<input class="input" bindinput="bindinputMobile" value="{{address.mobile}}" placeholder="手机号码"/>
<input class="input" bindinput="bindinputMobile" value="{{address.mobile}}" placeholder="手机号码"/>
</view>
</view>
<view class="form-item">
<view class="form-item">
<input class="input" bindinput="bindinputAddress" value="{{address.address}}" placeholder="详细地址"/>
<input class="input" value="{{address.provinceName + address.cityName + address.areaName}}" disabled="true" bindtap="chooseRegion" placeholder="省份、城市、区县"/>
</view>
<view class="form-item">
<input class="input" bindinput="bindinputAddress" value="{{address.address}}" placeholder="详细地址, 如街道、楼盘号等"/>
</view>
</view>
<view class="form-default">
<view class="form-default">
<text bindtap="bindIsDefault" class="default-input {{address.isDefault == 1 ? 'selected' : ''}}">设为默认地址</text>
<text bindtap="bindIsDefault" class="default-input {{address.isDefault == 1 ? 'selected' : ''}}">设为默认地址</text>
...
@@ -18,5 +21,19 @@
...
@@ -18,5 +21,19 @@
<button class="cannel" bindtap="cancelAddress">取消</button>
<button class="cannel" bindtap="cancelAddress">取消</button>
<button class="save" bindtap="saveAddress">保存</button>
<button class="save" bindtap="saveAddress">保存</button>
</view>
</view>
<view class="region-select" wx:if="{{openSelectRegion}}">
<view class="hd">
<view class="region-selected">
<view class="item {{item.id == 0 ? 'disabled' : ''}} {{(regionType -1) === index ? 'selected' : ''}}" bindtap="selectRegionType" data-region-type-index="{{index}}" wx:for="{{selectRegionList}}" wx:key="id">{{item.name}}</view>
</view>
<view class="done {{selectRegionDone ? '' : 'disabled'}}" bindtap="doneSelectRegion">确定</view>
</view>
<view class="bd">
<scroll-view scroll-y class="region-list">
<view class="item {{item.selected ? 'selected' : ''}}" bindtap="selectRegion" data-region-index="{{index}}" wx:for="{{regionList}}" wx:key="id">{{item.name}}</view>
</scroll-view>
</view>
</view>
</view>
</view>
<view class="bg-mask" bindtap="cancelSelectRegion" wx:if="{{openSelectRegion}}"></view>
<view class="bg-mask" bindtap="cancelSelectRegion" wx:if="{{openSelectRegion}}"></view>
\ No newline at end of file
Write
Preview
Supports
Markdown
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