diff --git a/src/api/demand.js b/src/api/demand.js new file mode 100644 index 0000000..7d6f2bb --- /dev/null +++ b/src/api/demand.js @@ -0,0 +1,51 @@ +import request from "@/utils/request"; + +/** + * 获取需求列表 + * @returns {Promise} + */ +export function getDemandList() { + return request({ + url: "/admin/demandList", + method: "get", + }); +} + +/** + * 新增需求 + * @param {Object} data 需求数据 + * @returns {Promise} + */ +export function addDemand(data) { + return request({ + url: "/admin/addDemand", + method: "post", + data, + }); +} + +/** + * 编辑需求 + * @param {number} id 需求ID + * @param {Object} data 需求数据 + * @returns {Promise} + */ +export function editDemand(id, data) { + return request({ + url: `/admin/editDemand/${id}`, + method: "post", + data, + }); +} + +/** + * 删除需求 + * @param {number} id 需求ID + * @returns {Promise} + */ +export function deleteDemand(id) { + return request({ + url: `/admin/deleteDemand/${id}`, + method: "post", + }); +} diff --git a/src/api/theme.js b/src/api/theme.js new file mode 100644 index 0000000..0dce3d7 --- /dev/null +++ b/src/api/theme.js @@ -0,0 +1,36 @@ +import request from '@/utils/request' + +// 获取模板列表 +export function getThemeList() { + return request({ + url: '/admin/theme', + method: 'get' + }) +} + +// 切换模板 +export function switchTheme(data) { + return request({ + url: '/admin/theme/switch', + method: 'post', + data + }) +} + +// 获取模板数据 +export function getThemeData(params) { + return request({ + url: '/admin/theme/data', + method: 'get', + params + }) +} + +// 保存模板数据 +export function saveThemeData(data) { + return request({ + url: '/admin/theme/data', + method: 'post', + data + }) +} diff --git a/src/main.js b/src/main.js index 2c4ad6e..5813324 100644 --- a/src/main.js +++ b/src/main.js @@ -7,6 +7,7 @@ import 'element-plus/dist/index.css' import 'element-plus/theme-chalk/dark/css-vars.css' import '@/assets/less/index.less' import '@/assets/css/all.min.css' +import '@/assets/js/all.min.js' import router from './router' import { loadAndAddDynamicRoutes } from './router' import { createPinia } from 'pinia' diff --git a/src/utils/request.js b/src/utils/request.js index 5ebe422..bdd62f8 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -23,23 +23,7 @@ service.interceptors.request.use( if (token) { config.headers['Authorization'] = `Bearer ${token}`; } - - // 禁止 GET 请求缓存:添加时间戳参数到 query string - if (config.method === 'get') { - config.params = { - ...config.params, - _t: Date.now() - }; - } - - // POST/PUT/PATCH 请求也添加时间戳到 query string 防止缓存 - if (['post', 'put', 'patch'].includes(config.method?.toLowerCase())) { - config.params = { - ...config.params, - _t: Date.now() - }; - } - + // 对于有 body 的请求(POST、PUT、PATCH),确保设置 Content-Type if (config.data && ['post', 'put', 'patch'].includes(config.method?.toLowerCase())) { if (!config.headers['Content-Type'] && !config.headers['content-type']) { diff --git a/src/views/apps/cms/demand/components/edit.vue b/src/views/apps/cms/demand/components/edit.vue new file mode 100644 index 0000000..962276f --- /dev/null +++ b/src/views/apps/cms/demand/components/edit.vue @@ -0,0 +1,150 @@ + + + + + diff --git a/src/views/apps/cms/demand/index.vue b/src/views/apps/cms/demand/index.vue new file mode 100644 index 0000000..fb51f27 --- /dev/null +++ b/src/views/apps/cms/demand/index.vue @@ -0,0 +1,333 @@ + + + + + diff --git a/src/views/apps/cms/index.vue b/src/views/apps/cms/index.vue index 3ea5af6..3fa5df9 100644 --- a/src/views/apps/cms/index.vue +++ b/src/views/apps/cms/index.vue @@ -1,8 +1,7 @@ - - - - - \ No newline at end of file + + + + + + \ No newline at end of file diff --git a/src/views/apps/cms/templates/index.vue b/src/views/apps/cms/templates/index.vue new file mode 100644 index 0000000..ffcd804 --- /dev/null +++ b/src/views/apps/cms/templates/index.vue @@ -0,0 +1,379 @@ + + + + +