博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
微信小程序server-2-实现会话层
阅读量:7085 次
发布时间:2019-06-28

本文共 2308 字,大约阅读时间需要 7 分钟。

1.安装MongoDB

#安装 MongoDB及其客户端命令行工具yum install mongodb-server mongodb -y#查看版本mongod --versionmongo --version

2.启动 MongoDB

#创建目录,用于 MongoDB 数据和日志存储mkdir -p /data/mongodbmkdir -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#创建用户wxprouse 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.jsmodule.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();// 添加会话中间件,登录地址是 /loginapp.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://iuwql.baihongyu.com/

你可能感兴趣的文章
【物联网云端对接-4】通过MQTT协议与百度云进行云端通信
查看>>
Ubuntu下包含2种远程桌面的方式:VINO-Server以及VNC Server
查看>>
WCF4.0 进阶系列–前言(转)
查看>>
Sliverlight MD5
查看>>
JS监听浏览器关闭事件
查看>>
[OpenGL ES 01]iOS上OpenGL ES之初体验
查看>>
(译)跟媳妇解释面向对象设计
查看>>
php中__autoload()方法详解
查看>>
JS前台效果
查看>>
kafka源码分析之一server启动分析
查看>>
C++迟后联编和虚函数表
查看>>
React 点击按钮显示div与隐藏div,并给div传children
查看>>
html5学习笔记——基础
查看>>
004 使用SpringMVC开发restful API二--编写用户详情
查看>>
ZMQ示例:使用 curve 进行加密通信
查看>>
为SeekBar滑块设置固定值以及自定义Seekbar,progressbar样式
查看>>
其他软件技巧收藏
查看>>
打开android虚拟机时出现a repairable android virtual device
查看>>
web性能测试的新利器 - Gatling 介绍
查看>>
今日头条屏幕适配方案终极版正式发布!
查看>>