• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

微信小程序+express获取token值

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

安装 request,express,body-parser

cnpm install express request body-parser  --save

引入及使用

app.js文件中

const express =require("express");
const request=require("request");

const app=express();
const bodyParser=require("body-parser");
app.use(bodyParser.urlencoded({extended:false}));
app.use(bodyParser.json());

//定义appid  和appSecret;
const appid="wx*******";
const appSecret="f8****************";

app.get("/api/login",(req,res,next)=>{
const code=req.query.code;
const url=`https;//api.weixin.qq.com/sns/jscode2session?appid=${appid}&secret=${appSecret}&js_code=${code}&grant_type=authorization_code`;
request(url,(err,wxresult,body)=>{
    res.send({
        code:1,
        msg:\'请求数据成功",
        data:body
    })
    })
})

//发送token值
app.get("/api/userToken",(req,res,next)=>{
const tokenUrl=`https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=${appid}&secret=${appSecret}`;
request(tokenUrl,(err,wxres,body)=>{
res.send({
code:1,
msg:\'操作成功\',
data:body
})
})
})



app.listen(3001,()=>{
    console.log(\'app is start");
})

me.js文件

 

// pages/me/me.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    baseUrl: getApp().globalData.baseUrl,
    isShow: false,
    userName: "游客",
    userInfo: {},
  },

  // 获取用户信息
  handlerGetUserInfo(e) {
    var that = this
    console.log(e)

    if (e.detail.errMsg == "getUserInfo:ok") {
      var newData = { userName: e.detail.userInfo.nickName, avatar: e.detail.userInfo.avatarUrl }

      // 收取获取用户信息
      wx.login({
        success: res => {
          console.log(res)
          const code = res.code
          // console.log(that.data.baseUrl + "api/login?code=" + code + "&userName=" + newData.userName + "&avatar=" + newData.avatar)
          wx.request({
            url: that.data.baseUrl + "api/login?code=" + code,
            success: res => {
              console.log(res)
              const openid = JSON.parse(res.data.data).openid
              const session_key = JSON.parse(res.data.data).session_key
              wx.setStorageSync("openid", openid)
              wx.setStorageSync("session_key", session_key)
              that.setData({
                isShow: true,
                userInfo: newData
              })
          
        // 获取token值
              wx.request({
                url: that.data.baseUrl+"api/userToken",
                method:\'GET\',
                success:res=>{
                  console.log(res)
                  // 保存token值
                  wx.setStorageSync(\'token\', JSON.parse(res.data.data).access_token)
                }
              })
// 保存用户信息
              wx.request({
                url: that.data.baseUrl + "api/saveInfo",
                method: "POST",
                data: newData,
                success: saveRes => {
                  console.log(saveRes)
                  wx.setStorageSync(\'userInfo\', saveRes.data.list[0])
                }
              })
            }
          })
        }
      })
    } else {

    }
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    // 判断用户是否登录
    var userInfo = wx.getStorageSync(\'userInfo\')
    if (!userInfo) {

    } else {
      this.setData({
        isShow: true,
        userInfo: userInfo
      })
    }
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})

 

 

 

me.wxml

<view class="header" wx:if="{{isShow}}">
      <image src="{{userInfo.avatar}}" class="user-img"></image>
      <view class="user-name">{{userInfo.userName}}</view>
 </view>
 <view class="header"wx:if="{{!isShow}}">
      <image src="" class="user-img"></image>
      <button class="like-btn-user-name" open-type="getUserInfo" bindgetuserinfo="handlerGetUserInfo">游客登录</button>
</view>




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap