App.php 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. <?php
  2. namespace Passport\Src;
  3. use Dever;
  4. use Passport\Src\Lib\Base;
  5. class App extends Base
  6. {
  7. /**
  8. * 更新用户信息
  9. *
  10. * @return mixed
  11. */
  12. public function update()
  13. {
  14. $uid = $this->check();
  15. $name = Dever::input('username');
  16. $pic = Dever::input('avatar');
  17. $sex = Dever::input('gender');
  18. $city = Dever::input('city');
  19. $mobile = Dever::input('mobile');
  20. $province = Dever::input('province');
  21. $country = Dever::input('country');
  22. $info = Dever::load('passport/user-one', $uid);
  23. if ($info) {
  24. $update['set_username'] = $name;
  25. $update['set_avatar'] = $pic;
  26. $update['set_sex'] = $sex;
  27. $update['set_city'] = $city;
  28. $update['set_province'] = $province;
  29. $update['set_country'] = $country;
  30. if ($country && $province && $city) {
  31. $update['set_area'] = $country . ',' . $province . ',' . $city;
  32. }
  33. $update['where_id'] = $uid;
  34. Dever::load('passport/user-update', $update);
  35. } else {
  36. Dever::alert('无效的用户id,请重新登录');
  37. }
  38. $result = Dever::db('passport/user')->one($uid);
  39. if ($name) {
  40. $result['username'] = $name;
  41. }
  42. if ($pic) {
  43. $result['avatar'] = $pic;
  44. }
  45. if ($sex) {
  46. $result['sex'] = $sex;
  47. }
  48. if ($city) {
  49. $result['city'] = $city;
  50. }
  51. if ($province) {
  52. $result['province'] = $province;
  53. }
  54. if ($country) {
  55. $result['country'] = $country;
  56. }
  57. if ($country && $province && $city) {
  58. $result['area'] = $update['set_area'];
  59. }
  60. $result['uid'] = $uid;
  61. $result['signature'] = Dever::login($uid);
  62. return $result;
  63. }
  64. /**
  65. * 生成用户或者登录
  66. *
  67. * @return int
  68. */
  69. public function login()
  70. {
  71. $mobile = Dever::input('mobile');
  72. $code = Dever::input('code');
  73. $source_type = Dever::input('source_type', 'applet');
  74. $send['skin'] = 'code';
  75. $send['mobile'] = $mobile;
  76. $send['code'] = $code;
  77. # 添加测试账号
  78. if ($mobile) {
  79. } else {
  80. $mobile = Dever::load('passport/reg')->checkMobileExists();
  81. }
  82. $uid = false;
  83. $info = Dever::load('passport/user-one', array('mobile' => $mobile));
  84. if (!$info) {
  85. $user['add_username'] = Dever::hide($mobile);
  86. $user['add_mobile'] = $mobile;
  87. $user['add_bind'] = 1;
  88. $user['add_temp'] = 2;
  89. $user['add_source_type'] = $source_type;
  90. $uid = Dever::load('passport/user-insert', $user);
  91. Dever::score($uid, 'mobile_reg', '手机号注册');
  92. } else {
  93. $uid = $info['id'];
  94. }
  95. # 记录app登录日志
  96. $appData = array('uid' => $uid, 'source_type' => $source_type);
  97. $app = Dever::db('passport/app')->one($appData);
  98. if (!$app) {
  99. Dever::db('passport/app')->insert($appData);
  100. }
  101. $result = Dever::db('passport/user')->one($uid);
  102. $result['uid'] = $uid;
  103. $result['signature'] = Dever::login($uid);
  104. return $result;
  105. }
  106. //获取用户信息
  107. public function user() {
  108. $uid = $this->check();
  109. $data=Dever::db('passport/user')->one($uid);
  110. if(!$data['pic']){
  111. $data['pic']=DEVER_APP_HOST . '../data/upload/pic.png';
  112. }
  113. return $data;
  114. }
  115. }