首页 » 非技术 » Ecstore微信免登陆实现

Ecstore微信免登陆实现

12197 13

Ecstore 最新版本加了微信商城,实现了关注公众号自动生成账号,但之后。。。之后就木有了。后台似乎有提示免登录的设置,不过咨询过官方后,被告知该功能还在开发中,未实现免登录功能。于是只能自动动手,丰衣足食了。

打开weixin/lib/wechat文件,找到$this->bind_weixin($member_id, $result_weixin,$openid,$http);这行,再其下面加上$this->add_trustinfo($member_id, $result_weixin,$openid);

 app::get('b2c')->model('member_account')->fireEvent('register',$data,$member_id);
      $this->bind_weixin($member_id, $result_weixin,$openid,$http);
      //by tiandi 将信息写入trustlogin_trustinfo表
      $this->add_trustinfo($member_id, $result_weixin,$openid);
      return true;

加上add_trustinfo的代码,补上union_id字段的存储,整个ecstore微信商城竟然没有union_id字段的处理,真是OOXX。

//by tiandi 
// 将union_id和open_id写入trustlogin_trustinfo
public function add_trustinfo($member_id, $result_weixin,$openid) {
     $union = array(
	'member_id' => $member_id,
        'wx_openid' => $result['openid'],
	'avatar'    => $result['headimgurl'],
	'city  '    => $result['city'],
	'province'  => $result['province'],
	'nickname'  => $result['nickname']
    );
    if(!empty($result['unionid'])) 
	$union['openid'] = $result['unionid'];
	app::get('trustlogin')->model('trustinfo')->save($union);
	return true;
}

最后调整关注公众号执行的程序,将用户登录的信息和trustinfo做比对,而不是和pam_members里的注册名做对比。

//by tiandi 调整微信自动关注生成的账号是否存在判断
//$pam_members_model = app::get('pam')->model('members');
//$flag = $pam_members_model->getList('member_id',array('login_account'=>trim($openid)));
	$trustlogin_model = app::get('trustlogin')->model('trustinfo');
        $flag = $trustlogin_model->getList('member_id',array('wx_openid'=>trim($openid)));
文章评分3次,平均分5.0

本文原始地址:https://www.tiandiyoyo.com/2015/06/ecstore_wechat_auth_login/
本站所有文章,除了特别注明外,均为本站原创,转载请注明出处来自www.tiandiyoyo.com

您可能还会对以下文章感兴趣:

评论前先开启评论开关:


13 Comments

  1. hainuo :

    问一下你地ecstore是哪个坂本? 我们去年购买的似乎没有微信功能,虽然有这个模块但是不知道在哪里弄呢

    • tiandi :

      我的肯定比你的早,微信是我们自己写的,它本身有微信模块,不过写的人明显不熟悉微信开发过程,很多代码写的有问题,建议不要用。

      • hainuo :

        有没有模板开发方面地资料, 对他的模板还是很头疼,绕路太多,在模板中地这个标签不知道是哪个函数在起作用,你有资料地话给我邮箱发一份吧

        • tiandi :

          这个倒没有,模板借鉴smarty做的,去看看smarty的文档即可。

          • hainuo :

            感情是我说错了,我是说模板系统编译器的资料 没搞懂 如何进行模板局部替换,查源代码 查看的有点头疼,绕老绕去 ,比如说在模块中passport.html 然后在member下面制定了自己的模板passport-login.log 他如何先读取的passport.html然后又读取passport-login.html来进行替换的。 还有全局增加一串js脚本代码的话如何做更好?看过block的header.html等发现他们都没有带header标签之前的都是body标签内部html正文内容,我需要在所有页面的header中增加一串代码比如meta etag等。

  2. len :

    我看了下2.3的代码 发现没有bind_weixin这个方法

  3. aunsen :

    一看这么多代码就知道又是个折腾的主

  4. joojen :

    请问下侧栏下方的站点统计用的什么插件?

载入分页评论...