diff --git a/src/api/can.js b/src/api/can.js index 67c96b3..f4333f2 100644 --- a/src/api/can.js +++ b/src/api/can.js @@ -13,8 +13,8 @@ async function insertCan(can, rewardCan, price, currency) { return Vue.axios.post('/admin/can', request); } -async function paymentCan(can, method, member_id) { - const request = {memberId: member_id, method: method, can: can} +async function paymentCan(can, method, memberIds) { + const request = {memberIds: memberIds, method: method, can: can} return Vue.axios.post('/admin/can/charge', request) } diff --git a/src/api/member.js b/src/api/member.js index d2abd61..ba5c420 100644 --- a/src/api/member.js +++ b/src/api/member.js @@ -52,13 +52,40 @@ async function resetPassword(id) { return Vue.axios.post("/admin/member/password/reset", request) } -export { - login, - getMemberList, - searchMember, - getCreatorList, - searchCreator, - updateMember, - getCreatorAllList, - resetPassword +/** + * 닉네임으로 회원 검색 API + * - 서버 구현 차이를 흡수하기 위해 nickname, search_word 두 파라미터 모두 전송 + * - 응답은 다음 두 형태를 모두 허용하고 배열로 정규화하여 반환 + * 1) [{ id, nickname }, ...] + * 2) { data: [{ id, nickname }, ...] } + * @param {string} query + * @returns {Promise>} + */ +async function searchMembersByNickname(query) { + try { + const res = await Vue.axios.get('/admin/member/search-by-nickname', { + params: { search_word: query } + }) + if (res && Array.isArray(res.data)) { + return res.data + } + if (res && res.data && Array.isArray(res.data.data)) { + return res.data.data + } + return [] + } catch (e) { + return [] + } +} + +export { + login, + getMemberList, + searchMember, + getCreatorList, + searchCreator, + updateMember, + getCreatorAllList, + resetPassword, + searchMembersByNickname } diff --git a/src/views/Can/CanCharge.vue b/src/views/Can/CanCharge.vue index c46bc0e..97c8a94 100644 --- a/src/views/Can/CanCharge.vue +++ b/src/views/Can/CanCharge.vue @@ -8,11 +8,27 @@
- + + 캔 지급 확인 - 회원번호: {{ account_id }} + 지급 대상: {{ confirmTargets.join(', ') }} 기록내용: {{ method }} @@ -88,6 +104,7 @@