uni-app使用微信JS-SDK

      網友投稿 1070 2025-03-31

      記錄如何在uni-app中使用微信JS-SDK

      前段時間因為修改bug的原因學習了下如何在uni-app下面使用多圖上傳,所以基于uni-app做了一個微信JS-SDK調用的Demo

      依賴安裝

      頁面引用

      后臺簽名方法(nodejs)

      效果演示

      參考資料

      依賴安裝

      npm命令方式

      npm install jweixin-module --save

      下載文件方式

      uni-app使用微信JS-SDK

      文件地址:https://unpkg.com/jweixin-module@1.4.1/out/index.js

      下載保存之后放入項目中

      這里我們使用了非npm安裝的方式

      頁面引用

      在需要使用微信JS-SDK功能的頁面引入

      后臺簽名方法(nodejs)

      這里我們使用koa框架來實現簽名,詳情可以參考上次分享的文章基于koa實現的微信JS-SDK調用Demo

      uni-app項目根目錄下的server文件夾下即為示例后端代碼,執行node app.js即可,下面是簽名核心方法:

      router.get('/sig', async (ctx, next) => { try { //獲取當前url let url = ctx.request.protocol + '://' + ctx.request.host + ctx.request.originalUrl; if (ctx.query.url) { url = ctx.query.url; } ctx.data = await sign(url); } catch (e) { console.log(e); } await next(); }); async function sign(url) { let sig = {}, noncestr = config.noncestr, timestamp = Math.floor(Date.now() / 1000), //精確到秒 jsapi_ticket; if (cache.get('ticket')) { jsapi_ticket = cache.get('ticket'); sig = { appId: config.appid, noncestr: noncestr, timestamp: timestamp, url: url, jsapi_ticket: jsapi_ticket, signature: sha1( 'jsapi_ticket=' + jsapi_ticket + '&noncestr=' + noncestr + '×tamp=' + timestamp + '&url=' + url ), }; } else { // 獲取 token let tokenRes = await rp({ uri: config.accessTokenUrl + '?grant_type=' + config.grant_type + '&appid=' + config.appid + '&secret=' + config.secret, }); tokenRes = JSON.parse(tokenRes); // 獲取 ticket let ticketRes = await rp({ uri: config.ticketUrl + '?access_token=' + tokenRes.access_token + '&type=jsapi', }); var ticketMap = JSON.parse(ticketRes); // 加入緩存 cache.put('ticket', ticketMap.ticket, config.cache_duration); sig = { appId: config.appid, noncestr: noncestr, timestamp: timestamp, url: url, jsapi_ticket: ticketMap.ticket, signature: sha1( 'jsapi_ticket=' + ticketMap.ticket + '&noncestr=' + noncestr + '×tamp=' + timestamp + '&url=' + url ), }; } return sig; }

      效果演示

      視頻演示地址:

      https://www.bilibili.com/video/BV1SV411p7Hs?share_source=copy_web

      參考資料

      jweixin-module npm(https://www.npmjs.com/package/jweixin-module)

      jweixin-module github(https://github.com/zhetengbiji/jweixin-module)

      JS-SDK說明文檔(https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html)

      API/SDK 移動APP

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:沃土方案--IT系統】黃河創新有限公司IT適配系統
      下一篇:如何將cad圖導入word文檔中(cad圖怎么導入word中)
      相關文章
      亚洲色成人WWW永久网站| 国产精品亚洲аv无码播放| 亚洲字幕在线观看| 亚洲综合国产精品| 亚洲国产精品无码专区影院| 亚洲欧洲精品无码AV| 亚洲精品无码久久一线| 亚洲亚洲人成综合网络| 亚洲精品无码不卡在线播放HE | 亚洲色少妇熟女11p| 亚洲精品天堂在线观看| 亚洲日韩国产精品乱-久| 亚洲人成网站在线观看播放青青| 亚洲午夜精品国产电影在线观看| 亚洲午夜电影在线观看| 亚洲精品伊人久久久久| 亚洲色偷偷色噜噜狠狠99| 亚洲精品无码国产片| 亚洲AV无码一区二区三区久久精品| 亚洲国产成人AV在线播放| 日本亚洲欧美色视频在线播放| 国产精品亚洲精品久久精品 | 苍井空亚洲精品AA片在线播放 | 亚洲欧洲在线观看| 久久精品国产亚洲AV麻豆网站| 亚洲资源在线观看| 亚洲乱码无限2021芒果| 亚洲日日做天天做日日谢| 亚洲AV无码专区亚洲AV桃| jjzz亚洲亚洲女人| 区久久AAA片69亚洲| 亚洲国产精品乱码一区二区| 亚洲天堂中文字幕| 亚洲国产精品线观看不卡| 中文字幕亚洲码在线| 亚洲Aⅴ在线无码播放毛片一线天 亚洲avav天堂av在线网毛片 | 亚洲精品第一国产综合精品| 亚洲av成人综合网| 亚洲AV色欲色欲WWW| 国产成人精品久久亚洲| 久久精品视频亚洲|