حالا یک سیستم کامل تولید محتوا با هوش مصنوعی که از BoxAPI و OpenAI استفاده میکند، برایتان خواهم ساخت:
سیستم تولید محتوا با هوش مصنوعی | OpenAI + BoxAPI
سیستم تولید محتوا با هوش مصنوعی
تولید خودکار محتوا با OpenAI و انتشار مستقیم در اینستاگرام با BoxAPI
OpenAI:غیرفعال
BoxAPI:فعال
تولید شده:0
منتشر شده:0
تولید محتوا با OpenAI
متن
تصویر
هشتگ
`).join('');
}
function loadContent(id, type) {
const item = contentHistory[type].find(content => content.id === id);
if (item) {
currentContent = { ...item };
displayGeneratedContent(currentContent);
document.getElementById('publishBtn').disabled = false;
// Switch to generate tab
document.querySelectorAll('.nav-link').forEach(link => {
link.classList.remove('active');
});
document.querySelectorAll('.tab-pane').forEach(pane => {
pane.classList.remove('show', 'active');
});
document.querySelector('[href="#generate"]').classList.add('active');
document.getElementById('generate').classList.add('show', 'active');
showAlert('محتوا بارگذاری شد و آماده انتشار است', 'success');
}
}
function deleteFromHistory(id, type) {
if (confirm('آیا از حذف این محتوا اطمینان دارید؟')) {
contentHistory[type] = contentHistory[type].filter(item => item.id !== id);
updateHistoryDisplay();
saveToStorage();
showAlert('محتوا با موفقیت حذف شد', 'success');
}
}
function saveToDraft() {
if (!currentContent) {
showAlert('ابتدا محتوایی تولید کنید', 'warning');
return;
}
const draftContent = {
...currentContent,
savedAt: new Date().toISOString(),
id: Date.now()
};
contentHistory.drafts.unshift(draftContent);
analytics.totalDrafts++;
updateStats();
saveToStorage();
updateDraftsHistory();
showAlert('محتوا به عنوان پیشنویس ذخیره شد', 'success');
}
function publishDraft(id) {
const draft = contentHistory.drafts.find(item => item.id === id);
if (draft) {
currentContent = { ...draft };
displayGeneratedContent(currentContent);
// Switch to publish tab
document.querySelectorAll('.nav-link').forEach(link => {
link.classList.remove('active');
});
document.querySelectorAll('.tab-pane').forEach(pane => {
pane.classList.remove('show', 'active');
});
document.querySelector('[href="#publish"]').classList.add('active');
document.getElementById('publish').classList.add('show', 'active');
document.getElementById('publishBtn').disabled = false;
showAlert('پیشنویس بارگذاری شد و آماده انتشار است', 'success');
}
}
// Storage Functions
function saveToStorage() {
localStorage.setItem('contentHistory', JSON.stringify(contentHistory));
localStorage.setItem('analytics', JSON.stringify(analytics));
}
function loadFromStorage() {
const savedHistory = localStorage.getItem('contentHistory');
if (savedHistory) {
contentHistory = JSON.parse(savedHistory);
}
const savedAnalytics = localStorage.getItem('analytics');
if (savedAnalytics) {
analytics = JSON.parse(savedAnalytics);
}
}
// Export/Import Functions
function exportHistory() {
const data = {
version: '1.0',
exportDate: new Date().toISOString(),
contentHistory: contentHistory,
analytics: analytics
};
const blob = new Blob([JSON.stringify(data, null, 2)], { type: 'application/json' });
const url = URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = `instagram-content-history-${new Date().toISOString().split('T')[0]}.json`;
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
URL.revokeObjectURL(url);
showAlert('تاریخچه با موفقیت دانلود شد', 'success');
}
function clearHistory() {
if (!confirm('آیا از پاک کردن تمام تاریخچه اطمینان دارید؟ این عمل قابل بازگشت نیست.')) {
return;
}
contentHistory = {
generated: [],
published: [],
drafts: []
};
analytics = {
totalGenerated: 0,
totalPublished: 0,
totalDrafts: 0,
lastActivity: new Date().toISOString()
};
saveToStorage();
updateHistoryDisplay();
updateStats();
showAlert('تاریخچه با موفقیت پاک شد', 'success');
}
// Analytics Functions
function updateStats() {
document.getElementById('totalGenerated').textContent = analytics.totalGenerated;
document.getElementById('totalPublished').textContent = analytics.totalPublished;
document.getElementById('totalDrafts').textContent = analytics.totalDrafts;
analytics.lastActivity = new Date().toISOString();
// Update progress bars
const maxValue = Math.max(analytics.totalGenerated, analytics.totalPublished, analytics.totalDrafts, 1);
document.getElementById('generatedProgress').style.width = `${(analytics.totalGenerated / maxValue) * 100}%`;
document.getElementById('publishedProgress').style.width = `${(analytics.totalPublished / maxValue) * 100}%`;
document.getElementById('draftsProgress').style.width = `${(analytics.totalDrafts / maxValue) * 100}%`;
}
// UI Helper Functions
function showLoading(show) {
const overlay = document.getElementById('loadingOverlay');
if (overlay) {
overlay.style.display = show ? 'flex' : 'none';
}
}
function showAlert(message, type = 'info') {
const alertContainer = document.getElementById('alertContainer') || createAlertContainer();
const alert = document.createElement('div');
alert.className = `alert alert-${type} alert-dismissible fade show`;
alert.innerHTML = `
${message}
`;
alertContainer.appendChild(alert);
// Auto dismiss after 5 seconds
setTimeout(() => {
if (alert.parentNode) {
alert.remove();
}
}, 5000);
}
function createAlertContainer() {
const container = document.createElement('div');
container.id = 'alertContainer';
container.style.cssText = `
position: fixed;
top: 20px;
right: 20px;
z-index: 9999;
max-width: 400px;
`;
document.body.appendChild(container);
return container;
}
// Loading overlay
function createLoadingOverlay() {
const overlay = document.createElement('div');
overlay.id = 'loadingOverlay';
overlay.style.cssText = `
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.7);
display: none;
justify-content: center;
align-items: center;
z-index: 9998;
`;
overlay.innerHTML = `
در حال پردازش...
`;
document.body.appendChild(overlay);
}
// Schedule Functions
function schedulePost() {
if (!currentContent) {
showAlert('ابتدا محتوایی تولید کنید', 'warning');
return;
}
const scheduleTime = document.getElementById('scheduleTime').value;
if (!scheduleTime) {
showAlert('لطفا زمان زمانبندی را انتخاب کنید', 'warning');
return;
}
const scheduledPost = {
...currentContent,
scheduleTime: scheduleTime,
status: 'scheduled',
id: Date.now()
};
// In a real application, this would send to a backend scheduler
showAlert(`پست برای ${new Date(scheduleTime).toLocaleString('fa-IR')} زمانبندی شد`, 'success');
// Add to drafts as scheduled
scheduledPost.savedAt = new Date().toISOString();
contentHistory.drafts.unshift(scheduledPost);
updateDraftsHistory();
saveToStorage();
}
// Initialize everything when DOM is ready
document.addEventListener('DOMContentLoaded', function() {
init();
createLoadingOverlay();
});