小程序server-實現會話層開發教程:1.安裝MongoDB#安裝 MongoDB及其客戶端命令行工具 yum install mongodb-server mongodb -y #查看版本 mongod --version mongo --version 2.啓動 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 27017 3.添加 MongoDB 用戶#登陸本地 MongoDB 服務 mongo #建立用戶wxpro use wxpro; db.createUser({ user: 'wxpro', pwd: 'wxpro****', roles: ['dbAdmin', 'readWrite']}); #退出 exit 4.安裝 Node 模塊實現小程序的會話功能,咱們須要安裝 connect-mongo cd /var/www/wxpro/ npm install connect-mongo wafer-node-session --save 5.實現小程序會話#建立配置文件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 重啓後,使用配套的小程序完成會話測試:打開配套小程序 - 點擊 實驗二:會話 - 獲取會話,若是您能看到您的微信頭像,那就表示會話已經成功獲取了。mongodb |