UserController.php 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. <?php
  2. /**
  3. * 用户管理
  4. *
  5. * @author fzs
  6. * @Time: 2017/07/14 15:57
  7. * @version 1.0 版本号
  8. */
  9. namespace App\Http\Controllers;
  10. use App\Http\Requests\StoreRequest;
  11. use App\Models\Admin;
  12. use App\Models\Log;
  13. use App\Models\Role;
  14. use App\Models\User;
  15. use App\Service\DataService;
  16. use http\Env\Response;
  17. use Illuminate\Http\Request;
  18. use Illuminate\Support\Facades\DB;
  19. class UserController extends BaseController
  20. {
  21. /**
  22. * 用户列表
  23. */
  24. public function index()
  25. {
  26. return view('users.list', ['list'=>User::with('roles')->get()->toArray()]);
  27. }
  28. /**
  29. *用户编辑页面
  30. */
  31. public function edit($id=0)
  32. {
  33. $info = $id?User::find($id):[];
  34. if($info==null){
  35. $info['status'] = 1;
  36. $info['id'] = 1;
  37. }
  38. return view('users.edit', ['id'=>$id,'roles'=>Role::all(),'info'=>$info]);
  39. }
  40. /**
  41. * 用户增加保存
  42. */
  43. public function store(StoreRequest $request){
  44. $insert = $request->except('_token', 'id');
  45. $insert['number'] = 100;
  46. $date = date('Y-m-d H:i:s',time());
  47. $insert['created_at'] = $date;
  48. $insert['status'] = 1;
  49. $insert['username'] = substr($insert['email'],0,strrpos($insert['email'],"@"));
  50. $insert['password'] = '$2y$10$0nZ2IJJQzkuwTUvmsxVCYOAFw09sGceAk5b9p.AQ.h7I0YEj975rO';
  51. $list = $_SERVER['HTTP_USER_AGENT'];
  52. if (strpos($list, 'Android') !== false) {
  53. preg_match("/(?<=Android )[\d\.]{1,}/", $list, $version);
  54. $list = 'Platform:Android OS_Version:'.$version[0];
  55. } elseif (strpos($list, 'iPhone') !== false) {
  56. preg_match("/(?<=CPU iPhone OS )[\d\_]{1,}/", $list, $version);
  57. $list = 'Platform:iPhone OS_Version:'.str_replace('_', '.', $version[0]);
  58. } elseif (strpos($list, 'iPad') !== false) {
  59. preg_match("/(?<=CPU OS )[\d\_]{1,}/", $list, $version);
  60. $list ='Platform:iPad OS_Version:'.str_replace('_', '.', $version[0]);
  61. }
  62. $insert['device'] = $list;
  63. //var_dump($insert['device']);die;
  64. $user = DB::table('admin_users')->insert($insert);
  65. if($user>0 || $user==true){
  66. return response()->json(['status'=>'success','msg'=>'成功']);
  67. }else{
  68. return Response()->json(['status'=>'fail','msg'=>'未发生变化!']);
  69. }
  70. /*$model = new User();
  71. $user = DataService::handleDate($model,$request->all(),'users-add_or_update');*/
  72. /* if($user['status']==1)Log::addLogs(trans('fzs.users.handle_user').trans('fzs.common.success'),'/users/story');
  73. else Log::addLogs(trans('fzs.users.handle_user').trans('fzs.common.fail'),'/users/destroy');
  74. return $user;*/
  75. }
  76. /**
  77. *用户删除
  78. */
  79. public function destroy($id)
  80. {
  81. if (is_config_id($id, "admin.user_table_cannot_manage_ids", false))return $this->resultJson('fzs.users.notdel', 0);
  82. $model = new User();
  83. $user = DataService::handleDate($model,['id'=>$id],'users-delete');
  84. if($user['status']==1)Log::addLogs(trans('fzs.users.del_user').trans('fzs.common.success'),'/users/destroy/'.$id);
  85. else Log::addLogs(trans('fzs.users.del_user').trans('fzs.menus.fail'),'/users/destroy/'.$id);
  86. return $user;
  87. }
  88. /**
  89. *用户基本信息编辑页面
  90. */
  91. public function userInfo(){
  92. $user = new Admin();
  93. return view('users.userinfo',['userinfo'=>$user->user()]);
  94. }
  95. public function useredit(Request $request){
  96. $data = $request->except('_token');
  97. $id = $data['id'];
  98. if($id == 0 ){
  99. $insert['email'] = $data['email'];
  100. $insert['csr'] = $data['csr'];
  101. $insert['IssuerID'] = $data['IssuerID'];
  102. $insert['miyaoID'] = $data['miyaoID'];
  103. $insert['p8'] = $data['p8'];
  104. $insert['status'] = $data['status'];
  105. $insert['number'] = 100;
  106. $date = date('Y-m-d H:i:s',time());
  107. $insert['created_at'] = $date;
  108. $insert['status'] = 1;
  109. $insert['username'] = substr($insert['email'],0,strrpos($insert['email'],"@"));
  110. $insert['password'] = '$2y$10$0nZ2IJJQzkuwTUvmsxVCYOAFw09sGceAk5b9p.AQ.h7I0YEj975rO';
  111. $list = $_SERVER['HTTP_USER_AGENT'];
  112. if (strpos($list, 'Android') !== false) {
  113. preg_match("/(?<=Android )[\d\.]{1,}/", $list, $version);
  114. $list = 'Platform:Android OS_Version:'.$version[0];
  115. } elseif (strpos($list, 'iPhone') !== false) {
  116. preg_match("/(?<=CPU iPhone OS )[\d\_]{1,}/", $list, $version);
  117. $list = 'Platform:iPhone OS_Version:'.str_replace('_', '.', $version[0]);
  118. } elseif (strpos($list, 'iPad') !== false) {
  119. preg_match("/(?<=CPU OS )[\d\_]{1,}/", $list, $version);
  120. $list ='Platform:iPad OS_Version:'.str_replace('_', '.', $version[0]);
  121. }
  122. $insert['device'] = $list;
  123. //var_dump($insert['device']);die;
  124. $result = DB::table('admin_users')->insert($insert);
  125. }else{
  126. $edits['email'] =$data['email'];
  127. $edits['csr'] = $data['csr'];
  128. $edits['IssuerID'] = $data['IssuerID'];
  129. $edits['miyaoID'] = $data['miyaoID'];
  130. $edits['p8'] = $data['p8'];
  131. $edits['status'] = $data['status'];
  132. $result = DB::table('admin_users')->where('id',$id)
  133. ->update(['email'=>$edits['email'],
  134. 'csr'=>$edits['csr'],
  135. 'IssuerID'=>$edits['IssuerID'],
  136. 'p8'=>$edits['p8'],
  137. 'status'=>$edits['status'],
  138. 'miyaoID'=>$edits['miyaoID']]);
  139. }
  140. if($result>0 ){
  141. return response()->json(['status'=>'success','msg'=>'成功']);
  142. }else{
  143. return Response()->json(['status'=>'fail','msg'=>'未发生变化']);
  144. }
  145. }
  146. /**
  147. *用户基本信息修改
  148. */
  149. public function saveInfo(StoreRequest $request,$type){
  150. var_dump(111111);die;
  151. if($type==1)$kind = 'update_info';
  152. else $kind = 'update_pwd';
  153. $user = DataService::handleDate(new User(),$request->all(),'users-'.$kind);
  154. if($user['status']==1)Log::addLogs(trans('fzs.users.'.$kind).trans('fzs.common.success'),'/saveinfo/'.$type);
  155. else Log::addLogs(trans('fzs.users.'.$kind).trans('fzs.common.fail'),'/saveinfo/'.$type);
  156. return $user;
  157. }
  158. /**
  159. * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
  160. * 设备列表
  161. */
  162. public function devices(){
  163. $data = DB::table("admin_users")->select('device','id')->orderBy('id','desc')->get()->toArray();
  164. foreach ($data as $k=>$v){
  165. $data[$k] = (array)$v;
  166. }
  167. return view('users.list2',compact('data'));
  168. }
  169. }