1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- <?php
- namespace app\controller\api\user;
- use app\common\ApiBaseController;
- use app\services\system\attachment\SystemAttachmentServices;
- use app\services\system\QrcodeServices;
- use think\db\exception\DataNotFoundException;
- use think\db\exception\DbException;
- use think\db\exception\ModelNotFoundException;
- class UserBill extends ApiBaseController
- {
-
- public function getSpreadInfo()
- {
- $spreadBanner = sys_config('spread_banner', []);
- $bannerCount = count($spreadBanner);
- $routineSpreadBanner = [];
- if ($bannerCount) {
- foreach ($spreadBanner as $item) {
- $routineSpreadBanner[] = ['pic' => $item];
- }
- }
- $uid = (int)$this->request->uid();
-
- $qrcodeService = app()->make(QrcodeServices::class);
- if ($this->request->isRoutine()) {
- $user = $this->request->user();
- $uid = (int)$this->request->uid();
-
- $systemAttachment = app()->make(SystemAttachmentServices::class);
-
- $name = $user['uid'] . '_' . $user['is_promoter'] . '_user_routine.jpg';
- $imageInfo = $systemAttachment->getInfo(['name' => $name]);
-
- if (isset($imageInfo['att_dir']) && strstr($imageInfo['att_dir'], 'http') !== false && curl_file_exist($imageInfo['att_dir']) === false) {
- $imageInfo = null;
- $systemAttachment->delete(['name' => $name]);
- }
- $siteUrl = sys_config('site_url');
- if (!$imageInfo) {
-
- $qrcode = $qrcodeService->getRoutineQrcode($uid, $name);
- } else {
- $qrcode = $imageInfo['att_dir'];
- if ($imageInfo['image_type'] == 1) $qrcode = $siteUrl . $qrcode;
- }
- } else {
- if (sys_config('share_qrcode', 0) && $this->request->isWechat()) {
- if (sys_config('spread_share_forever', 0)) {
- $qrcode = $qrcodeService->getForeverQrcode('spread-' . $uid, $uid)->url;
- } else {
- $qrcode = $qrcodeService->getTemporaryQrcode('spread-' . $uid, $uid)->url;
- }
- } else {
- $qrcode = '';
- }
- }
- return app('json')->success([
- 'images' => $routineSpreadBanner,
- 'qrcode' => $qrcode,
- 'avatar' => $this->request->user('avatar'),
- 'nickname' => $this->request->user('nickname'),
- 'site_name' => sys_config('site_name')
- ]);
- }
- }
|