关于【积分获取】的说明关于【附件下载】的说明
查看: 642|回复: 14

【微信小程序开发教程】实现会话层

[复制链接]

37

主题

43

帖子

2万

积分

论坛元老

Rank: 8Rank: 8

积分
21269
发表于 2017-8-14 17:58:19 | 显示全部楼层 |阅读模式

登录后查看更多内容,推荐微信扫码快速登录

您需要 登录 才可以下载或查看,没有帐号?【建议使用下方微信快捷登录注册】

x
小程序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
#创建用户
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.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

主题

14

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2018-5-11 11:31:13 | 显示全部楼层
这么多事号的呀
回复

使用道具 举报

0

主题

14

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2018-5-11 11:31:26 | 显示全部楼层
你书欧沃这样回复是加不加
回复

使用道具 举报

0

主题

14

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2018-5-11 11:31:43 | 显示全部楼层
好像真的可以家哦。
回复

使用道具 举报

0

主题

14

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2018-5-11 11:31:56 | 显示全部楼层
以上就是说我纸要
回复

使用道具 举报

0

主题

14

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2018-5-11 11:32:10 | 显示全部楼层
回复那么多酒可以了对吧
回复

使用道具 举报

0

主题

14

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2018-5-11 11:32:24 | 显示全部楼层
为了下载一个我回复那么多
回复

使用道具 举报

0

主题

14

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2018-5-11 11:32:36 | 显示全部楼层
这样真的不太好哦。
回复

使用道具 举报

0

主题

14

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2018-5-11 11:32:54 | 显示全部楼层
但是没有办法我只有这样哦。
回复

使用道具 举报

0

主题

14

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2018-5-11 11:33:09 | 显示全部楼层
好的额,我知道了,只有这样了
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|Archiver|手机版|小黑屋|小程序大全|小程序开发者论坛-汇集最优质源码、开发者教程、小程序资源

GMT+8, 2018-12-12 23:30 , Processed in 0.275589 second(s), 11 queries , File On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表