- 调通 用户商品地址
This commit is contained in:
@@ -18,31 +18,40 @@ export function DelFavorite(id){
|
||||
|
||||
export function GetAddressList(){
|
||||
return request({
|
||||
url: '/User/GetAddressList',
|
||||
url: '/user-api/user/address/list',
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
export function GetAddressById(id){
|
||||
return request({
|
||||
url: '/User/GetAddressById',
|
||||
url: '/user-api/user/address/address',
|
||||
method: 'get',
|
||||
params: { id }
|
||||
})
|
||||
}
|
||||
|
||||
export function SaveAddress(data){
|
||||
export function UpdateAddress(data){
|
||||
return request({
|
||||
url: '/User/SaveAddress',
|
||||
method: 'post',
|
||||
params: { data }
|
||||
url: '/user-api/user/address/update',
|
||||
method: 'PUT',
|
||||
params: data
|
||||
})
|
||||
}
|
||||
|
||||
export function SaveAddress(data){
|
||||
return request({
|
||||
url: '/user-api/user/address/add',
|
||||
method: 'POST',
|
||||
params: data
|
||||
})
|
||||
}
|
||||
|
||||
export function DelAddress(data){
|
||||
return request({
|
||||
url: '/User/DelAddress',
|
||||
method: 'post',
|
||||
params: { data }
|
||||
url: '/user-api/user/address/remove',
|
||||
method: 'DELETE',
|
||||
params: data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -4,8 +4,74 @@ import datas from '../data/data';
|
||||
import { getAccessToken } from '../utils/cache.js';
|
||||
import { Dialog } from 'vant';
|
||||
|
||||
const serviceRouter = function(requestUrl) {
|
||||
function getConfig() {
|
||||
const configDev = {
|
||||
'/order-api': {
|
||||
prefix: '/order-api',
|
||||
target: 'http://127.0.0.1:18084/order-api',
|
||||
},
|
||||
'/user-api': {
|
||||
prefix: '/user-api',
|
||||
target: 'http://127.0.0.1:18082/user-api',
|
||||
},
|
||||
};
|
||||
|
||||
const configProd = {
|
||||
'/order-api': {
|
||||
prefix: '/order-api',
|
||||
target: 'http://127.0.0.1:18084/order-api',
|
||||
},
|
||||
'/user-api': {
|
||||
prefix: '/user-api',
|
||||
target: 'http://127.0.0.1:18082/user-api',
|
||||
},
|
||||
};
|
||||
|
||||
if (process.env.NODE_ENV == 'development') {
|
||||
return configDev;
|
||||
} else {
|
||||
return configProd
|
||||
}
|
||||
}
|
||||
|
||||
// function doCreateServer(config) {
|
||||
// // 获取请求配置文件
|
||||
// const createServer = {};
|
||||
// for (const configKey in config) {
|
||||
// const serverPrefix = configKey;
|
||||
// const {target} = config[configKey];
|
||||
// // 创建服务
|
||||
// createServer[serverPrefix] = axios.create({
|
||||
// baseURL: target, // api 的 base_url
|
||||
// timeout: 5000, // request timeout
|
||||
// headers: {
|
||||
// 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
// }
|
||||
|
||||
const config = getConfig();
|
||||
// const createServer = doCreateServer(config);
|
||||
const indexOf = requestUrl.indexOf("/", 1);
|
||||
const _urlPrefix = requestUrl.substring(0, indexOf);
|
||||
if (!config[_urlPrefix]) {
|
||||
throw new Error(`服务路由,未找到可用服务! ${requestUrl}`);
|
||||
}
|
||||
// if (!createServer[_urlPrefix]) {
|
||||
// throw new Error("服务路由,未找到可用服务!");
|
||||
// }
|
||||
|
||||
// const { target } = config[_urlPrefix];
|
||||
// const requestServer = createServer[_urlPrefix];
|
||||
// const targetRequestUrl = _requestUrl.replace(_urlPrefix, target)
|
||||
// return createServer;
|
||||
return config[_urlPrefix];
|
||||
};
|
||||
|
||||
const service = axios.create({
|
||||
baseURL: baseUrl, // api 的 base_url
|
||||
// baseURL: baseUrl, // api 的 base_url
|
||||
timeout: 5000, // request timeout
|
||||
headers: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
|
||||
@@ -34,6 +100,7 @@ const servicef = function (parameter) {
|
||||
// };
|
||||
// }
|
||||
// debugger;
|
||||
|
||||
return service(parameter);
|
||||
}
|
||||
|
||||
@@ -46,11 +113,12 @@ service.interceptors.request.use(
|
||||
// config.headers['X-Token'] = getToken()
|
||||
// }
|
||||
|
||||
// debugger;
|
||||
let url = config.url;
|
||||
// 切换地址
|
||||
const { target, prefix } = serviceRouter(config.url)
|
||||
let url = config.url = config.url.replace(`${prefix}`, target);
|
||||
// TODO 芋艿,这些 url 不用增加认证 token 。可能这么写,有点脏,后面看看咋优化下。
|
||||
if (url === 'user-api/users/passport/mobile/send_register_code'
|
||||
|| url === 'user-api/users/passport/mobile/register') {
|
||||
if (url.indexOf('user-api/users/passport/mobile/send_register_code') != -1
|
||||
|| url.indexOf('user-api/users/passport/mobile/register') != -1) {
|
||||
return config;
|
||||
}
|
||||
|
||||
@@ -142,4 +210,4 @@ service.interceptors.response.use(
|
||||
)
|
||||
|
||||
|
||||
export default servicef
|
||||
export default servicef
|
||||
|
||||
@@ -1,64 +1,93 @@
|
||||
<template>
|
||||
<div>
|
||||
<headerNav title="修改地址"/>
|
||||
<van-address-edit
|
||||
<div>
|
||||
<headerNav title="修改地址"/>
|
||||
<van-address-edit
|
||||
:area-list="areaList"
|
||||
:showDelete="showDelete"
|
||||
show-set-default
|
||||
@save="onSave"
|
||||
@delete="onDelete"
|
||||
:addressInfo="info"
|
||||
/>
|
||||
</div>
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import areaList from '../../../data/area';
|
||||
import { GetAddressById,SaveAddress,DelAddress } from "../../../api/user.js";
|
||||
import areaList from '../../../data/area';
|
||||
import {GetAddressById, SaveAddress, UpdateAddress, DelAddress} from "../../../api/user.js";
|
||||
|
||||
import { AddressEdit } from 'vant';
|
||||
export default {
|
||||
components:{
|
||||
[AddressEdit.name]:AddressEdit,
|
||||
import {AddressEdit} from 'vant';
|
||||
|
||||
export default {
|
||||
components: {
|
||||
[AddressEdit.name]: AddressEdit,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
areaList,
|
||||
showDelete:false,
|
||||
info:{},
|
||||
}
|
||||
},
|
||||
return {
|
||||
areaList,
|
||||
showDelete: false,
|
||||
info: {
|
||||
},
|
||||
}
|
||||
},
|
||||
|
||||
methods: {
|
||||
onSave(data) {
|
||||
SaveAddress(data).then(response=>{
|
||||
this.$toast('保存成功');
|
||||
this.$router.go(-1);
|
||||
})
|
||||
methods: {
|
||||
onSave(data) {
|
||||
const params = {
|
||||
...data,
|
||||
address: data.addressDetail,
|
||||
areaNo: data.areaCode,
|
||||
city: data.city,
|
||||
county: data.county,
|
||||
country: data.country,
|
||||
mobile: data.tel,
|
||||
name: data.name,
|
||||
hasDefault: data.isDefault,
|
||||
};
|
||||
|
||||
if (data.id !== 0) {
|
||||
UpdateAddress(params).then(response => {
|
||||
this.$toast('更新成功');
|
||||
this.$router.go(-1);
|
||||
})
|
||||
} else {
|
||||
SaveAddress(params).then(response => {
|
||||
this.$toast('保存成功');
|
||||
this.$router.go(-1);
|
||||
})
|
||||
}
|
||||
},
|
||||
onDelete(data) {
|
||||
const params = {
|
||||
id: data.id,
|
||||
};
|
||||
DelAddress(params).then(response => {
|
||||
this.$toast('删除成功');
|
||||
this.$router.go(-1);
|
||||
})
|
||||
},
|
||||
},
|
||||
onDelete(data) {
|
||||
DelAddress(data).then(response=>{
|
||||
this.$toast('删除成功');
|
||||
this.$router.go(-1);
|
||||
})
|
||||
},
|
||||
},
|
||||
created:function(){
|
||||
var id=this.$route.query.id;
|
||||
if(id>0){
|
||||
this.showDelete=true;
|
||||
GetAddressById(id).then(response=>{
|
||||
console.log(response);
|
||||
this.info=response;
|
||||
})
|
||||
created: function () {
|
||||
const id = this.$route.query.id;
|
||||
if (id > 0) {
|
||||
this.showDelete = true;
|
||||
GetAddressById(id).then(response => {
|
||||
this.info = {
|
||||
...response,
|
||||
addressDetail: response.address,
|
||||
tel: response.mobile,
|
||||
areaCode: response.areaNo,
|
||||
isDefault: 0,
|
||||
};
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.van-picker__toolbar{
|
||||
font-size: 16px;
|
||||
}
|
||||
.van-picker__toolbar {
|
||||
font-size: 16px;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -1,65 +1,73 @@
|
||||
<template>
|
||||
<div>
|
||||
<div>
|
||||
|
||||
<headerNav title="我的地址"/>
|
||||
<van-address-list
|
||||
v-model="chosenAddressId"
|
||||
:class="isSelect?'':'hideselect'"
|
||||
:list="list"
|
||||
@add="onAdd"
|
||||
@edit="onEdit"
|
||||
@select="onSelect"
|
||||
/>
|
||||
</div>
|
||||
v-model="chosenAddressId"
|
||||
:class="isSelect?'':'hideselect'"
|
||||
:list="list"
|
||||
@add="onAdd"
|
||||
@edit="onEdit"
|
||||
@select="onSelect"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
import { GetAddressList } from "../../../api/user.js";
|
||||
import { AddressList } from 'vant';
|
||||
export default {
|
||||
components:{
|
||||
[AddressList.name]:AddressList,
|
||||
import {GetAddressList} from "../../../api/user.js";
|
||||
import {AddressList} from 'vant';
|
||||
|
||||
export default {
|
||||
components: {
|
||||
[AddressList.name]: AddressList,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
return {
|
||||
chosenAddressId: '1',
|
||||
isSelect:false,
|
||||
isSelect: false,
|
||||
list: [],
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
methods: {
|
||||
onAdd() {
|
||||
this.$router.push('/user/address/edit')
|
||||
},
|
||||
onAdd() {
|
||||
this.$router.push('/user/address/edit')
|
||||
},
|
||||
|
||||
onEdit(item, index) {
|
||||
this.$router.push('/user/address/edit?id='+item.id);
|
||||
},
|
||||
onSelect(item,index){
|
||||
if(!this.isSelect){
|
||||
return;
|
||||
}
|
||||
this.$emit('selectAddress',item);
|
||||
this.$router.go(-1);
|
||||
onEdit(item, index) {
|
||||
this.$router.push('/user/address/edit?id=' + item.id);
|
||||
},
|
||||
onSelect(item, index) {
|
||||
if (!this.isSelect) {
|
||||
return;
|
||||
}
|
||||
this.$emit('selectAddress', item);
|
||||
this.$router.go(-1);
|
||||
}
|
||||
},
|
||||
created:function(){
|
||||
this.chosenAddressId=this.$route.query.id;
|
||||
this.isSelect=this.$route.query.id>0;
|
||||
GetAddressList().then(response=>{
|
||||
this.list=response;
|
||||
})
|
||||
created: function () {
|
||||
this.chosenAddressId = this.$route.query.id;
|
||||
this.isSelect = this.$route.query.id > 0;
|
||||
GetAddressList().then(response => {
|
||||
this.list = response.map(item => {
|
||||
|
||||
// convert data
|
||||
return {
|
||||
...item,
|
||||
tel: item.mobile,
|
||||
}
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less">
|
||||
.hideselect{
|
||||
.van-radio__input{
|
||||
display: none;
|
||||
.hideselect {
|
||||
.van-radio__input {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user