/** * 根据微信推送的包,创建相关帐户信息 * * @param $openid 微信服务器推送的微信粉丝OpenId * @param $account 接受微信服务器推送数据的公众号实体对象 * @return 创建成功返回微信OpenId数据对象,否则返回False */ public static function createWechatAccount($openid, $account = []) { //创建微信信息 $wechat = \Model_Wechat::forge(['nickname' => $openid]); //是否创建用户登录信息 if (isset($account->is_subscribe_create_user) && $account->is_subscribe_create_user) { $params = ['username' => "wx_{$openid}", 'password' => "w{$account->id}#{$openid}", 'email' => "wx_{$openid}@{$account->id}.com", 'group_id' => $account->create_user_default_group]; $user_id = \Model_User::createUser($params); $wechat->user_id = $user_id; $params = ['user_id' => $user_id]; $people = \Model_People::forge($params); $people->save(); //是否创建会员信息 if (isset($account->is_subscribe_create_member) && $account->is_subscribe_create_member) { $params = ['no' => "{$account->seller_id}{$wechat->user_id}" . time(), 'user_id' => $wechat->user_id]; $member = \Model_Member::forge($params); $member->save(); } } //创建微信OpenID记录 $params = ['openid' => $openid, 'account_id' => $account->id]; $wechatOpenid = \Model_WechatOpenid::forge($params); $wechat->ids = [$wechatOpenid]; $wechat->save(); return $wechatOpenid; }