@Shmuel754 כתב בחיבור נטפרי על תשתית סיב רימון-נטפייבר?:
צריך לבטל את שליפת ההגדרות של ספק האינטרנט (TR-069)
מי עושה את זה?
@Shmuel754 כתב בחיבור נטפרי על תשתית סיב רימון-נטפייבר?:
צריך לבטל את שליפת ההגדרות של ספק האינטרנט (TR-069)
מי עושה את זה?
האם אני חייב לעבור לתשתית אחרת, אין לי כח לסיפור הזה של החזרת ראוטר, הייתי חייב להתחיל דרכם בשביל הקמת התשתית הם הזכיינים בבניין שלי. כעת איך אני עובר לנטפרי.
אשמח לעזרה.
רכשתי ציוד בפרוטוקול zigbee
זה גם אמור לעבוד כך? מאיפה מתחילים? נשמע לי פנטסטי לתכנת את הבית.
ואוו תודה על העזרה.
פניתי לכמה חברות כולם אמרו לי שאין לי תשתית באזור שלי.
אז הגשתי פניה לפי האמור כאן, מסתבר שזה תחת זכיון של אינטרנט רימון. הגשתי למשרד התקשורת.
תוך יום יומיים שלחו לי ממשרד התקשורת שהם פנו לרימון ורימון טוענים שהבנין מחובר כבר מאוקטובר 23, ונציג מטעמם יצור איתי קשר. מה שאכן קרה וסגרתי איתם.
א. תודה זה מדהים.
ב. זה מעלה לי כמה שאלות.
@aaron בשביל זה הוא השאיר את 3 ריק... 
@צדיק-תמים האמת סתם גימיק, בשביל להראות בתיק עבודות למשל, איך נראה כל אתר בצוגת מחשב ובתצוגת מובייל, אז הכנתי אייפרם בתוך מחשב, כאילו יש אתר אמיתי חי בתוך המחשב אפשר לגלול ולנווט.... ואותו דבר בכנתי בתוך תמונה של פלאפון. אבל פה הסתבך לי 
תודה רבה.
האמת אני מבין את זה, ורק בגלל זה רציתי לנסות לגפות על האייפרם להיות כמובייל אם זה היהי רספונסיבי לא הייתי צריך קוד, זה בעצם כאילו אתר מותאם נייד, רק חשבתי אם אפשר להגדיר לאייפרם שזה אתר נייד ויעלה את הגירסא המותאמת נייד וזה לא נותן לי.
זה מה שהגיב לי GPT4 אחרי הרבה הצעות ונסיונות כושלים
"
אם הקוד לא מציג את האתר בתצוגת מובייל כפי שהיית רוצה, זה עשוי להיות בגלל שהאתר אותו אתה מנסה להציג מתאים את עצמו לגודל החלון הנוכחי של ה-browser ולא לגודל המכשיר הספציפי שאתה מנסה לדמות (במקרה זה, iPhone X).
למרבה הצער, הגדרת תצוגת מובייל דרך iframe לא תשנה את גודל החלון בעיני האתר המוטבע, משום שהאתר יכול לזהות את גודל החלון האמיתי של הדפדפן ולא את הגודל שאתה מנסה לקבוע באמצעות CSS או JavaScript.
פתרון אפשרי
אחת הדרכים לדמות תצוגת מובייל היא באמצעות כלי פיתוח מסוים של הדפדפן שמאפשר לך לציין את סוג המכשיר. עם זאת, זה פתרון שרק מתכנת או משתמש בודד יכול לבצע, ולא משהו שאתה יכול לשלב בקוד של אתר לשימוש כללי.
פתרון חלופי
אם המטרה היא להציג את האתר שלך כאילו הוא נצפה ממכשיר מובייל, אתה עשוי לצרך להשתמש בפתרון שרת-צד שיכול לדמות תצוגת מובייל על ידי שינוי של כותרת המשתמש (User-Agent). זה יכול להיות מורכב יותר ודורש שימוש בטכנולוגיות צד שרת כמו Node.js, PHP או Python.
אם אתה רק מחפש דרך להציג את האתר שלך בתצוגת מובייל למטרות הדגמה, הדרך הפשוטה ביותר היא להשתמש בכלי פיתוח הדפדפן (כגון Chrome DevTools) כדי לדמות תצוגות של מכשירים שונים. זו גישה שמתאימה בעיקר לצורכי פיתוח ובדיקה, ולא כחלק מהאתר עצמו."
תכלס לא הבנתי אותו מה כן אפשר לעשות.
תודה רבה
אני מנסה לעשות אייפרם להטמיע באתר שיציג תצוגת מובייל של האתר
ניסיונותיי עולים בתוהו. אשמח לעזרה.
תודה רבה
<!DOCTYPE html>
<html>
<head>
<style>
body {
overflow: hidden;
padding: 0;
margin: 0;
}
#iframeSite {
width: 375px; /* רוחב מסך של iPhone X */
height: 812px; /* גובה מסך של iPhone X */
border: none; /* מסיר את הגבולות */
transform-origin: top left; /* מרכז את הזום לפינה השמאלית העליונה */
}
</style>
</head>
<body>
<iframe id="iframeSite" src="https://www.seferkodesh.co.il/" frameborder="0" allowtransparency="true"></iframe>
<script type="text/javascript">
var $iframeSite = document.getElementById("iframeSite");
function calcSize() {
var widthScreen = 375; // רוחב מסך של iPhone X
var heightScreen = 812; // גובה מסך של iPhone X
var ratioWidth = window.innerWidth / widthScreen;
var ratioHeight = window.innerHeight / heightScreen;
var ratio = Math.min(ratioWidth, ratioHeight); // חישוב המניע
$iframeSite.style.transform = "scale(" + ratio + ")";
$iframeSite.style.width = widthScreen + "px";
$iframeSite.style.height = heightScreen + "px";
}
window.addEventListener("resize", calcSize);
calcSize();
window.addEventListener("message", function(event) {
if (event.data && event.data.src) {
$iframeSite.src = event.data.src;
}
});
</script>
</body>
</html>
אפשר לעבור חברה? זה תהלך פשוט? לקוחות, מסמכים? שישאר לי בהיסטוריה בחיפושים
אני משתמש ב https://www.icount.co.il/calc/
אף פעם לא עשיתי השוואות מחירים.
נח פשוט.
אשמח אם מישהו כבר השווה יתרונות וחסרונות מול אחרים לשמוע.
יש להם מערכת נוחה ופשוטה.
גם לי זה קרה באחד העדכונים, כיביתי הדלקתי כיביתי הדלקתי איפה שהוא זה השתחזר
https://speechtext.ai/accounts/profile/#
זה הביא לי תוצאה ממש יפה וסבירה. כמובן לא מושלמת אבל נקודת פתיחה לעריכה נהדרת.
האם יש אפשרות לעשות שני קבוצות בזו, למשל חלק רואים את המשתתפים וחלק לא?
או פשוט ברירה אחד אחד מי מהמשתתפים יוכל לצפות בחברים ומי לא יוכל לצפות במשתתפים, אבל אלו שיכולים לצפות יצפו גם בו?
לא כרטיסים לאירוע.עוד חודשיים בערך.
@חוקר תודה גדולה עשיתי כך! זה עולה לשרת, מקבל URL, נשלח ואטסאפ, ונמחק מהשרת. ועדין זמין להורדה בואטסאפ למרות שטרם הורד.
מקווה שזה אכן נשאר להרבה זמן.
אם אני לא טועה, אם אני אמחק את הקבוץ והמשתמש לא הוריד את הקובץ מהואטסאפ אז זה כבר לא יהיה ניתן להורדה.
השלב השני עובד לי. כאשר יש לי לינק של קובץ זה נשלח נהדר.
אני לא מוצא ידי ורגלי בהגדרות של S3. יש לי מדריך לקח לי זמן להבין שהוא של תצוגה ישנה... עברתי לתצוגה הישנה, וכנראה חסרים לי הגדרות.
אני מנסה להעלות ב s3 אף פעם לא יצא לי לעלות, אשמח לעזרה והדרכה בתשלום.
@צדיק-תמים מעריך את ההשקעה.
האמת שגם את זה לא הצלחתי כנראה אני מסתבך בפירמוט של זה לפני השליחה.
בפועל 15 יום זה באמת לא מספיק לי, אני צריך חודשיים בערך.
זה כמעט כל הקוד שלי, אני מרגיש שאיפה שהוא בפורמט הקובץ בהעלאה אני מקשקש בלי הבנה.
import wixData from 'wix-data';
export async function sendwatssap() {
let torem = {
"smsnumber": 0,
"semmale": "XXXXXXX",
"hir": "בני ברק",
"ctovet2": "XXXXXXXX",
"sem": "XXXXX",
"mail": "XXXXXX",
"phon": "XXXXXXXX",
"status": true,
"ctovet1": "הXXXXX 11",
"wat": "XXX",
"mishpaha": "XXX",
"ctovet": "XXXX 11",
},
cardsid= "a35c0f81-a4a5-4aa4-8a3b-42561d8e023d";
const results5 = await wixData.query("card").eq("torem", cardsid).limit(500).find({ suppressAuth: true })
const tozaot = results5.items;
let ards = []
await tozaot.forEach((item2) => {
let card = {
"imeg": item2.imeg,
"name": item2.sem,
"address": torem.ctovet2,
"phone": item2.phone,
"_id": item2._id,
"number": item2.ms,
"number2": item2.ms,
"sug": item2.sug,
}
ards.push(card)
})
const ticketsArray = ards
const emailAddress = torem.mail
const id = cardsid
const doc = await createTicket(ticketsArray)
const buffers = [];
doc.on('data', buffers.push.bind(buffers));
doc.on('end', () => {
const pdfData = Buffer.concat(buffers);
sendPdfWhatsApp(pdfData, '05XXXXXXX');
});
}
export async function createTicket(cardItems) {
const rubik = await fetch('https://fonts.gstatic.com/s/rubik/v14/iJWZBXyIfDnIV5PNhY1KTN7Z-Yh-B4i1Uw.woff').then(res => res.buffer());
// const barcode128 = await fetch('https://fonts.gstatic.com/s/librebarcode128/v16/cIfnMbdUsUoiW3O_hVviCwVjuLtXeJ_D.woff').then(res => res.buffer());
const doc = new PDFDocument({ autoFirstPage: false });
for (const cardItem of cardItems) {
// barcode128
await writeTicket(doc, cardItem, { rubik, });
}
doc.end();
return doc
}
const FormData = require('form-data');
const fs = require('fs');
const { Readable } = require('stream');
const ID_INSTANCE = "7XXXXXXX8";
const API_TOKEN_INSTANCE = "cabXXXXXXXXXXXXXXXb5";
async function uploadPdfAndSendWhatsApp(pdfStream, phoneNumber) {
try {
// שלב 1: העלאת הקובץ ל-Green-API
const form = new FormData();
form.append('file', pdfStream, 'ticket.pdf'); // הוספת ה-PDF לטופס
const uploadResponse = await axios.post(`https://media.green-api.com/waInstance${ID_INSTANCE}/uploadFile/${API_TOKEN_INSTANCE}`, form, {
headers: {
...form.getHeaders(),
},
});
await sleep(6000);
console.log(666666666666666666666,uploadResponse);
const urlFile = uploadResponse.data.urlFile;
console.log(12121212,urlFile);
// שלב 2: שליחת ה-URL בוואטסאפ
const sendResponse = await axios.post(`https://api.green-api.com/waInstance${ID_INSTANCE}/sendFileByUrl/${API_TOKEN_INSTANCE}`, {
chatId: `${phoneNumber}@c.us`,
urlFile: urlFile,
fileName: 'ticket.pdf',
}, {
headers: {
'Content-Type': 'application/json'
},
});
console.log(sendResponse.data);
return sendResponse.data;
} catch (error) {
console.error(error);
throw error;
}
}
// יצירת Readable Stream מתוך ה-PDF
function bufferToStream(buffer) {
const stream = new Readable();
stream.push(buffer);
stream.push(null); // אינדיקציה על סוף הזרם
return stream;
}
// המרה של ה-PDF ל-Stream ושליחה
async function sendPdfWhatsApp(pdfBuffer, phoneNumber) {
try {
const pdfStream = bufferToStream(pdfBuffer);
await uploadPdfAndSendWhatsApp(pdfStream, phoneNumber);
} catch (error) {
console.error(error);
throw error;
}
}
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}