/** * 全局统一的增删改查请求 * 说明:自带增删改查 * 如果有特殊的api 就在modules中新增 并且引用 全局中使用 this.$api 进行引用 * */ import request from '@/utils/request'; import Element from 'element-ui'; function install(Vue) { Vue.prototype.$api = { list(controller, params) { return new Promise((resolve, reject) => { return request({ url: controller, method: 'get', params: params }).then((res) => { resolve(res); }); }); }, detail(controller, id) { return new Promise((resolve, reject) => { request({ url: `${controller}/${id}`, method: 'get' }).then((res) => { resolve(res); }); }); }, saveCamera(controller, idName, params) { if (params[idName]) { // 更新 return new Promise((resolve, reject) => { request({ url: controller, method: 'put', data: params }).then((res) => { console.log(res); Element.Message.success({ message: `修改成功(${res.data})`, duration: 4000 }); // Element.Message.success( // language == 'en-US' ? 'Modified successfully' : `修改成功(${res.data})` // ); resolve(res); }); }); } else { // 新增 return new Promise((resolve, reject) => { request({ url: controller, method: 'post', data: params }).then((res) => { Element.Message.success({ message: `新增成功(${res.data})`, duration: 4000 }); // Element.Message.success(language == 'en-US' ? 'New success' : `新增成功(${res.data})`); resolve(res); }); }); } }, save(controller, idName, params) { if (params[idName]) { // 更新 return new Promise((resolve, reject) => { request({ url: controller, method: 'put', data: params }).then((res) => { Element.Message.success('修改成功'); resolve(res); }); }); } else { // 新增 return new Promise((resolve, reject) => { request({ url: controller, method: 'post', data: params }).then((res) => { Element.Message.success('新增成功'); resolve(res); }); }); } }, delete(controller, ids) { return new Promise((resolve, reject) => { Element.MessageBox.confirm('是否确认删除编号为"' + ids + '"的数据项?', '系统提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' }) .then(() => { request({ url: `${controller}/${ids}`, method: 'delete' }).then((res) => { Element.Message.success('删除成功'); resolve(res); }); }) .catch(() => { Element.Message.info('操作已取消'); }); }); }, deleteByName(controller, ids, name) { return new Promise((resolve, reject) => { Element.MessageBox.confirm('是否确认删除名称为"' + name + '"的数据项?', '系统提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' }) .then(() => { request({ url: `${controller}/${ids}`, method: 'delete' }).then((res) => { Element.Message.success('删除成功'); resolve(res); }); }) .catch(() => { Element.Message.info('操作已取消'); }); }); } }; } export default install;