欧美午夜精品久久久久免费视/欧美黄色精品/国产一级A片在线播出/A片免费视频在线观看

對微一個微信掃碼識別圖書的幾個知識及解決辦法!
2022-12-10 08:00:15 歡樂點

前言,近期對微信云開發來了興趣,上手一個微信掃碼識別圖書,并上傳保存到云數據庫中微信掃碼點單,涉及到以下幾個方面的知識:小程序注冊賬號、小程序掃碼API的使用、小程序云開發等

注冊小程序賬號

首先,通過手機號或郵箱注冊一個小程序賬號,拿到AppID,開通云開發權限,需要注意的是每?個?程序/公眾號/?游戲都需要?個email,同?個?機號只能注冊5個,同?個身份證也只能注冊5個

云開發實戰掃碼識別圖書

1、使用小程序API-wx.()方法掃碼圖書背面的條形碼獲得版號ISBN

wx.scanCode({
    success: (res)=>{
        console.log(res.result) // 圖書的版號ISBN
    }
})
復制代碼

2、拿到版號后,新建一個云函數,其實就是微信掃碼點單,通過一個方法把ISBN作為參數再利用這個npm包函數解碼得到圖書的封面和標題title

async function getBookInfo(isbn) {
  const url = 'https://search.douban.com/book/subject_search?search_text=' + isbn;
  const res = await axios.get(url)
  const reg = /window\.__DATA__ = "(.*)"/
  if (reg.test(res.data)) {
    const bookData = RegExp.$1
    const decryptedData = doubanbook(bookData)
    console.log(decryptedData);
    return decryptedData[0]
  }
  return res
}
復制代碼

3、把圖書信息保存到云數據庫中,在云函數的main方法里連接云數據庫books,保存圖書的isbn、title、,其中isbn設置為主鍵,這樣就不會重復上傳圖書

// 云函數入口函數

exports.main = async (event, context) => { // 獲取圖書的ISBN const { isbn } = event // 云函數數據庫 const db = cloud.database() const res = await getBookInfo(isbn) db.collection('books').add({ data: { isbn, title: res.title, cover_url: res.cover_url } }) // 獲取數據庫的全部圖書 const booksData = await db.collection('books').get() return { booksData: booksData.data, title: res.title, cover_url: res.cover_url } } 復制代碼

4、最后,在app端調用云函數方法,做下圖片的優化處理和展示即可,非常簡單

// 掃碼識別圖書
  btnScan() {
    wx.scanCode({
      success: res1 => {

// res.result是版號ISBN wx.cloud.callFunction({ name: 'getbook', data: { isbn: res1.result }, success: async res2 => { const booksData = res2.result.booksData; const isbn = res1.result // 重復上傳則提示 const isRepeat = booksData.every(item => item.isbn !== isbn) if (!isRepeat) { wx.showToast({ title: '數據庫中已存在', icon: "error" }) } this.setData({ title: res2.result.title, cover_url: res2.result.cover_url }) } }) } }) }, 復制代碼

完整的代碼,到我的下載掃碼識書

免責聲明:部分文章信息來源于網絡以及網友投稿,本站只負責對文章進行整理、排版、編輯,出于傳遞更多信息之目的,并不意味著贊同其觀點或證實其內容的真實性,如本站文章和轉稿涉及版權等問題,請作者在及時聯系本站,我們會盡快為您處理。

歡樂點

留言咨詢

×