MemberQrCodeController.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: yunzhong
  5. * Date: 2019/12/10
  6. * Time: 14:11
  7. */
  8. namespace app\frontend\modules\member\controllers;
  9. use app\common\components\ApiController;
  10. use app\common\helpers\Client;
  11. use app\frontend\models\Member;
  12. use app\common\helpers\Cache;
  13. use Illuminate\Support\Facades\Redis;
  14. class MemberQrCodeController extends ApiController
  15. {
  16. public function memberCode()
  17. {
  18. $uid = \YunShop::app()->getMemberId();
  19. $member = Member::select('uid','nickname','avatar')->where('uid',$uid)->first();
  20. return $this->successJson('获取成功',$member);
  21. }
  22. public function payCode()
  23. {
  24. $uid = \Yunshop::app()->getMemberId();
  25. $top = 9955;
  26. $bt = 326422624364;//fangbaocheng
  27. $time = time();
  28. $hash = hash('ripemd128', $uid . $top . md5($bt + $time));
  29. $code = $uid.'uu'.substr($hash, 0, 8) . substr($hash, 8, 4) . substr($hash, 12, 4) .
  30. substr($hash, 16, 2);
  31. $data = [
  32. 'uid' => $uid,
  33. 'time' => $time,
  34. 'code' => $code,
  35. 'img' => 'data:image/png;base64,' . base64_encode(\QrCode::format('png')->size(200)->generate($code)),
  36. ];
  37. Redis::setex('member_pay_id_'.$uid , 60, $code);
  38. Cache::put('member_pay_id_'.$uid, $data, 1);
  39. return $this->successJson('获取成功',$data);
  40. }
  41. }