參考:http://www.javashuo.com/article/p-pwuihhdo-cb.htmlhtml
注意:一、微信小程序是沒有SDK的,框架中已是封裝進去了。微信公衆號的一個H5頁面,js要調用微信app的功能,就須要SDK。前端
二、微信公衆平臺註冊以後能夠得到 appId、appSecret 這兩個值node
一、調用 SDK 的權限配置:(比較麻煩的是 signature 這個字段的值)https://blog.csdn.net/wlsyn/article/details/49098383算法
wx.config({ debug: true, // 開啓調試模式,調用的全部api的返回值會在客戶端alert出來,若要查看傳入的參數,能夠在pc端打開,參數信息會經過log打出,僅在pc端時纔會打印。 appId: '', // 必填,公衆號的惟一標識 timestamp: , // 必填,生成簽名的時間戳 nonceStr: '', // 必填,生成簽名的隨機串 signature: '',// 必填,簽名 jsApiList: [] // 必填,須要使用的JS接口列表 });
微信公衆平臺接口調試工具(獲取access_token):https://mp.weixin.qq.com/debug
小程序
獲取 jsapi_ticket :https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=${access_token}&type=jsapi後端
微信 JS 接口簽名校驗工具(獲取 signature):https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign微信小程序
nonceStr:隨機的字符串,如 Wm3WZYTPz0wzccnN。 這個值要和生成簽名時使用的一致api
timestamp:這個單位是秒。 這個值要和生成簽名時使用的一致服務器
signature:https://blog.csdn.net/Allence_z/article/details/80993248 或 https://blog.csdn.net/qq_36627509/article/details/79745328 (官方文檔有說明,生成簽名的邏輯必須在服務端生成)微信
獲取signature須要先獲取access_token(經過調用微信接口能夠獲取到),再經過access_token去獲取jsapi_ticket(經過調用微信接口能夠獲取到)。將noncestr、jsapi_ticket、timestamp、url按照必定的算法,生成signature。
總結:這3個參數,前端只要調接口獲取就能夠了,都是後端生成的。生成signature的 url 比較麻煩,使用本地ip地址是沒有用的。
二、關注公衆號(關注的用戶,在微信後臺管理是能夠看到的) 才能夠進入 和 服務器交互(文字或語音)的窗口。即下面的這個對話框
三、公衆號中的網頁,分享給別人,別人沒有關注也是能夠正常打開的(這個是能夠設置強制 關注後才能夠打開頁面)。若是頁面中有調JS-SDK的話,沒有關注是否能夠正常使用(這個沒有測試過,不清楚)
四、微信官方jssdk Demo : https://www.weixinsxy.com/jssdk/ (手機直接掃碼這個就能夠知道手機是否是能夠正常使用)
裏面的代碼是能夠直接下載下來的。
研究下 微信官方jssdk Demo 能夠知道,具體怎麼使用 jssdk好。 http://www.javashuo.com/article/p-msvjpcuf-ek.html
總結開發微信公衆號:
一、須要的環境:本地服務器(我的使用node)+內網穿透(服務器必需要外網能夠訪問)+微信公衆號帳號+前端H5頁面
注意:若是服務器是外網能夠訪問的服務器,就不須要內網穿透。由於H5頁面要使用微信的東西,微信服務器(這個是在外網上的)要訪問本身服務器的接口(微信的機制)。
二、調用微信的JS-SDK 會有各類問題的。蘋果和安卓都要檢測下,蘋果經常是有問題的。
三、微信公衆號開發(有5篇文章,比較詳細):https://blog.csdn.net/qq_15385627/article/category/7668414
五、自定義建立菜單:這個是經過調接口 實現底邊菜單的設置(能夠在程序中設置,也可直接使用調試工具實現)。 https://blog.csdn.net/qq_15385627/article/details/80340984