node搭建获取微信小程序用户手机号的后台
1.先安装mysql https://dev.mysql.com/downloads/mysql/
2.安装服务
- 进入bin文件夹,执行:
mysqld --install
安装服务- 初始化data文件夹,并生成初始密码
mysqld --initialize --console
- 记录初始密码:fOkr&uB/W0AG
3.启动mysql服务
- 命令行输入
net start mysql
4.登录mysql
- 命令行输入
mysql -u root -p
, 然后输入初始密码- 停止服务:exit
- 查询mysql服务器名称:
show global variables like 'port';
- 查询数据库
SHOW DATABASES;
5.创建数据库node_wx
mysqladmin -u root -p create node_wx;
6.修改mysql加密规则
如果项目中报错:Client does not support authentication protocol requested by server; consider upgrading MySQL client
-- step1 ALTER USER 'root'@'localhost' IDENTIFIED BY '491474' PASSWORD EXPIRE NEVER; -- step2 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '491474'; -- step3 FLUSH PRIVILEGES; -- step4 use mysql; select user,host,plugin from user where user='root';
6.修改密码
输入
use mysql
重设root账户
alter user 'root'@'localhost' identified by '491474';
修改密码-取消
update user set password=password('491474') where user='root';
1.安装express
tyarn add express
2. 安装mysql
tyarn add mysql
3. 在app.js中配置mysql
var mysql = require('mysql'); //引入数据库插件包
var connection = mysql.createConnection({ //填写数据库的信息
host: 'localhost', //域名
user: 'root', //用户
password: '491474', //密码
database: 'mysql', //数据库的名称
});
4.获取session_key和openid
router.get(`/login`, (req, res, next) => {
console.log(req.query.code)
const js_code = req.query.code
if (js_code) {
request(`${APP_URL}?appid=${APP_ID}&secret=${APP_SECRET}&js_code=${js_code}&grant_type=authorization_code`, (error, response, body) => {
console.log('statusCode:', response && response.statusCode)
res.json({
status: 200,
data: response
})
})
} else {
res.writeHead(404)
res.end()
}
});
5. 解密数据获取手机号
// 获取解密数据
router.get('/crypt', (req, res, next) => {
let { appId, sessionKey, iv, encryptedData } = req.query
// let pc = new WXBizDataCrypt(appId, sessionKey)
// let data = pc.decryptData(encryptedData, iv)
let data = wxcrypt(appId, sessionKey, encryptedData, iv)
res.json({
status: 200,
data: data
})
});
网友评论