diff --git a/api/address.js b/api/address.js new file mode 100644 index 0000000..68a5d51 --- /dev/null +++ b/api/address.js @@ -0,0 +1,30 @@ +import request from './request'; + +// 通用工具:处理接口返回可能存在的数据包裹 +function unwrapList(response) { + if (!response) return []; + if (Array.isArray(response)) return response; + if (Array.isArray(response?.data)) return response.data; + if (Array.isArray(response?.list)) return response.list; + return []; +} + +export function fetchAddressList() { + return request('xcx/addresses', 'GET', { + page: 1, + page_size: 99 + }).then(unwrapList); +} + +export function createAddress(data) { + return request('xcx/address', 'POST', data); +} + +export function updateAddress(addressId, data) { + return request(`xcx/address/${addressId}`, 'PUT', data); +} + +export function deleteAddress(addressId) { + return request(`xcx/address/${addressId}`, 'DELETE'); +} + diff --git a/pages.json b/pages.json index 28f8814..352f417 100644 --- a/pages.json +++ b/pages.json @@ -31,6 +31,12 @@ "navigationBarTitleText": "我的" } }, + { + "path": "pages/address/index", + "style": { + "navigationBarTitleText": "地址管理" + } + }, { "path": "pages/my/editInfo/index", "style": { diff --git a/pages/address/index.vue b/pages/address/index.vue new file mode 100644 index 0000000..407573c --- /dev/null +++ b/pages/address/index.vue @@ -0,0 +1,618 @@ +