4.2、配置SDK因為本demo使用的是服務(wù)器端渲染模板引擎,所以在將文件發(fā)給客戶端之前我們應(yīng)該獲取到JSSDK使用步驟中wx.config指定的參數(shù):

wx.c" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

15158846557 在線咨詢 在線咨詢
15158846557 在線咨詢
所在位置: 首頁 > 營銷資訊 > 網(wǎng)站運營 > Nodejs下微信網(wǎng)頁開發(fā)教程(二)

Nodejs下微信網(wǎng)頁開發(fā)教程(二)

時間:2023-09-02 17:18:02 | 來源:網(wǎng)站運營

時間:2023-09-02 17:18:02 來源:網(wǎng)站運營

Nodejs下微信網(wǎng)頁開發(fā)教程(二):續(xù)上一篇文章Nodejs下微信網(wǎng)頁開發(fā)教程(一)

4.2、配置SDK

因為本demo使用的是服務(wù)器端渲染模板引擎,所以在將文件發(fā)給客戶端之前我們應(yīng)該獲取到JSSDK使用步驟中wx.config指定的參數(shù):

wx.config({ debug: true, // 開啟調(diào)試模式,調(diào)用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數(shù),可以在pc端打開,參數(shù)信息會通過log打出,僅在pc端時才會打印。 appId: '', // 必填,公眾號的唯一標(biāo)識 timestamp: , // 必填,生成簽名的時間戳 nonceStr: '', // 必填,生成簽名的隨機(jī)串 signature: '',// 必填,簽名,見附錄1 jsApiList: [] // 必填,需要使用的JS接口列表,所有JS接口列表見附錄2});完成這個目標(biāo)的是在server/helper/weixinSignature.js,該文件返回一個promise,然后在toController.js中使用下面的代碼:

Promise.all([ request.getCityList(), getSignature(`${config.domain}/index`) ]) .then((result) => { console.log(result[1]) res.render('index.pug', { appId: config.appId, weixin: result[1], lists: result[0], nickname: data[0].nickname, openid: data[0].openid }) }).catch((err) => { console.error('Promise Error: ', err) res.render('404.pug', { msg: '獲取用戶信息失敗,請重試' }) })

4.3、客戶端調(diào)用SDK

main.js文件中調(diào)用了微信的掃碼API:

import $ from 'zepto'import 'weui/dist/style/weui.min.css'import './index.css'/* eslint no-console: 0 *//* eslint no-unused-vars: 0 */// eslint-disable-next-line prefer-arrow-callback$(function () { wx.ready(() => { // 微信掃碼條形碼 $('.g-index-button').on('click', () => { wx.scanQRCode({ needResult: 1, desc: 'scanQRCode desc', success(res) { console.log(JSON.stringify(res)); } }); }) })})注意: 這里使用了zepto庫,使用webpack打包zepto的時候需要在webpack.config.js中額外配置:

plugins: [ ... new webpack.ProvidePlugin({ $: 'zepto/dist/zepto.min.js' }) ],module: { loaders: [ ... { test: require.resolve('zepto'), loader: 'exports?window.Zepto!script' } ]},

5、關(guān)于微信網(wǎng)頁調(diào)試

微信web開發(fā)者工具提供了移動設(shè)備的調(diào)試,提供給你使用安卓手機(jī)或者iOS手機(jī)測試。具體測試流程在微信web開發(fā)者工具中的移動調(diào)試有說明。此時的測試環(huán)境你只能通過微信的掃網(wǎng)站二維碼來訪問你的頁面,所以需要你自己將域名轉(zhuǎn)為二維碼,然后微信掃碼訪問。

6、微信網(wǎng)頁在不同手機(jī)系統(tǒng)顯示的坑

第一次做移動端的頁面,果然經(jīng)驗不足,項目完成之后測試人員開始測試的時候在蘋果手機(jī)發(fā)現(xiàn)好多問題,而這些問題之前在開發(fā)的時候都沒有想到過,因為微信web開發(fā)者工具完全沒有這些問題的,貌似微信web開發(fā)者工具更傾向于安卓系統(tǒng)。所以下次長記性了還是需要在蘋果系統(tǒng)測試一下的。

6.1、使用weui-panel_ft并且內(nèi)嵌按鈕的時候兼容性會出現(xiàn)問題

在安卓系統(tǒng)的時候是如下顯示:







取消和確認(rèn)按鈕和下面的輪廓線是有一個距離的,但是在iOS上這兩個按鈕卻是直接抵住輪廓線的:







這個兼容性的問題暫時沒弄清為啥,只能通過在下面的類中手動添加padding-bottom

.g-ta-right { text-align: right; padding-bottom: 10px;}

6.2、iOS系統(tǒng)彈出輸入法的時候頁面會自動放大

這個問題解決辦法很容易,只需要在頁面的head中配置如下:

meta(name="viewport", content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0")

6.3、iOS系統(tǒng)默認(rèn)將所有數(shù)字都轉(zhuǎn)為可點擊的a標(biāo)簽,可以呼出電話撥號功能

禁用該功能可以在頁面的head中配置如下:

meta(name="format-detection", content="telephone=no")對于某些特定的數(shù)字想要調(diào)用電話本的直接這么使用:

a(href="tel:0571-88223300") 0571-88223300

6.4、在輸入框中輸入完成后直接使用輸入法的回車鍵沒有提交表單而是直接刷新整個頁面

這個問題主要是沒有在代碼中捕捉submit事件,所以我們可以有如下的代碼:

// 直接回車搜索城市列表 $('#searchBar .weui-search-bar__form').on('submit', (e) => { e.preventDefault(); citySearch() })e.preventDefault();阻止submit事件去刷新頁面而只是用自己實現(xiàn)的ajax請求

參考:

  1. https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1445241432&token=&lang=zh_CN
  2. https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1445241432&token=&lang=zh_CN

關(guān)鍵詞:教程

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點擊下載Chrome瀏覽器
關(guān)閉