اذهب إلى المحتوى

Hadi255

الأعضاء
  • المساهمات

    31
  • تاريخ الانضمام

  • تاريخ آخر زيارة

كل منشورات العضو Hadi255

  1. ما بتكفي الملفات المرسلة؟
  2. أضفت اليوم تعديلا آخر وهو جعل : session: false كما يلي : :index.js router.get('/auth/google', passport.authenticate('google', { scope: ['email', 'profile'] } )); router.get('/auth/google/callback', passport.authenticate('google', { session: false, failureRedirect: 'signup' }), (req, res) => { res.redirect('/users/profile') }); النتيجة أن الصفحة فتحت في المكان المطلوب بنجاح لكن بدون تسجيل الدخول ، وكأنني لم أفعل شيئاً.
  3. users.js .env Carts.js Order.js Product.js User.js checkout.hbs forgotPassword.hbs index.hbs resetPassword.hbs shoppingcart.hbs allUsers.hbs confirmEmail.hbs profile.hbs signin.hbs signup.hbs header.hbs
  4. هذان الملفان اللذان يخصان المشكلة، إن أردت أرسلت بقية الملفات passport.js index.js
  5. أستخدم في المشروع node.js , passport-google-oauth2 ، و أحاول إضافة إمكانية تسجيل الدخول بواسطة جوجل. بعد ظهور اختيار الحساب و الضغط عليه، يعاد توجيه الصفحة بنجاح كما هو مطلوب لكن الصفحة لا تفتح و لا يحدث تسجيل دخول و يظهر الخطأ التالي: [nodemon] app crashed - waiting for file changes before starting... passport.js: passport.use(new GoogleStrategy({ clientID: process.env.GOOGLE_CLIENT_ID, clientSecret: process.env.GOOGLE_CLIENT_SECRET, callbackURL: "http://localhost:4000/auth/google/callback", passReqToCallback: true }, function (request, accessToken, refreshToken, profile, done) { done(null, profile); } )); :index.js router.get('/auth/google', passport.authenticate('google', { scope: ['email', 'profile'] } )); router.get('/auth/google/callback', passport.authenticate('google', { failureRedirect: 'signup' }), (req, res) => { res.redirect('/') });
  6. ربما هذه الميزة قيد التطوير، أو أنه تم تحديثها و لم أعرف ما هو هذا التحديث. على كل حال تم ضبط زمن الصلاحية و دون مشاكل بدون استخدام هذه الميزة . احتجت لأكواد أكثر لكن الحل بسيط.
  7. لا يوجد أي إجابة أو حتى تفاعل، هل السؤال أو الأكواد غير واضحة أو غير مفهومة ؟! يمكنني تعديلها أو توضيحها إن إن كان ضرورياً .
  8. مرحبا أحاول ضبط زمن انتهاء الصلاحية منذ يومين عبثاُ ، تنتهي الصلاحية دوما بعد دقيقتين تقريبا وكأنها قيمة افتراضية لم أستطع تغييرها. Carsts.js: const mongoose = require('mongoose'); const cartSchema = mongoose.Schema({ _id: { required: true, type: String }, totalquantity: { required: true, type: Number }, totalPrice: { required: true, type: Number }, selectedProduct: { required: true, type: [],// or Array }, createAt: { type: Date, expires: 10, // expires: '10', // index: { expireAfterSeconds: 5 } // index:{expires:'1m'} } }, { timestamps: true }) module.exports = mongoose.model('Carts', cartSchema); التعليقات هي فقط بعض المحاولات الكثيرة التي قمت بها . index.js: router.get('/addTocart/:id/:price/:name', (req, res, next) => { const product_id = req.params.id; const cartId = req.user._id; const newproductPrice = +req.params.price; const newProduct = { _id: req.params.id, price: newproductPrice, name: req.params.name, quantity: 1 }; Carts.findOne({ _id: cartId }) .catch((err) => { console.log("Error! :", err) }) .then((cart) => { if (!cart) { const newCart = new Carts({ _id: cartId, totalquantity: 1, totalPrice: newproductPrice, selectedProduct: [newProduct], createAt: Date.now(), }) newCart.save({}) .catch((err) => { console.log(err) }) .then((result) => { console.log('New user: ', result) }) } if (cart) { var indexOfProduct = -1; for (var i = 0; i < cart.selectedProduct.length; i++) { if (product_id === cart.selectedProduct[i]._id) { indexOfProduct = i; break; } } if (indexOfProduct >= 0) { // console.log(cart.selectedProduct[indexOfProduct]); cart.selectedProduct[indexOfProduct].quantity++; cart.selectedProduct[indexOfProduct].price += newproductPrice; cart.selectedProduct[indexOfProduct].price = Math.round(cart.selectedProduct[indexOfProduct].price * 100) / 100; cart.totalquantity++; cart.totalPrice += newproductPrice; cart.totalPrice = Math.round(cart.totalPrice * 100) / 100; cart.createAt = Date.now(); // cart.createAt = Date.now(); Carts.updateOne({ _id: cartId }, { $set: cart }) .catch((err) => { console.log(err) }) .then((result) => { console.log('update:', result); console.log('cart-update: ', cart); }) } else { cart.totalquantity++; cart.totalPrice += newproductPrice; cart.totalPrice = Math.round(cart.totalPrice * 100) / 100; cart.selectedProduct.push(newProduct); cart.createAt = Date.now(); Carts.updateOne({ _id: cartId }, { $set: cart }) .catch((err) => { console.log(err) }) .then((result) => { console.log('add:', result); console.log('cart-add: ', cart); }) } } }) next(); res.redirect('/'); }); إضافة لذلك أنه يوجد تداخل ، أي عندما أبدل إلى مستخدم آخر ( بتسجيل الخروج والدخول باسم آخر ) يتنتهي مدة صلاحية الثاني و يتم حذف كرته رغم أنه يجب أن لا تنتهي بعد.
  9. تماماً لأن تعريف الموجه كان app.directive لكن سؤالي الآن أين يوجد جوابك لم أجده في مكان ؟ هل استنتجته استنتاجاً أم يوجد شبيه له في مكان ما ؟
  10. ممتاز شكراً لك أي مثل طريقة تعريفه ك directive في <script setup> تقريبا (ما عدا أن المتغير ليس بالضرورة Camel case ) مع أنني حاولت هذه الطريق البارحة لا أعلم لماذا لم تنجح يبدو كان هناك خطأ . نجح الأمر الآن شكر اً لك
  11. لقد درست هذا كله منذ يومين و طبقته بسهولة لكنه لا يحتوي الإجابة على سؤالي
  12. نفس الخطأ لم يتغير شيء لا يوجد أخطاء من هذه النواحي فالكود نفسه يعمل عندما أكتبه في ملف main.js
  13. شكرا لك على الإجابة ، لكنه لم يعمل و ظهر لي خطأ لم أستطع فهمه واختفت الصفحة بسبب الخطأ : runtime-dom.esm-bundler.js:13 Uncaught TypeError: Cannot read properties of null (reading 'parentNode') at remove (runtime-dom.esm-bundler.js:13:26) at performRemove (runtime-core.esm-bundler.js:6257:7) at remove2 (runtime-core.esm-bundler.js:6271:7) at unmount (runtime-core.esm-bundler.js:6226:9) at Object.remove (runtime-core.esm-bundler.js:6592:11) at unmount (runtime-core.esm-bundler.js:6205:20) at unmountChildren (runtime-core.esm-bundler.js:6314:7) at unmount (runtime-core.esm-bundler.js:6215:9) at unmountComponent (runtime-core.esm-bundler.js:6294:7) at unmount (runtime-core.esm-bundler.js:6195:7) remove @ runtime-dom.esm-bundler.js:13 performRemove @ runtime-core.esm-bundler.js:6257 remove2 @ runtime-core.esm-bundler.js:6271 unmount @ runtime-core.esm-bundler.js:6226 remove @ runtime-core.esm-bundler.js:6592 unmount @ runtime-core.esm-bundler.js:6205 unmountChildren @ runtime-core.esm-bundler.js:6314 unmount @ runtime-core.esm-bundler.js:6215 unmountComponent @ runtime-core.esm-bundler.js:6294 unmount @ runtime-core.esm-bundler.js:6195 unmountChildren @ runtime-core.esm-bundler.js:6314 unmount @ runtime-core.esm-bundler.js:6215 unmountChildren @ runtime-core.esm-bundler.js:6314 unmount @ runtime-core.esm-bundler.js:6215 unmountComponent @ runtime-core.esm-bundler.js:6294 unmount @ runtime-core.esm-bundler.js:6195 patch @ runtime-core.esm-bundler.js:4991 render2 @ runtime-core.esm-bundler.js:6332 mount @ runtime-core.esm-bundler.js:3824 app.mount @ runtime-dom.esm-bundler.js:1431 (anonymous) @ main.js?t=1688563145513:50 Show 20 more frames هل يمكنك تجريب ذلك و ينجح معك
  14. يمكننا إنشاء ملف جاسكربت (أضع فيه custom directives) و تصديره، ثم استيراده في ملف main.js بسهولة في vue 2. لكني لم أنجح في ذلك في vue 3 ، حيث أني استطعت أن أصدر الدالات (functions) في ملف directives.js إلى main.js وعملت الأكواد فيها، لكن custom directives لم تعمل ، وكأنها غير موجودة . في ملف directives.js المنشأ : // directives.js import { createApp } from 'vue' import App from './App.vue' const app = createApp(App) // global Custom Directive export default function glob() { app.directive('globalexternal', { mounted: function (el) { el.placeholder = 'Global Custom Directive from external file' } }) console.log('Global Custom Directive from external file') } و في ملف main.js الأساسي : // main.js import glob from './directives' glob(); وفي ملف App.vue مثلاُ : // App.vue <input v-globalexternal style="width: 370px" /> النتيجة أن الأمر console.log('Global Custom Directive from external file') قد تم بنجاح ، لكن <input v-globalexternal style="width: 370px" /> لم يعمل v-globalexternal . هل من لديه تجربة في ذلك ؟
  15. مرحبا من يعمل كمطور واجهة أمامية للويب؟ لقد تعلمت جيدا لغة جافاسكربت و css و انشأت موقع الكتروني بهما فقط, و تعلمت أساسيات sass , Jquery, bootstrap, github, cmd. لكن عند البحث عن وظيفة أصاب بالإحباط بسبب كم المهارات المطلوبة كفرونت إند، الغالبية العظمى يطلبون احتراف React أو vue, و غيرها من المهارات. يعني حتى لو تعلمتها مع صعوبتها، أحتاج إلى وقت كبير لإحترافها كلها. كنت أفكر كثيرا بالتسجيل في دورة هنا ومتأكد أنني سأستفيد كزيادة في المعلومات و الخبرة، لكن لا أعلم إن كان هذا يكفي للحصول على عمل, فمسار الدورة (Fontend) في حسوب ليس فيها React ولا Vue و كثير من المهارات التي يطلبونها غير موجودة في المسار هنا. من يستطيع أن يفيدني ؟ شكرا
  16. مثلا يمكننا تغيير ملف css: button.onclick=function(){cssID.href="../css/file2.css"} لكنني لم أستطع فعل ذلك مع ملف جافاسكربت، بتغيير href أو src أو url. أما إعادة تحميل الصفحة فليس هو المطلوب لأن الفائدة المرجوة من تغيير ملف جافاسكربت هو عدم فتح صفحة جديدة بواسطة رابط مثلا، وذلك لهدف تسريع التنقل في المتصفح.
  17. تحية طيبة للجميع يمكننا تغيير ملف css من ملف جافاسكربت، بحيث أن المستخدم إذا ضغط على زر معين يتغير مسار href للملف فتتتغير إعدادت االموقع بناءا على المسار الجديد. ولكن هل يمكننا فعل ذلك مع ملف جافاسكربت نفسه، بحيث أن ضغط زر ما يؤدي إلى تغيير مسار src لملف جافاسكربت ؟ حاولت ذلك كثيرا لكن العمل لم يتأثر. مع أنه يمكننا توليد ملف جافاسكربت آخر ضمن كود جافاسكربت الذي يعمل عليه المتصفح، لكن هذا لا يكفي لأنني لا أستطع العودة (بضغط زر آخر مثلاً) إلى الأصل قبل ضغط الزر الأول.
  18. npm create vite@latest my-react-app -- --template react تم شكرا لك
  19. أحاول البدء بمشروع React باستخدام الأمر : npm init react-app firstreactapp لكن دوما يظهر لي هذا الخطأ: npm ERR! code ERR_SOCKET_TIMEOUT npm ERR! network Socket timeout npm ERR! network This is a problem related to network connectivity. npm ERR! network In most cases you are behind a proxy or have bad network settings. npm ERR! network npm ERR! network If you are behind a proxy, please make sure that the npm ERR! network 'proxy' config is set properly. See: 'npm help config' npm ERR! A complete log of this run can be found in: npm ERR! C:\npm-cache\_logs\2023-03-18T18_52_50_147Z-debug-0.log Aborting installation. npm install --no-audit --save --save-exact --loglevel error react react-dom react-scripts cra-template has failed. Deleting generated file... node_modules Deleting generated file... package.json Deleting shadiapp/ from C:\Users\hp\Desktop Done. بحثت عن حلول من النت و جربتها لكن الخطأ نفسه يتكرر، وهذه هي المحاولات: 1- npm install -g create-react-app npx create-react-app hello-world 2- npm cache clean --force 3- npx create-react-app@latest my-app --use-npm 4- npm install npm@latest -g 5- create-react-app projectname --save 6- تحميل نسخة جديدة من Node. 7- npm config set fetch-retry-mintimeout 20000 npm config set fetch-retry-maxtimeout 120000 وفي كل مرة تظهر رسالة الخطأ نفسها عند البدء علما اني لااستخدم بروكسي، لكن الانترنت بطيء. هل هي مشكلة في بطء النت ؟
  20. لقد ظهرت هذه الرسالة : VITE v4.0.4 ready in 1150 ms http://localhost:5173/ Network: use --host to expose press h to show help شكرا لك . أصبحت قادرا على المتابعة. هل سيختلف العمل عن ال cli ?
  21. عملت ذلك حتى وصلت إلى هذه الخطوة : npm run dev يظهر لي هذا الخطأ : failed to load config from C:\Users\hp\Documents\shadi-vue-project\vite.config.js error when starting dev server: Error: Cannot find module '@babel/types' Require stack: - C:\Users\hp\Documents\shadi-vue-project\node_modules\@babel\core\lib\transformation\file\file.js - C:\Users\hp\Documents\shadi-vue-project\node_modules\@babel\core\lib\index.js - C:\Users\hp\Documents\shadi-vue-project\node_modules\@vitejs\plugin-vue-jsx\dist\index.cjs - C:\Users\hp\Documents\shadi-vue-project\vite.config.js - C:\Users\hp\Documents\shadi-vue-project\node_modules\vite\dist\node\chunks\dep-5e7f419b.js at Module._resolveFilename (node:internal/modules/cjs/loader:1053:15) at Module._load (node:internal/modules/cjs/loader:898:27) at Module.require (node:internal/modules/cjs/loader:1120:19) at require (node:internal/modules/helpers:112:18) at _t (C:\Users\hp\Documents\shadi-vue-project\node_modules\@babel\core\lib\transformation\file\file.js:29:16) at Object.<anonymous> (C:\Users\hp\Documents\shadi-vue-project\node_modules\@babel\core\lib\transformation\file\file.js:52:5) at Module._compile (node:internal/modules/cjs/loader:1239:14) at Module._extensions..js (node:internal/modules/cjs/loader:1293:10) at _require.extensions.<computed> [as .js] (file:///C:/Users/hp/Documents/shadi-vue-project/node_modules/vite/dist/node/chunks/dep-5e7f419b.js:62106:17) at Module.load (node:internal/modules/cjs/loader:1096:32)
  22. عملت ذلك فكانت هذه النتيجة : C:\Users\hp\Desktop\cmder_mini\cmder_mini λ npm config set fetch-retry-mintimeout 20000 npm ERR! code ENOENT npm ERR! syscall open npm ERR! path C:\Users\hp\Desktop\cmder_mini\cmder_mini\(same as "user" config, ignored) npm ERR! errno -4058 npm ERR! enoent ENOENT: no such file or directory, open 'C:\Users\hp\Desktop\cmder_mini\cmder_mini\(same as "user" config, ignored)' npm ERR! enoent This is related to npm not being able to find a file. npm ERR! enoent npm ERR! A complete log of this run can be found in: npm ERR! C:\npm-cache\_logs\2023-01-14T16_45_20_396Z-debug-0.log C:\Users\hp\Desktop\cmder_mini\cmder_mini λ npm config set fetch-retry-maxtimeout 120000 npm ERR! code ENOENT npm ERR! syscall open npm ERR! path C:\Users\hp\Desktop\cmder_mini\cmder_mini\(same as "user" config, ignored) npm ERR! errno -4058 npm ERR! enoent ENOENT: no such file or directory, open 'C:\Users\hp\Desktop\cmder_mini\cmder_mini\(same as "user" config, ignored)' npm ERR! enoent This is related to npm not being able to find a file. npm ERR! enoent npm ERR! A complete log of this run can be found in: npm ERR! C:\npm-cache\_logs\2023-01-14T16_45_41_238Z-debug-0.log C:\Users\hp\Desktop\cmder_mini\cmder_mini λ
  23. عملت أول خطوتين بتثبيت yarn و Vue/cli بنجاح، وعند محاولة عمل مشروع ظهر نفس الخطأ مع مشاكل بطء الانترنت : npm ERR! code ERR_SOCKET_TIMEOUT npm ERR! network Socket timeout npm ERR! network This is a problem related to network connectivity. npm ERR! network In most cases you are behind a proxy or have bad network settings. npm ERR! network npm ERR! network If you are behind a proxy, please make sure that the npm ERR! network 'proxy' config is set properly. See: 'npm help config' npm ERR! A complete log of this run can be found in: npm ERR! C:\npm-cache\_logs\2023-01-14T09_25_50_817Z-debug-0.log ERROR Error: command failed: npm install --loglevel error --legacy-peer-deps Error: command failed: npm install --loglevel error --legacy-peer-deps at ChildProcess.<anonymous> (C:\Users\hp\AppData\Roaming\npm\node_modules\@vue\cli\lib\util\executeCommand.js:138:16) at ChildProcess.emit (node:events:513:28) at cp.emit (C:\Users\hp\AppData\Roaming\npm\node_modules\@vue\cli\node_modules\cross-spawn\lib\enoent.js:34:29) at maybeClose (node:internal/child_process:1098:16) at ChildProcess._handle.onexit (node:internal/child_process:304:5)
  24. مرحبا حاولت مرارا لم ينفع ذلك
×
×
  • أضف...