qrcode.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. 'use strict';
  2. const { CrudService } = require('naf-framework-mongoose/lib/service');
  3. const { BusinessError, ErrorCode } = require('naf-core').Error;
  4. const QRCode = require('qrcode');
  5. const assert = require('assert');
  6. // 二维码
  7. class QrcodeService extends CrudService {
  8. constructor(ctx) {
  9. super(ctx, 'qrcode');
  10. this.model = this.ctx.model.Card;
  11. this.uri = 'http://www.baidu.com/';
  12. }
  13. async initQRCode({ id = 'a' }) {
  14. // assert(id, '缺少推荐人信息');
  15. // const user = await this.model.findById(id);
  16. // if (!user) throw new BusinessError(ErrorCode.DATA_NOT_EXIST, '为找到用户信息');
  17. // const { mobile, name } = user;
  18. const mobile = '13089419810',
  19. name = 'liuruifeng';
  20. const url = `${this.uri}?id=${id}&mobile=${mobile}&name=${name}`;
  21. // const res = await QRCode.toDataURL(url, {
  22. // width: 200,
  23. // });
  24. const qrcode = await QRCode.toFile(url);
  25. // const qrcode = await QRCode.toString(url, { type: 'png' });
  26. // const qrimage = `data:image/png;base64${Buffer(qrcode).toString('base64')}`;
  27. return qrcode;
  28. }
  29. }
  30. module.exports = QrcodeService;