From f3c73df9057422308776855fddc56c8dbbed4284 Mon Sep 17 00:00:00 2001 From: sjeam <359824901@qq.com> Date: Fri, 1 Aug 2025 10:14:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E5=AF=B9=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- env/.env | 4 +- env/.env.development | 2 +- env/.env.production | 2 +- src/manifest.json | 2 +- src/pages.json | 24 +- src/pages/common/goods/address.vue | 240 ------------------- src/pages/common/goods/detail.vue | 21 +- src/pages/common/goods/order.vue | 16 +- src/pages/common/goods/order_detail.vue | 104 +++++--- src/pages/common/goods/pay_order.vue | 118 +++++---- src/pages/common/login/index.vue | 102 ++++---- src/pages/tab/list/index.vue | 128 +++++----- src/pages/tab/user/index.vue | 70 ++---- src/static/images/tabbar/bofang.png | Bin 0 -> 6731 bytes src/static/images/tabbar/bofang_selected.png | Bin 0 -> 4363 bytes src/static/images/tabbar/shezhi.png | Bin 0 -> 6791 bytes src/static/images/tabbar/shouye.png | Bin 0 -> 6397 bytes src/static/images/tabbar/shouye_selected.png | Bin 0 -> 3435 bytes src/static/images/tabbar/wode.png | Bin 0 -> 7116 bytes src/static/images/tabbar/wode_selected.png | Bin 0 -> 3907 bytes src/static/styles/common.scss | 21 ++ src/utils/request/index.ts | 12 +- 22 files changed, 366 insertions(+), 500 deletions(-) delete mode 100644 src/pages/common/goods/address.vue create mode 100644 src/static/images/tabbar/bofang.png create mode 100644 src/static/images/tabbar/bofang_selected.png create mode 100644 src/static/images/tabbar/shezhi.png create mode 100644 src/static/images/tabbar/shouye.png create mode 100644 src/static/images/tabbar/shouye_selected.png create mode 100644 src/static/images/tabbar/wode.png create mode 100644 src/static/images/tabbar/wode_selected.png diff --git a/env/.env b/env/.env index 631bc28..dd83a91 100644 --- a/env/.env +++ b/env/.env @@ -6,6 +6,7 @@ VITE_APP_ENV=development # 接口地址 VITE_API_BASE_URL=http://www.caipu.com:8545 +# VITE_API_BASE_URL=http://ceshi-recipeapi.lihaink.cn/ # 端口号 VITE_APP_PORT=9527 @@ -13,8 +14,9 @@ VITE_APP_PORT=9527 # h5是否需要配置代理 VITE_APP_PROXY=true -# API代理前缀 +# API代理前缀 VITE_API_PREFIX= http://www.caipu.com:8545 +# VITE_API_PREFIX= http://ceshi-recipeapi.lihaink.cn/ # 删除console VITE_DROP_CONSOLE=false diff --git a/env/.env.development b/env/.env.development index 91fce12..13c983b 100644 --- a/env/.env.development +++ b/env/.env.development @@ -2,7 +2,7 @@ VITE_APP_ENV=development # 接口地址 -VITE_API_BASE_URL=http://www.caipu.com:8545 +VITE_API_BASE_URL=http://ceshi-recipeapi.lihaink.cn # 删除console VITE_DROP_CONSOLE=false diff --git a/env/.env.production b/env/.env.production index 3d21578..3c64c30 100644 --- a/env/.env.production +++ b/env/.env.production @@ -2,7 +2,7 @@ VITE_APP_ENV=production # 接口地址 -VITE_API_BASE_URL=http://www.caipu.com:8545 +VITE_API_BASE_URL=http://ceshi-recipeapi.lihaink.cn # 删除console VITE_DROP_CONSOLE=true diff --git a/src/manifest.json b/src/manifest.json index 48244f2..9de1ca7 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -81,7 +81,7 @@ "h5" : { "router" : { "mode" : "hash", - "base" : "/uniapp-vue3-template/" + "base" : "/caipu_uni/" }, "sdkConfigs" : { "maps" : { diff --git a/src/pages.json b/src/pages.json index 71ab23d..b36de7b 100644 --- a/src/pages.json +++ b/src/pages.json @@ -62,28 +62,32 @@ "style": { "navigationBarTitleText": "菜谱详情", "navigationStyle": "custom" - } + }, + "needLogin": true }, { "path": "goods/pay_order", "style": { "navigationBarTitleText": "订单详情", "navigationStyle": "custom" - } + }, + "needLogin": true }, { "path": "goods/order", "style": { "navigationBarTitleText": "订单详情", "navigationStyle": "custom" - } + }, + "needLogin": true }, { "path": "goods/order_detail", "style": { "navigationBarTitleText": "订单详情", "navigationStyle": "custom" - } + }, + "needLogin": true } @@ -102,20 +106,20 @@ "borderStyle": "black", "backgroundColor": "#ffffff", "list": [{ - "iconPath": "static/images/tabbar/icon_home.png", - "selectedIconPath": "static/images/tabbar/icon_home_selected.png", + "iconPath": "static/images/tabbar/shouye.png", + "selectedIconPath": "static/images/tabbar/shouye_selected.png", "pagePath": "pages/tab/home/index", "text": "菜单分类" }, { - "iconPath": "static/images/tabbar/icon_list.png", - "selectedIconPath": "static/images/tabbar/icon_list_selected.png", + "iconPath": "static/images/tabbar/bofang.png", + "selectedIconPath": "static/images/tabbar/bofang_selected.png", "pagePath": "pages/tab/list/index", "text": "食谱清单" }, { - "iconPath": "static/images/tabbar/icon_me.png", - "selectedIconPath": "static/images/tabbar/icon_me_selected.png", + "iconPath": "static/images/tabbar/wode.png", + "selectedIconPath": "static/images/tabbar/wode_selected.png", "pagePath": "pages/tab/user/index", "text": "我的" }] diff --git a/src/pages/common/goods/address.vue b/src/pages/common/goods/address.vue deleted file mode 100644 index 57719a7..0000000 --- a/src/pages/common/goods/address.vue +++ /dev/null @@ -1,240 +0,0 @@ - - - - diff --git a/src/pages/common/goods/detail.vue b/src/pages/common/goods/detail.vue index 69c0aa4..c9d8c11 100644 --- a/src/pages/common/goods/detail.vue +++ b/src/pages/common/goods/detail.vue @@ -58,16 +58,19 @@ - - - - - + + + + + + + + diff --git a/src/pages/common/goods/order.vue b/src/pages/common/goods/order.vue index 099f22f..6ce8410 100644 --- a/src/pages/common/goods/order.vue +++ b/src/pages/common/goods/order.vue @@ -19,14 +19,14 @@ height="80rpx" leftIconSize="38rpx" leftIconColor="#303133" :safeAreaInsetTop="true" :placeholder="true" :fixed="true"> + v-model="matchedItems_sp" @query="changeSP" class="fv-page flex-col "> @@ -54,9 +54,9 @@ iconStyle="font-size:32rpx;color:#59CB56;margin-right:10rpx;" lines="1" decoration="none"> - + @@ -128,7 +128,11 @@ export default defineComponent({ this.$refs.pagingRefSP?.reload(); }, //列表分页 - changeSP () { + changeSP (pageNo: number) { + + console.log('列表分页',pageNo); + this.search_sp.page = pageNo; + console.log('列表分页',this.search_sp); CommonApi.commonGet('/api/order/list', this.search_sp).catch((res) => { if (res.code === 1) { this.$refs.pagingRefSP?.complete(res.data); @@ -139,7 +143,7 @@ export default defineComponent({ // this.createOrderData.cart_ids.push(item.id); // } // }); - + } else { uni.$u.toast(res.msg); } diff --git a/src/pages/common/goods/order_detail.vue b/src/pages/common/goods/order_detail.vue index 24d726b..2e18142 100644 --- a/src/pages/common/goods/order_detail.vue +++ b/src/pages/common/goods/order_detail.vue @@ -24,33 +24,41 @@ leftIconColor="#303133" :safeAreaInsetTop="true" :placeholder="true" :fixed="true"> - + @@ -92,7 +100,7 @@ - @@ -100,40 +108,68 @@ line-color="#18C936" line-width="40rpx" line-height="6rpx" line-bg-size="cover" :scrollable="true" /> - + + + + + + + + + - + + - + - + + + - - - + + + + + + @@ -229,12 +239,15 @@ - - + + + + + + custom-style="width:200rpx;float:right;margin-right:0rpx;" @click="handleSubmit"> @@ -464,7 +477,7 @@ export default defineComponent({ that.addFrom.city = res.data.address_component.city that.addFrom.district = res.data.address_component.district that.addFrom.latitude = res.data.location.lat - that.addFrom.longitude = res.data.location.long + that.addFrom.longitude = res.data.location.lng // that.addFrom.detail = res.data.address_component.street } else { uni.$u.toast(res.msg); @@ -527,14 +540,31 @@ export default defineComponent({ }, deleteAddress (id) { - CommonApi.commonPost('/api/user/deleteAddress',{id:id}).catch((res) => { - if (res.code === 1) { - // this.propShowAddress = false; - this.getAddressInfoListData(); - } else { - uni.$u.toast(res.msg); - } + + useModal().showModal('success', { + title: '删除提示', + content: '确定删除当前地址吗?', + showCancel: true, + confirmText: '确定', + cancelText: '取消', + success: (res) => { + if (res.confirm) { + CommonApi.commonPost('/api/user/deleteAddress', { id: id }).catch((res) => { + if (res.code === 1) { + // this.propShowAddress = false; + this.getAddressInfoListData(); + } else { + uni.$u.toast(res.msg); + } + }); + } + else if (res.cancel) { + // console.log('用户点击取消'); + } + }, }); + + }, //修改地址 editAddress (itme) { diff --git a/src/pages/common/login/index.vue b/src/pages/common/login/index.vue index 916183e..7e51671 100644 --- a/src/pages/common/login/index.vue +++ b/src/pages/common/login/index.vue @@ -2,40 +2,42 @@ - 欢迎登录 + - - - - - - - - + + + + + + + + + + + + + - - - - - - + + 密码登录 验证码登录 - + - @@ -63,10 +68,15 @@ import type { CSSProperties } from 'vue'; import { HOME_PATH, isTabBarPath, LOGIN_PATH, removeQueryString } from '@/router'; import { useUserStore } from '@/store'; -import { setToken ,getToken , isLogin } from '@/utils/auth'; +import { setToken, getToken, isLogin } from '@/utils/auth'; import uCode from 'uview-plus/components/u-code/u-code.vue'; const userStore = useUserStore(); +const isWechat = ref(false); +// #ifdef H5 +isWechat.value = true; +// #endif + const loginType = ref(0); const account = ref('18181941463'); @@ -81,20 +91,20 @@ const inputStyle = computed(() => { const style = {} as CSSProperties; if (account.value && code.value) { style.color = '#fff'; - style.backgroundColor = uni.$u.color.warning; + style.backgroundColor = uni.$u.color.success; } return style; }); -function codeChange(text: string) { +function codeChange (text: string) { tips.value = text; } -function changLoginType(text: number) { +function changLoginType (text: number) { loginType.value = text; } -function getCode() { +function getCode () { if (uCodeRef.value?.canGetCode) { // 模拟向后端请求验证码 uni.showLoading({ @@ -111,7 +121,7 @@ function getCode() { uni.$u.toast('倒计时结束后再发送'); } } -async function submit() { +async function wechatLogin () { if (!uni.$u.test.mobile(Number(account.value))) { uni.$u.toast('请输入正确的手机号'); return; @@ -124,11 +134,11 @@ async function submit() { await userStore.passwordLogin({ account: account.value, password: password.value }).catch((res) => { console.log(res); if (res.code === 1) { - // const token = res.data.token; - // if (token) { - // setToken(token.token_type+' '+token.token); - // } - uni.$u.toast('登录成功'); + // const token = res.data.token; + // if (token) { + // setToken(token.token_type+' '+token.token); + // } + uni.$u.toast('登录成功'); } else { uni.$u.toast(`登录失败,${res.message}`); @@ -142,10 +152,10 @@ async function submit() { } await userStore.login({ account: account.value, code: password.value }).catch(() => { if (res.code === 1) { - // const token = res.data.token; - // if (token) { - // setToken(token.token_type+' '+token.token); - // } + // const token = res.data.token; + // if (token) { + // setToken(token.token_type+' '+token.token); + // } uni.$u.toast('登录成功'); } else { @@ -153,7 +163,7 @@ async function submit() { } }); } - if(isLogin()){ + if (isLogin()) { // await userStore.info() setTimeout(() => { uni.$u.route({ @@ -161,11 +171,11 @@ async function submit() { url: redirect, }); }, 800); - }else{ - uni.$u.toast('登录失败,请重新登录 '); + } else { + uni.$u.toast('登录失败,请重新登录 '); setToken(''); } - + // setToken('1234567890'); } @@ -189,7 +199,7 @@ body { @apply mt-80rpx mx-auto mb-0 w-600rpx; .title { - @apply mb-100rpx text-60rpx text-left font-500; + @apply mb-200rpx text-60rpx text-left font-500; } input { diff --git a/src/pages/tab/list/index.vue b/src/pages/tab/list/index.vue index 953e195..3f8497f 100644 --- a/src/pages/tab/list/index.vue +++ b/src/pages/tab/list/index.vue @@ -25,16 +25,20 @@ :lazy-load="true" duration="500" bg-color="#f3f4f6NaN" :show-menu-by-longpress="true" /> @@ -106,8 +110,8 @@ :paging-style="{ 'background-color': '#FFFFFFFF', 'padding': '20rpx' }" v-if="!currentTab" ref="pagingRefSP" v-model="matchedItems_sp" class="fv-page flex-col " @query="changeSP"> - - + + @@ -126,26 +135,22 @@ @@ -242,6 +251,7 @@ export default defineComponent({ onShow () { //进入页面时刷新数据--避免加入购物车不显示 this.searchSP(); + this.searchSC(); }, onLoad () { // if (isLogin()) { @@ -370,7 +380,7 @@ export default defineComponent({ if (res.confirm) { console.log(that.aloneChecked); //删除购物车菜品 - CommonApi.commonPost('/api/cart/delete', { id: this.checkboxValue }).catch((res) => { + CommonApi.commonPost('/api/cart/delete', { ids: this.checkboxValue }).catch((res) => { if (res.code === 1) { that.aloneChecked = false; this.aloneCheckedValue = [] @@ -400,10 +410,10 @@ export default defineComponent({ }, //修改商品数量 changeProductNumber (e) { - // console.log(e); + console.log(e); this.goods_sc = this.matchedItems_sc.find(item => item.product_id === e.name); // console.log(this.goods_sc); - CommonApi.commonPost('/api/cart/changeNumber', { id: e.name, nums: (this.goods_sc.nums * this.goods_sc.cart_num) }).catch((res) => { + CommonApi.commonPost('/api/cart/changeNumber', { id: e.name, people_number: e.value }).catch((res) => { if (res.code === 1) { } else { uni.$u.toast(res.msg); @@ -412,10 +422,10 @@ export default defineComponent({ }, //修改人数 changePeopleNumber (e) { - CommonApi.commonPost('/api/cart/changePeopleNumber', { totalNum: this.totalNum }).catch((res) => { + CommonApi.commonPost('/api/cart/changePeopleNumber', { people_number: this.totalNum }).catch((res) => { if (res.code === 1) { this.matchedItems_sc.forEach((item, index) => { - this.matchedItems_sc[index].cart_num = e.value; + this.matchedItems_sc[index].people_number = e.value; }); } else { uni.$u.toast(res.msg); @@ -432,6 +442,10 @@ export default defineComponent({ CommonApi.commonPost('/api/cart/count').catch((res) => { if (res.code === 1) { this.cartNUM = res.data.count; + if (this.totalNum == 1) { + this.totalNum = res.data.peopleNumber + } + } }); }, diff --git a/src/pages/tab/user/index.vue b/src/pages/tab/user/index.vue index 5dd08d2..a5831fc 100644 --- a/src/pages/tab/user/index.vue +++ b/src/pages/tab/user/index.vue @@ -2,7 +2,7 @@ - + @@ -12,43 +12,33 @@ {{ userStore.user.phone }} - + - + - + - + - + - + + @@ -76,7 +66,7 @@ const toCopy = async () => { console.log('[ data ] >', data); }; -function loginOut() { +function loginOut () { showModal('success', { title: '提示', content: '确定退出登录?', @@ -87,23 +77,23 @@ function loginOut() { if (res.confirm) { // 退出请求 // loginOuts(); - setToken(''); - uni.$u.route({ - type: isTabBarPath(redirect) ? 'switchTab' : 'redirectTo', - url: redirect, - }); + setToken(''); + uni.$u.route({ + type: isTabBarPath(redirect) ? 'switchTab' : 'redirectTo', + url: redirect, + }); } }, }); } - function orderList() { +function orderList () { uni.$u.route({ type: 'navigateTo', url: '/pages/common/goods/order', - }); + }); } -async function loginOuts() { +async function loginOuts () { // 退出请求 await userStore.logout().catch(() => { setToken(''); @@ -121,17 +111,3 @@ onShow(async () => { console.log(hasPermission ? '已登录' : '未登录,拦截跳转'); }); - - diff --git a/src/static/images/tabbar/bofang.png b/src/static/images/tabbar/bofang.png new file mode 100644 index 0000000000000000000000000000000000000000..36ae5bf25d9074b98bb6a1177a96e13d5746714c GIT binary patch literal 6731 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 Q+YLZlLtnjG^~sC>0hdk%P5=M^ literal 0 HcmV?d00001 diff --git a/src/static/images/tabbar/shezhi.png b/src/static/images/tabbar/shezhi.png new file mode 100644 index 0000000000000000000000000000000000000000..0f4ee603f89aaace4872060299f7caef31cd6d8e GIT binary patch literal 6791 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 G&;J1dIw#5i literal 0 HcmV?d00001 diff --git a/src/static/images/tabbar/shouye_selected.png b/src/static/images/tabbar/shouye_selected.png new file mode 100644 index 0000000000000000000000000000000000000000..8b3e4ab50cdf7243b3e6abd24802ee6e138ff3b8 GIT binary patch literal 3435 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 literal 0 HcmV?d00001 diff --git a/src/static/images/tabbar/wode.png b/src/static/images/tabbar/wode.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0c41c8ad72f8f8ebbcb6206b005e3033aced35 GIT binary patch literal 7116 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 Hj|lo7(?^lt literal 0 HcmV?d00001 diff --git a/src/static/images/tabbar/wode_selected.png b/src/static/images/tabbar/wode_selected.png new file mode 100644 index 0000000000000000000000000000000000000000..fd9ef7d1fc7e1b184dde8d1c1d52ac2d229024aa GIT binary patch literal 3907 zcmb`K_dDC)`^R62h*fRuQ6-4hh*_diG!B|M30coac34=Xvh?oL}zie#Dp<>9I2NGXns?io?Fwfrh$pS?k}1O~dU{JIuVmeSxJC*g04C2gQj{kg zgtc#l0F1f}h-xh`0O_G)2jIMP6u=N%4OeXbTxo;=FlbZ77F-GdP={Cp{Y5~)R7}C7 zVHWL{p;uEG2NOUs;{4BRie_~6?Xk(h0wlizSHG0YAV4$a;`X{W7%1e>d6BKi1i-Qu zy>DNkRmc(NUn;}_q=~htR&){oyej`bbR(tbi@KK;5cq@TD`qW7-vM4UdzbirgM0IYK4C>+GaXC6(0sDd-nea@gA7V`#_EwxVwvz~K2UW%~Z$8=zR8Bf#ltM!8hc1wq+3C+eH&)IAZN zlK3&UiTmmDz(Zjk9>+g-)IA)>6wc$)6H!)nul^m-b6>eVLx;&-lRrNGY~T?(}F zEaB8-02au;hhxTCVg1NZ#Oz(DKxP0X;ma8BBQggOr#qrXQ3~>m!Pn{LfZP1T*)91BFqd2~CRs?i>u)iux zsL9!#FXud$y%4idinQ2X0b=Bjrp`WRk>(m5!vkJIH!*#A4)b2ZdXh+uvwD+ z?Cjtdx*+811dv0XmLUaOFH!&;`yK5Ca%ug(P5H z?NVAUsrQjVAbJ-P!JhBvLjeg+hi*K2uVn$&WSUSptwHK~bvCb&td7+Vf>DrAe#8nPIT3WG9j{O;72Y+#!eq=pm9SPr*_9INmd;@mVo=lJ z0L37d{K#|HK^RHS>(#0g0(y-ri>jER5pK1Sd2w7;F5#;>_{7kvLxB7&qg$4_5e^`% z2kEzI-8CYf7m;Gmaszb@8y)whgld9GrHCTWfLS6hM>oTySPa72?j4odV=|2V z&OJT2@LK!cqnzS^3h+b7uL2q zt`al!rF}y_^=!lfd607NRayAer1%cz{;_ZiG3d96q;+Yf!?p#cQTzF5-%;&G5IN^b zMsC@fQUQOf_%+P?6ZezD4=Q@{)sTqfb$YmJ6pzGTd+Vf8P8eieH7evckpkS|&;PKz z4_V6_qN->7V8(=?API|BT<0z}#hJlsJFKvvmK$=!rCCQK}z= zet_v-g_TE7M@FpK%AcQjNT(U2McJ;<$GQf;Z$}<&ioS)1PWbMIQ@O4^NU`yU-1U6E zV(ViI7trqGhb2!WjSiE$4)tE6GxwknFY~l6Be&EwTc+QYEFKu_58DzO0aru5wdoLS zx-B_jj!tu)m>=JwocJQ;huyo7(kY+34v4si5J5eAKnPZv9cjPxI6}`FS0|{Co2MTZ zgq2;_4_mTiQ$yzo8s23)8K?+BU}DuEhPDbo^9v-u2=|bovfD~6TS0y-10U&{^2VOR zcT981WLK!L;WdImOGP!DQbWsBlUJd4exqHTmiyuUH7xtMVEPyQ5AuO0(qhWe;a! znyZ?&6^thicKdyFIrp$hw+6MPQRWcluGR}?ch;etuojC#&;M`>NRlzH=j!U0ypMHQ zN$9gyL?>Bqi*mylnEdy4-GZ_ELD<+JCoJg5 zdM*Q;U~XMjj2xWEL@;lAw{APw#5CsE_o;YPf34tSsr75<-zOH$+%aPx*wQt-J;l5s z9-45WKaZG}JGF%9CR2YSnqE>feEmv zxXIQ!;5)(pS>J*Z%$K2FOhN4x&spx5nG!rb1_euzYLfn(wH9>5zO&`r#cMrX5!WE` zHVsXZm7gGh9X>w8w`74XZgT;HS(gcw=(nKW{|y^&%!9L7&e>EwjgSX zI>R^FObwn05ivl&ty~lfKrVSHUZUblue~mxpIfRQ%m*;R?tTxZqlwHrJP1p20I;NL z{$@@RM4X)jVJu6+g9cf2T1L{&E{z!TsCYlv{Offf>}*Vbo98XJndH6AyR|!M@`oLd zXI6uv6n8vITcJ+kNK3pQC_;_h^{@K3r~(bk z6~I!+87MwWJ19z6Yculi7Ldd5c=M1FKfTNX|zhhQ9rM{hEc594c3n~Mwu8xnL2 zz9&n=6}qbJ3|{U#-^Nvb^UXI$Yat<=0iZH#5Rj zeooY+6ig61?Z*CYP`j9Sn0KX`xms>8_!g*F+AH%|%sDYKkzi*-CysR>cDOO&qbfkx z?W$LVIdni0mq@KoCqAi*Jz4#tmF|^+D(Q>WkTUe`10nfW*ln#>2MGrqJa+@aHlzEv=gJmXwZk9U|+7GQ6W}o^2MG1*A!3w(Y?K{XQFTm Rp+KWz0H(config: HttpRequestConfig): Promise { console.log('[ res ] >', res); const { result } = res.data; resolve(result as T); - }).catch((err: any) => { + }).catch((res: any) => { + if(res.data.code==401){ + //未登录拦截跳转 + uni.$u.toast(res.data.msg); + usePermission(); + return; + } // console.error('[ err ] >', err); - reject(err); + reject(res); }); }); }