* add miniprogram publish confirm.

This commit is contained in:
dingyongliang
2024-02-19 14:35:37 +08:00
parent c9a5b208db
commit a409176846
7 changed files with 62 additions and 11 deletions
+29 -11
View File
@@ -439,8 +439,7 @@ function createFieldButtons()
*/
function formatContent(content)
{
if(!/\s</.test(content)) return false;
if(words.size === 0) return content;
Array.from(words.keys()).forEach(word => {content = content.replace(new RegExp(`\\s<${word}>\\s`, 'g'), `&nbsp;<strong class="text-primary">&lt;${word}&gt;</strong>&nbsp;`);});
return content;
}
@@ -454,13 +453,10 @@ function updatePromptPreview()
{
const innerText = $('#autocomplete-textarea').text();
let innerHTML = formatContent(innerText);
if(typeof innerHTML === 'string')
$('#autocomplete-textarea').html(innerHTML);
if(!innerHTML || words.size === 0)
{
$('#autocomplete-textarea').html(innerHTML);
}
if(!innerHTML)
{
$('.prompt-preview-area .preview-container').html('');
$('.prompt-preview-area .preview-container').html(innerHTML);
return;
}
@@ -508,15 +504,37 @@ function getRequiredFields()
* @returns {void}
*/
function saveMiniProgram(toPublish)
{
const prompt = $('#autocomplete-textarea').html();
if(!prompt)
{
alert(emptyPrompterTip);
return;
}
if(toPublish === '1')
{
const $modal = $('#publish-confirm-modal');
$modal.modal('show', 'fit');
return;
}
postMiniProgramData('0', console.log);
}
$('#publish-confirm-modal .btn-primary').on('click', function()
{
postMiniProgramData('1', () => {window.location.href = createLink('ai', 'miniPrograms');});
});
function postMiniProgramData(toPublish, callback)
{
const [fields, prompt] = getRequiredFields();
if(fields.length && prompt) $.post(createLink('ai', 'configuredMiniProgram', `appID=${appid}`), {fields, prompt, toPublish}).done(console.log);
$.post(createLink('ai', 'configuredMiniProgram', `appID=${appid}`), {fields, prompt, toPublish}).done(callback);
}
function backToList()
{
const [fields, prompt] = getRequiredFields();
if(fields.length && prompt)
const [prompt] = getRequiredFields();
if(prompt)
{
$modal = $('#back-to-list-modal');
$modal.modal('show', 'fit');
+2
View File
@@ -422,6 +422,8 @@ $lang->ai->miniPrograms->backToListPage = 'Return to list page';
$lang->ai->miniPrograms->lastStep = 'Previous step';
$lang->ai->miniPrograms->backToListPageTip = 'There are data changes in the form. Do you want to save and go back?';
$lang->ai->miniPrograms->saveAndBack = 'Save and Go Back';
$lang->ai->miniPrograms->publishConfirm = array('Are you sure you want to publish?', 'It will be displayed on the front-end mini program plaza in the client.');
$lang->ai->miniPrograms->emptyPrompterTip = 'The prompter of the mini program is empty. Please edit it before publishing.';
$lang->ai->miniPrograms->placeholder = new stdClass();
$lang->ai->miniPrograms->placeholder->name = 'Please enter a small program name';
+2
View File
@@ -422,6 +422,8 @@ $lang->ai->miniPrograms->backToListPage = 'Return to list page';
$lang->ai->miniPrograms->lastStep = 'Previous step';
$lang->ai->miniPrograms->backToListPageTip = 'There are data changes in the form. Do you want to save and go back?';
$lang->ai->miniPrograms->saveAndBack = 'Save and Go Back';
$lang->ai->miniPrograms->publishConfirm = array('Are you sure you want to publish?', 'It will be displayed on the front-end mini program plaza in the client.');
$lang->ai->miniPrograms->emptyPrompterTip = 'The prompter of the mini program is empty. Please edit it before publishing.';
$lang->ai->miniPrograms->placeholder = new stdClass();
$lang->ai->miniPrograms->placeholder->name = 'Please enter a small program name';
+2
View File
@@ -422,6 +422,8 @@ $lang->ai->miniPrograms->backToListPage = 'Return to list page';
$lang->ai->miniPrograms->lastStep = 'Previous step';
$lang->ai->miniPrograms->backToListPageTip = 'There are data changes in the form. Do you want to save and go back?';
$lang->ai->miniPrograms->saveAndBack = 'Save and Go Back';
$lang->ai->miniPrograms->publishConfirm = array('Are you sure you want to publish?', 'It will be displayed on the front-end mini program plaza in the client.');
$lang->ai->miniPrograms->emptyPrompterTip = 'The prompter of the mini program is empty. Please edit it before publishing.';
$lang->ai->miniPrograms->placeholder = new stdClass();
$lang->ai->miniPrograms->placeholder->name = 'Please enter a small program name';
+2
View File
@@ -422,6 +422,8 @@ $lang->ai->miniPrograms->backToListPage = '返回列表页';
$lang->ai->miniPrograms->lastStep = '上一步';
$lang->ai->miniPrograms->backToListPageTip = '表单有数据变动,是否保存并返回';
$lang->ai->miniPrograms->saveAndBack = '保存并返回';
$lang->ai->miniPrograms->publishConfirm = array('您确定要发布吗?', '发布后将在客户端前台小程序广场显示。');
$lang->ai->miniPrograms->emptyPrompterTip = '小程序提词为空,请编辑后再进行发布';
$lang->ai->miniPrograms->placeholder = new stdClass();
$lang->ai->miniPrograms->placeholder->name = '请输入小程序名称';
+5
View File
@@ -336,6 +336,11 @@ class aiModel extends model
->where('id')->eq($appID)
->exec();
$this->dao->delete()
->from(TABLE_MINIPROGRAMFIELDS)
->where('id')->eq($appID)
->exec();
$fields = $data->fields;
foreach ($fields as $field)
{
@@ -19,6 +19,8 @@ js::set('emptyWarning', $lang->ai->miniPrograms->field->emptyNameWarning);
js::set('duplicatedWarning', $lang->ai->miniPrograms->field->duplicatedNameWarning);
js::set('emptyOptionWarning', $lang->ai->miniPrograms->field->emptyOptionWarning);
js::set('appid', $appid);
js::set('publishConfirm', $lang->ai->miniPrograms->publishConfirm);
js::set('emptyPrompterTip', $lang->ai->miniPrograms->emptyPrompterTip);
?>
<template id="option-template">
@@ -123,6 +125,24 @@ js::set('appid', $appid);
</div>
</div>
</div>
<div class="modal fade" id="publish-confirm-modal">
<div class="modal-dialog" style="width: 480px;">
<div class="modal-content">
<div class="modal-header" style="border-bottom: none; padding-left: 12px; display: flex; align-items: center; gap: 16px; margin: 0;">
<svg width="25" height="25" viewBox="0 0 25 25" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="12.0159" cy="12.0163" r="12" transform="rotate(0.0777774 12.0159 12.0163)" fill="#FFA34D" />
<path d="M12.4516 14.621C12.8867 14.6215 13.3224 14.1498 13.3231 13.6775L13.6588 7.42006C13.6595 6.94777 13.661 6.00319 12.3559 6.0016C11.1595 6.00013 11.0495 6.8265 11.0486 7.41686L11.3655 13.6751C11.5823 14.1476 12.0166 14.6204 12.4516 14.621ZM12.4499 15.8017C11.7973 15.8009 11.1439 16.3905 11.1426 17.217C11.1416 17.9254 11.6843 18.6345 12.4456 18.6354C13.2069 18.6363 13.7516 18.0467 13.7528 17.2202C13.7541 16.3936 13.1024 15.8025 12.4499 15.8017Z" fill="white" />
</svg>
<strong style="font-size: 16px;"><?php echo $lang->ai->miniPrograms->publishConfirm[0]; ?></strong>
</div>
<div class="modal-body" style="padding-left: 70px;"><?php echo $lang->ai->miniPrograms->publishConfirm[1]; ?></div>
<div class="modal-footer" style="display: flex; justify-content: center; border-top: none; gap: 10px;">
<a class="btn btn-wide btn-primary"><?php echo $lang->confirm; ?></a>
<a class="btn btn-wide" data-dismiss="modal"><?php echo $lang->cancel; ?></a>
</div>
</div>
</div>
</div>
<div id="mainContent" class="main-content">
<div style="flex-basis: 30%; margin-right: 16px;">
<header>