摘要:安装安装及其客户端命令行工具查看版本启动创建目录,用于数据和日志存储启动注首次启动可能会花费大概时间可以使用下面的命令来检查是否启动成功注默认监听端口添加用户登录本地服务创建用户退出安装模块实现小程序的会话功能
1.安装MongoDB
#安装 MongoDB及其客户端命令行工具 yum install mongodb-server mongodb -y #查看版本 mongod --version mongo --version2.启动 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 270173.添加 MongoDB 用户
#登录本地 MongoDB 服务 mongo #创建用户wxpro use wxpro; db.createUser({ user: "wxpro", pwd: "wxpro****", roles: ["dbAdmin", "readWrite"]}); #退出 exit4.安装 Node 模块
实现小程序的会话功能,我们需要安装 connect-mongo
和 wafer-node-session
cd /var/www/wxpro/ npm install connect-mongo wafer-node-session --save5.实现小程序会话
#创建配置文件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
重启后,使用配套的小程序完成会话测试:打开配套小程序 - 点击 实验二:会话 - 获取会话,如果您能看到您的微信头像,那就表示会话已经成功获取了。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/19052.html
摘要:是一个用于处理微信小程序的,实现思路参照了腾讯云官方微信小程序云端解决方案中的会话管理场景,即这个是其版本的一种实现。 WechatAppSessionBundle 是一个用于处理微信小程序的 Symfony Bundle,实现思路参照了腾讯云官方-微信小程序云端解决方案中的 会话管理场景,即这个 Bundle 是其 PHP(Symfony) 版本的一种实现。(只是不知道国内有多少使用...
摘要:在开发之前你要有微信开发者工具。同时为了更适合开发微信小程序,还对进行了扩充以及修改,直接帮我们把适配的一部分工作都做了,比如他的,可以根据屏幕宽度进行自适应,规定屏幕宽为。 本文由云+社区发表 这段时间有幸加入了一个关于微信小程序的项目开发组,从无到有的根据文档自行学习了小程序的开发过程,前面已经有几位前辈的文章珠玉在前,我这里就先从前端界面的开发方面谈一谈小程序以及我所遇到的问题吧...
阅读 1424·2021-11-15 11:38
阅读 3572·2021-11-09 09:47
阅读 1970·2021-09-27 13:36
阅读 3216·2021-09-22 15:17
阅读 2553·2021-09-13 10:27
阅读 2864·2019-08-30 15:44
阅读 1162·2019-08-27 10:53
阅读 2706·2019-08-26 14:00