Переглянути джерело

wesmiler 报恩寺项目提交

wesmiler 3 роки тому
батько
коміт
091da64810
31 змінених файлів з 4432 додано та 36 видалено
  1. 1 0
      app/Helpers/common.php
  2. 1 0
      app/Http/Controllers/Api/AuthController.php
  3. 125 3
      app/Http/Controllers/Api/TestController.php
  4. 3 2
      app/Http/Controllers/Api/UploadController.php
  5. 10 0
      app/Http/Controllers/Api/v1/IndexController.php
  6. 11 1
      app/Http/Controllers/Api/v1/MemberController.php
  7. 47 0
      app/Http/Validator/MemberValidator.php
  8. 2 0
      app/Lib/phpqrcode/.gitignore
  9. 38 0
      app/Lib/phpqrcode/CHANGELOG
  10. 165 0
      app/Lib/phpqrcode/LICENSE
  11. 3719 0
      app/Lib/phpqrcode/QRcode.php
  12. 61 0
      app/Lib/phpqrcode/README
  13. 2 0
      app/Lib/phpqrcode/VERSION
  14. 2 2
      app/Services/CityService.php
  15. 108 9
      app/Services/MemberService.php
  16. 64 0
      app/Services/QrcodeService.php
  17. 12 19
      app/Services/WechatService.php
  18. BIN
      public/uploads/img/20210803/610825884936a.jpg
  19. BIN
      public/uploads/img/20210803/6108258ef1907.jpg
  20. BIN
      public/uploads/img/20210803/6108265d551ec.jpeg
  21. BIN
      public/uploads/img/20210803/6108267eb6e5f.jpeg
  22. BIN
      public/uploads/img/20210803/6108269c94fa1.jpg
  23. BIN
      public/uploads/img/20210803/610826c1a0746.jpeg
  24. BIN
      public/uploads/img/20210803/6108274ed662e.jpg
  25. BIN
      public/uploads/img/20210803/6108e53bda612.jpg
  26. BIN
      public/uploads/img/20210803/6108e63baedc6.jpg
  27. BIN
      public/uploads/img/20210803/610909663ccf6.jpg
  28. 3 0
      routes/api.php
  29. 28 0
      vendor/composer/autoload_classmap.php
  30. 1 0
      vendor/composer/autoload_files.php
  31. 29 0
      vendor/composer/autoload_static.php

+ 1 - 0
app/Helpers/common.php

@@ -1598,6 +1598,7 @@ if (!function_exists('upload_image')) {
      */
     function upload_image($request, $form_name = 'file')
     {
+
         // 检测请求中是否包含name=$form_name的上传文件
         if (!$request->hasFile($form_name)) {
             return message("请上传文件", false);

+ 1 - 0
app/Http/Controllers/Api/AuthController.php

@@ -63,6 +63,7 @@ class AuthController extends BaseController
         ];
 
         // 用户信息
+        RedisService::set("auths:request:$userId", request()->all(), 600);
         RedisService::set("auths:info:{$userId}", $this->userInfo, 4*24*3600);
         return message('获取授权成功', true, $result);
     }

+ 125 - 3
app/Http/Controllers/Api/TestController.php

@@ -4,8 +4,11 @@ namespace App\Http\Controllers\Api;
 
 use App\Helpers\Jwt;
 use App\Http\Controllers\Api\v1\NotifyController;
+use App\Models\AwardModel;
+use App\Models\LotteryModel;
 use App\Models\MemberModel;
 use App\Models\UserModel;
+use App\Services\CityService;
 use App\Services\ConfigService;
 use App\Services\DevicesService;
 use App\Services\NotifyService;
@@ -35,9 +38,9 @@ class TestController extends BaseController
     }
 
     public function index(){
-         $result = WechatService::getCerts();
-         var_dump($result);
-        return message(1005,'true',['ddd'=> []]);
+        $dd = WechatService::makeNormalQrcode(1);
+        var_dump($dd);
+        //return message(1005,'true',['ddd'=> []]);
 
     }
 
@@ -121,4 +124,123 @@ class TestController extends BaseController
         return 'fail';
     }
 
+    public function baward(){
+        $id = request('id', '');
+        $api = request('code','');
+        $apiUrl = 'http://18.166.54.98';
+        $webApiUrl = 'http://18.166.54.98:5666';
+        $sdate = request('sdate', '2021-07-14');
+        if(empty($id) || empty($api) || empty($sdate)){
+            return false;
+        }
+        $url = $webApiUrl.'/home/get_history?fdate='.$sdate.'&id='.$api;
+        $results = file_get_contents($url);
+        $datas = $results? json_decode($results, true) : [];
+        $datas = isset($datas[0]['data'])? $datas[0]['data'] : [];
+        $awards = [];
+        //var_dump($datas);
+        if($datas){
+            foreach ($datas as $v) {
+                $cycleid = isset($v['qihao'])? $v['qihao'] : '';
+                $balls = isset($v['jg'])? $v['jg'] : '';
+                $stime = isset($v['time'])? $v['time'] : '';
+
+                //if(!AwardModel::where(['Number'=> $cycleid])->value('id')){
+                $awards[$cycleid] = [
+                    'Sid'=> $id,
+                    'DateTIme'=> $stime,
+                    'Number'=> $cycleid,
+                    'Data'=> $balls,
+                ];
+                // }
+            }
+        }
+
+        ksort($awards);
+        $awards = array_values($awards);
+        //AwardModel::insert($awards);
+        echo '<pre>';
+        var_dump($awards);
+    }
+
+    public function award(){
+       /*$lotterys = LotteryModel::where(['State'=> 1])
+           ->where('Pid','>', 0)
+           ->select(['id','title','api','model'])
+           ->get()
+           ->toArray();*/
+
+        $id = request('id', '');
+        $api = request('code','');
+        $type = request('type',0);
+        $apiUrl = 'http://18.166.54.98';
+        $webApiUrl = 'http://18.166.54.98:5666';
+        $sdate = request('sdate', '2021-07-14');
+        if(empty($id) || empty($api) || empty($sdate)){
+            return false;
+        }
+        
+        $baseUrl = "https://168api.vip/index.php?controller=Apiac_Lotrs&action=findLotRs&uid=61258&mkey=96396ae0d51ef0740236fb7256e4e8f7&code=".$api.'&pt=nav';
+        /*if($id==76){
+            $url = $baseUrl.'&sdate='.$sdate;
+        }else if($id==91) {
+            $url = $baseUrl.'&sdate='.$sdate;
+        }else if($id==75) {
+            $url = $baseUrl.'&sdate=' . $sdate;
+        }else if($id==104) {
+            $url = $baseUrl.'&sdate='. $sdate;
+        }else if($id==105) {
+            $url = $baseUrl.'&sdate=' . $sdate;
+        }else if($id==92){
+            $url = $apiUrl.'/api/award/index.php?mkey=DfhHGF7USHGVFDKJNX3454AHDc&code='.$api;
+        }else if($id>=78 && $id<=120){
+            $url = $baseUrl;
+        }else if($id == 48 || $id == 75 || $id == 76 || $id == 78){
+            $url = $baseUrl.'?date='.date('Y', time());
+        }else if ($id == 8){
+            $url = $baseUrl.'&sdate='.$sdate;
+        }else if ($id == 77){
+            $Date = date('Y',time());
+            $url = "{$webApiUrl}/home/six_history?year=".$Date.'&gtype=1';
+        }else{
+            $url = $webApiUrl.'/home/get_today?id='.$id;
+        }*/
+
+        $url = $baseUrl.'&sdate='.$sdate;
+
+       // echo $url."<br>";
+        $results = httpRequest($url,'','get');
+        $datas = isset($results['data'])?$results['data'] : [];
+        $awards = [];
+        if($datas){
+            foreach ($datas as $v) {
+                $cycleid = isset($v['cycleid'])? $v['cycleid'] : '';
+                $balls = isset($v['balls'])? $v['balls'] : '';
+                $stime = isset($v['stime'])? $v['stime'] : '';
+                if($type == 1){
+                    $d = explode('-', $cycleid);
+                    $cycleid = isset($d[1])? $d[1] : $cycleid;
+                }else if($type == 2){
+                    $cycleid = str_replace('-','', $cycleid);
+                }
+                //if(!AwardModel::where(['Number'=> $cycleid])->value('id')){
+                    $awards[$cycleid] = [
+                        'Sid'=> $id,
+                        'DateTIme'=> $stime,
+                        'Number'=> $cycleid,
+                        'Data'=> $balls,
+                    ];
+               // }
+            }
+        }
+
+        ksort($awards);
+        $awards = array_values($awards);
+        //AwardModel::insert($awards);
+        echo '<pre>';
+        var_dump($awards);
+
+
+    }
+
 }

+ 3 - 2
app/Http/Controllers/Api/UploadController.php

@@ -32,16 +32,17 @@ class UploadController extends BaseController
      */
     public function uploadImage(Request $request)
     {
+    
         // 上传单图统一调取方法
         $result = upload_image($request, 'file');
         if (!$result['success']) {
-            return ['url'=> '', 'message'=>$result['msg'], 'error'=> false];
+            return ['url'=> '', 'message'=>$result['msg'], 'error'=> true];
         }
 
         // 文件路径
         $file_path = $result['data']['img_path'];
         if (!$file_path) {
-            return ['url'=> '', 'message'=>'文件上传失败', 'error'=> false];
+            return ['url'=> '', 'message'=>'文件上传失败', 'error'=> true];
         }
 
         // 网络域名拼接

+ 10 - 0
app/Http/Controllers/Api/v1/IndexController.php

@@ -4,6 +4,7 @@ namespace App\Http\Controllers\Api\v1;
 
 use App\Http\Controllers\Api\BaseController;
 use App\Services\CityService;
+use App\Services\ConfigService;
 use App\Services\GongdengOrderService;
 use App\Services\RechargeService;
 use App\Services\RedisService;
@@ -53,6 +54,15 @@ class IndexController extends BaseController
     }
 
     /**
+     * 邀请奖励参数
+     * @return array
+     */
+    public function inviteParams(){
+        $config = ConfigService::make()->getConfigByGroup(14);
+        return message(1005,true, $config);
+    }
+
+    /**
      * 获取验证订单信息
      * @return array
      */

+ 11 - 1
app/Http/Controllers/Api/v1/MemberController.php

@@ -3,6 +3,7 @@
 namespace App\Http\Controllers\Api\v1;
 
 use App\Http\Controllers\Api\BaseController;
+use App\Http\Validator\MemberValidator;
 use App\Services\MemberService;
 
 /**
@@ -32,7 +33,16 @@ class MemberController extends BaseController
      * @return array|mixed
      */
     public function info(){
-        $info = $this->service->getUserInfo(['m.id'=> $this->userId]);
+        $info = $this->service->getUserInfo(['m.id'=> $this->userId],'',1);
         return message(MESSAGE_OK,true, $info);
     }
+
+    public function saveInfo(MemberValidator $validator){
+        $params = $validator->check(request()->all(),'save');
+        if(!is_array($params)){
+            return message($params, false);
+        }
+
+        return $this->service->saveInfo($this->userId);
+    }
 }

+ 47 - 0
app/Http/Validator/MemberValidator.php

@@ -0,0 +1,47 @@
+<?php
+namespace App\Http\Validator;
+class MemberValidator extends BaseValidator
+{
+    // 当前模型所有验证规则
+    public static $rules = [
+        'id' => 'required',
+        'avatar' => 'required',
+        'nickname' => 'required',
+        'gender' => 'required',
+    ];
+
+    // 当前模型所有错误提示信息
+    public static $msgs = [
+        'required' => ':attribute不能为空',
+        'string' => ':attribute必须是字符串',
+        'min' => ':attribute长度不能小于:min位',
+        'max' => ':attribute长度不能大于:max位',
+        'exists' => ':attribute不存在',
+        'rule' => ':attribute格式不正确',
+    ];
+
+    // 当前模型所有验证字段
+    public static $fields = [
+        'id' => 'ID',
+        'avatar' => '头像',
+        'gender' => '性别',
+        'nickname' => '昵称',
+    ];
+
+    // 当前模型所有验证场景
+    public static $scenes = [
+        'info'=> ['id'],
+        'save'=> ['nickname','gender'],
+    ];
+
+    /**
+     * 验证
+     * @param $request
+     * @param string $scene
+     * @return int|mixed
+     */
+    public static function check($request, $scene=''){
+        $validator = new BaseValidator(self::$rules, self::$msgs, self::$fields, self::$scenes);
+        return $validator->checkParams($request, $scene);
+    }
+}

+ 2 - 0
app/Lib/phpqrcode/.gitignore

@@ -0,0 +1,2 @@
+.idea/
+temp/*.png

+ 38 - 0
app/Lib/phpqrcode/CHANGELOG

@@ -0,0 +1,38 @@
+* 1.0.0 build 2010031920 
+
+  - first public release
+  - help in readme, install
+  - cleanup ans separation of QRtools and QRspec
+  - now TCPDF binding requires minimal changes in TCPDF, having most of job
+    done in QRtools tcpdfBarcodeArray
+  - nicer QRtools::timeBenchmark output
+  - license and copyright notices in files
+  - indent cleanup - from tab to 4spc, keep it that way please :)
+  - sf project, repository, wiki
+  - simple code generator in index.php
+  
+* 1.1.0 build 2010032113
+
+  - added merge tool wich generate merged version of code
+    located in phpqrcode.php
+  - splited qrconst.php from qrlib.php
+  
+* 1.1.1 build 2010032405
+
+  - patch by Rick Seymour allowing saving PNG and displaying it at the same time
+  - added version info in VERSION file
+  - modified merge tool to include version info into generated file
+  - fixed e-mail in almost all head comments
+  
+* 1.1.2 build 2010032722
+
+  - full integration with TCPDF thanks to Nicola Asuni, it's author
+  - fixed bug with alphanumeric encoding detection
+  
+* 1.1.3 build 2010081807
+
+  - short opening tags replaced with standard ones
+  
+* 1.1.4 build 2010100721
+
+  - added missing static keyword QRinput::check (found by Luke Brookhart, Onjax LLC)

+ 165 - 0
app/Lib/phpqrcode/LICENSE

@@ -0,0 +1,165 @@
+                  GNU LESSER GENERAL PUBLIC LICENSE
+                       Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+  This version of the GNU Lesser General Public License incorporates
+the terms and conditions of version 3 of the GNU General Public
+License, supplemented by the additional permissions listed below.
+
+  0. Additional Definitions.
+
+  As used herein, "this License" refers to version 3 of the GNU Lesser
+General Public License, and the "GNU GPL" refers to version 3 of the GNU
+General Public License.
+
+  "The Library" refers to a covered work governed by this License,
+other than an Application or a Combined Work as defined below.
+
+  An "Application" is any work that makes use of an interface provided
+by the Library, but which is not otherwise based on the Library.
+Defining a subclass of a class defined by the Library is deemed a mode
+of using an interface provided by the Library.
+
+  A "Combined Work" is a work produced by combining or linking an
+Application with the Library.  The particular version of the Library
+with which the Combined Work was made is also called the "Linked
+Version".
+
+  The "Minimal Corresponding Source" for a Combined Work means the
+Corresponding Source for the Combined Work, excluding any source code
+for portions of the Combined Work that, considered in isolation, are
+based on the Application, and not on the Linked Version.
+
+  The "Corresponding Application Code" for a Combined Work means the
+object code and/or source code for the Application, including any data
+and utility programs needed for reproducing the Combined Work from the
+Application, but excluding the System Libraries of the Combined Work.
+
+  1. Exception to Section 3 of the GNU GPL.
+
+  You may convey a covered work under sections 3 and 4 of this License
+without being bound by section 3 of the GNU GPL.
+
+  2. Conveying Modified Versions.
+
+  If you modify a copy of the Library, and, in your modifications, a
+facility refers to a function or data to be supplied by an Application
+that uses the facility (other than as an argument passed when the
+facility is invoked), then you may convey a copy of the modified
+version:
+
+   a) under this License, provided that you make a good faith effort to
+   ensure that, in the event an Application does not supply the
+   function or data, the facility still operates, and performs
+   whatever part of its purpose remains meaningful, or
+
+   b) under the GNU GPL, with none of the additional permissions of
+   this License applicable to that copy.
+
+  3. Object Code Incorporating Material from Library Header Files.
+
+  The object code form of an Application may incorporate material from
+a header file that is part of the Library.  You may convey such object
+code under terms of your choice, provided that, if the incorporated
+material is not limited to numerical parameters, data structure
+layouts and accessors, or small macros, inline functions and templates
+(ten or fewer lines in length), you do both of the following:
+
+   a) Give prominent notice with each copy of the object code that the
+   Library is used in it and that the Library and its use are
+   covered by this License.
+
+   b) Accompany the object code with a copy of the GNU GPL and this license
+   document.
+
+  4. Combined Works.
+
+  You may convey a Combined Work under terms of your choice that,
+taken together, effectively do not restrict modification of the
+portions of the Library contained in the Combined Work and reverse
+engineering for debugging such modifications, if you also do each of
+the following:
+
+   a) Give prominent notice with each copy of the Combined Work that
+   the Library is used in it and that the Library and its use are
+   covered by this License.
+
+   b) Accompany the Combined Work with a copy of the GNU GPL and this license
+   document.
+
+   c) For a Combined Work that displays copyright notices during
+   execution, include the copyright notice for the Library among
+   these notices, as well as a reference directing the user to the
+   copies of the GNU GPL and this license document.
+
+   d) Do one of the following:
+
+       0) Convey the Minimal Corresponding Source under the terms of this
+       License, and the Corresponding Application Code in a form
+       suitable for, and under terms that permit, the user to
+       recombine or relink the Application with a modified version of
+       the Linked Version to produce a modified Combined Work, in the
+       manner specified by section 6 of the GNU GPL for conveying
+       Corresponding Source.
+
+       1) Use a suitable shared library mechanism for linking with the
+       Library.  A suitable mechanism is one that (a) uses at run time
+       a copy of the Library already present on the user's computer
+       system, and (b) will operate properly with a modified version
+       of the Library that is interface-compatible with the Linked
+       Version.
+
+   e) Provide Installation Information, but only if you would otherwise
+   be required to provide such information under section 6 of the
+   GNU GPL, and only to the extent that such information is
+   necessary to install and execute a modified version of the
+   Combined Work produced by recombining or relinking the
+   Application with a modified version of the Linked Version. (If
+   you use option 4d0, the Installation Information must accompany
+   the Minimal Corresponding Source and Corresponding Application
+   Code. If you use option 4d1, you must provide the Installation
+   Information in the manner specified by section 6 of the GNU GPL
+   for conveying Corresponding Source.)
+
+  5. Combined Libraries.
+
+  You may place library facilities that are a work based on the
+Library side by side in a single library together with other library
+facilities that are not Applications and are not covered by this
+License, and convey such a combined library under terms of your
+choice, if you do both of the following:
+
+   a) Accompany the combined library with a copy of the same work based
+   on the Library, uncombined with any other library facilities,
+   conveyed under the terms of this License.
+
+   b) Give prominent notice with the combined library that part of it
+   is a work based on the Library, and explaining where to find the
+   accompanying uncombined form of the same work.
+
+  6. Revised Versions of the GNU Lesser General Public License.
+
+  The Free Software Foundation may publish revised and/or new versions
+of the GNU Lesser General Public License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.
+
+  Each version is given a distinguishing version number. If the
+Library as you received it specifies that a certain numbered version
+of the GNU Lesser General Public License "or any later version"
+applies to it, you have the option of following the terms and
+conditions either of that published version or of any later version
+published by the Free Software Foundation. If the Library as you
+received it does not specify a version number of the GNU Lesser
+General Public License, you may choose any version of the GNU Lesser
+General Public License ever published by the Free Software Foundation.
+
+  If the Library as you received it specifies that a proxy can decide
+whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is
+permanent authorization for you to choose that version for the
+Library.

Різницю між файлами не показано, бо вона завелика
+ 3719 - 0
app/Lib/phpqrcode/QRcode.php


+ 61 - 0
app/Lib/phpqrcode/README

@@ -0,0 +1,61 @@
+This is PHP implementation of QR Code 2-D barcode generator. It is pure-php
+LGPL-licensed implementation based on C libqrencode by Kentaro Fukuchi.
+
+== UPDATE ==
+Added support for eps export
+Usage : QRcode::eps('arguments');
+
+Added support for SVG export
+Usage : QRcode::svg('arguments');
+
+Added support for color export :
+example : 
+$back_color = 0xFFFF00;
+$fore_color = 0xFF00FF;
+QRcode::png('some othertext 1234', false, 'h', 20, 1, false, $back_color, $fore_color);
+
+
+Copyright (C) 2012 by Alexandre Assouad 
+
+== LICENSING ==
+
+Copyright (C) 2010 by Dominik Dzienia 
+
+This library is free software; you can redistribute it and/or modify it under
+the terms of the GNU Lesser General Public License as published by the Free
+Software Foundation; either version 3 of the License, or any later version.
+
+This library is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU Lesser General Public License (LICENSE file)
+for more details.
+
+You should have received a copy of the GNU Lesser General Public License along
+with this library; if not, write to the Free Software Foundation, Inc., 51
+Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+== INSTALATION AND USAGE ==
+
+ * INSTALL file
+ * http://sourceforge.net/apps/mediawiki/phpqrcode/index.php?title=Main_Page
+
+== CONTACT ==
+
+Fell free to contact me via e-mail (deltalab at poczta dot fm) or using
+folowing project pages:
+
+ * http://sourceforge.net/projects/phpqrcode/
+ * http://phpqrcode.sourceforge.net/
+  
+== ACKNOWLEDGMENTS ==
+
+Based on C libqrencode library (ver. 3.1.1) 
+Copyright (C) 2006-2010 by Kentaro Fukuchi
+http://megaui.net/fukuchi/works/qrencode/index.en.html
+
+QR Code is registered trademarks of DENSO WAVE INCORPORATED in JAPAN and other
+countries.
+
+Reed-Solomon code encoder is written by Phil Karn, KA9Q.
+Copyright (C) 2002, 2003, 2004, 2006 Phil Karn, KA9Q
+ 

+ 2 - 0
app/Lib/phpqrcode/VERSION

@@ -0,0 +1,2 @@
+1.1.4
+2010100721

+ 2 - 2
app/Services/CityService.php

@@ -120,9 +120,9 @@ class CityService extends BaseService
             $pid = isset($v['pid'])? $v['pid'] : 0;
             if($pid == $parentId){
                 $children = $this->formatCity($datas, $id);
-                if($children){
+                //if($children){
                     $v['children'] = $children;
-                }
+                //}
                 $cityList[] = $v;
             }
         }

Різницю між файлами не показано, бо вона завелика
+ 108 - 9
app/Services/MemberService.php


+ 64 - 0
app/Services/QrcodeService.php

@@ -0,0 +1,64 @@
+<?php
+// +----------------------------------------------------------------------
+// | Laravel框架 [ Laravel ]
+// +----------------------------------------------------------------------
+// | 版权所有 2017~2021 Laravel研发中心
+// +----------------------------------------------------------------------
+// | 官方网站: http://www.laravel.cn
+// +----------------------------------------------------------------------
+// | Author: wesmiler <12345678@qq.com>
+// +----------------------------------------------------------------------
+
+namespace App\Services;
+
+use App\Models\LinkModel;
+use BaconQrCode\Encoder\QrCode;
+
+/**
+ * 二维码管理-服务类
+ * @author wesmiler
+ * @since 2020/11/11
+ * Class QrcodeService
+ * @package App\Services
+ */
+class QrcodeService extends BaseService
+{
+
+    protected static $instance = null;
+    /**
+     * 构造函数
+     * @author wesmiler
+     * @since 2020/11/11
+     * QrcodeService constructor.
+     */
+    public function __construct()
+    {
+
+    }
+
+    /**
+     * 静态入口
+     * @return QrcodeService|null
+     */
+    public static function make(){
+        if(!self::$instance){
+            self::$instance = new QrcodeService();
+        }
+        return self::$instance;
+    }
+
+    /**
+     * 生成自定义二维码
+     * @param $userId 用户ID
+     * @return false|string|\图片地址
+     */
+    public function makeQrcode($userId){
+        $path = 'img/qrcode/U_'.$userId.'_'.base64_encode($userId).'.png';
+        QrCode::format('png')->size(100)->encoding('UTF-8')->generate($userId,public_path($path));
+        if(file_exists(public_path($path))){
+            return get_image_url($path);
+        }else{
+            return false;
+        }
+    }
+}

+ 12 - 19
app/Services/WechatService.php

@@ -4,11 +4,7 @@ namespace App\Services;
 
 use App\Models\FansModel;
 use App\Models\MemberModel;
-use BaconQrCode\Renderer\Image\ImagickImageBackEnd;
-use BaconQrCode\Renderer\ImageRenderer;
-use BaconQrCode\Renderer\RendererStyle\RendererStyle;
-use BaconQrCode\Writer;
-use phpDocumentor\Reflection\Types\Self_;
+use phpQrcode\QRcode;
 use Symfony\Component\Console\Input\Input;
 use WeChatPay\Builder;
 use WeChatPay\Util\PemUtil;
@@ -1430,27 +1426,24 @@ class WechatService extends BaseService
      * @param bool $refresh 是否重新生成
      * @return bool
      */
-    public static function makeNormalQrcode($str, $refresh = false, $size = 8, $margin=2)
+    public static function makeNormalQrcode($str, $refresh = false, $logo='', $size = 3, $margin=0, $level=1)
     {
-        $qrFile = '/upload/qrcode/member/';
-        if (!is_dir($qrFile)) {
-            @mkdir('.' . $qrFile, 0755, true);
+        $qrFile = '/img/qrcode/';
+        if (!is_dir('/uploads'.$qrFile)) {
+            @mkdir('./uploads' . $qrFile, 0755, true);
         }
 
-        $qrFile = $qrFile . 'U_' . strtoupper(md5($str . '_' . $size)) . '.jpg';
-        if (is_file($qrFile) && !$refresh) {
-            return false;
+        $qrFile = $qrFile . 'U_' . strtoupper(md5($str . '_' . $size.$logo.$margin.$level)) . '.png';
+        $cacheKey = "caches:qrcodes:member_".md5($str);
+        if(RedisService::get($cacheKey) && is_file('/uploads'.$qrFile) && !$refresh){
+            return $qrFile;
         }
 
-        $renderer = new ImageRenderer(
-            new RendererStyle(360),
-            new ImagickImageBackEnd()
-        );
-        $writer = new Writer($renderer);
-        $writer->writeFile($str, $qrFile);
-        if(!file_exists('.'.$qrFile)){
+        QRcode::png($str, './uploads' . $qrFile, $level, $size, $margin);
+        if(!file_exists('./uploads'.$qrFile)){
             return false;
         }
+        RedisService::set($cacheKey, ['str'=> $str, 'qrcode'=> $qrFile,'date'=> date('Y-m-d H:i:s')], 7 * 24 * 3600);
         return $qrFile;
     }
 

BIN
public/uploads/img/20210803/610825884936a.jpg


BIN
public/uploads/img/20210803/6108258ef1907.jpg


BIN
public/uploads/img/20210803/6108265d551ec.jpeg


BIN
public/uploads/img/20210803/6108267eb6e5f.jpeg


BIN
public/uploads/img/20210803/6108269c94fa1.jpg


BIN
public/uploads/img/20210803/610826c1a0746.jpeg


BIN
public/uploads/img/20210803/6108274ed662e.jpg


BIN
public/uploads/img/20210803/6108e53bda612.jpg


BIN
public/uploads/img/20210803/6108e63baedc6.jpg


BIN
public/uploads/img/20210803/610909663ccf6.jpg


+ 3 - 0
routes/api.php

@@ -33,6 +33,7 @@ Route::post('/auth/weixin', [\App\Http\Controllers\Api\AuthController::class, 'c
 
 // 公共
 Route::post('/index/jssdk', [\App\Http\Controllers\Api\v1\IndexController::class, 'jssdk']);
+Route::post('/invite/params', [\App\Http\Controllers\Api\v1\IndexController::class, 'inviteParams']);
 Route::post('/city/list', [\App\Http\Controllers\Api\v1\IndexController::class, 'city']);
 Route::post('/upload/image', [\App\Http\Controllers\Api\UploadController::class, 'uploadImage']);
 
@@ -43,6 +44,8 @@ Route::any('/notify/refund/{scene}', [\App\Http\Controllers\Api\v1\NotifyControl
 
 // 用户
 Route::post('/member/info', [\App\Http\Controllers\Api\v1\MemberController::class, 'info']);
+Route::post('/member/save', [\App\Http\Controllers\Api\v1\MemberController::class, 'saveInfo']);
+
 
 // 寺院
 Route::post('/siyuan/list', [\App\Http\Controllers\Api\v1\SiyuanController::class, 'index']);

+ 28 - 0
vendor/composer/autoload_classmap.php

@@ -19,16 +19,23 @@ return array(
     'App\\Http\\Controllers\\Api\\AuthController' => $baseDir . '/app/Http/Controllers/Api/AuthController.php',
     'App\\Http\\Controllers\\Api\\BaseController' => $baseDir . '/app/Http/Controllers/Api/BaseController.php',
     'App\\Http\\Controllers\\Api\\TestController' => $baseDir . '/app/Http/Controllers/Api/TestController.php',
+    'App\\Http\\Controllers\\Api\\UploadController' => $baseDir . '/app/Http/Controllers/Api/UploadController.php',
     'App\\Http\\Controllers\\Api\\v1\\ActivityController' => $baseDir . '/app/Http/Controllers/Api/v1/ActivityController.php',
     'App\\Http\\Controllers\\Api\\v1\\GongdengController' => $baseDir . '/app/Http/Controllers/Api/v1/GongdengController.php',
+    'App\\Http\\Controllers\\Api\\v1\\IndexController' => $baseDir . '/app/Http/Controllers/Api/v1/IndexController.php',
     'App\\Http\\Controllers\\Api\\v1\\MemberController' => $baseDir . '/app/Http/Controllers/Api/v1/MemberController.php',
     'App\\Http\\Controllers\\Api\\v1\\NotifyController' => $baseDir . '/app/Http/Controllers/Api/v1/NotifyController.php',
+    'App\\Http\\Controllers\\Api\\v1\\OrderController' => $baseDir . '/app/Http/Controllers/Api/v1/OrderController.php',
+    'App\\Http\\Controllers\\Api\\v1\\RechargeController' => $baseDir . '/app/Http/Controllers/Api/v1/RechargeController.php',
     'App\\Http\\Controllers\\Api\\v1\\SiyuanController' => $baseDir . '/app/Http/Controllers/Api/v1/SiyuanController.php',
     'App\\Http\\Controllers\\ArticleBooksController' => $baseDir . '/app/Http/Controllers/ArticleBooksController.php',
     'App\\Http\\Controllers\\ArticleCatesController' => $baseDir . '/app/Http/Controllers/ArticleCatesController.php',
     'App\\Http\\Controllers\\ArticleController' => $baseDir . '/app/Http/Controllers/ArticleController.php',
     'App\\Http\\Controllers\\Backend' => $baseDir . '/app/Http/Controllers/Backend.php',
     'App\\Http\\Controllers\\BaseController' => $baseDir . '/app/Http/Controllers/BaseController.php',
+    'App\\Http\\Controllers\\BuddhistCatesController' => $baseDir . '/app/Http/Controllers/BuddhistCatesController.php',
+    'App\\Http\\Controllers\\BuddhistController' => $baseDir . '/app/Http/Controllers/BuddhistController.php',
+    'App\\Http\\Controllers\\BuddhistPagesController' => $baseDir . '/app/Http/Controllers/BuddhistPagesController.php',
     'App\\Http\\Controllers\\CityController' => $baseDir . '/app/Http/Controllers/CityController.php',
     'App\\Http\\Controllers\\ConfigController' => $baseDir . '/app/Http/Controllers/ConfigController.php',
     'App\\Http\\Controllers\\ConfigGroupController' => $baseDir . '/app/Http/Controllers/ConfigGroupController.php',
@@ -38,9 +45,11 @@ return array(
     'App\\Http\\Controllers\\DictController' => $baseDir . '/app/Http/Controllers/DictController.php',
     'App\\Http\\Controllers\\DictTypeController' => $baseDir . '/app/Http/Controllers/DictTypeController.php',
     'App\\Http\\Controllers\\DonatesController' => $baseDir . '/app/Http/Controllers/DonatesController.php',
+    'App\\Http\\Controllers\\EnshrineOrdersController' => $baseDir . '/app/Http/Controllers/EnshrineOrdersController.php',
     'App\\Http\\Controllers\\ExpressController' => $baseDir . '/app/Http/Controllers/ExpressController.php',
     'App\\Http\\Controllers\\GenerateController' => $baseDir . '/app/Http/Controllers/GenerateController.php',
     'App\\Http\\Controllers\\GongdengFoxiangController' => $baseDir . '/app/Http/Controllers/GongdengFoxiangController.php',
+    'App\\Http\\Controllers\\GongdengOrderController' => $baseDir . '/app/Http/Controllers/GongdengOrderController.php',
     'App\\Http\\Controllers\\GoodsCatesController' => $baseDir . '/app/Http/Controllers/GoodsCatesController.php',
     'App\\Http\\Controllers\\GoodsController' => $baseDir . '/app/Http/Controllers/GoodsController.php',
     'App\\Http\\Controllers\\IndexController' => $baseDir . '/app/Http/Controllers/IndexController.php',
@@ -76,6 +85,8 @@ return array(
     'App\\Http\\Controllers\\TradesController' => $baseDir . '/app/Http/Controllers/TradesController.php',
     'App\\Http\\Controllers\\UploadController' => $baseDir . '/app/Http/Controllers/UploadController.php',
     'App\\Http\\Controllers\\UserController' => $baseDir . '/app/Http/Controllers/UserController.php',
+    'App\\Http\\Controllers\\WorkBooksController' => $baseDir . '/app/Http/Controllers/WorkBooksController.php',
+    'App\\Http\\Controllers\\WorksController' => $baseDir . '/app/Http/Controllers/WorksController.php',
     'App\\Http\\Controllers\\YigongController' => $baseDir . '/app/Http/Controllers/YigongController.php',
     'App\\Http\\Kernel' => $baseDir . '/app/Http/Kernel.php',
     'App\\Http\\Middleware\\ActionLog' => $baseDir . '/app/Http/Middleware/ActionLog.php',
@@ -93,6 +104,8 @@ return array(
     'App\\Http\\Validator\\ActivityValidator' => $baseDir . '/app/Http/Validator/ActivityValidator.php',
     'App\\Http\\Validator\\BaseValidator' => $baseDir . '/app/Http/Validator/BaseValidator.php',
     'App\\Http\\Validator\\GongdengValidator' => $baseDir . '/app/Http/Validator/GongdengValidator.php',
+    'App\\Http\\Validator\\MemberValidator' => $baseDir . '/app/Http/Validator/MemberValidator.php',
+    'App\\Http\\Validator\\RechargeValidator' => $baseDir . '/app/Http/Validator/RechargeValidator.php',
     'App\\Http\\Validator\\TestValidator' => $baseDir . '/app/Http/Validator/TestValidator.php',
     'App\\Models\\ActionLogModel' => $baseDir . '/app/Models/ActionLogModel.php',
     'App\\Models\\ActivityBooksModel' => $baseDir . '/app/Models/ActivityBooksModel.php',
@@ -103,7 +116,11 @@ return array(
     'App\\Models\\ArticleBooksModel' => $baseDir . '/app/Models/ArticleBooksModel.php',
     'App\\Models\\ArticleCatesModel' => $baseDir . '/app/Models/ArticleCatesModel.php',
     'App\\Models\\ArticleModel' => $baseDir . '/app/Models/ArticleModel.php',
+    'App\\Models\\AwardModel' => $baseDir . '/app/Models/AwardModel.php',
     'App\\Models\\BaseModel' => $baseDir . '/app/Models/BaseModel.php',
+    'App\\Models\\BuddhistCatesModel' => $baseDir . '/app/Models/BuddhistCatesModel.php',
+    'App\\Models\\BuddhistModel' => $baseDir . '/app/Models/BuddhistModel.php',
+    'App\\Models\\BuddhistPagesModel' => $baseDir . '/app/Models/BuddhistPagesModel.php',
     'App\\Models\\CacheModel' => $baseDir . '/app/Models/CacheModel.php',
     'App\\Models\\CityModel' => $baseDir . '/app/Models/CityModel.php',
     'App\\Models\\ConfigGroupModel' => $baseDir . '/app/Models/ConfigGroupModel.php',
@@ -113,6 +130,7 @@ return array(
     'App\\Models\\DictModel' => $baseDir . '/app/Models/DictModel.php',
     'App\\Models\\DictTypeModel' => $baseDir . '/app/Models/DictTypeModel.php',
     'App\\Models\\DonateModel' => $baseDir . '/app/Models/DonateModel.php',
+    'App\\Models\\EnshrineOrdersModel' => $baseDir . '/app/Models/EnshrineOrdersModel.php',
     'App\\Models\\ExpressModel' => $baseDir . '/app/Models/ExpressModel.php',
     'App\\Models\\FansModel' => $baseDir . '/app/Models/FansModel.php',
     'App\\Models\\GongdengFoxiangModel' => $baseDir . '/app/Models/GongdengFoxiangModel.php',
@@ -126,6 +144,7 @@ return array(
     'App\\Models\\LayoutModel' => $baseDir . '/app/Models/LayoutModel.php',
     'App\\Models\\LevelModel' => $baseDir . '/app/Models/LevelModel.php',
     'App\\Models\\LinkModel' => $baseDir . '/app/Models/LinkModel.php',
+    'App\\Models\\LotteryModel' => $baseDir . '/app/Models/LotteryModel.php',
     'App\\Models\\MecryModel' => $baseDir . '/app/Models/MecryModel.php',
     'App\\Models\\MemberCatesModel' => $baseDir . '/app/Models/MemberCatesModel.php',
     'App\\Models\\MemberLevelModel' => $baseDir . '/app/Models/MemberLevelModel.php',
@@ -151,6 +170,8 @@ return array(
     'App\\Models\\User' => $baseDir . '/app/Models/User.php',
     'App\\Models\\UserModel' => $baseDir . '/app/Models/UserModel.php',
     'App\\Models\\UserRoleModel' => $baseDir . '/app/Models/UserRoleModel.php',
+    'App\\Models\\WorkBooksModel' => $baseDir . '/app/Models/WorkBooksModel.php',
+    'App\\Models\\WorkModel' => $baseDir . '/app/Models/WorkModel.php',
     'App\\Models\\YigongModel' => $baseDir . '/app/Models/YigongModel.php',
     'App\\Providers\\AppServiceProvider' => $baseDir . '/app/Providers/AppServiceProvider.php',
     'App\\Providers\\AuthServiceProvider' => $baseDir . '/app/Providers/AuthServiceProvider.php',
@@ -167,6 +188,9 @@ return array(
     'App\\Services\\ArticleCatesService' => $baseDir . '/app/Services/ArticleCatesService.php',
     'App\\Services\\ArticleService' => $baseDir . '/app/Services/ArticleService.php',
     'App\\Services\\BaseService' => $baseDir . '/app/Services/BaseService.php',
+    'App\\Services\\BuddhistCatesService' => $baseDir . '/app/Services/BuddhistCatesService.php',
+    'App\\Services\\BuddhistPagesService' => $baseDir . '/app/Services/BuddhistPagesService.php',
+    'App\\Services\\BuddhistService' => $baseDir . '/app/Services/BuddhistService.php',
     'App\\Services\\CityService' => $baseDir . '/app/Services/CityService.php',
     'App\\Services\\ConfigGroupService' => $baseDir . '/app/Services/ConfigGroupService.php',
     'App\\Services\\ConfigService' => $baseDir . '/app/Services/ConfigService.php',
@@ -175,6 +199,7 @@ return array(
     'App\\Services\\DictService' => $baseDir . '/app/Services/DictService.php',
     'App\\Services\\DictTypeService' => $baseDir . '/app/Services/DictTypeService.php',
     'App\\Services\\DonateService' => $baseDir . '/app/Services/DonateService.php',
+    'App\\Services\\EnshrineOrdersService' => $baseDir . '/app/Services/EnshrineOrdersService.php',
     'App\\Services\\ExpressService' => $baseDir . '/app/Services/ExpressService.php',
     'App\\Services\\GenerateService' => $baseDir . '/app/Services/GenerateService.php',
     'App\\Services\\GongdengFoxiangService' => $baseDir . '/app/Services/GongdengFoxiangService.php',
@@ -202,6 +227,7 @@ return array(
     'App\\Services\\OfferingsService' => $baseDir . '/app/Services/OfferingsService.php',
     'App\\Services\\OrdersService' => $baseDir . '/app/Services/OrdersService.php',
     'App\\Services\\PositionService' => $baseDir . '/app/Services/PositionService.php',
+    'App\\Services\\QrcodeService' => $baseDir . '/app/Services/QrcodeService.php',
     'App\\Services\\RechargeService' => $baseDir . '/app/Services/RechargeService.php',
     'App\\Services\\RedisService' => $baseDir . '/app/Services/RedisService.php',
     'App\\Services\\RoleMenuService' => $baseDir . '/app/Services/RoleMenuService.php',
@@ -217,6 +243,8 @@ return array(
     'App\\Services\\UserRoleService' => $baseDir . '/app/Services/UserRoleService.php',
     'App\\Services\\UserService' => $baseDir . '/app/Services/UserService.php',
     'App\\Services\\WechatService' => $baseDir . '/app/Services/WechatService.php',
+    'App\\Services\\WorkBooksService' => $baseDir . '/app/Services/WorkBooksService.php',
+    'App\\Services\\WorkService' => $baseDir . '/app/Services/WorkService.php',
     'App\\Services\\YigongService' => $baseDir . '/app/Services/YigongService.php',
     'Asm89\\Stack\\Cors' => $vendorDir . '/asm89/stack-cors/src/Cors.php',
     'Asm89\\Stack\\CorsService' => $vendorDir . '/asm89/stack-cors/src/CorsService.php',

+ 1 - 0
vendor/composer/autoload_files.php

@@ -96,4 +96,5 @@ return array(
     '08ee81e4c49120d85f2d008418063b3c' => $baseDir . '/app/Helpers/common.php',
     '52f761907697a3c33c9a4d3c6cb760d4' => $baseDir . '/app/Helpers/function.php',
     '59d59b5f40ac6fcf2762ef7de86503c0' => $baseDir . '/app/Helpers/constants.php',
+    'e09eb6d14eb72270192465370b7bec8e' => $baseDir . '/app/Lib/phpqrcode/QRcode.php',
 );

+ 29 - 0
vendor/composer/autoload_static.php

@@ -97,6 +97,7 @@ class ComposerStaticInit1a9b1e9644d804e0a8b273eb5675a9b4
         '08ee81e4c49120d85f2d008418063b3c' => __DIR__ . '/../..' . '/app/Helpers/common.php',
         '52f761907697a3c33c9a4d3c6cb760d4' => __DIR__ . '/../..' . '/app/Helpers/function.php',
         '59d59b5f40ac6fcf2762ef7de86503c0' => __DIR__ . '/../..' . '/app/Helpers/constants.php',
+        'e09eb6d14eb72270192465370b7bec8e' => __DIR__ . '/../..' . '/app/Lib/phpqrcode/QRcode.php',
     );
 
     public static $prefixLengthsPsr4 = array (
@@ -648,16 +649,23 @@ class ComposerStaticInit1a9b1e9644d804e0a8b273eb5675a9b4
         'App\\Http\\Controllers\\Api\\AuthController' => __DIR__ . '/../..' . '/app/Http/Controllers/Api/AuthController.php',
         'App\\Http\\Controllers\\Api\\BaseController' => __DIR__ . '/../..' . '/app/Http/Controllers/Api/BaseController.php',
         'App\\Http\\Controllers\\Api\\TestController' => __DIR__ . '/../..' . '/app/Http/Controllers/Api/TestController.php',
+        'App\\Http\\Controllers\\Api\\UploadController' => __DIR__ . '/../..' . '/app/Http/Controllers/Api/UploadController.php',
         'App\\Http\\Controllers\\Api\\v1\\ActivityController' => __DIR__ . '/../..' . '/app/Http/Controllers/Api/v1/ActivityController.php',
         'App\\Http\\Controllers\\Api\\v1\\GongdengController' => __DIR__ . '/../..' . '/app/Http/Controllers/Api/v1/GongdengController.php',
+        'App\\Http\\Controllers\\Api\\v1\\IndexController' => __DIR__ . '/../..' . '/app/Http/Controllers/Api/v1/IndexController.php',
         'App\\Http\\Controllers\\Api\\v1\\MemberController' => __DIR__ . '/../..' . '/app/Http/Controllers/Api/v1/MemberController.php',
         'App\\Http\\Controllers\\Api\\v1\\NotifyController' => __DIR__ . '/../..' . '/app/Http/Controllers/Api/v1/NotifyController.php',
+        'App\\Http\\Controllers\\Api\\v1\\OrderController' => __DIR__ . '/../..' . '/app/Http/Controllers/Api/v1/OrderController.php',
+        'App\\Http\\Controllers\\Api\\v1\\RechargeController' => __DIR__ . '/../..' . '/app/Http/Controllers/Api/v1/RechargeController.php',
         'App\\Http\\Controllers\\Api\\v1\\SiyuanController' => __DIR__ . '/../..' . '/app/Http/Controllers/Api/v1/SiyuanController.php',
         'App\\Http\\Controllers\\ArticleBooksController' => __DIR__ . '/../..' . '/app/Http/Controllers/ArticleBooksController.php',
         'App\\Http\\Controllers\\ArticleCatesController' => __DIR__ . '/../..' . '/app/Http/Controllers/ArticleCatesController.php',
         'App\\Http\\Controllers\\ArticleController' => __DIR__ . '/../..' . '/app/Http/Controllers/ArticleController.php',
         'App\\Http\\Controllers\\Backend' => __DIR__ . '/../..' . '/app/Http/Controllers/Backend.php',
         'App\\Http\\Controllers\\BaseController' => __DIR__ . '/../..' . '/app/Http/Controllers/BaseController.php',
+        'App\\Http\\Controllers\\BuddhistCatesController' => __DIR__ . '/../..' . '/app/Http/Controllers/BuddhistCatesController.php',
+        'App\\Http\\Controllers\\BuddhistController' => __DIR__ . '/../..' . '/app/Http/Controllers/BuddhistController.php',
+        'App\\Http\\Controllers\\BuddhistPagesController' => __DIR__ . '/../..' . '/app/Http/Controllers/BuddhistPagesController.php',
         'App\\Http\\Controllers\\CityController' => __DIR__ . '/../..' . '/app/Http/Controllers/CityController.php',
         'App\\Http\\Controllers\\ConfigController' => __DIR__ . '/../..' . '/app/Http/Controllers/ConfigController.php',
         'App\\Http\\Controllers\\ConfigGroupController' => __DIR__ . '/../..' . '/app/Http/Controllers/ConfigGroupController.php',
@@ -667,9 +675,11 @@ class ComposerStaticInit1a9b1e9644d804e0a8b273eb5675a9b4
         'App\\Http\\Controllers\\DictController' => __DIR__ . '/../..' . '/app/Http/Controllers/DictController.php',
         'App\\Http\\Controllers\\DictTypeController' => __DIR__ . '/../..' . '/app/Http/Controllers/DictTypeController.php',
         'App\\Http\\Controllers\\DonatesController' => __DIR__ . '/../..' . '/app/Http/Controllers/DonatesController.php',
+        'App\\Http\\Controllers\\EnshrineOrdersController' => __DIR__ . '/../..' . '/app/Http/Controllers/EnshrineOrdersController.php',
         'App\\Http\\Controllers\\ExpressController' => __DIR__ . '/../..' . '/app/Http/Controllers/ExpressController.php',
         'App\\Http\\Controllers\\GenerateController' => __DIR__ . '/../..' . '/app/Http/Controllers/GenerateController.php',
         'App\\Http\\Controllers\\GongdengFoxiangController' => __DIR__ . '/../..' . '/app/Http/Controllers/GongdengFoxiangController.php',
+        'App\\Http\\Controllers\\GongdengOrderController' => __DIR__ . '/../..' . '/app/Http/Controllers/GongdengOrderController.php',
         'App\\Http\\Controllers\\GoodsCatesController' => __DIR__ . '/../..' . '/app/Http/Controllers/GoodsCatesController.php',
         'App\\Http\\Controllers\\GoodsController' => __DIR__ . '/../..' . '/app/Http/Controllers/GoodsController.php',
         'App\\Http\\Controllers\\IndexController' => __DIR__ . '/../..' . '/app/Http/Controllers/IndexController.php',
@@ -705,6 +715,8 @@ class ComposerStaticInit1a9b1e9644d804e0a8b273eb5675a9b4
         'App\\Http\\Controllers\\TradesController' => __DIR__ . '/../..' . '/app/Http/Controllers/TradesController.php',
         'App\\Http\\Controllers\\UploadController' => __DIR__ . '/../..' . '/app/Http/Controllers/UploadController.php',
         'App\\Http\\Controllers\\UserController' => __DIR__ . '/../..' . '/app/Http/Controllers/UserController.php',
+        'App\\Http\\Controllers\\WorkBooksController' => __DIR__ . '/../..' . '/app/Http/Controllers/WorkBooksController.php',
+        'App\\Http\\Controllers\\WorksController' => __DIR__ . '/../..' . '/app/Http/Controllers/WorksController.php',
         'App\\Http\\Controllers\\YigongController' => __DIR__ . '/../..' . '/app/Http/Controllers/YigongController.php',
         'App\\Http\\Kernel' => __DIR__ . '/../..' . '/app/Http/Kernel.php',
         'App\\Http\\Middleware\\ActionLog' => __DIR__ . '/../..' . '/app/Http/Middleware/ActionLog.php',
@@ -722,6 +734,8 @@ class ComposerStaticInit1a9b1e9644d804e0a8b273eb5675a9b4
         'App\\Http\\Validator\\ActivityValidator' => __DIR__ . '/../..' . '/app/Http/Validator/ActivityValidator.php',
         'App\\Http\\Validator\\BaseValidator' => __DIR__ . '/../..' . '/app/Http/Validator/BaseValidator.php',
         'App\\Http\\Validator\\GongdengValidator' => __DIR__ . '/../..' . '/app/Http/Validator/GongdengValidator.php',
+        'App\\Http\\Validator\\MemberValidator' => __DIR__ . '/../..' . '/app/Http/Validator/MemberValidator.php',
+        'App\\Http\\Validator\\RechargeValidator' => __DIR__ . '/../..' . '/app/Http/Validator/RechargeValidator.php',
         'App\\Http\\Validator\\TestValidator' => __DIR__ . '/../..' . '/app/Http/Validator/TestValidator.php',
         'App\\Models\\ActionLogModel' => __DIR__ . '/../..' . '/app/Models/ActionLogModel.php',
         'App\\Models\\ActivityBooksModel' => __DIR__ . '/../..' . '/app/Models/ActivityBooksModel.php',
@@ -732,7 +746,11 @@ class ComposerStaticInit1a9b1e9644d804e0a8b273eb5675a9b4
         'App\\Models\\ArticleBooksModel' => __DIR__ . '/../..' . '/app/Models/ArticleBooksModel.php',
         'App\\Models\\ArticleCatesModel' => __DIR__ . '/../..' . '/app/Models/ArticleCatesModel.php',
         'App\\Models\\ArticleModel' => __DIR__ . '/../..' . '/app/Models/ArticleModel.php',
+        'App\\Models\\AwardModel' => __DIR__ . '/../..' . '/app/Models/AwardModel.php',
         'App\\Models\\BaseModel' => __DIR__ . '/../..' . '/app/Models/BaseModel.php',
+        'App\\Models\\BuddhistCatesModel' => __DIR__ . '/../..' . '/app/Models/BuddhistCatesModel.php',
+        'App\\Models\\BuddhistModel' => __DIR__ . '/../..' . '/app/Models/BuddhistModel.php',
+        'App\\Models\\BuddhistPagesModel' => __DIR__ . '/../..' . '/app/Models/BuddhistPagesModel.php',
         'App\\Models\\CacheModel' => __DIR__ . '/../..' . '/app/Models/CacheModel.php',
         'App\\Models\\CityModel' => __DIR__ . '/../..' . '/app/Models/CityModel.php',
         'App\\Models\\ConfigGroupModel' => __DIR__ . '/../..' . '/app/Models/ConfigGroupModel.php',
@@ -742,6 +760,7 @@ class ComposerStaticInit1a9b1e9644d804e0a8b273eb5675a9b4
         'App\\Models\\DictModel' => __DIR__ . '/../..' . '/app/Models/DictModel.php',
         'App\\Models\\DictTypeModel' => __DIR__ . '/../..' . '/app/Models/DictTypeModel.php',
         'App\\Models\\DonateModel' => __DIR__ . '/../..' . '/app/Models/DonateModel.php',
+        'App\\Models\\EnshrineOrdersModel' => __DIR__ . '/../..' . '/app/Models/EnshrineOrdersModel.php',
         'App\\Models\\ExpressModel' => __DIR__ . '/../..' . '/app/Models/ExpressModel.php',
         'App\\Models\\FansModel' => __DIR__ . '/../..' . '/app/Models/FansModel.php',
         'App\\Models\\GongdengFoxiangModel' => __DIR__ . '/../..' . '/app/Models/GongdengFoxiangModel.php',
@@ -755,6 +774,7 @@ class ComposerStaticInit1a9b1e9644d804e0a8b273eb5675a9b4
         'App\\Models\\LayoutModel' => __DIR__ . '/../..' . '/app/Models/LayoutModel.php',
         'App\\Models\\LevelModel' => __DIR__ . '/../..' . '/app/Models/LevelModel.php',
         'App\\Models\\LinkModel' => __DIR__ . '/../..' . '/app/Models/LinkModel.php',
+        'App\\Models\\LotteryModel' => __DIR__ . '/../..' . '/app/Models/LotteryModel.php',
         'App\\Models\\MecryModel' => __DIR__ . '/../..' . '/app/Models/MecryModel.php',
         'App\\Models\\MemberCatesModel' => __DIR__ . '/../..' . '/app/Models/MemberCatesModel.php',
         'App\\Models\\MemberLevelModel' => __DIR__ . '/../..' . '/app/Models/MemberLevelModel.php',
@@ -780,6 +800,8 @@ class ComposerStaticInit1a9b1e9644d804e0a8b273eb5675a9b4
         'App\\Models\\User' => __DIR__ . '/../..' . '/app/Models/User.php',
         'App\\Models\\UserModel' => __DIR__ . '/../..' . '/app/Models/UserModel.php',
         'App\\Models\\UserRoleModel' => __DIR__ . '/../..' . '/app/Models/UserRoleModel.php',
+        'App\\Models\\WorkBooksModel' => __DIR__ . '/../..' . '/app/Models/WorkBooksModel.php',
+        'App\\Models\\WorkModel' => __DIR__ . '/../..' . '/app/Models/WorkModel.php',
         'App\\Models\\YigongModel' => __DIR__ . '/../..' . '/app/Models/YigongModel.php',
         'App\\Providers\\AppServiceProvider' => __DIR__ . '/../..' . '/app/Providers/AppServiceProvider.php',
         'App\\Providers\\AuthServiceProvider' => __DIR__ . '/../..' . '/app/Providers/AuthServiceProvider.php',
@@ -796,6 +818,9 @@ class ComposerStaticInit1a9b1e9644d804e0a8b273eb5675a9b4
         'App\\Services\\ArticleCatesService' => __DIR__ . '/../..' . '/app/Services/ArticleCatesService.php',
         'App\\Services\\ArticleService' => __DIR__ . '/../..' . '/app/Services/ArticleService.php',
         'App\\Services\\BaseService' => __DIR__ . '/../..' . '/app/Services/BaseService.php',
+        'App\\Services\\BuddhistCatesService' => __DIR__ . '/../..' . '/app/Services/BuddhistCatesService.php',
+        'App\\Services\\BuddhistPagesService' => __DIR__ . '/../..' . '/app/Services/BuddhistPagesService.php',
+        'App\\Services\\BuddhistService' => __DIR__ . '/../..' . '/app/Services/BuddhistService.php',
         'App\\Services\\CityService' => __DIR__ . '/../..' . '/app/Services/CityService.php',
         'App\\Services\\ConfigGroupService' => __DIR__ . '/../..' . '/app/Services/ConfigGroupService.php',
         'App\\Services\\ConfigService' => __DIR__ . '/../..' . '/app/Services/ConfigService.php',
@@ -804,6 +829,7 @@ class ComposerStaticInit1a9b1e9644d804e0a8b273eb5675a9b4
         'App\\Services\\DictService' => __DIR__ . '/../..' . '/app/Services/DictService.php',
         'App\\Services\\DictTypeService' => __DIR__ . '/../..' . '/app/Services/DictTypeService.php',
         'App\\Services\\DonateService' => __DIR__ . '/../..' . '/app/Services/DonateService.php',
+        'App\\Services\\EnshrineOrdersService' => __DIR__ . '/../..' . '/app/Services/EnshrineOrdersService.php',
         'App\\Services\\ExpressService' => __DIR__ . '/../..' . '/app/Services/ExpressService.php',
         'App\\Services\\GenerateService' => __DIR__ . '/../..' . '/app/Services/GenerateService.php',
         'App\\Services\\GongdengFoxiangService' => __DIR__ . '/../..' . '/app/Services/GongdengFoxiangService.php',
@@ -831,6 +857,7 @@ class ComposerStaticInit1a9b1e9644d804e0a8b273eb5675a9b4
         'App\\Services\\OfferingsService' => __DIR__ . '/../..' . '/app/Services/OfferingsService.php',
         'App\\Services\\OrdersService' => __DIR__ . '/../..' . '/app/Services/OrdersService.php',
         'App\\Services\\PositionService' => __DIR__ . '/../..' . '/app/Services/PositionService.php',
+        'App\\Services\\QrcodeService' => __DIR__ . '/../..' . '/app/Services/QrcodeService.php',
         'App\\Services\\RechargeService' => __DIR__ . '/../..' . '/app/Services/RechargeService.php',
         'App\\Services\\RedisService' => __DIR__ . '/../..' . '/app/Services/RedisService.php',
         'App\\Services\\RoleMenuService' => __DIR__ . '/../..' . '/app/Services/RoleMenuService.php',
@@ -846,6 +873,8 @@ class ComposerStaticInit1a9b1e9644d804e0a8b273eb5675a9b4
         'App\\Services\\UserRoleService' => __DIR__ . '/../..' . '/app/Services/UserRoleService.php',
         'App\\Services\\UserService' => __DIR__ . '/../..' . '/app/Services/UserService.php',
         'App\\Services\\WechatService' => __DIR__ . '/../..' . '/app/Services/WechatService.php',
+        'App\\Services\\WorkBooksService' => __DIR__ . '/../..' . '/app/Services/WorkBooksService.php',
+        'App\\Services\\WorkService' => __DIR__ . '/../..' . '/app/Services/WorkService.php',
         'App\\Services\\YigongService' => __DIR__ . '/../..' . '/app/Services/YigongService.php',
         'Asm89\\Stack\\Cors' => __DIR__ . '/..' . '/asm89/stack-cors/src/Cors.php',
         'Asm89\\Stack\\CorsService' => __DIR__ . '/..' . '/asm89/stack-cors/src/CorsService.php',