From 091a43ab492b9f491506e484fa40f15f8c4e6c3c Mon Sep 17 00:00:00 2001 From: LCJ-MinYa <1049468118@qq.com> Date: Thu, 15 Jan 2026 15:21:39 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=8B=96=E6=8B=BD=E5=B8=83=E5=B1=80-?= =?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 --- demoHtml/flex/index.html | 2 +- demoHtml/flex/js/index.js | 63 +++++++++++++++++++++++-- demoHtml/flex/js/{color.js => utils.js} | 21 +++++++++ 3 files changed, 81 insertions(+), 5 deletions(-) rename demoHtml/flex/js/{color.js => utils.js} (86%) diff --git a/demoHtml/flex/index.html b/demoHtml/flex/index.html index 5edba3e..ff0ae53 100644 --- a/demoHtml/flex/index.html +++ b/demoHtml/flex/index.html @@ -19,7 +19,7 @@ rel="stylesheet" href="./css/index.css" /> - + diff --git a/demoHtml/flex/js/index.js b/demoHtml/flex/js/index.js index 55e1320..bd4c601 100644 --- a/demoHtml/flex/js/index.js +++ b/demoHtml/flex/js/index.js @@ -77,7 +77,7 @@ /** 初始化 */ var init = function (type, self) { - const initDataStorage = localStorage.getItem(`${type}Data`); + const initDataStorage = self['initData']; if (!initDataStorage) { self['initData'] = { type: 'screen', @@ -90,7 +90,6 @@ image: '', // 为画布添加image属性 }; } else { - self['initData'] = JSON.parse(initDataStorage); conputedInitData('init', self); } self['initData'].el = document.getElementById(`${type}-screen`); @@ -581,6 +580,21 @@ console.log(welcome.initData); localStorage.setItem('mainData', JSON.stringify(conputedInitData('save', main))); localStorage.setItem('welcomeData', JSON.stringify(conputedInitData('save', welcome))); + + requestFN( + { + type: 'POST', + url: getQueryParam('id') ? 'update' : 'save', + data: { + name: $('#templateName').val(), + content: JSON.stringify({ + mainData: conputedInitData('save', main), + welcomeData: conputedInitData('save', welcome), + }), + }, + }, + function () {} + ); }); }; @@ -651,8 +665,8 @@ var i18n = function () { return new Promise((resolve) => { setTimeout(() => { - // locale = 'zh-CN'; - locale = 'en'; + locale = 'zh-CN'; + // locale = 'en'; // 设置语言 layui.i18n.set({ locale: locale, @@ -671,11 +685,52 @@ }); }; + var getImageData = function () { + requestFN({ url: 'listResourceByType', data: { type: 'image' } }, function () {}); + }; + + var getMenuData = function () { + requestFN({ url: 'listResourceByType', data: { type: 'menu' } }, function () {}); + }; + + var getComponentData = function () { + requestFN({ url: 'listResourceByType', data: { type: 'component' } }, function () {}); + }; + + // 获取单个参数 + var getQueryParam = function (param) { + const urlParams = new URLSearchParams(window.location.search); + return urlParams.get(param); + }; + + var getTemplateData = function () { + return new Promise((resolve) => { + let id = getQueryParam('id'); + if (id) { + requestFN({ url: 'getById', data: { id } }, function (data) { + $('#templateName').val(data.name); + const { welcomeData, mainData } = JSON.parse(data.content); + welcome.initData = welcomeData; + main.initData = mainData; + resolve(); + }); + } else { + resolve(); + } + }); + }; + /** 执行方法 */ $(function () { (async function () { + getImageData(); + getMenuData(); + getComponentData(); + // 国际化 await i18n(); + // 获取模版数据 + await getTemplateData(); // 初始化 initGridStack(); init('welcome', welcome); diff --git a/demoHtml/flex/js/color.js b/demoHtml/flex/js/utils.js similarity index 86% rename from demoHtml/flex/js/color.js rename to demoHtml/flex/js/utils.js index 60815c3..dd7748b 100644 --- a/demoHtml/flex/js/color.js +++ b/demoHtml/flex/js/utils.js @@ -132,3 +132,24 @@ function rgbaToHexWithValidation(rgbaStr) { return hexColor; } + +var api = { + baseUrl: 'http://www.dtviptvott.com:20018', + preFix: '/template/', +}; + +var requestFN = function ({ type = 'GET', url, data = {} }, successCallback, errorCallback) { + $.ajax({ + url: api.baseUrl + api.preFix + url, + type, + data: type === 'GET' ? data : JSON.stringify(data), + dataType: 'json', + contentType: 'application/json', + success: function (response) { + successCallback && successCallback(response.data); + }, + error: function (xhr, status, error) { + errorCallback && errorCallback(error); + }, + }); +};