微信授权登录及存储用户信息(fastadmin开发项目)

最近做了一个微信投票系统,这是第一次开发微信项目,所以特此记录一下
微信投票系统,最优先想到的就是授权登录,以及获取用户信息
1.首先需要申请微信公众号(此次使用的是服务号)
2.在微信公众平台基本配置里面,获取appid和秘钥,以及填写白名单,按照要去填写即可
3.此次是使用自己开发的授权登录插件,直接将插件解压到addons目录下,然后找到application/extra/addons.php文件,然后在array里面添加一下代码

'get_weixin_auth' => 
    array (
      0 => 'weixin',
    ),
    'get_weixin_config' => 
    array (
      0 => 'weixin',
    ),
    'wx_login' => 
    array (
      0 => 'weixin',
    ),
    'get_weixin_upload_single' => 
    array (
      0 => 'weixin',
    ),
    'get_weixin_upload_multiple' => 
    array (
      0 => 'weixin',
    ),
    'get_weixin_location' => 
    array (
      0 => 'weixin',
    ),
    'get_weixin_share' => 
    array (
      0 => 'weixin',
    ),

3.前台调用方法为

public function wxlogin(){
        hook('get_weixin_auth',['backUrl'=>'此处填写回调地址']);
    }

4.在跳转到项目首页之前就应该执行存储用户信息的操作

public function saveinfo(){
        $data=input('');
        $res=db('voter')->where('openid',$data['openid'])->find();
        if($res){
            session('user',$res);
            $this->user=$res;
            $this->uid=$res['id'];
            $this->redirect(url("index/index"));
        }
        else{
            $udata['nickname']=$data['nickname'];
            $udata['openid']=$data['openid'];
            $udata['headimage']=$data['headimgurl'];
            $out=db('voter')->insert($udata);
            if($out){
                $res=db('voter')->where('openid',$data['openid'])->find();
                session('user',$res);
                $this->user=$res;
                $this->uid=$res['id'];
                $this->redirect(url("index/index"));
            }
            else{
                $this->error('保存信息出错');
            }
        }
    }

5.配置完成之后,在fastadmin后台找到放入的插件(微信开发),然后配置appid和appsecret
6.在微信公众平台的接口权限-》网页服务-》网页授权-》网页授权获取用户基本信息,点击修改,按照要求填写域名,每个都要填写。
本人在这一步遇到一个问题,而且至今没有解决。。。此项目最开始是放在西部数码的虚拟主机上进行编写的,但是到了这一步之后,始终不能成功,显示无法访问xxx指向的web服务器(或虚拟主机)的目录,请检查网络设置。域名是已备案的域名,也将他指定的文件下载放到目录下,通过直接访问可以成功访问文件,但是还是显示此错误,最后各种尝试都试过了,还是不行,只得联系西部数码的技术,他们让我联系微信客服解决,明明已经可以直接访问人家指定的文件了,肯定不是微信那边的问题,面对这种甩锅行为,我只能将项目重新放到另一台服务器上进行开发,分分钟搞定,完全没有出现此种问题。。虽然此次项目解决了,但是仍然存留这样一个问题无法解决。
7.此项目还犯了一个错误,因为是前台进行套数据,我提供接口,然而并没有将接口继承授权登录的这个基类,目录结构有点凌乱,所以造成后面修改bug的时候很是恼火
如果哪位大神能够解决文中问题,还望大神能够指点一二,感激不尽

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值