微信小程序_获取openid联动django实现

⭐ 前言

  1. 客户端前端发起请求获取code
  2. 服务器后端用code去访问api获取

⭐步骤分解

微信小程序获取code

在前端页面发起request去获取code

wx.login({
          
   
      success(res) {
          
   
        if (res.code) {
          
   
          //发起网络请求
          const path = /common-api/wxProgramLogin/
          wx.request({
          
   
            url: baseUrl + path,
            method: GET,
            data: {
          
   
              code: res.code
            },
            success: (res => {
          
   
              console.log(res, res)
              console.log(res.data, res.data.data)
              wx.setStorageSync(currentOpenid, res && res.data ? res.data.data : null)
              resolve && resolve()
              wx.hideLoading()
            }),
            fail: r => {
          
   
              console.log(cloud r, r)
              wx.hideLoading()
              reject && reject()
            }
          })
        } else {
          
   
          console.log(登录失败! + res.errMsg)
          wx.hideLoading()
          reject && reject()
        }
      },
      fail: r => {
          
   
        console.log(r, r)
        wx.hideLoading()
        reject && reject()
        // wx.hideLoading()
      }
    })

requests访问code2Session接口

code2Session接口需要后端发起 django中的实现 views的视图

在url中把wx_program_login暴露出去

from django.contrib import admin
from .views import wx_program_login
from django.urls import path,include

urlpatterns = [
    path(rwxProgramLogin/, wx_program_login)
]

测试成功!

根据code获取openid成功!

⭐结束

感谢你的阅读,如有错误,欢迎提出!

经验分享 程序员 微信小程序 职场和发展