dever 5 vuotta sitten
vanhempi
commit
fe857dc1d7
10 muutettua tiedostoa jossa 156 lisäystä ja 89 poistoa
  1. 1 1
      database/address.php
  2. 16 1
      database/app.php
  3. 19 2
      database/user.php
  4. 17 1
      database/wechat.php
  5. 31 10
      lib/Base.php
  6. 9 1
      lib/Manage.php
  7. 24 13
      src/App.php
  8. 3 1
      src/Applet.php
  9. 25 48
      src/Reg.php
  10. 11 11
      src/User.php

+ 1 - 1
database/address.php

@@ -160,7 +160,7 @@ return array
 			),
 			'type' => 'all',
 			'order' => array('type' => 'desc','id' => 'desc'),
-			'page' => array(10, 'list');
+			'page' => array(10, 'list'),
 			'col' => '*',
 		),
     ),

+ 16 - 1
database/app.php

@@ -5,6 +5,8 @@ $source_type = array (
 	'android' => 'android',
 );
 
+$system_source = Dever::config('base')->system_source;
+
 return array
 (
 	# 表名
@@ -45,7 +47,7 @@ return array
 		'source_type'		=> array
 		(
 			'type' 		=> 'varchar-100',
-			'name' 		=> '用户来源',
+			'name' 		=> '用户来源-废弃,用system_source替代,暂时保留',
 			'default' 	=> '1',
 			'desc' 		=> '请选择用户来源',
 			'match' 	=> 'is_numeric',
@@ -55,6 +57,19 @@ return array
 			'list'		=> true,
 		),
 
+		'system_source'		=> array
+		(
+			'type' 		=> 'tinyint-1',
+			'name' 		=> '所属平台',
+			'default' 	=> '1',
+			'desc' 		=> '所属平台',
+			'match' 	=> 'is_numeric',
+			'option' 	=> $system_source,
+			'update'	=> 'radio',
+			'search'	=> 'select',
+			'list'		=> true,
+		),
+
 		'system_id'		=> array
 		(
 			'type' 		=> 'int-11',

+ 19 - 2
database/user.php

@@ -82,6 +82,7 @@ $bind = array
 	2 => '未绑定',
 );
 
+# 即将废弃 暂时做兼容
 $source_type = array (
 	'ios' => 'ios',
 	'android' => 'android',
@@ -91,6 +92,8 @@ $source_type = array (
 	'service' => '公众号',
 );
 
+$system_source = Dever::config('base')->system_source;
+
 $email = Dever::rule('email');
 $email = 'option';
 $mobile = Dever::rule('mobile');
@@ -102,6 +105,7 @@ return array
 	'email' => $email,
 	'mobile' => $mobile,
 	'source_type' => $source_type,
+	'system_source' => $system_source,
 	'sex' => $sex,
 	# 表名
 	'name' => 'user',
@@ -203,16 +207,29 @@ return array
 		'source_type'		=> array
 		(
 			'type' 		=> 'varchar-100',
-			'name' 		=> '用户来源',
+			'name' 		=> '用户来源-废弃,用system_source替代,暂时保留',
 			'default' 	=> '',
 			'desc' 		=> '请选择用户来源',
 			'match' 	=> 'is_string',
 			'update'	=> 'select',
 			'option'	=> $source_type,
-			'search'	=> 'select',
+			//'search'	=> 'select',
 			//'list'		=> true,
 		),
 
+		'system_source'		=> array
+		(
+			'type' 		=> 'tinyint-1',
+			'name' 		=> '所属平台',
+			'default' 	=> '1',
+			'desc' 		=> '所属平台',
+			'match' 	=> 'is_numeric',
+			'option' 	=> $system_source,
+			'update'	=> 'radio',
+			'search'	=> 'select',
+			'list'		=> true,
+		),
+
 		'email'		=> array
 		(
 			'type' 		=> 'varchar-150',

+ 17 - 1
database/wechat.php

@@ -7,6 +7,9 @@ $type = array
 	3 => 'IOS微信客户端',
 	4 => '安卓微信客户端',
 );
+
+$system_source = Dever::config('base')->system_source;
+
 return array
 (
 	# 表名
@@ -73,12 +76,25 @@ return array
 		'type'		=> array
 		(
 			'type' 		=> 'tinyint-1',
-			'name' 		=> '类型',
+			'name' 		=> '类型-废弃,用system_source替代,暂时保留',
 			'default' 	=> '1',
 			'desc' 		=> '类型',
 			'match' 	=> 'is_numeric',
 			'option' 	=> $type,
 			'update'	=> 'radio',
+			//'list'		=> true,
+		),
+
+		'system_source'		=> array
+		(
+			'type' 		=> 'tinyint-1',
+			'name' 		=> '所属平台',
+			'default' 	=> '1',
+			'desc' 		=> '所属平台',
+			'match' 	=> 'is_numeric',
+			'option' 	=> $system_source,
+			'update'	=> 'radio',
+			'search'	=> 'select',
 			'list'		=> true,
 		),
 

+ 31 - 10
lib/Base.php

@@ -46,11 +46,12 @@ class Base
     }
 
     # 注册用户
-    public function reg($type, $data)
+    public function reg($type, $system_source, $data)
     {
         $user = $this->getUserExtInfo($data);
 
         $user['source_type'] = $type;
+        $user['system_source'] = $system_source;
         $user['system_id'] = isset($data['system']) ? $data['system'] : 1;
 
         if (isset($data['username'])) {
@@ -116,7 +117,7 @@ class Base
         return $user;
     }
 
-    public function wechat($data, $user = array(), $account, $system, $source_type, $source = false)
+    public function wechat($data, $user = array(), $account, $system, $source_type, $system_source, $source = false)
     {
         $uid = false;
 
@@ -151,13 +152,17 @@ class Base
                 $wechat['unionid'] = $data['unionid'];
             }
             if (!$uid) {
-                $user['source_type'] = 'service';
+                $user['source_type'] = 'service';//即将废弃
+                $user['system_source'] = 6;
                 if ($system) {
                     $user['system_id'] = $system;
                 }
                 if ($source_type) {
                     $user['source_type'] = $source_type;
                 }
+                if ($system_source) {
+                    $user['system_source'] = $system_source;
+                }
                 $uid = Dever::db('passport/user')->insert($user);
             } else {
                 $user['where_id'] = $uid;
@@ -177,14 +182,28 @@ class Base
             }
             
             $wechat['uid'] = $uid;
-            $wechat['type'] = 2;
-            if ($source_type == 'applet') {
-                $wechat['type'] = 1;
-            } elseif ($source_type == 'ios') {
-                $wechat['type'] = 3;
-            } elseif ($source_type == 'android') {
-                $wechat['type'] = 4;
+
+            # 此处整个废弃
+            if ($source_type) {
+                # 默认为公众号
+                $wechat['type'] = 2;//即将废弃,统一
+                $wechat['system_source'] = 6;
+                if ($source_type == 'applet') {
+                    $wechat['type'] = 1;//即将废弃,统一
+                    $wechat['system_source'] = 5;
+                } elseif ($source_type == 'ios') {
+                    $wechat['type'] = 3;//即将废弃,统一
+                    $wechat['system_source'] = 3;
+                } elseif ($source_type == 'android') {
+                    $wechat['type'] = 4;//即将废弃,统一
+                    $wechat['system_source'] = 2;
+                }
             }
+
+            if ($system_source) {
+                $wechat['system_source'] = $system_source;
+            }
+            
             $id = Dever::db('passport/wechat')->insert($wechat);
 
             if (Dever::project('source') && isset($source) && $source && $source > 0) {
@@ -318,6 +337,8 @@ class Base
                 if (!$new) {
                     if ($user['bind'] == 1 && !strstr($user['username'], '****')) {
                         $new = $user;
+                    } elseif ($user['temp'] == 2 && $user['system_source'] == 5) {
+                        $new = $user;
                     } elseif ($user['temp'] == 2 && $user['source_type'] == 'applet') {
                         $new = $user;
                     } elseif ($user['avatar']) {

+ 9 - 1
lib/Manage.php

@@ -9,7 +9,13 @@ class Manage
     public function updateSystem($id, $name, $param)
     {
     	$name = Dever::param('name', $param);
+        $appid = Dever::param('appid', $param);
+        $appsecret = Dever::param('appsecret', $param);
     	$data['name'] = $name;
+        if ($appid && $appsecret) {
+            $data['appid'] = $appid;
+            $data['secret'] = $appsecret;
+        }
         $info = Dever::db('passport/system')->one($id);
         if (!$info) {
         	Dever::db('passport/system')->insert($data);
@@ -43,7 +49,9 @@ class Manage
             $table['详细地址'] = $user['address'];
         }
 
-        if ($user['source_type']) {
+        if ($user['system_source']) {
+            $table['来源'] = $config['system_source'][$user['system_source']];
+        } elseif ($user['source_type']) {
             $table['来源'] = $config['source_type'][$user['source_type']];
         }
 

+ 24 - 13
src/App.php

@@ -95,14 +95,17 @@ class App extends Base
 
         $account = Dever::input('account', 1);
         $system = Dever::input('system', 1);
-        $source_type = Dever::input('source_type');
+        $source_type = Dever::input('source_type');//即将废弃
+        $system_source = Dever::input('system_source');
         $source = Dever::input('source');
 
-        $result = $this->wechat($data, $user, $account, $system, $source_type, $source);
+        $result = $this->wechat($data, $user, $account, $system, $source_type, $system_source, $source);
 
         if (isset($result['uid']) && $result['uid']) {
             # 记录app登录日志
-            $appData = array('uid' => $result['uid'], 'source_type' => $source_type);
+            $appData['uid'] = $result['uid'];
+            $appData['source_type'] = $source_type;
+            $appData['system_source'] = $system_source;
             $app = Dever::db('passport/app')->one($appData);
             if (!$app) {
                 $appData['system_id'] = $system;
@@ -124,6 +127,7 @@ class App extends Base
     	$code = Dever::input('mcode');
         $system = Dever::input('system', 1);
     	$source_type = Dever::input('source_type', 'ios');
+        $system_source = Dever::input('system_source', 3);
 
         # 添加测试账号
         if ($mobile == '18710005124') {
@@ -134,13 +138,14 @@ class App extends Base
     	
 
         $uid = false;
-        $info = Dever::load('passport/user-one', array('mobile' => $mobile));
+        $info = Dever::db('passport/user')->one(array('mobile' => $mobile));
         if (!$info) {
             $data['username'] = Dever::hide($mobile);
             $data['mobile'] = $mobile;
             $data['system'] = $system;
             $data['source_type'] = $source_type;
-            $uid = $this->reg($source_type, $data);
+            $data['system_source'] = $system_source;
+            $uid = $this->reg($source_type, $system_source, $data);
 
             Dever::score($uid, 'mobile_reg', '手机号注册');
         } else {
@@ -148,7 +153,9 @@ class App extends Base
         }
 
         # 记录app登录日志
-        $appData = array('uid' => $uid, 'source_type' => $source_type);
+        $appData['uid'] = $uid;
+        $appData['source_type'] = $source_type;
+        $appData['system_source'] = $system_source;
         $app = Dever::db('passport/app')->one($appData);
         if (!$app) {
             $appData['system_id'] = $system;
@@ -172,16 +179,20 @@ class App extends Base
         $uuid = Dever::input('uuid');
         $system = Dever::input('system', 1);
         $source_type = Dever::input('source_type', 'applet');
+        $system_source = Dever::input('system_source', 5);
 
-        $appData = array('uuid' => $uuid, 'source_type' => $source_type);
+        $appData['uuid'] = $uuid;
+        $appData['source_type'] = $source_type;
+        $appData['system_source'] = $system_source;
         $app = Dever::db('passport/app')->one($appData);
         if (!$app) {
-            $user['add_username'] = '';
-            $user['add_bind'] = 2;
-            $user['add_temp'] = 1;
-            $user['add_source_type'] = $source_type;
-            $user['add_system_id'] = $system;
-            $uid = Dever::load('passport/user-insert', $user);
+            $user['username'] = '';
+            $user['bind'] = 2;
+            $user['temp'] = 1;
+            $user['source_type'] = $source_type;
+            $user['system_source'] = $system_source;
+            $user['system_id'] = $system;
+            $uid = Dever::db('passport/user')->insert($user);
             $this->createUsername($uid, '', true);
 
             $appData['uid'] = $uid;

+ 3 - 1
src/Applet.php

@@ -210,7 +210,9 @@ class Applet extends Base
             $wechat['openid'] = $data['openid'];
             $wechat['session_key'] = $data['session_key'];
             $wechat['uid'] = $uid;
-            $wechat['type'] = 1;
+            # 微信小程序
+            $wechat['type'] = 1;//即将废弃,统一
+            $wechat['system_source'] = 5;
             $wechat['system_id'] = $data['system'];
             $id = Dever::db('passport/wechat')->insert($wechat);
 

+ 25 - 48
src/Reg.php

@@ -223,77 +223,54 @@ class Reg extends Base
         $baccount = ucfirst($account);
         $method = 'check' . $baccount . 'Exists';
 
-        $param['option_' . $account] = $this->$method($code);
-
-        if ($param['option_' . $account]) {
-            $param['add_' . $account] = $param['option_' . $account];
-            $param['add_username'] = Dever::input('username');
-            $param['add_password'] = Dever::input('password');
-            $sex = Dever::input('sex');
-            $wechat = Dever::input('wechat');
-            $profession = Dever::input('profession');
-            $truename = Dever::input('truename');
-            $area_id = Dever::input('area_id');
-            $area = Dever::input('area');
-
-            if ($sex) {
-                $param['add_sex'] = Dever::input('sex');
-            }
-
-            if ($wechat) {
-                $param['add_wechat'] = Dever::input('wechat');
-            }
-
-            if ($profession) {
-                $param['add_profession'] = Dever::input('profession');
-            }
-
-            if ($truename) {
-                $param['add_truename'] = Dever::input('truename');
-            }
-
-            if ($area) {
-                $param['add_area'] = Dever::input('area');
-            }
-
-            if ($area_id) {
-                $param['add_area_id'] = Dever::input('area_id');
-            }
+        $param[$account] = $this->$method($code);
+
+        if ($param[$account]) {
+            $param['username'] = Dever::input('username');
+            $param['password'] = Dever::input('password');
+            $param['sex'] = Dever::input('sex');
+            $param['wechat'] = Dever::input('wechat');
+            $param['profession'] = Dever::input('profession');
+            $param['truename'] = Dever::input('truename');
+            $param['area_id'] = Dever::input('area_id');
+            $param['area']  = Dever::input('area');
+            $param['source_type'] = Dever::input('source_type', 'h5');//即将废弃
+            $param['system_source'] = Dever::input('system_source', 1);
             
             $cpassword = Dever::input('cpassword');
 
-            if (!$param['add_username']) {
+            if (!$param['username']) {
                 Dever::alert('昵称不能为空');
             }
 
-            if (!$param['add_password']) {
+            if (!$param['password']) {
                 Dever::alert('密码不能为空');
             }
 
-            if ($cpassword != $param['add_password']) {
+            if ($cpassword != $param['password']) {
                 Dever::alert('确认密码不正确');
             }
 
-            if ($param['add_sex']) {
+            if ($param['sex']) {
                 $config_sex = Dever::config('base', 'project')->sex;
-                if (isset($config_sex[$param['add_sex']])) {
-                    $param['add_sex'] = $config_sex[$param['add_sex']];
+                if (isset($config_sex[$param['sex']])) {
+                    $param['sex'] = $config_sex[$param['sex']];
                 } else {
                     if ($sex == '男') {
-                        $param['add_sex'] = 1;
+                        $param['sex'] = 1;
                     } elseif ($sex == '女') {
-                        $param['add_sex'] = 2;
+                        $param['sex'] = 2;
                     } elseif ($sex == '未知') {
-                        $param['add_sex'] = 3;
+                        $param['sex'] = 3;
                     }
                 }
             }
 
-            if ($param['add_username'] == $param['add_' . $account]) {
-                $param['add_username'] = substr_replace($param['add_username'],'****',3,4);
+            if ($account == 'mobile' && $param['username'] == $param[$account]) {
+                $param['username'] = Dever::hide($param['username']);
             }
 
-            $id = Dever::load('passport/user-insert', $param);
+            $id = Dever::db('passport/user')->insert($param);
 
             if ($id > 0) {
                 $this->save($id);

+ 11 - 11
src/User.php

@@ -42,15 +42,15 @@ class User extends Base
     {
         $this->checkLogin();
 
-        //$update['set_mobile'] = Dever::input('mobile');
-        $update['set_username'] = Dever::input('username');
-        $update['set_avatar'] = Dever::input('avatar') ? Dever::input('avatar') . '?v=' . time() : false;
+        //$update['mobile'] = Dever::input('mobile');
+        $update['username'] = Dever::input('username');
+        $update['avatar'] = Dever::input('avatar') ? Dever::input('avatar') . '?v=' . time() : false;
         $update['where_id'] = $this->user['id'];
         $sex = Dever::input('sex', 0);
-        $update['set_sex'] = $this->saveSex($sex);
-        $update['set_avatar'] = $this->saveAvatar($update['set_avatar']);
+        $update['sex'] = $this->saveSex($sex);
+        $update['avatar'] = $this->saveAvatar($update['avatar']);
 
-        Dever::load('passport/user-update', $update);
+        Dever::db('passport/user')->update($update);
 
         $this->user = $this->save($this->user['id']);
 
@@ -61,13 +61,13 @@ class User extends Base
     {
         $this->checkLogin();
 
-        $update['set_avatar'] = Dever::input('avatar') ? Dever::input('avatar') . '?v=' . time() : false;
+        $update['avatar'] = Dever::input('avatar') ? Dever::input('avatar') . '?v=' . time() : false;
         $update['where_id'] = $this->user['id'];
 
-        if ($update['set_avatar']) {
-            $update['set_avatar'] = $this->saveAvatar($update['set_avatar']);
+        if ($update['avatar']) {
+            $update['avatar'] = $this->saveAvatar($update['avatar']);
 
-            Dever::load('passport/user-update', $update);
+            Dever::db('passport/user')->update($update);
 
             $this->user = $this->save($this->user['id']);
         }
@@ -79,7 +79,7 @@ class User extends Base
     {
         $this->checkLogin();
 
-        Dever::load('passport/user-update', array('where_id' => $this->user['id'], 'set_weixin' => 1));
+        Dever::load('passport/user-update', array('where_id' => $this->user['id'], 'weixin' => 1));
 
         return true;
     }