精华内容
下载资源
问答
  • 微信(或企业微信)中登录小程序,可以分为两种: 第一种是使用微信授权登录, 第二种使用账号密码登录(如某些非开放的系统); 一、使用微信登录小程序 微信中调用wx.login()(企业微信中调用wx.qy.login())...

    在微信(或企业微信)中登录小程序,可以分为两种:
    第一种是使用微信授权登录,
    第二种使用账号密码登录(如某些非开放的系统);

    一、使用微信登录小程序
    微信中调用wx.login()(企业微信中调用wx.qy.login())获取临时登录凭证code,然后调用wx.request调用开发者后台接口,将code传给后台;后台调用auth.code2Session,使用code换取openid和session_key等信息(企业微信为 session_key、用户userid以及用户所在企业的corpid等信息),后台生成与openid和session_key(企业微信为userid和session_key)关联的token,并将token下发给前端。前端将token存入storage中,请求后台接口的时候在请求头中带上token,后台验证token通过后,返回业务数据给前端。

    二、使用账号密码登录
    输入账号密码请求后台登录接口,后台返回token,前端将token存入storage中,请求后台接口的时候在请求头中带上toaken,后台 验证token通过后,返回业务数据给前端。

    三、获取用户信息
    调用 wx.getUserInfo()可以获取用户信息,但需要用户授权。

    展开全文
  • 微信小程序登录Java后台接口

    千次阅读 多人点赞 2018-10-11 15:40:28
    微信小程序登录java后台接口 首先看一下微信小程序的开发文档: 微信小程序开发文档 步骤: 一级标题 二级 三级 表头 表头 表头 内容 内容 内容 内容 内容 内容 ...

    微信小程序登录java后台接口

    首先看一下微信小程序的开发文档:
    微信小程序开发文档

    步骤:

    1. 小程序端向微信接口服务发送请求——wx.login();获取到登录临时凭证code
    2. 小程序端拿着获取到的code向后台(这里是java服务端),使用wx.request()向自己的服务器发送请求(接口服务器自己定义)
    3. 后台服务器拿着小程序端传过来的code,以及自己的APPID,secretKey向微信方发送HttpGet请求
    4. 后台服务器获取到微信方返回回来的openId,session_key,然后加上自己本地的登录状态(本地自己定义),发送给小程序端
    5. 小程序端接收到后台传输过来的登录状态,保存到storage中以供以后使用。

    具体实现步骤

    小程序端

    随便弄一个按钮,绑定下面的方法
    在这里插入图片描述

     //与后端通信
        bindtest: function (){
          wx.login({
            success:res=>{
              let _code=res.code;
              //获取到code之后再发送给后端
              wx.request({
                url: 'http://localhost:8080/login',
                data:{
                  code:_code,
                },
                method:'POST',
                header: {
                  'content-type': 'application/x-www-form-urlencoded' // 默认是json
                },
                success: function (res) {
                  console.log(res.data);
                },
                fail: function (res) {
                  console.log(".....fail.....");
                }
              })
            }
          })
      }
    

    java服务器端

    package com.kylin.wxtest.controller;
    
    import com.alibaba.fastjson.JSON;
    import com.alibaba.fastjson.JSONObject;
    import com.kylin.wxtest.bean.Login;
    import org.apache.http.HttpEntity;
    import org.apache.http.client.methods.CloseableHttpResponse;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.impl.client.CloseableHttpClient;
    import org.apache.http.impl.client.HttpClients;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    
    @RestController
    public class UserController {
        private static final long  serialVersionUID=1L;
    
        private static final String APPID = "wxb88xxxxxxxx46140e";
        private static final String SECRET = "19fa40c6xxxxxxxx6ae971267";
        private String code;
        public String getCode() {
            return code;
        }
        public void setCode(String code) {
            this.code = code;
        }
    
    
        @RequestMapping(value = "/login")
        public String login(String code){
            System.out.println(code);
            System.out.println("------------------------------------");
            //微信那边的接口,grant_type=authorization_code是固定的
            String url="https://api.weixin.qq.com/sns/jscode2session?appid="+APPID+
                    "&secret="+SECRET+"&js_code="+ code +"&grant_type=authorization_code"; 
            //发送请求给微信后端
            CloseableHttpClient httpClient= HttpClients.createDefault();
            HttpGet httpGet=new HttpGet(url);
            InputStream inputStream=null;
            CloseableHttpResponse httpResponse=null;
            StringBuilder result=new StringBuilder();
            try {
                httpResponse=httpClient.execute(httpGet);
                HttpEntity entity=httpResponse.getEntity();
                inputStream=entity.getContent();
                BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(inputStream));
                String line="";
                while ((line=bufferedReader.readLine())!=null){
                    System.out.println(line); //这里需要使用fastjson来提取一下内容
                    JSONObject jsonObject= JSON.parseObject(line);
                    Login login=new Login();
                    login.setOpenid(jsonObject.getString("openid"));
                    login.setSession_key(jsonObject.getString("session_key"));
                    result.append(login.getOpenid()+"hello_world"+login.getSession_key());
                    System.out.println(result.toString());
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
    
            return result.toString();
        }
    }
    
    

    总结

    这样小程序端就可以获取到openId以及session_key;相当于授权成功!

    展开全文
  • 微信小程序登录注册界面

    万次阅读 多人点赞 2019-06-02 21:55:21
    微信小程序登录注册界面 第一次接触微信小程序的开发,首先就是从前端的界面开始,我要做的是一个农场管理的微信小程序,大致包括登录、注册、主要功能界面这些,这里我就分享一下我的登录注册界面的设计和功能实现...

    微信小程序登录注册界面

    第一次接触微信小程序的开发,首先就是从前端的界面开始,我要做的是一个农场管理的微信小程序,大致包括登录、注册、主要功能界面这些,这里我就分享一下我的登录注册界面的设计和功能实现

    Pages中的代码构成:xxx.js、xxx.json 、xxx.wxml、 xxx.wxss

    首先登录界面

    Login.wxml

    <!-- 农场主登录 -->

    <view class="container">

        <view class='content'>

            <image class="user-avatar" src="/image/touxiang.jpg"></image>

            <input placeholder="账户" class='user-id' bindinput='getUsername' />

            <input placeholder="密码" class='password' bindinput='getPassword' password='true' />

            <button class='login' bindtap='loginClick' hover-class='login-hover'>登录</button>

            <button class='register' bindtap='registerClick' hover-class='register-hover'>新用户请先注册</button>

        </view>

        <view class='triangle3'></view>

        <view class='triangle4'></view>

        <view class='triangle5'></view>

        <view class='triangle6'></view>

    </view>

    这是页面的组建布局设计

    下面要点击“新用户注册”跳转到农场主注册界面,需要进入login.js对按键“登录”和“新用户请先注册”进行页面跳转设置

    Login.js

    Page({

      loginClick: function () {

        wx.navigateTo({

          url: '../farmermain/farmermain',

        })

      },

      registerClick: function () {

        wx.navigateTo({

          url: '../farmerregister/farmerregister',

        })

      }

    })

    接下来每个界面流程都是同样的,按照自己的设计的模式来布置组建按钮,位置大小颜色等,对按钮点击跳转的主要方法就是在.js文件中使用

    wx.navigateTo({

          url: '../xxx/xxx',

        })

    进行跳转

    这只是一些界面相互之间的跳转,没有后台,也没连接数据库等,可以只用于前期的界面的设计,方便更改调整,后期连接后台和数据库时还需要再修改

    展开全文
  • 微信小程序登录(java springboot)

    万次阅读 2019-02-27 12:29:43
    简单介绍微信小程序登录的实现。 2. 重要说明 由于之前做微信网页授权登录,容易被之前的思路误导。 微信小程序登录流程如官网图片: 需要说明的就是,获得用户信息并不是后端再次提交数据给微信端,获得用户信息,...

    1. 编写目的

    简单介绍微信小程序登录的实现。

    2. 重要说明

    由于之前做微信网页授权登录,容易被之前的思路误导。
    微信小程序登录流程如官网图片:
    在这里插入图片描述
    需要说明的就是,获得用户信息并不是后端再次提交数据给微信端,获得用户信息,而是登录后在小程序内授权获得用户信息。

    3. 具体代码

    首先需要添加maven依赖包 httpclientfastjson

    <!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient -->
    <dependency>
    	<groupId>org.apache.httpcomponents</groupId>
    	<artifactId>httpclient</artifactId>
    	<version>4.5.7</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
    <dependency>
    	<groupId>com.alibaba</groupId>
    	<artifactId>fastjson</artifactId>
    	<version>1.2.56</version>
    </dependency>
    
    package cn.ailanglang.diary.login.controller;
    
    import com.alibaba.fastjson.JSONObject;
    import org.apache.http.client.methods.CloseableHttpResponse;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.client.utils.URIBuilder;
    import org.apache.http.impl.client.CloseableHttpClient;
    import org.apache.http.impl.client.HttpClients;
    import org.apache.http.util.EntityUtils;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    import java.net.URI;
    
    /**
     * @author smileyan
     */
    @RestController
    @RequestMapping("/wechat")
    public class WeChatLoginController {
    
        @Value("${wechat.appid}")
        private String appid;
        @Value("${wechat.appsecret}")
        private String appsecret;
        
        private String openid;
        private String session_key;
    
        @GetMapping("/index")
        private String login(String code) {
            // 创建Httpclient对象
            CloseableHttpClient httpclient = HttpClients.createDefault();
            String resultString = "";
            CloseableHttpResponse response = null;
            String url="https://api.weixin.qq.com/sns/jscode2session?appid="+appid+"&secret="+appsecret+"&js_code="+code+"&grant_type=authorization_code";
            try {
                // 创建uri
                URIBuilder builder = new URIBuilder(url);
                URI uri = builder.build();
    
                // 创建http GET请求
                HttpGet httpGet = new HttpGet(uri);
    
                // 执行请求
                response = httpclient.execute(httpGet);
                // 判断返回状态是否为200
                if (response.getStatusLine().getStatusCode() == 200) {
                    resultString = EntityUtils.toString(response.getEntity(), "UTF-8");
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
    
            // 解析json
            JSONObject jsonObject = (JSONObject) JSONObject.parse(resultString);
            session_key = jsonObject.get("session_key")+"";
            openid = jsonObject.get("openid")+"";
    
            System.out.println("session_key=="+session_key);
            System.out.println("openid=="+openid);
            return resultString;
        }
    
    }
    

    4. 测试方法

    可以在微信开发者工具中调用js的wx.login然后获得code,用console.log(code);方法输出到控制台上,然后用浏览器访问自己后端的这个路径,就可以看到json格式的返回值。
    在这里插入图片描述
    微信小程序登录完成。

    Smileyan 2019年2月27日

    展开全文
  • 相信各位大佬在写小程序的时候基本都会牵扯到小程序原生的登录接口。但是,微信登录这一套登录体系是真的很难懂! 接下来,我会跟大家分模块分析它们。 正文 1.标准登录流程详解 小程序通过wx....
  • 微信小程序登录流程图

    千次阅读 2019-05-15 10:41:53
    一、微信小程序官方登录流程图: 二、具体理解 微信小程序客户端(小程序前端) 第三方服务器端(小程序后端) 微信服务器端(微信官方api) 1、客户端获得code值,并将code传给第三方服务端 微信小程序...
  • 微信小程序登录 返回 -41003

    千次阅读 2019-07-04 18:13:32
    微信小程序登录解密失败 小程序登录的时候,通过客户端获取的code等加密的信息,传给后端解密,可是后端解密返回 -41003 问题踩坑过程 复现流程: 用户点击授权按钮。通过 按钮绑定 getUserInfo 方法。获取用户...
  • 微信小程序登录流程+介绍wx.login和auth.code2Session 微信小程序登录流程 介绍wx.login和auth.code2Session wx.login:微信小程序的登录方法
  • 微信小程序登录弹框问题

    千次阅读 2019-08-15 17:59:29
    相信刚接触微信小程序开发的人都在想 官方给出的这个是什么意思 我来解释一下吧 还记得我们在最开始使用微信小程序的时候吗? 第一次进一个微信小程序的时候会直接弹出来个框 询问我们是否允许哟用户获取信息,微信...
  • 微信小程序登录前+后台实现

    万次阅读 2018-08-14 16:53:30
    微信小程序授权登录 最近在学习微信小程序开发,研究了一下微信小程序的授权登录。发现微信小程序授权登录真的是一件很简单的事情。 微信登录授权顺序图:  这是API 链接 微信登录授权可以有两种方法实现1,...
  • golang版微信小程序登录和ase解码微信公开数据 虽然微信提供了很多版语言的代码,但是没有go版,很简单的,大家想偷个懒就直接copy我的代码就好了 首选用code登录微信服务器,返回openID和session_key type ...
  • 微信小程序最新授权登录 小程序可以通过getPhoneNumber来获取用户手机号,但是getPhoneNumber必须绑定在button组件里。详情官网:微信小程序获取手机号 如何实现页面进入小程序授权登录? 实现方法:写一个类似微信...
  • beego微信小程序登录、确权、解密

    千次阅读 2018-09-08 20:41:49
    问:微信小程序访问自己服务器接口获得数据,有个问题,自己服务器的接口访问必须是用户登录过得(也就是进行授权过得),那么当微信小程序从微信那里授权以后,访问自己服务器,怎么取设计,登录自己服务器的这件...
  • 微信小程序 登录流程规范

    万次阅读 2016-12-06 18:25:28
    一. 官方登录时序图二. 简单理解这里仅按照官方推荐的规范来0....- 微信小程序客户端 - 第三方服务器端(自己搭建) - 微信服务器端1. 客户端获得code,并将code传给第三方服务端微信小程序端调用wx.lo
  • 微信小程序登录解密异常

    千次阅读 热门讨论 2018-09-26 11:56:24
    用户登录微信小程序,初始登录会报错,接着再登录,就会登录成功。 后端catch住的异常 抛异常原因 小程序客户端调用微信服务器的接口顺序反了。 小程序客户端需要调用微信服务器的wx.login接口来获取code,然后调用...
  • 微信小程序登录欢迎页面demo

    万次阅读 2018-07-29 12:24:34
    之前有用过小程序的欢迎页面,也是GitHub上找到的一个案例。近期有用到,简单的分享一下,可以让有需要的人避免重复造轮子和更好的创新学习。 (一)效果预览 ...微信小程序商城,微信小程序微店...
  • 微信小程序登录Java后台接口(详解,附示例代码)

    万次阅读 多人点赞 2018-04-19 12:53:12
    首先看一下官方文档地址:微信小程序官方文档API登录接口我们先对官方给的时序图进行简单的分析1.当小程序调用wx.login()时,会获得一个code(临时登录凭证),然后我们需要用wx.request()将code发送到自己的服务器.2.在...
  • 微信小程序登录功能实现(通过用户名和密码)

    万次阅读 多人点赞 2019-07-26 18:52:04
    通常我们在登录微信小程序的时候都是通过授权登录,各种博文上已经有了很多案例,这里记录一下自己实际开发过程中,通过用户名和密码请求登录的流程: 1、获取用户在用户名输入框输入的信息 wxml: <input ...
  • 微信小程序登录功能的使用

    万次阅读 2018-03-07 00:39:12
    微信小程序登录功能主要通过两个步骤实现:先上一张微信官方文档中的时序图一、利用wx.login函数获取用户codewx.login({ success: function(res) { //用户code会被封装在res对象中,通过res.code获取用户的code ...
  • 小程序登录与否判断 小程序如果每次使用都需要用户登录势必会使用户体验感降低,如何进行判断用户是否登录了,很简单,只要调用一个API就行了 在小程序登录后的第一个page中的index.js文件的onLoad方法中加上如下...
  • 微信小程序登录后端开发流程(附go后端实现代码)

    千次阅读 多人点赞 2019-11-02 16:53:13
    微信官方文档 * 小程序登录流程 微信官方文档 * 小程序 本文参考以上文档, 加上自己理解整合写出. 登录流程 前端调用wx.login() 获取 临时登录凭证code ,并回传到开发者服务器。 后端调用 auth.code2Session 接口...
  • 首先既然是小程序登录 你要有一个你自己的小程序还是要拿到你自己的appid和appSecret这两个重要的参数 拿到这两个参数才可以发起后面的请求不多说别的废话 我们需要拿到的 就只有两个 一个是openid一个是ses...
  • 微信登录后,将获取的微信信息(昵称、头像等)以及后台算出的openid、unionid等保存/更新到数据库的会员表中,并返回算出的session_key+会员信息。 ③判断会员信息中手机号是否为空。如果手机号为空,获取手机号...
  • 【小程序】手把手带你完成微信小程序开发实践

    万次阅读 多人点赞 2016-11-07 17:14:27
    :)填写企业信息不能使用和之前的公众号账户相同的邮箱,也就是说小程序是和微信公众号一个层级的。填写公司机构信息,对公账户信息绑定管理员微信企业认证公司对公账户对微信进行打款 账户自动验证后,自动认证通过,并...
  • //判断小程序的API,回调,参数,组件等是否在当前版本可用。 canIUse: wx.canIUse('button.open-type.getUserInfo') }, onLoad: function () { var that = this; // 查看是否授权 wx.getSetting({ success:...
  • 微信小程序开发【前端+后端(java)】

    万次阅读 多人点赞 2018-07-13 22:19:46
    现在微信小程序越来越火了,相信不少人都通过各种途径学习过微信小程序或者尝试开发,作者就是曾经由于兴趣了解开发过微信小程序,最终自己的毕业设计也是开发一个微信小程序。所以现在用这篇博客记录我之前开发的...
  • 基于微信小程序对于getUserInfo的调整,获取用户信息改采用button实现,基于此实现的微信小程序一整套登录流程。 在整个小程序的实现中需要调用wx.checkSession()接口,通过该接口检测session_key是否过期。 基于...
  • WXCustomSwitch 微信小程序自定义 Switch 组件模板 WeixinAppBdNovel 微信小程序demo:百度小说搜索 shitoujiandaobu 小程序:石头剪刀布(附代码说明) audiodemo 微信小程序开发之视频播放器 Video 弹...
  • 出现这样问题都是先获取用户信息wx.getUserInfo()encryptedData与iv,再进行登录wx.login()获取code,code是用来生成session_key用来解密encryptedData与iv的,所以等你先获取用户encryptedData与iv时再获取code...
  • 申请微信小程序并认证的步骤参见三掌柜发布的名为“微信小程序:微信公众号申请微信小程序并认证的步骤”这篇文章,这里只介绍怎么正确登录微信小程序管理后台界面。  发现一个问题,之所以被误导就是因为没有...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 406,873
精华内容 162,749
关键字:

微信小程序登录

微信小程序 订阅