分答项目_技能点:粉丝、平台会员和模块会员的关系

一、原理
1、粉丝如何成为平台会员:后台可以控制;前台用户可以注册(领会员卡)为平台会员
2、平台会员才能成为模块会员
3、平台会员表mc_members
4、粉丝表及分析会员映射表mc_mapping_fans

二、模块会员注册
1、根据当前用户的openid获取uid
2、如果平台会员没有头像,就获取粉丝表中的用户头像
3、如果是新添加,createtime ;如果是修改则根据用户可以修改的昵称、头像将数据保存
4、保存到数据表后,再根据openid从表中读取此会员信息返回

public function update(){
        global $_W;
        //未登录、未授权直接退出
        if(empty($_W['openid'])){
            return '';
        }
        //加载mc会员管理模型库
        load()->model('mc');
        //转换成会员id
        $uid = mc_openid2uid($_W['openid']);
        //从平台会员表中获取昵称、头像、姓名、电话、性别、城市省份
        $user = mc_fetch($uid,array('nickname','avatar','realname','mobile','gender','residecity','resideprovince'));
        //file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/test.txt",$user);
        //如果平台会员头像为空,就采用微信授权方式获取会员的头像、昵称
        if(empty($user['avatar'])){
            $user = mc_oauth_userinfo();
        }
        //file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/test1.txt",$user);
        //从应用(微擎模块)会员中获取会员信息
        $member = M('member')->getInfo($_W['openid']);

        if(empty($member)){
            $data = array();
            $data['uniacid'] = $_W['uniacid'];
            $data['openid'] = $_W['openid'];
            $data['nickname'] = $user['nickname'];
            $data['avatar'] = tomedia($user['avatar']);
            $data['create_time'] = time();
            $data['uid'] = $uid;

            pdo_insert($this->table,$data);

        }else{
            $data = array();
            if(!empty($user['nickname'])){
                $data['nickname'] = trim($user['nickname']);
            }
            if(!empty($user['avatar'])){
                $data['avatar'] = tomedia(trim($user['avatar']));
            }
            if(!empty($uid)){
                $data['uid'] = intval($uid);
            }
            unset($data['id']);
            if(!empty($data)){
                pdo_update($this->table,$data,array('id'=>$member['id']));
            }
        }

        $sql = "SELECT * FROM ".tablename($this->table)." WHERE uniacid = :uniacid AND openid = :openid";
        $params = array(':uniacid'=>$_W['uniacid'],':openid'=>$_W['openid']);
        $member = pdo_fetch($sql,$params);
        $user = array_merge($user,$member);
        return $user;
    }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值