微信小程序server-2-实现会话层

发布时间:2019-07-03 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了微信小程序server-2-实现会话层脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

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
和 wafer-node-session

cd /VAR/www/wxpro/
npm install connect-mongo wafer-node-session --save
@H_601_126@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

重启后,使用配套的小程序完成会话测试:打开配套小程序 - 点击 实验二:会话 - 获取会话,如果您能看到您的微信头像,那就表示会话已经成功获取了。

脚本宝典总结

以上是脚本宝典为你收集整理的微信小程序server-2-实现会话层全部内容,希望文章能够帮你解决微信小程序server-2-实现会话层所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。