国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

自定義PC微信掃碼登錄樣式寫法

2019-11-19 14:44:42
字體:
來源:轉載
供稿:網友

PC微信掃碼登錄

近期做一個PC端微信掃碼登錄的需求,微信掃碼有兩種方式,一種是新開一個二維碼頁面,另一種是內嵌入產品網頁。本次以內嵌二維碼為例,具體怎樣在頁面中顯示一個登陸二維碼,文檔說的很清楚,就不贅述了,文檔地址:https://open.weixin.qq.com/cg...

解決自定義微信二維碼樣式問題

當一切準備妥當之后,網頁上的二維碼初始默認是這個樣子。


特別大不說(默認二維碼大小280x280),還有微信登錄的title,下方也有掃碼登錄的提示。
幸運的是,微信留了一個api給我們自定義樣式的機會,在之前實例化一個二維碼的時候,實例對象中href屬性,允許設置樣式。

var obj = new WxLogin({      id:"login_container",       appid: "",       scope: "",       redirect_uri: "",      state: "",      style: "",      href: "../qrcode.css"http://就是這個屬性      });

不幸的是,在href中傳入樣式文件的地址,會報錯。貌似微信為了安全考慮,只允許訪問https的資源。于是現在采用第二種解決辦法data-url。

通過訪問data-url解決樣式問題

寫一個nodejs,腳本將剛才的css資源轉換為data-url。具體代碼實現為:

var fs = require('fs');// function to encode file data to base64 encoded stringfunction base64_encode(file) { // read binary data var bitmap = fs.readFileSync(file); // convert binary data to base64 encoded string return 'data:text/css;base64,'+new Buffer(bitmap).toString('base64');}console.log(base64_encode('./qrcode.css'))

運行node腳本,復制打印出來的data-url,然后賦值給剛才的href。

var obj = new WxLogin({      id:"login_container",       appid: "",       scope: "",       redirect_uri: "",      state: "",      style: "",           href:"data:text/css;base64,LmltcG93ZXJCb3ggLnFyY29kZSB7d2lkdGg6IDIwMHB4O30NCi5pbXBvd2VyQm94IC50aXRsZSB7ZGlzcGxheTogbm9uZTt9DQouaW1wb3dlckJveCAuaW5mbyB7d2lkdGg6IDIwMHB4O30NCi5zdGF0dXNfaWNvbiB7ZGlzcGxheTpub25lfQ0KLmltcG93ZXJCb3ggLnN0YXR1cyB7dGV4dC1hbGlnbjogY2VudGVyO30="http://data-url      });

注意這里的MIME類型,一定要返回text/css。

自定義二維碼:


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 唐山市| 咸宁市| 宁化县| 宜君县| 铜鼓县| 二连浩特市| 华安县| 揭西县| 漳平市| 平武县| 新民市| 忻州市| 密云县| 万年县| 衡阳县| 兴安盟| 瑞金市| 仁寿县| 吴忠市| 乐昌市| 靖远县| 安宁市| 武鸣县| 淮北市| 保德县| 新丰县| 察隅县| 温州市| 湾仔区| 清远市| 贵定县| 科尔| 岱山县| 玉山县| 望谟县| 枣阳市| 抚松县| 万载县| 黔江区| 二连浩特市| 鹿泉市|