App.php 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. <?php
  2. namespace Passport\Src;
  3. use Dever;
  4. use Passport\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. $avatar = 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'] = $avatar;
  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 ($avatar) {
  43. $result['avatar'] = $avatar;
  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. * 注册用户信息:app端已经拿到了openid了
  66. *
  67. * @return mixed
  68. */
  69. public function wechat_reg()
  70. {
  71. $user = array();
  72. $user['temp'] = 2;
  73. $user['username'] = Dever::input('username');
  74. $user['avatar'] = Dever::input('avatar');
  75. $user['sex'] = Dever::input('gender');
  76. $user['city'] = Dever::input('city');
  77. $user['province'] = Dever::input('province');
  78. $user['country'] = Dever::input('country');
  79. $data = array();
  80. $data['openid'] = Dever::input('openid');
  81. $data['unionid'] = Dever::input('unionid');
  82. $data['access_token'] = Dever::input('access_token');
  83. $data['refresh_token'] = Dever::input('refresh_token');
  84. $data['expires_in'] = Dever::input('expires_in');
  85. $account = Dever::input('account', 1);
  86. $system = Dever::input('system', 1);
  87. $source_type = Dever::input('source_type');
  88. $source = Dever::input('source');
  89. $result = $this->wechat($data, $user, $account, $system, $source_type, $source);
  90. return $result;
  91. }
  92. /**
  93. * 生成用户或者登录
  94. *
  95. * @return int
  96. */
  97. public function login()
  98. {
  99. $mobile = Dever::input('mobile');
  100. $code = Dever::input('code');
  101. $system = Dever::input('system', 1);
  102. $source_type = Dever::input('source_type', 'applet');
  103. $send['skin'] = 'code';
  104. $send['mobile'] = $mobile;
  105. $send['code'] = $code;
  106. # 添加测试账号
  107. if ($mobile) {
  108. } else {
  109. $mobile = Dever::load('passport/reg')->checkMobileExists();
  110. }
  111. $uid = false;
  112. $info = Dever::load('passport/user-one', array('mobile' => $mobile));
  113. if (!$info) {
  114. $user['add_username'] = Dever::hide($mobile);
  115. $user['add_mobile'] = $mobile;
  116. $user['add_bind'] = 1;
  117. $user['add_temp'] = 2;
  118. $user['add_source_type'] = $source_type;
  119. $user['add_system_id'] = $system;
  120. $uid = Dever::load('passport/user-insert', $user);
  121. Dever::score($uid, 'mobile_reg', '手机号注册');
  122. } else {
  123. $uid = $this->combine($info['id'], $mobile, 'mobile');
  124. }
  125. # 记录app登录日志
  126. $appData = array('uid' => $uid, 'source_type' => $source_type);
  127. $app = Dever::db('passport/app')->one($appData);
  128. if (!$app) {
  129. $appData['system_id'] = $system;
  130. Dever::db('passport/app')->insert($appData);
  131. }
  132. $result = Dever::db('passport/user')->one($uid);
  133. $result['uid'] = $uid;
  134. $result['signature'] = Dever::login($uid);
  135. return $result;
  136. }
  137. //获取用户信息
  138. public function user() {
  139. $uid = $this->check();
  140. $data=Dever::db('passport/user')->one($uid);
  141. if(!$data['pic']){
  142. $data['pic']=DEVER_APP_HOST . '../data/upload/pic.png';
  143. }
  144. return $data;
  145. }
  146. }