wafer session php,微信小程序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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值