国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
微信小程序云開發(fā)個人博客項目實戰(zhàn)(4)
微信小程序云開發(fā)個人博客項目實戰(zhàn)目錄
一、準備工作及引入 Vant Weapp 小程序 UI 組件庫
二、專題的增刪改查
三、文章的增刪改查
四、云函數(shù)獲取微信公眾號access_token
五、云函數(shù)同步公眾號文章到小程序
前提:確認公眾號的接口權限
一、配置白名單
172.81.207.12172.81.212.74172.81.235.12172.81.236.99172.81.245.51212.64.65.131212.64.84.22212.64.85.139212.64.85.35212.64.87.134212.64.57.239212.64.68.233212.64.84.102212.64.84.30212.64.84.54212.64.85.82212.64.89.109212.64.89.115212.64.89.17212.64.89.18
二、小程序云函數(shù)獲取公眾號access_token
官方文檔
接口調(diào)用請求說明
https請求方式: GEThttps://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
1、云開發(fā)控制臺,新建集合wx-access-token,用于保存獲取到的微信公眾號的access_token
2、開發(fā)者工具 > 云函數(shù)目錄 > 右鍵選擇 “新建Node.js” 云函數(shù) getAccessToken,如下圖:
3、云函數(shù) getAccessToken 下新建 AccessToken.js
const cloud = require('wx-server-sdk')const request = require('request')class AccessToken { constructor({ appid, secret }) { this.appid = appid this.secret = secret } // 獲取公眾號access_token async getWechatAccessToken() { let token_url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' + this.appid + '&' + 'secret=' + this.secret; const rp = options => new Promise((resolve, reject) => { request(options, (error, response, body) => { if (error) { reject(error); } resolve(response); }); }); const result = await rp({ url: token_url, method: 'GET' }); return (typeof result.body === 'object') ? result.body : JSON.parse(result.body);; } // 獲取保存在數(shù)據(jù)庫的公眾號access_token async getCachedWechatAccessToken() { let collection = 'wx-access-token'; //數(shù)據(jù)庫集合名稱 let gapTime = 300000; // 5 分鐘 cloud.init(); let db = cloud.database(); let result = await db.collection(collection).get(); if (result.code) { return null; } // 數(shù)據(jù)庫沒有,獲取 if (!result.data.length) { let accessTokenBody = await this.getAccessToken(); let act = accessTokenBody.access_token; let ein = accessTokenBody.expires_in * 1000; await db.collection(collection).add({ data: { _id: 1, accessToken: act, expiresIn: ein, createTime: Date.now() } }); return act; } else { let data = result.data[0]; let { _id, accessToken, expiresIn, createTime } = data; // 判斷access_token是否有效 if (Date.now() < createTime + expiresIn - gapTime) { return accessToken; } // 失效,重新獲取 else { let accessTokenBody = await this.getWechatAccessToken(); let act = accessTokenBody.access_token; let ein = accessTokenBody.expires_in * 1000; await db.collection(collection).doc(_id).set({ _id: 1, accessToken: act, expiresIn: ein, createTime: Date.now() }); return accessTokenBody.access_token; } } }}module.exports = AccessToken
4、修改云函數(shù)入口文件index.js
// 云函數(shù)入口文件const cloud = require('wx-server-sdk');const request = require('request');const access_token = require('AccessToken');cloud.init()let appid = '***********************';//微信公眾號開發(fā)者idlet secret = '***********************';//微信公眾號開發(fā)者secret_key// 云函數(shù)入口函數(shù)exports.main = async (event, context) => { let at = new access_token({ appid, secret }); return at.getCachedWechatAccessToken();}
5、創(chuàng)建并部署云函數(shù)
6、頁面調(diào)用,編譯調(diào)試
//可以在onLoad方法中 調(diào)試onLoad: function (options) { wx.cloud.callFunction({ // 云函數(shù)名稱 name: 'getAccessToken', success: function (res) { console.log("getAccessToken result") console.log(res.result) }, fail: console.error }) },
參考文章:https://blog.csdn.net/haitaoxiaodian/article/details/90762835
本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
微信小程序如何獲取公眾號的文章內(nèi)容
微信小程序云開發(fā)如何實現(xiàn)數(shù)據(jù)庫自動備份實現(xiàn)
微信小程序云開發(fā)實踐
小程序 - 顏值大師
httprunner3.x入門 -3 實現(xiàn)數(shù)據(jù)驅(qū)動
微信小程序——用戶登錄模塊服務器搭建
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服