会员用户地址这个模块比较简单,主要调用的微信官方数据接口,存储到开发者服务中。
创建address数据表
CREATE TABLE `shancloudy`.`ims_shangcheng_xk_address` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
`member_id` MEDIUMINT NOT NULL ,
`username` VARCHAR(60) NOT NULL ,
`telnumber` VARCHAR(11) NOT NULL ,
`address` VARCHAR(100) NOT NULL ,
`default_address` TINYINT(1) NOT NULL DEFAULT '1' ,
PRIMARY KEY (`id`)) ENGINE = InnoDB;
当打开商品订单页面是,获取微信收货地址端口
// 获取用户收货地址
address:function(){
var that = this
var memberInfo = wx.getStorageSync('member')
var memberId = memberInfo.id
if(memberInfo){
wx.chooseAddress({
success (res) {
console.log(res)
var userName = res.userName
var telNumber = res.telNumber
var address = res.provinceName+res.cityName+res.countyName+res.detailInfo
app.util.request({
url: 'entry/wxapp/memberAddress',
data: {
m: 'shangcheng_xk',
member_id:memberId,
userName:userName,
telNumber:telNumber,
address:address
},
success(addressRess) {
console.log(addressRess)
}
});
}
})
}else{
wx.showToast({
title: '请先登录',
icon:'error',
duration:2000
})
}
},
在下单页面获取用户数据
// 获取用户收货地址
getMemberAddress: function () {
var that = this
var member = wx.getStorageSync('member')
var memberId = member.id
app.util.request({
url: 'entry/wxapp/getMemberAddress',
data: {
m: 'shangcheng_xk',
member_id: memberId
},
success(res) {
// console.log(res)
that.setData({
username: res.data.data.username,
telnumber: res.data.data.telnumber,
address: res.data.data.address
})
}
});
},
将获取到的用户信息插入到address数据表中
// 获取会员默认收货地址信息
public function doPageGetMemberAddress(){
global $_W,$_GPC;
$errno = 0;
$message = '返回消息';
$data = array();
$addressRes = pdo_get('shangcheng_xk_address',['member_id'=>$_GPC['member_id'],'default_address'=>1]);
if($addressRes){
return $this->result($errno, '获取用户收货地址成功', $addressRes);
}else{
return $this->result($errno, '获取用户收货地址失败', ['status'=>400]);
}
}
总结
wx.chooseAddress(Object object)方法在微信开发者工具中不支持,只能在真机调试中返回后端接口数据,
以上就是本节课的主要内容,如果有看不懂的同学可以联系小编,还有一个好消息,就是如果文字教程大家看着比较费劲的话,可以关注小编,在8月份小编录制的视频教程就要正式上线了,到时候会对微擎框架进行更有深度的解析,与大家一起交流学习心得。