摘要:安裝安裝及其客戶端命令行工具查看版本啟動創建目錄,用于數據和日志存儲啟動注首次啟動可能會花費大概時間可以使用下面的命令來檢查是否啟動成功注默認監聽端口添加用戶登錄本地服務創建用戶退出安裝模塊實現小程序的會話功能
1.安裝MongoDB
#安裝 MongoDB及其客戶端命令行工具 yum install mongodb-server mongodb -y #查看版本 mongod --version mongo --version2.啟動 MongoDB
#創建目錄,用于 MongoDB 數據和日志存儲 mkdir -p /data/mongodb mkdir -p /data/logs/mongodb #啟動 MongoDB 注:首次啟動可能會花費大概 1min 時間 mongod --fork --dbpath /data/mongodb --logpath /data/logs/mongodb/wxpro.log #可以使用下面的命令來檢查是否啟動成功 #注:MongoDB 默認監聽 27017 端口 netstat -ltp | grep 270173.添加 MongoDB 用戶
#登錄本地 MongoDB 服務 mongo #創建用戶wxpro use wxpro; db.createUser({ user: "wxpro", pwd: "wxpro****", roles: ["dbAdmin", "readWrite"]}); #退出 exit4.安裝 Node 模塊
實現小程序的會話功能,我們需要安裝 connect-mongo
和 wafer-node-session
cd /var/www/wxpro/ npm install connect-mongo wafer-node-session --save5.實現小程序會話
#創建配置文件config.js module.exports = { serverPort: "8765", // 小程序 appId 和 appSecret // 請到 https://mp.weixin.qq.com 獲取 AppID 和 AppSecret appId: "YORU_APP_ID", appSecret: "YOUR_APP_SECRET", // mongodb 連接配置,生產環境請使用更復雜的用戶名密碼 mongoHost: "127.0.0.1", mongoPort: "27017", mongoUser: "wxpro", mongoPass: "wxpro****", mongoDb: "wxpro" };
#編輯app.js,添加會話實現邏輯 // 引用 express 來支持 HTTP Server 的實現 const express = require("express"); // 引用 wafer-session 支持小程序會話 const waferSession = require("wafer-node-session"); // 使用 MongoDB 作為會話的存儲 const MongoStore = require("connect-mongo")(waferSession); // 引入配置文件 const config = require("./config"); // 創建一個 express 實例 const app = express(); // 添加會話中間件,登錄地址是 /login app.use(waferSession({ appId: config.appId, appSecret: config.appSecret, loginPath: "/login", store: new MongoStore({ url: `mongodb://${config.mongoUser}:${config.mongoPass}@${config.mongoHost}:${config.mongoPort}/${config.mongoDb}` }) })); // 在路由 /me 下,輸出會話里包含的用戶信息 app.use("/me", (request, response, next) => { response.json(request.session ? request.session.userInfo : { noBody: true }); if (request.session) { console.log(`Wafer session success with openId=${request.session.userInfo.openId}`); } }); // 實現一個中間件,對于未處理的請求,都輸出 "Response from express" app.use((request, response, next) => { response.write("Response from express"); response.end(); }); // 監聽端口,等待連接 app.listen(config.serverPort); // 輸出服務器啟動日志 console.log(`Server listening at http://127.0.0.1:${config.serverPort}`);
#重啟服務 pm2 restart app
重啟后,使用配套的小程序完成會話測試:打開配套小程序 - 點擊 實驗二:會話 - 獲取會話,如果您能看到您的微信頭像,那就表示會話已經成功獲取了。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/19052.html
摘要:是一個用于處理微信小程序的,實現思路參照了騰訊云官方微信小程序云端解決方案中的會話管理場景,即這個是其版本的一種實現。 WechatAppSessionBundle 是一個用于處理微信小程序的 Symfony Bundle,實現思路參照了騰訊云官方-微信小程序云端解決方案中的 會話管理場景,即這個 Bundle 是其 PHP(Symfony) 版本的一種實現。(只是不知道國內有多少使用...
摘要:在開發之前你要有微信開發者工具。同時為了更適合開發微信小程序,還對進行了擴充以及修改,直接幫我們把適配的一部分工作都做了,比如他的,可以根據屏幕寬度進行自適應,規定屏幕寬為。 本文由云+社區發表 這段時間有幸加入了一個關于微信小程序的項目開發組,從無到有的根據文檔自行學習了小程序的開發過程,前面已經有幾位前輩的文章珠玉在前,我這里就先從前端界面的開發方面談一談小程序以及我所遇到的問題吧...
閱讀 1422·2021-11-15 11:38
閱讀 3567·2021-11-09 09:47
閱讀 1969·2021-09-27 13:36
閱讀 3211·2021-09-22 15:17
閱讀 2547·2021-09-13 10:27
閱讀 2862·2019-08-30 15:44
閱讀 1158·2019-08-27 10:53
閱讀 2702·2019-08-26 14:00