美文网首页
node搭建获取微信小程序用户手机号的后台

node搭建获取微信小程序用户手机号的后台

作者: JX灬君 | 来源:发表于2021-09-27 15:12 被阅读0次

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
  })
});

相关文章

网友评论

      本文标题:node搭建获取微信小程序用户手机号的后台

      本文链接:https://www.haomeiwen.com/subject/sfahnltx.html