hookehuyr

联调邮件发送接口

1 /* 1 /*
2 * @Date: 2024-09-26 13:36:06 2 * @Date: 2024-09-26 13:36:06
3 * @LastEditors: hookehuyr hookehuyr@gmail.com 3 * @LastEditors: hookehuyr hookehuyr@gmail.com
4 - * @LastEditTime: 2024-10-25 16:49:54 4 + * @LastEditTime: 2024-10-25 17:48:09
5 * @FilePath: /hager/src/api/hager.js 5 * @FilePath: /hager/src/api/hager.js
6 * @Description: 文件描述 6 * @Description: 文件描述
7 */ 7 */
...@@ -24,6 +24,8 @@ const Api = { ...@@ -24,6 +24,8 @@ const Api = {
24 GET_CODE: '/srv/?a=user&type=get_code', 24 GET_CODE: '/srv/?a=user&type=get_code',
25 EDIT_PASSWORD: '/srv/?a=user&type=edit_password', 25 EDIT_PASSWORD: '/srv/?a=user&type=edit_password',
26 SEARCH: '/srv/?a=search', 26 SEARCH: '/srv/?a=search',
27 + DOWN_EMAIL: '/srv/?a=down_email',
28 + DOWN_ZIP: '/srv/?a=down_zip',
27 }; 29 };
28 30
29 export const honorAPI = (params) => fn(fetch.get(Api.HONOR, params)); 31 export const honorAPI = (params) => fn(fetch.get(Api.HONOR, params));
...@@ -51,3 +53,6 @@ export const editUserInfoAPI = (params) => fn(fetch.post(Api.EDIT_USER, params)) ...@@ -51,3 +53,6 @@ export const editUserInfoAPI = (params) => fn(fetch.post(Api.EDIT_USER, params))
51 export const getCodeAPI = (params) => fn(fetch.post(Api.GET_CODE, params)); 53 export const getCodeAPI = (params) => fn(fetch.post(Api.GET_CODE, params));
52 export const editPasswordAPI = (params) => fn(fetch.post(Api.EDIT_PASSWORD, params)); 54 export const editPasswordAPI = (params) => fn(fetch.post(Api.EDIT_PASSWORD, params));
53 export const searchAPI = (params) => fn(fetch.get(Api.SEARCH, params)); 55 export const searchAPI = (params) => fn(fetch.get(Api.SEARCH, params));
56 +
57 +export const downEmailAPI = (params) => fn(fetch.post(Api.DOWN_EMAIL, params));
58 +export const downZipAPI = (params) => fn(fetch.post(Api.DOWN_ZIP, params));
......
1 <!-- 1 <!--
2 * @Date: 2024-09-29 14:26:41 2 * @Date: 2024-09-29 14:26:41
3 * @LastEditors: hookehuyr hookehuyr@gmail.com 3 * @LastEditors: hookehuyr hookehuyr@gmail.com
4 - * @LastEditTime: 2024-10-25 12:22:18 4 + * @LastEditTime: 2024-10-25 17:57:24
5 * @FilePath: /hager/src/views/product/detail.vue 5 * @FilePath: /hager/src/views/product/detail.vue
6 * @Description: 文件描述 6 * @Description: 文件描述
7 --> 7 -->
...@@ -129,8 +129,8 @@ import mixin from 'common/mixin'; ...@@ -129,8 +129,8 @@ import mixin from 'common/mixin';
129 import hagerBox from '@/components/common/hagerBox'; 129 import hagerBox from '@/components/common/hagerBox';
130 import hagerCarousel from '@/components/hagerCarousel'; 130 import hagerCarousel from '@/components/hagerCarousel';
131 import hagerH1 from '@/components/common/hagerH1.vue'; 131 import hagerH1 from '@/components/common/hagerH1.vue';
132 -import { MessageBox, Message } from 'element-ui'; 132 +import { MessageBox, Message, Loading } from 'element-ui';
133 -import { getProductInfoAPI } from "@/api/hager.js"; 133 +import { getProductInfoAPI, getUserInfoAPI, downEmailAPI, downZipAPI } from "@/api/hager.js";
134 134
135 export default { 135 export default {
136 components: { hagerBox, hagerCarousel, hagerH1 }, 136 components: { hagerBox, hagerCarousel, hagerH1 },
...@@ -170,6 +170,7 @@ export default { ...@@ -170,6 +170,7 @@ export default {
170 info_images: [], 170 info_images: [],
171 product_advantages: [], 171 product_advantages: [],
172 checked_items: [], 172 checked_items: [],
173 + is_login: false,
173 } 174 }
174 }, 175 },
175 computed: { 176 computed: {
...@@ -187,6 +188,7 @@ export default { ...@@ -187,6 +188,7 @@ export default {
187 }, 188 },
188 async mounted () { 189 async mounted () {
189 this.getInfo(); 190 this.getInfo();
191 + this.getUserInfo();
190 }, 192 },
191 watch: { 193 watch: {
192 // 监听路由参数变化时,更新输入框的值 194 // 监听路由参数变化时,更新输入框的值
...@@ -228,7 +230,24 @@ export default { ...@@ -228,7 +230,24 @@ export default {
228 this.download_list.forEach(item => item.show = false); 230 this.download_list.forEach(item => item.show = false);
229 item.show = true; 231 item.show = true;
230 }, 232 },
231 - goToDownload () { 233 + async getUserInfo () {
234 + const { code, data } = await getUserInfoAPI();
235 + if (code) {
236 + if (data) {
237 + this.is_login = true; // 已登录
238 + } else {
239 + this.is_login = false; // 未登录
240 + }
241 + }
242 + },
243 + async goToDownload () {
244 + if (!this.is_login) {
245 + Message({
246 + type: 'error',
247 + message: '请先登录'
248 + });
249 + return;
250 + }
232 if (this.is_download_checked) { 251 if (this.is_download_checked) {
233 let ids = []; 252 let ids = [];
234 this.download_list.forEach(item => { 253 this.download_list.forEach(item => {
...@@ -238,25 +257,54 @@ export default { ...@@ -238,25 +257,54 @@ export default {
238 } 257 }
239 }) 258 })
240 }); 259 });
241 - console.warn(ids); 260 + let loadingInstance = Loading.service({ fullscreen: true, background: 'rgba(0, 0, 0, 0.3)' });
261 + const { code, data } = await downEmailAPI();
262 + if (code) {
263 + await downZipAPI({ name: data.name, ids });
242 // 发送邮箱接口 264 // 发送邮箱接口
243 Message({ 265 Message({
244 type: 'success', 266 type: 'success',
245 - message: '发送成功' 267 + message: '邮件发送成功'
268 + });
269 + this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
270 + loadingInstance.close();
271 + });
272 + } else {
273 + this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
274 + loadingInstance.close();
246 }); 275 });
247 } 276 }
277 + }
248 }, 278 },
249 checkAll (item) { // 全选当前显示的下载列表 279 checkAll (item) { // 全选当前显示的下载列表
250 item.list.forEach(file => file.checked = true); 280 item.list.forEach(file => file.checked = true);
251 item.checked_sum = item.list.filter(item => item.checked).length; 281 item.checked_sum = item.list.filter(item => item.checked).length;
252 }, 282 },
253 - sendEmail (item) { 283 + async sendEmail (item) {
254 - console.warn(item); 284 + if (!this.is_login) {
285 + Message({
286 + type: 'error',
287 + message: '请先登录'
288 + });
289 + return;
290 + }
291 + let loadingInstance = Loading.service({ fullscreen: true, background: 'rgba(0, 0, 0, 0.3)' });
292 + const { code, data } = await downEmailAPI();
293 + if (code) {
294 + await downZipAPI({ name: data.name, ids: [item.id] });
255 // 发送邮箱接口 295 // 发送邮箱接口
256 Message({ 296 Message({
257 type: 'success', 297 type: 'success',
258 - message: '发送成功' 298 + message: '邮件发送成功'
299 + });
300 + this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
301 + loadingInstance.close();
259 }); 302 });
303 + } else {
304 + this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
305 + loadingInstance.close();
306 + });
307 + }
260 }, 308 },
261 preview (item) { 309 preview (item) {
262 window.open(item.value, '_blank'); 310 window.open(item.value, '_blank');
......