抖音小程序

Users.php 2.2KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. namespace App\Models;
  3. use App\Log;
  4. use Illuminate\Database\Eloquent\Model;
  5. class Users extends Model
  6. {
  7. protected $table = 'users';
  8. public $timestamps = false;
  9. protected static $unguarded = true;
  10. public static function saveUser($appId, $responseData) {
  11. if(empty($responseData['openid'])) return false;
  12. $userInfo = self::query()->where('app_id', $appId)->where('openid', $responseData['openid'])->first();
  13. if(empty($userInfo)) {
  14. $userModel = new self();
  15. } else {
  16. $userModel = $userInfo;
  17. }
  18. $userModel->app_id = $appId;
  19. $userModel->session_key = $responseData['session_key'] ?? '';
  20. $userModel->openid = $responseData['openid'];
  21. $userModel->unionid = $responseData['unionid'] ?? '';
  22. $userModel->anonymous_openid = $responseData['anonymous_openid'] ?? '';
  23. return $userModel->save();
  24. }
  25. public static function getUserInfo($appId, $openId) {
  26. return self::query()->where('app_id', $appId)->where('openid', $openId)->where('enable', 1)->first();
  27. }
  28. public static function updateData($id, $updateData) {
  29. $userModel = Users::query()->where('id', $id)->first();
  30. if(isset($updateData['mobile'])) {
  31. $userModel->mobile = $updateData['mobile'];
  32. }
  33. if(isset($updateData['avatar_url'])) {
  34. $userModel->avatar_url = $updateData['avatar_url'];
  35. }
  36. if(isset($updateData['nick_name'])) {
  37. $userModel->nick_name = $updateData['nick_name'];
  38. }
  39. if(isset($updateData['gender'])) {
  40. $userModel->gender = $updateData['gender'];
  41. }
  42. if(isset($updateData['city'])) {
  43. $userModel->city = $updateData['city'];
  44. }
  45. if(isset($updateData['province'])) {
  46. $userModel->province = $updateData['province'];
  47. }
  48. if(isset($updateData['country'])) {
  49. $userModel->country = $updateData['country'];
  50. }
  51. if(isset($updateData['language'])) {
  52. $userModel->language = $updateData['language'];
  53. }
  54. $userModel->save();
  55. return $userModel;
  56. }
  57. }