@@ -2064,7 +2064,8 @@ if (!function_exists('set_cookie')) {
}
config('webdb.cookiePre') && $name = config('webdb.cookiePre') . $name;
- if(!preg_match('/ Chrome/i', $_SERVER['HTTP_USER_AGENT'])){ //小程序中只能用setcookie 用header有时会清除不掉
+ preg_match('/ Chrome\/([\d]+)\./i', $_SERVER['HTTP_USER_AGENT'],$array);
+ if(!$array[1] || $array[1]<=63){ //小程序中只能用setcookie 用header有时会清除不掉 另外Chrome 63版本以上才可以
cookie($name,$value,$option);
return ;
@@ -43,8 +43,14 @@ abstract class Mysort extends MemberBase
];
-
- public function index($ext_id=0,$aid=0) {
+ /**
+ * 用户自定义的我分类
+ * @param number $ext_id 关联的圈子ID
+ * @param number $aid 圈子ID,这个暂时只是圈子货架分类用到
+ * @param string $ext_sys 关联的频道ID
+ * @return unknown|mixed|string
+ */
+ public function index($ext_id=0,$aid=0,$ext_sys='') {
if ($this->request->isPost()) {
//修改排序
return $this->edit_order();
@@ -54,13 +60,15 @@ abstract class Mysort extends MemberBase
if ($ext_id) {
if (empty($ext_sys)) {
$ext_sys = modules_config('qun')['id'];
+ }else{
+ $ext_sys = modules_config($ext_sys)['id']?:0;
$map = [
'ext_id'=>$ext_id,
'ext_sys'=>$ext_sys,
- if ($aid) {
+ if ($aid && M('keyword')=='qun') { //目前只有圈子用到
'aid'=>$aid,
@@ -0,0 +1,4 @@
+ALTER TABLE `qb_memberdata` ADD `qq_open_api` VARCHAR( 32 ) NOT NULL COMMENT '后期申请的APP专属QQ登录' AFTER `qq_api` ;
+INSERT INTO `qb_config` (`id`, `type`, `title`, `c_key`, `c_value`, `form_type`, `options`, `ifsys`, `htmlcode`, `c_descrip`, `list`, `sys_id`) VALUES(0, 20, 'APP专属QQ登录appid', 'qqopen_appid', '', 'text', '', 1, '', '前期申请的与网页QQ登录相同,就留空(后期申请的,都不相同)', 0, -9);
+INSERT INTO `qb_config` (`id`, `type`, `title`, `c_key`, `c_value`, `form_type`, `options`, `ifsys`, `htmlcode`, `c_descrip`, `list`, `sys_id`) VALUES(0, 20, 'APP专属QQ登录接口密钥', 'qqopen_appsecret', '', 'text', '', 1, '', '前期申请的与网页QQ登录相同,就留空(后期申请的,都不相同)', 0, -9);
+
@@ -0,0 +1 @@
+新增APP新申请QQ登录的独立接口
@@ -1508,3 +1508,9 @@ ALTER TABLE `qb_rmb_infull` ADD `refund_money` DECIMAL( 8, 2 ) NOT NULL COMMENT
ALTER TABLE `qb_rmb_consume` ADD `refund` TINYINT NOT NULL COMMENT '1支持退款,2已退款';
ALTER TABLE `qb_rmb_getout` ADD `sign_img` VARCHAR( 150 ) NOT NULL COMMENT '签名图片';
@@ -61,6 +61,11 @@ class Qq extends IndexBase
}elseif(!$openid){
$this->error('获取openid失败');
+ if(config('webdb.qqopen_appid')&&config('webdb.qqopen_appsecret')&&config('webdb.qqopen_appid')!=config('webdb.qqlogin_appid')){
+ config('webdb.qqlogin_appid',config('webdb.qqopen_appid'));
+ config('webdb.qqlogin_appsecret',config('webdb.qqopen_appsecret'));
+ define('QQ_INAPP', true);
+ }
$array = $this->get_user_info($access_token,$openid);
if(!isset($array['nickname'])){
$this->error_msg('出错了');
@@ -70,9 +75,9 @@ class Qq extends IndexBase
protected function login_in($openid='',$access_token='',$type='',$fromurl=''){
- $rs = UserModel::get_info(['qq_api'=>$openid]);
+ $rs = UserModel::get_info(defined('QQ_INAPP')?['qq_open_api'=>$openid]:['qq_api'=>$openid]);
- if($type=='bind'){ //绑定帐号
+ if($type=='bind'){ //绑定帐号 只针对网页端
if($rs){ //解绑以前的帐号
$array = [
@@ -11,8 +11,11 @@ class Qq extends UserModel
return 'nickname 或 openid 值不存在!';
- if( self::check_qqIdExists( $data['openid'] ) ){
+ if(!defined('QQ_INAPP') && self::check_qqIdExists( $data['openid'] ) ){
return '当前QQ号已经注册过了!';
+ }elseif(defined('QQ_INAPP') && self::get_info( ['qq_open_api'=>$data['openid']]) ){
+ return '当前QQ号已经注册过了!!!';
$username = $nickname = str_replace(array('|',' ','',"'",'"','/','*',',','~',';','<','>','$',"\\","\r","\t","\n","`","!","?","%","^"),'',$data['nickname']);
@@ -62,6 +65,11 @@ class Qq extends UserModel
'bday'=>$bday,
);
+ if(defined('QQ_INAPP')){
+ $array['qq_api'] = '';
+ $array['qq_open_api'] = $openid;
//入库
$uid = self::register_user($array);
if($uid<1){