getGId.js 628 B

1234567891011121314151617
  1. const WXBizDataCrypt = require('../tools/WXBizDataCrypt')
  2. module.exports = async (ctx, next) => {
  3. if (ctx.state.$wxInfo.loginState === 1) {
  4. const query = ctx.query
  5. let appId = query.appId
  6. const { mysql } = require('../qcloud')
  7. let sessionKey = await mysql('cSessionInfo').where({ open_id: query.openId }).select('session_key')
  8. sessionKey = sessionKey[0].session_key
  9. let encryptedData = query.encryptedData
  10. let iv = query.iv
  11. let pc = new WXBizDataCrypt(appId, sessionKey)
  12. let data = pc.decryptData(encryptedData, iv)
  13. ctx.state.data = data.openGId
  14. } else {
  15. ctx.state.code = -1
  16. }
  17. }