| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213 |
- <?php
- namespace App\Http\Controllers;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Redis;
- class AccountController extends Controller
- {
- //
- // 获取用户信息
- public function userinfo(Request $request) {
- //
- $user = unserialize($request->get("account"));
- //
- $status = 2; // 1:未验证 2:已登录
- $code = '';
- if(!$user->uid) {
- $status = 1;
- $code = Redis::get("auth_aid:{$user->id}");
- }
- // 获取用户当前保存得皮肤
- $attire = \App\Models\FittingRoom::where("account_id",$user->id)->where("curr_save", 1)->whereHas('attire', function($q){
- $q->whereIn('cate', ['皮肤','套装']);
- })->with(['attire'])->first();
- //
- //
- $currImg1 = \Storage::disk('cosv5')->url($attire->attire->img_1);
- $currImg2 = \Storage::disk('cosv5')->url($attire->attire->img_2);
- //
- $newTeach = \App\Models\Resource::where("name","new_teach")->value("src");
- // 获取二维码的图片
- $rqcode = \App\Models\Resource::where("name", "qr_code")->value("src");
- //
- $datas = \App\Models\Config::whereNotIn("key", ['box_level_percent','box_level_paster','coupon_configs'])->get(['key','val','val1','type'])->toArray();
- foreach($datas as &$v) {
- if($v['type'] == 1) {
- $v['val'] = $v['val1'];
- }
- unset($v['val1']);
- }
- //
- return [
- 'errno'=> 10000,
- "errmsg" => 'ok',
- 'data' => [
- 'username' => $user->username,
- 'avatar' => config("filesystems.disks.cosv5.url") . '/'.$user->avatar,
- 'coupon' => $user->coupon,
- 'paster' => $user->paster,
- 'session' => $user->session,
- 'curr_attire_img1' => $currImg1,
- 'curr_attire_img2' => $currImg2,
- 'code' => $code,
- 'status' => $status,
- "assets" => [
- 'new_teach' => \Storage::disk('cosv5')->url($newTeach),
- 'qr_code' => \Storage::disk('cosv5')->url($rqcode),
- ],
- 'configs' => array_column($datas, 'val','key'),
- ],
- ];
- }
- // 刷新验证码
- public function refreshCode(Request $request) {
- //
- $user = unserialize($request->get("account"));
- if($user->uid) {
- return [
- 'errno'=> 10001,
- "errmsg" => '用户已验证,无需生成验证码',
- ];
- }
- //
- while(true) {
- $code = mt_rand(100001,999999);
- $tmp = Redis::get("auth_code:{$code}");
- if(!$tmp) {
- break;
- }
- }
- //
- Redis::set("auth_aid:{$user->id}", $code);
- Redis::expire("auth_aid:{$user->id}", 12 * 60);
- Redis::set("auth_code:{$code}", $user->id);
- Redis::expire("auth_code:{$code}", 12 * 60);
- //
- return [
- 'errno'=> 10000,
- "errmsg" => 'ok',
- 'data' => [
- 'code' => $code,
- ],
- ];
- }
- // 上传分享的图片
- public function upload(Request $request) {
- //
- $user = unserialize($request->get("account"));
- //
- $image = $request->get('img'); // your base64 encoded
- $image = str_replace('data:image/png;base64,', '', $image);
- $image = str_replace(' ', '+', $image);
- $imagePath= 'share/'.\Str::random(10) . '.png';
- \Storage::disk('admin')->put($imagePath, base64_decode($image));
- //
- // $path = $request->file("img")->store('share','admin');
- //
- // return \Storage::disk('admin')->download($imagePath);
- //
- return [
- 'errno'=> 10000,
- "errmsg" => 'ok',
- 'data' => [
- 'url' => \Storage::disk('cosv5')->url($imagePath),
- ],
- ];
- }
- // 客户端要用
- public function attire(Request $request) {
- //
- $uid = $request->input("uid","");
- $token = $request->input("token","");
- //
- if(!$uid) {
- return [
- 'errno'=> 10001,
- "errmsg" => 'uid错误, 不能为空',
- ];
- }
- if(!$token || $token != 'e55a4f01f5fcd56f0ddef7b078b5b2cc') {
- return [
- 'errno'=> 10002,
- "errmsg" => 'token错误',
- ];
- }
- //
- $account = \App\Models\Account::where("uid",$uid)->first();
- if(!$account) {
- return [
- 'errno'=> 10003,
- "errmsg" => 'uid错误',
- ];
- }
- // 查找用户上传的皮肤
- $attire = \App\Models\FittingRoom::where("account_id", $account->id)
- ->where("curr_upload",1)
- ->with("attire")
- ->get();
- //
- $ret = [];
- foreach($attire as $v) {
- if(isset($v['attire']) && $v['attire']) {
- $ret[] = [
- 'id' => $v['attire_id'],
- 'cate' => $v['attire']['cate'],
- 'level' => $v['attire']['level'],
- ];
- }
-
- }
- return [
- 'errno'=> 10000,
- "errmsg" => 'ok',
- 'data' => $ret,
- ];
- }
- //
- public function todo(Request $request) {
- //
- $user = unserialize($request->get("account"));
- //
- $user->uid = 1;
- $user->save();
- //
- $status = 2; // 1:未验证 2:已登录
- $code = '';
- // 获取用户当前保存得皮肤
- $attire = \App\Models\FittingRoom::where("account_id",$user->id)->where("curr_save", 1)->whereHas('attire', function($q){
- $q->whereIn('cate', ['皮肤','套装']);
- })->with(['attire'])->first();
- //
- //
- $currImg1 = \Storage::disk('cosv5')->url($attire->attire->img_1);
- $currImg2 = \Storage::disk('cosv5')->url($attire->attire->img_2);
- //
- $newTeach = \App\Models\Resource::where("name","new_teach")->value("src");
- //
- return [
- 'errno'=> 10000,
- "errmsg" => 'ok',
- 'data' => [
- 'username' => $user->username,
- 'avatar' => $user->avatar,
- 'coupon' => $user->coupon,
- 'paster' => $user->paster,
- 'session' => $user->session,
- 'curr_attire_img1' => $currImg1,
- 'curr_attire_img2' => $currImg2,
- 'code' => $code,
- 'status' => $status,
- "assets" => [
- 'new_teach' => \Storage::disk('cosv5')->url($newTeach),
- ],
- ],
- ];
- }
- }
|