ทำ แอปสแกนบาร์โค้ด แล้วแจ้งเตื่อนผ่าน line


ผมไม่เข้าใจตรงนี้แหละ ค่าที่รับมามัน 50 ผมใส่ if เมื่อ boss เท่ากับ 1 ให้ส่งค่า แต่ค่าที่ส่งมา 50 ทำไมมันทำงาน

ต้องแก้เป็น boss == 1 ครับ


ตอนนี้ line ตัวสองไม่ทำงาน ค่าเหมือนกับตัวที่ 1 แต่ตัวที่ 1 ทำงานปกติ

ทำไมใส่ตัวดำเนินการเยอะจังครับ

คือยังไงหรอครับ

โอเคครับเข้าใจละ

ผมจะทำให้ เมื่อ snapshot อ่านค่าเท่ากับ 1 ให้ทำในวงเล็บแล้วให้ a++ แล้วผมก็สั่ง if อีกอันเมื่อ a == 1 ให้ทำงานแต่มันไม่ยอมทำงานอะครับ
image
image

const lineNotify = require('line-notify-nodejs')('0hIyzcxI1hTg8wiKmbpYmuhAYPXGMV7ocVYGjjhER58');
var firebase = require("firebase");
firebase.initializeApp({
  databaseURL: "https://login-qrcode-82b4c.firebaseio.com"
}); 
var db = firebase.database();
var ref = db.ref("/login_qrcode/loginbossza");
var refkom = db.ref("/login_qrcode/loginkomzvz");
var boss = db.ref("login_qrcode");
var a = 0; 


ref.on("value", function(snapshot) {
  console.log(snapshot.val());
  if(snapshot.val() == "1"){
    ++a;
    lineNotify.notify({
      message: ('บอส : เข้างาน 💥'),
    }).then(() => {
      console.log('บอส : เข้างาน 💥');
      console.log(a);
    });
  }
},)
refkom.on("value", function(kom) {
  console.log(kom.val());
  if(kom.val() == "1"){
    lineNotify.notify({
      message: 'คม : เข้างาน 💥',
    }).then(() => {
      console.log('คม : เข้างาน 💥');
    });
  }
},)
if (a == 1) {
  boss.update({
    loginbossza: "0"
  });
  console.log('update send');
}


เป็นตัวแปลชนิดไหนครับ String หรือ int

String ครับ

ตอนนี้ a++ ได้แล้ว แต่ฝั่งชั่น if ข้างล่างสุดไม่ทำงาน เพราะอะไรไม่รู้ a ก็เท่ากับ 1 แล้วแต่ไม่ทำงาน งง อยุ่55

ปัญหาคืออะไร แก้ไขอย่างไรถึงได้ อธิบายหน่อยครับ

ได้ละครับ ผมลืมเอาไปอยู่ในฝั่งชั่น ref.on(“value”, function(snapshot)


ผมติดตรงนี้อะครับให้ login แล้วสแกน qr code พอจะ login แล้วมันก็ออกอะครับผมยังไม่ทันสแกนเลย
1 Likes
require('node-datetime-thai');
const lineNotify = require('line-notify-nodejs')('wvP55iZK1T7gn215YwsiMSewzygXqliAcIt4UoQiMXW');
var firebase = require("firebase");
firebase.initializeApp({
  databaseURL: "https://login-qrcode-82b4c.firebaseio.com"
}); 
var Now = new Date();
var time = Now.getThaiShortTime()
var db = firebase.database();
var qrcode = db.ref("/login_qrcode/neo");
var qrcode2 = db.ref("/login_qrcode");
var ref = db.ref("/login_qrcode/loginbossza");
var bossza = db.ref("login_qrcode");
/////////////////////////ตัวแปลคม
var refkom = db.ref("/login_qrcode/loginkomzvz");
var komza = db.ref("login_qrcode");
////////////////////////
var qr = 0
var qrkom = 0
////////////////ตัวแปลบอส
var boss1 = 0
var boss2 = 0
var boss3 = 0
////////////////////////
////////////////ตัวแปลคม
var kom1 = 0
var kom2 = 0
var kom3 = 0
////////////////////////
qrcode.on("value", function(qrcode) {
  console.log(qrcode.val());
//ค่าqrเข้ามา 1
refkom.on("value", function(kom) {
  console.log(kom.val());
  if(kom.val() == 1 && qrcode.val() == 1){
    kom1 = 1
    kom3++ 
    qr = 1
  } else {
kom1 = 0
}
  if(kom1 == 1 && kom3 == 1){
    lineNotify.notify({
      message: ('คม เข้างาน 🕑'+ time),  
    })
    kom2 = 1
    qr = 1
  }
  if(kom3 == 2){
    lineNotify.notify({
      message: ('คม ออกงาน 🕑'+ time),  
    })
    kom2 = 1
    kom3 = 0
    qr = 1
  }
//เปลี่ยนค่า ของคม
   if(kom2 == 1) {
      komza.update({
      loginkomzvz: "5"
      });
      console.log('Change value');
      kom2 = 0
    }
//เปลี่ยนค่า qr code
    if(qr == 1) {
      qrcode2.update({
      neo: "5"
      });
      console.log('Change value qrcode');
      qr = 0
    }
  })
  })

app นี้ใช้ app invertor ป่ะครับ

ใช้ครับผม ตอนนี้เหลือ ขั้นตอนสุดท้ายก็จบงานนี้ละ ติดตรง qr code พอจะช่วยผมได้ปะครับ

1 Likes

ปัญหามันอยู่ที่โฟรของ app invertor รึป่าวครับ ผมไม่เห็นเลยบอกอะไรไม่ได้

โฟร ผมตั้งให้ ว่าเมื่อสแกน จะแสดงค่า ในfirebase ให้เป็น 1 ครับ