IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> uniapp+node.js(express框架)获取微信小程序的openid -> 正文阅读

[移动开发]uniapp+node.js(express框架)获取微信小程序的openid

前端代码:

<template>

?? ??? ?<view class='other'>
?? ??? ??? ?<view class='other-item' @tap='loginOther()'>
?? ??? ??? ??? ?<button>微信登录</button>
?? ??? ??? ??? ?<view></view>
?? ??? ??? ?</view>
?? ??? ?</view>
</template>
<script>
? // 这里是引入请求本地的ip地址
import $http from '@/common/api/request.js'
export default{
?? ?methods:{
?? ??? ?loginOther(){
?? ??? ??? ?uni.login({
?? ??? ??? ??? ?success:(res)=>{
? ? ? ? ? let code=res.code;
? ? ? ? ? $http.request({
? ? ? ? ? ?? ?url:"/login",
? ? ? ? ? ?? ?method:"POST",
? ? ? ? ? ?? ?data:{
? ? ? ? ? ? ? ? code
? ? ? ? ? ?? ?},
? ? ? ? ? }).then((res)=>{
? ? ? ? ? ?? ?console.log(res)
? ? ? ? ? }).catch(()=>{
? ? ? ? ? ?? ?uni.showToast({
? ? ? ? ? ?? ??? ?title:'请求失败',
? ? ? ? ? ?? ??? ?icon:'none'
? ? ? ? ? ?? ?})
? ? ? ? ? })
?? ??? ??? ??? ?}
?? ??? ??? ?})
?? ??? ?}
?? ?}
}
</script>

<style scoped>

</style>
请求代码(request.js):

export default{
?? ?common:{//默认数据格式
?? ??? ?baseUrl:"http://本地ip地址或者你的服务器ip地址或者你服务器的域名:3000/api",
?? ??? ?data:{},
?? ??? ?header:{
?? ??? ??? ?"Content-Type":"application/json",
?? ??? ??? ?"Content-Type":"application/x-www-form-urlencoded"
?? ??? ?},
?? ??? ?method:"GET",
?? ??? ?dataType:"json"
?? ?},
?? ?request( options={} ){//options是默认值
?? ??? ?//这里是进行设置加载中给数据进行缓存一下
?? ??? ?uni.showLoading({
?? ??? ? ? ?title: '加载中'
?? ??? ?});
?? ??? ?
?? ??? ?options.url = this.common.baseUrl + options.url;
?? ??? ?options.data = ?? ?options.data || this.common.data;
?? ??? ?options.method = options.method || this.common.method;
?? ??? ?options.dataType = ?? ?options.dataType || this.common.dataType;
? ? return new Promise((res,rej)=>{
?? ??? ??? ?uni.request({
?? ??? ??? ??? ?...options,
?? ??? ??? ??? ?success: (result) => {
?? ??? ??? ??? ??? ?if(result.statusCode != 200){//处理其他接口没有数据而出现404报错的问题
?? ??? ??? ??? ??? ??? ?return rej();
?? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ?setTimeout(function () {
?? ??? ??? ??? ??? ? ? ?uni.hideLoading();
?? ??? ??? ??? ??? ?}, 0);//这是设置加载数据的显示时间
?? ??? ??? ??? ??? ?let data = result.data.data;
?? ??? ??? ??? ??? ?res(data);
?? ??? ??? ??? ?}
?? ??? ??? ?})
?? ??? ?})
?? ?}
}
后端node.js代码(express框架)

var express = require('express');
var router = express.Router();
//要记得下载这个包,npm install request
const request = require('request')
router.post('/api/login', function(req, res, next) {
? let code=req.body.code;//登陆传过来的code
?let appid = "自己的"; //自己小程序后台管理的appid,可登录小程序后台查看
?let mysecret = "自己的"; //小程序后台管理的secret,可登录小程序后台查看
?let grant_type = "authorization_code"; // 授权(必填)默认值
?//拼接出请求微信服务器的url地址然后请求oppenid和session_key
? let url ='https://api.weixin.qq.com/sns/jscode2session?appid=' + appid + '&secret=' + mysecret + '&js_code=' + code + '&grant_type=authorization_code';
? ? ? request(url,(error, response, body)=>{
? ? ? ? //JSON.parse()方法将JSON格式字符串转换为js对象
? ? ? ? let parsData = JSON.parse(body.toString());
? ? ? ? let openid=parsData.openid;
? ? ? ? let session_key=parsData.session_key;
? ? ? ? //返回前端是下面这个被注释的
? ? ? ? // res.send({
? ? ? ? // ? data:parsData
? ? ? ? // }) ? ?
? ? ? ? ?})
})
module.exports = router;

这样子是可以完全请求出微信小程序的openid,目前我这样子做是有效的

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-09-30 01:04:20  更:2022-09-30 01:06:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 23:20:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码