• 通过微信或企业微信扫码登录PC管理后台,替代传统的账号、密码登录。...看网站应用模块即可,开发技术跟微信开发差不多,这种方式只能是微信扫码,不支持企业微信扫码。   2.第二种实现方式,...

    通过微信或企业微信扫码登录PC管理后台,替代传统的账号、密码登录。

    为了完成这个功能,疯狂百度各种扫码登录的技术文章,能实现微信或企业微信扫码登录的方式可以说有三种:

    1.注册一个微信资源开放平台账号。官方链接是这个https://open.weixin.qq.com/。看网站应用模块即可,开发技术跟微信开发差不多,这种方式只能是微信扫码,不支持企业微信扫码。

     

    2.第二种实现方式,使用企业微信开发文档。官方链接:https://work.weixin.qq.com/api,但是这种方式只能实现企业微信端扫码登录。

     

    3.我使用的是第三种方式,可以同时支持微信和企业微信扫码。通过websocket+spring websocket 实现长链接。但是这个也有一定的限制或缺陷,服务器需要时weblogic12.3,tomcat7,jdk7.而且还不支持IE,需要自己另外用到SOCKJS的插件,目前我还没有添加,不知道具体会怎样。其实很多人也会用到PC端每秒轮训,向服务器请求结果。但是百度说这种方式比较消耗带宽等资源。websocket通信过程大概是这样:

    1.打开PC端二维码,这个二维码带了一个唯一标识,用于手机扫码时做匹配。这个时候PC端已经向服务器端发起长连接的申请。

    2.微信扫描二维码,并通过网页授权接口获取到用户的信息并且将这个二维码的唯一标识传给服务器后台。通过判断其是否有权限后,通过唯一标识找到PC端,将结果返回给PC端。

    源码下次再接着再贴一下。

     

    https://blog.csdn.net/u012729832/article/details/78013888/

    展开全文
  • 仔细读了一遍文档,这个API只是调起了客户端扫码界面,扫码成功后返回对应的结果. 微信小程序中并没有提供打开链接的API.那么这个扫码是做什么用的呢?不可能像我一样扫个文字玩玩. 想象空间很大啊. API实在简单,我...

    目前分享真机无效,开放工具可用.
    **注意:(2017.2.12更新)
    最近几天有很多同学问我扫描失败的问题.这里说明一下,没有appid,在开发工具和真机上会一直扫描失败.**
    微信小程序开发之页面分享 onShareAppMessage
    扫码真机,开发工具均可用.
    扫描

    真机图片如下:
    真机扫描

    仔细读了一遍文档,这个API只是调起了客户端扫码界面,扫码成功后返回对应的结果.
    微信小程序中并没有提供打开链接的API.那么这个扫码是做什么用的呢?不可能像我一样扫个文字玩玩.
    想象空间很大啊.
    API实在简单,我都不好意思写了.
    想起我以前做android的时候用zxing做二维码扫描.那叫一个惨….

    更新API相关:
    微信小程序开发之页面分享 onShareAppMessage

    CSDN微信小程序开发专栏,欢迎交流批评!

    展开全文
  • 商家信息管理系统登录时可以用微信扫码登录。 参考文档是微信开放平台,着重需要关注文档(开发前一定看懂流程)的网站应用微信登录开发指南部分。 注意这里是微信开放平台,不同于微信公众平台,还需要另外注册账号...

    文章有不当之处,欢迎指正,如果喜欢微信阅读,你也可以关注我的微信公众号:好好学java,获取优质学习资源。

    商家信息管理系统登录时可以用微信扫码登录。
    参考文档是微信开放平台着重需要关注文档(开发前一定看懂流程)网站应用微信登录开发指南部分。

    注意这里是微信开放平台,不同于微信公众平台,还需要另外注册账号。我们在微信开放平台注册账号后,需要填写我们网站的域名,这样我们才能有权使用微信的接口。同样个人没有资质,要向师兄借用账号。

    在进行讲解之前,我们需要明白用户登录一个网站的实质,也就是每一个用户对这个网站唯一的身份标识。而且我们每个微信用户对于一个微信开放平台账户有唯一的openid,这样我们就可以用用户的openid作为网站对这个用户的唯一标识。但不是每个网站都有权限获取用户的openid等信息的,这就需要拥有这个网站的公司到微信开放平台注册一个账号,然后在账号里填入自己网站的域名。然后网站就可以设置一个微信扫码登录按钮,让访问网站的用户点击,点击这个按钮就会访问微信官方给的微信扫码登陆接口,用户扫码同意后,就会回调一个我们在微信扫码登陆接口里设置的return_url,并带上code参数,我们就可以通过code参数,换取openid了。

    过程和微信网页授权过程非常相似。

    第一步访问微信给定的接口(加上自己的appID,appSecret,redirect_url,state参数),会获取CODE,并以CODE和state为参数,回调redirect_url。

    然后以code、appid、appsecret为参数访问微信给的另一个接口,就可以获取openid等信息。

    以上是根据微信官方文档手工方式获取openid的方法,我们也可以使用SDK的方式获取,还是weixin-java-tools这个SDK。
    分以下两步:

    第一步 先声明好bean。

       @Bean
        public WxMpService wxOpenService(){
            WxMpService wxOpenService=new WxMpServiceImpl();
            wxOpenService.setWxMpConfigStorage(wxOpenConfigStorage());
            return wxOpenService;
        }
        @Bean
        public WxMpConfigStorage wxOpenConfigStorage(){
            WxMpInMemoryConfigStorage wxMpInMemoryConfigStorage=new WxMpInMemoryConfigStorage();
            wxMpInMemoryConfigStorage.setAppId(accountConfig.getOpenAppId());
            wxMpInMemoryConfigStorage.setSecret(accountConfig.getOpenAppSecret());
            return wxMpInMemoryConfigStorage;
        }

    第二步 构造自己的url,访问

      @GetMapping("/qrAuthorize")
        public String qrAuthorize(@RequestParam("returnUrl") String returnUrl){
            String url=projectUrlConfig.getWechatOpenAuthorize()+"/sell/wechat/userInfo";
            String redirectUrl=wxOpenService.buildQrConnectUrl(url,WxConsts.QRCONNECT_SCOPE_SNSAPI_LOGIN,URLEncoder.encode(returnUrl));
            return "redirect:"+redirectUrl;
        }
        @GetMapping("qrUserInfo")
        public String qrUserInfo(@RequestParam("code") String code,
                                 @RequestParam("state") String returnUrl){
            WxMpOAuth2AccessToken wxMpOAuth2AccessToken=new WxMpOAuth2AccessToken();
            try{
                wxMpOAuth2AccessToken=wxOpenService.oauth2getAccessToken(code);
            }catch (WxErrorException e){
                log.error("【微信网页】{}",e);
                throw new SellException(ResultEnum.WECHAT_MP_ERROR.getCode(),e.getError().getErrorMsg());
            }
            log.info("wxMpOAuth2AccessToken={}",wxMpOAuth2AccessToken);
            String openId=wxMpOAuth2AccessToken.getOpenId();
            return "redirect:"+returnUrl+"?openid="+openId;
        }

    出处:https://github.com/sqmax/springboot-project/wiki/%E7%BD%91%E7%AB%99%E5%BA%94%E7%94%A8%E4%BD%BF%E7%94%A8%E5%BE%AE%E4%BF%A1%E6%89%AB%E7%A0%81%E7%99%BB%E5%BD%95

    展开全文
  • 原因:很简单,公司的账号登录需要用到微信扫码登录与QQ的登录功能,所以,在做好了微信的扫码登录之后,本人就写这篇微信扫码登录功能实现的教程 教程开始 需要用到的网站: https://open.weixin.qq.com/ 微信...

    原因:很简单,公司的账号登录需要用到微信扫码登录与QQ的登录功能,所以,在做好了微信的扫码登录之后,本人就写这篇微信扫码登录功能实现的教程

    教程开始

    需要用到的网站:

    1. https://open.weixin.qq.com/ 微信开放平台
    2. https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419316505&token=a655e356d87d4d330ed5cbaf1324389741826089&lang=zh_CN 微信开放平台文档

    准备工作:

    1. 首先当然登录这个微信开放平台啦,不然怎么做扫码登录的功能

    2. 新建一个应用

    3. 新建完应用后是这样子的

    4. 进行开发者认证,1年300RMB,之前开发的时候没有进行开发者认证,微信那边一直说我有错误,后面又google又百度的,直到认证后,才正常开发

    5. 设置回调地址,这里的地址相当于回调域名,可以不用详细到访问的方法内(例:http://www.baidu.com

    准备工作完成,正式开发

    1. 写一个获取服务器返回数据的自定义函数或者使用PHP的 file_get_content 函数

    这里的自定义函数的使用CURL

    PHP CURL
    //php curl(GET)请求
    public function curlGet($url){
        if(empty($url)){
            return false;
        }
        $output = '';
    
        $ch = curl_init();
        $str =$url;
        curl_setopt($ch, CURLOPT_URL, $str);
        curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true );
        $output = curl_exec($ch);
        return $output;
    }
    

    2. 浏览器打开网址,这个网址是一张二维码图片,二维码的信息则是你创建的应用信息

    网址:https://open.weixin.qq.com/connect/qrconnect?appid=appid&redirect_uri=redirect_uri&response_type=code&scope=snsapi_login&state=state

    参数 是否必须 说明
    appid 应用中的APPID
    redirect_uri 这是回调地址,先要在授权回调域设置回调的域名地址,然后这里填写的是回调域名下需要访问的方法(这里需要使用编码 URL 字符串函数urlencode())
    response_type code固定参数
    scope snsapi_login 固定参数, 这里有多个参数,可以用 ‘ , ’分隔,当前仅仅做微信登录,则填写snsapi_login这个参数
    state 可以不填,用于防止csrf攻击,你发送什么参数,服务器则返回什么参数给你

    3. 用微信的扫一扫获取二维码中的code参数

    参数 说明
    code code参数
    state 用于防止csrf攻击,你发送什么参数,服务器相应返回什么参数给你

    4. 发送ACCESS_TOKEN获取请求

    使用 curlGet() 自定义函数访问以下网址

    https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

    参数 是否必须 说明
    appid 应用中的APPID
    secret 应用中的AppSecret
    code 上一步所获得的code参数
    grant_type authorization_code 固定参数

    5. 获取ACCESS_TOKEN参数

    参数 说明
    access_token 接口调用凭证
    expires_in access_token接口调用凭证超时时间
    refresh_token 用户刷新access_token
    openid 授权用户唯一标识
    scope snsapi_login 固定参数,用户授权的作用域,使用逗号(,)分隔
    unionid 已获得该用户的userinfo授权时,才会出现该字段。

    6. 发送获取OPENID请求

    使用 curlGet() 自定义函数访问以下网址

    https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID

    参数 是否必须 说明
    access_token 接口调用凭证
    openid 授权用户唯一标识

    7. 获取用户信息

    参数 说明
    openid 授权用户唯一标识
    nickname 微信用户呢称
    sex 性别
    province 省份
    city 城市
    country 国家
    headimgurl 微信头像地址 最后一个数值代表正方形头像大小(有0、46、64、96、132数值可选,0代表640*640正方形头像),用户没有头像时该项为空
    privilege 用户特权信息,json数组
    unionid 用户统一标识。针对一个微信开放平台帐号下的应用,同一用户的unionid是唯一的

    结语

    到这里你已经成功的获取到你微信的对外信息了,你可以根据公司的开发需求开发出你所需要的微信扫码登录功能

    原链接:

    https://my.oschina.net/u/3554366/blog/1506955

    展开全文
  • 微信开发扫码开票提供两种解决方案 微信公众号方案 通过扫码获取二维码中的参数,然后通过微信自建平台扫码,设置参数,获取授权页面,申请开票,调用中间开票系统进行开票,然后插入微信卡包,支持在线预览,支持...

    微信开发之扫码开票提供两种解决方案

    微信公众号方案

    通过扫码获取二维码中的参数,然后通过微信自建平台扫码,设置参数,获取授权页面,申请开票,调用中间开票系统进行开票,然后插入微信卡包,支持在线预览,支持发送邮箱以及下载发票。

    h5页面方案

    通过扫码获取二维码中的参数,跳转一个h5页面,填写抬头等开票信息,然后调用中间开票系统进行开票,直接推送到用户邮箱。

    两种方案对比:

    方案 发送邮箱 插入微信卡包 下载 查询微信用户发票 预览
    公众号
    h5页面

    特点

    两种方案各有利弊
    

    转载请先联系我

    展开全文
  • 首先请阅读微信JS-SDK说明文档,了解微信JS的相关说明。 根据官方的使用步骤,关键的有以下几步 绑定域名(很关键) 引入JS文件(很简单) 通过config接口注入权限验证配置(很重要) 通过ready接口处理成功验证...
  • 微信公众号开发文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1445241432 微信小程序API开发文档:...
  • 具体流程可以看微信官网的扫码登录文档 地址:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419316505&token=&lang=zh_CN 其实...
  • 今天说说微商城项目中用到的这个功能,分享一下,希望对各位有所帮助。 前提:要有公众号,和通过微信认证,绑定域名,得到相应信息,appid,appsecret等。 微信开发文档:...
  • 微信开发扫码支付

    2019-06-22 11:52:00
    微信极速开发系列文章:http://www.jianshu.com/p/a172a1b69fdd上一篇文章介绍了微信提供的那些支付方式以及公众号支付http://www.jianshu.com/p/cb2456a2d7a7这篇文章我们来聊聊微信扫码支付(模式一以及模式二)先...
  • 文档:点击打开企业微信开发文档链接本文章将会基于企业微信开发文档扫码登录流程步骤第一步请求code请求code有两种方法,本文章只讲将企业微信登录二维码内嵌到自己页面这种。第一步骤在视图中引用以下JS文件&lt...
  • 微信现在开放了第三方授权登录的功能,所以折腾一下ecshop,除了新浪围脖和腾讯围脖外再加一个微信扫码登录功能。在这篇文章开始,tiandi先说明一些概念,否则将会因为开发文档描述的混乱,而将自己弄得很搞很搞,...
  • 最近公司给我安排一个微信登录的功能,需求是这样的:  1.登录授权  点击二维码图标后,登录界面切换为如下样式(二维码),微信扫描二维码并授权,即可成功登录;  若当前账号未绑定微信账号,扫描后提示“您...
  • 前言 之前让网页公司制作新官网的时候规划有第三方账号的登录功能,但由于当时的一些开放平台...1. python实现微信第三方网站扫码登录(Django)2. 用django-social-auth 做中国社交网站三方登录(QQ,微博,豆瓣,百度,人人
  • 关于微信扫码登录网站的功能介绍,请阅读官方文档【网站应用微信登录开发指南】 根据官方文档我们知道微信扫码登录有两种方式 一种是跳转到一个大黑屏二维码界面进行扫码登录: (参见博客:PHP实现跳转式微信扫...
  • 写这篇文章是为了记录自己在写微信第三方网页扫码登录遇到的相关问题,如果没有任何经验的最好先去看微信开放平台(不是微信公众平台)的相关文档!好了,现在开始。 1.想要进行微信第三方网页扫码登录必须要到...
  • 最近公司给我安排一个微信登录的功能,需求是这样的: 1.登录授权 点击二维码图标后,登录界面切换为如下样式(二维码),微信扫描二维码并授权,即可成功登录; 若当前账号未绑定微信账号,扫描后提示“您的账号...
1 2 3 4 5 ... 20
收藏数 11,884
精华内容 4,753
关键字:

微信开发文档 微信扫码登录