| xqd
@@ -0,0 +1,136 @@
|
|
|
+<?php
|
|
|
+/**
|
|
|
+ * Created by PhpStorm.
|
|
|
+ * User: zilongs
|
|
|
+ * Date: 20-9-23
|
|
|
+ * Time: 上午11:26
|
|
|
+ */
|
|
|
+
|
|
|
+namespace App\Http\Controllers\Api\V1;
|
|
|
+
|
|
|
+use App\Http\Controllers\Controller;
|
|
|
+use App\Models\User;
|
|
|
+use EasyWeChat\Factory;
|
|
|
+
|
|
|
+class CommonController extends Controller
|
|
|
+{
|
|
|
+ public function wxLogin()
|
|
|
+ {
|
|
|
+ $req = request()->post();
|
|
|
+ $this->validate(request(), [
|
|
|
+ 'wechat_code' => 'required',
|
|
|
+ 'nickname|昵称' => 'max:50',
|
|
|
+ 'avatar|头像' => 'url',
|
|
|
+ ]);
|
|
|
+ $app = Factory::miniProgram(config('config.wechat_small_program'));
|
|
|
+
|
|
|
+ $data = $app->auth->session($req['wechat_code']);
|
|
|
+
|
|
|
+ if (!empty($data['openid'])){
|
|
|
+ $req['openid'] = $data['openid'];
|
|
|
+ $req['register_time'] = time();
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ trace(['微信登录获取openid异常' => $data], 'error');
|
|
|
+ return out(null, 10001, '微信登录code错误');
|
|
|
+ }
|
|
|
+
|
|
|
+ $user = User::select(['id', 'status', 'phone', 'nickname', 'avatar','realname','promoter_type'])->where('openid', $req['openid'])->first();
|
|
|
+ if (empty($user)){
|
|
|
+ $req['partner_id'] = 1;//默认总部
|
|
|
+ $req['province_id'] = 2;//默认总部
|
|
|
+ $req['city_id'] = 37;//默认总部
|
|
|
+ $res = User::create($req);
|
|
|
+ if ($res){
|
|
|
+ $user = User::select(['id', 'status', 'phone', 'nickname', 'avatar','realname','promoter_type'])->where('openid', $req['openid'])->first();
|
|
|
+ $token = aes_encrypt(['id' => $user['id'], 'time' => time()]);
|
|
|
+ return out(['token' => $token, 'is_auth' => 1, 'avatar' => $user['avatar'], 'nickname' => $user['nickname'],'realname' => $user['realname'],'promoter_type'=>$user['promoter_type']]);
|
|
|
+ }
|
|
|
+ return out(['token' => '', 'is_auth' => 0, 'avatar' => '', 'nickname' => '']);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ if ($user['status'] == 0){
|
|
|
+ return out(null, 10001, '账号已被冻结');
|
|
|
+ }
|
|
|
+ if (!empty($data['session_key'])){
|
|
|
+ $req['session_key']=$data['session_key'];
|
|
|
+ $user->fill($req)->save();
|
|
|
+ }
|
|
|
+
|
|
|
+ $token = aes_encrypt(['id' => $user['id'], 'time' => time()]);
|
|
|
+
|
|
|
+ return out(['token' => $token, 'is_auth' => 1, 'avatar' => $user['avatar'], 'nickname' => $user['nickname'],'realname' => $user['realname'],'promoter_type'=>$user['promoter_type']]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public function uploadImg()
|
|
|
+ {
|
|
|
+ $file = request()->file('file');
|
|
|
+ if (!empty($file)) {
|
|
|
+ $path = $file->store('uploads');
|
|
|
+ $file_url = request()->getScheme().'://'.request()->getHost().'/'.$path;
|
|
|
+
|
|
|
+ return out(['file_url' => $file_url]);
|
|
|
+ }
|
|
|
+
|
|
|
+ return out(null, 10001, '文件不能为空');
|
|
|
+ }
|
|
|
+
|
|
|
+ public function getPhoneNumber()
|
|
|
+ {
|
|
|
+ $req = request()->post();
|
|
|
+ $this->validate(request(), [
|
|
|
+ 'iv' => 'required',
|
|
|
+ 'encryptData' => 'required',
|
|
|
+ ]);
|
|
|
+
|
|
|
+ $user = User::getUserByToken();
|
|
|
+ $session_key = $user['session_key'];
|
|
|
+
|
|
|
+ $app = Factory::miniProgram(config('config.wechat_small_program'));
|
|
|
+
|
|
|
+ try {
|
|
|
+ $decryptedData = $app->encryptor->decryptData($session_key, $req['iv'], $req['encryptData']);
|
|
|
+ } catch (\Exception $e) {
|
|
|
+ return out(null, 10001, '获取手机失败');
|
|
|
+ }
|
|
|
+
|
|
|
+ return out($decryptedData);
|
|
|
+ }
|
|
|
+
|
|
|
+ public function doc()
|
|
|
+ {
|
|
|
+ $database = 'juyin';
|
|
|
+ $prefix = 'xcx_';
|
|
|
+ $map1 = [
|
|
|
+ 'users' => 'user(用户表)',
|
|
|
+ 'user_reports' => 'user_report(用户上传的报告表)',
|
|
|
+ 'payments' => 'payment(支付表)',
|
|
|
+ 'user_promotes' => 'user_promote(用户推广信息表)',
|
|
|
+ ];
|
|
|
+
|
|
|
+ $data1 = array();
|
|
|
+ foreach ($map1 as $k => $v){
|
|
|
+ $sql = "select COLUMN_NAME name, DATA_TYPE type, COLUMN_COMMENT comment from INFORMATION_SCHEMA.COLUMNS where table_schema = '".$database."' AND table_name = '".$prefix.$k."'";
|
|
|
+ $comment = \DB::select($sql);
|
|
|
+ $data1[$v] = $comment;
|
|
|
+ }
|
|
|
+
|
|
|
+ $map2 = [
|
|
|
+ 'orders' => 'order(订单表)',
|
|
|
+ 'order_projects' => 'order_project(订单项目表)',
|
|
|
+ 'assessment_reports' => 'assessment_reports(评估报告表)',
|
|
|
+ 'user_withdraw_records' => 'user_withdraw_record(用户提现记录表)',
|
|
|
+ 'user_balance_logs' => 'user_balance_log(用户资金日志表)'
|
|
|
+ ];
|
|
|
+
|
|
|
+ $data2 = array();
|
|
|
+ foreach ($map2 as $k => $v){
|
|
|
+ $sql = "select COLUMN_NAME name, DATA_TYPE type, COLUMN_COMMENT comment from INFORMATION_SCHEMA.COLUMNS where table_schema = '".$database."' AND table_name = '".$prefix.$k."'";
|
|
|
+ $comment = \DB::select($sql);
|
|
|
+ $data2[$v] = $comment;
|
|
|
+ }
|
|
|
+
|
|
|
+ return view('doc', ['data1' => $data1, 'data2' => $data2]);
|
|
|
+ }
|
|
|
+}
|