小程序开发时 遇到 要解析token 的问题 ,用base64来解析这个token

首先是写出 解析 的方法 对象

这段代码 是base64 转码和解码的 方法
var Base64 = {// private property_keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="// public method for encoding, encode: function (input) {var output = "";var chr1, chr2, chr3, enc1, enc2, enc3, enc4;var i = 0;input = Base64._utf8_encode(input);while (i < input.length) {chr1 = input.charCodeAt(i++);chr2 = input.charCodeAt(i++);chr3 = input.charCodeAt(i++);enc1 = chr1 >> 2;enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);enc4 = chr3 & 63;if (isNaN(chr2)) {enc3 = enc4 = 64;}else if (isNaN(chr3)) {enc4 = 64;}output = output +this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) +this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);} // Whend return output;} // End Function encode ,decode: function (input) {var output = "";var chr1, chr2, chr3;var enc1, enc2, enc3, enc4;var i = 0;input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");while (i < input.length) {enc1 = this._keyStr.indexOf(input.charAt(i++));enc2 = this._keyStr.indexOf(input.charAt(i++));enc3 = this._keyStr.indexOf(input.charAt(i++));enc4 = this._keyStr.indexOf(input.charAt(i++));chr1 = (enc1 << 2) | (enc2 >> 4);chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);chr3 = ((enc3 & 3) << 6) | enc4;output = output + String.fromCharCode(chr1);if (enc3 != 64) {output = output + String.fromCharCode(chr2);}if (enc4 != 64) {output = output + String.fromCharCode(chr3);}} // Whend output = Base64._utf8_decode(output);return output;} // End Function decode // private method for UTF-8 encoding, _utf8_encode: function (string) {var utftext = "";string = string.replace(/\r\n/g, "\n");for (var n = 0; n < string.length; n++) {var c = string.charCodeAt(n);if (c < 128) {utftext += String.fromCharCode(c);}else if ((c > 127) && (c < 2048)) {utftext += String.fromCharCode((c >> 6) | 192);utftext += String.fromCharCode((c & 63) | 128);}else {utftext += String.fromCharCode((c >> 12) | 224);utftext += String.fromCharCode(((c >> 6) & 63) | 128);utftext += String.fromCharCode((c & 63) | 128);}} // Next n return utftext;} // End Function _utf8_encode // private method for UTF-8 decoding, _utf8_decode: function (utftext) {var string = "";var i = 0;var c, c1, c2, c3;c = c1 = c2 = 0;while (i < utftext.length) {c = utftext.charCodeAt(i);if (c < 128) {string += String.fromCharCode(c);i++;}else if ((c > 191) && (c < 224)) {c2 = utftext.charCodeAt(i + 1);string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));i += 2;}else {c2 = utftext.charCodeAt(i + 1);c3 = utftext.charCodeAt(i + 2);string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));i += 3;}} // Whend return string;} // End Function _utf8_decode }console.log(Base64.encode("卢霄霄")) //转码
console.log(Base64.decode(Base64.encode("卢霄霄"))) //解码

在这之前我是使用的atob()的方发来实现的但是在开发者工具上是可以实现的但是当我去真机调试或者发布体验版本的时候就不行了 会提示 atob is not function 现在还没找出具体原因 无奈只好找到别人写好的转码流程来借用一下 我现在的需求用不到 转码因为token已经是了 我现在需要的是解码

步骤如下

var token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzaWQiOjEwMDM0NCwic3ViIjoid3hfUiZI8J-atiIsImp0aSI6ImY5NTFlODRjLTQyODItNDVjMS1hNjYxLWI4MmMxOWVmNWVkOSIsImlhdCI6IjIwMjEvMTIvMTAgMTA6NTE6MDIiLCJuYmYiOiIyMDIyLzYvOCAxMDo1MTowMiIsImV4cCI6MTY1NDY1NjY2MiwiaXNzIjoiWElTVVNTTyIsImF1ZCI6Ind4X1ImSPCfmrYifQ.dGCNJC1Ye3Va7UhUnG03eT8d8yWPh8ycGNIZffYaYk8'
let object = Base64.decode(token.split(".")[1].replace(/-/g,"+")).replace(/{/g," ") 这一步是在解析token的时候由于不解析 - 法所以换成加法
var pattern = new RegExp("[0-9]+");
var objects = object.match(pattern);
cosole.log(objets)

注:其中一些代码来自于 https://developers.weixin.qq.com/s/WCo0z0m57Jbm

微信小程序 base64 转化后台返回的 token相关推荐

  1. 微信小程序与Java后台的通信

    一.写在前面 最近接触了小程序的开发,后端选择Java,因为小程序的代码运行在腾讯的服务器上,而我们自己编写的Java代码运行在我们自己部署的服务器上,所以一开始不是很明白小程序如何与后台进行通信的, ...

  2. 微信读书登陆界面java_(JAVA后端)微信小程序-毕设级项目搭建-微信阅读小程序(内含源码,微信小程序+java逻辑后台+vue管理系统)~不求完美,实现就好...

    转载地址:(JAVA后端)微信小程序-毕设级项目搭建-微信阅读小程序(内含源码,微信小程序+java逻辑后台+vue管理系统)~不求完美,实现就好 转载请注明出处 一.环境搭建 相关环境软件:JDK1 ...

  3. 《微信小程序》微信小程序用java后台连接数据库进行操作。

    微信小程序与Java后台的通信 一.写在前面 最近接触了小程序的开发,后端选择Java,因为小程序的代码运行在腾讯的服务器上,而我们自己编写的Java代码运行在我们自己部署的服务器上,所以一开始不是很 ...

  4. 微信小程序登录Java后台接口

    微信小程序登录java后台接口 首先看一下微信小程序的开发文档: 微信小程序开发文档 步骤: 小程序端向微信接口服务发送请求--wx.login():获取到登录临时凭证code 小程序端拿着获取到的c ...

  5. 微信小程序及Java后台测试登录

    微信小程序及Java后台测试登录 文章目录 微信小程序及Java后台测试登录 一.使用的工具以及开发环境 二.微信端登录代码. 第一种方式,使用wx.getUserInfo直接获取微信头像,昵称. 第 ...

  6. 微信小程序调用php,微信小程序调用PHP后台接口 解析纯html文本

    微信小程序调用php后台接口,解析纯html文本,效果图片预览 1.微信js动态传参: wx.request({ url: 'https://m.****.com/index.php/home/xia ...

  7. 微信小程序需要https后台的创业机会思考

    最近比较关注微信小程序,而且微信小程序的后台必须强制要求https, https相对http成本要高很多了. 这里我感觉有2个商机 (1)提供https 中转服务器 ,按流量来收费 (2) 微信小程序 ...

  8. 微信小程序中带参数返回上一页的方法总结(三种)

    本篇文章给大家带来的内容是关于微信小程序中带参数返回上一页的方法总结(三种),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 方法一 把当前页面数据放入本地缓存( wx.setStor ...

  9. 绑定bindchange事件的微信小程序swiper闪烁,抖动问题解决,(将微信小程序切换到后台一段时间,再打开微信小程序,会出现疯狂循环轮播,造成抖动现象)

    绑定bindchange事件的微信小程序swiper闪烁,抖动问题解决,(将微信小程序切换到后台一段时间,再打开微信小程序,会出现疯狂循环轮播,造成抖动现象) 参考文章: (1)绑定bindchang ...

最新文章

  1. 技术图文:进一步完善自动化交易系统 - 02
  2. 前端网页、php与mysql数据库字符编码(解决中文等乱码问题
  3. linux LVM 系统盘扩容
  4. Java8中的流操作-基本使用性能测试
  5. Echarts 自定义数据视图
  6. 详述白盒测试逻辑覆盖法的语句覆盖及其缺点
  7. client netty 主动发数据_Netty服务器无限循环给客户端发送数据
  8. sccm 2007 r2 step by step 之十五 补丁管理
  9. 1195.最长最短文本
  10. 基于Spring Security的认证授权_应用详解_会话管理_Spring Security OAuth2.0认证授权---springcloud工作笔记129
  11. 阿里云80端口无法访问
  12. AT89C51使用DAC0832数模转换,波形发生器
  13. 简单易用的APIv3版微信支付SDK
  14. Origin图复制到Word后有大片空白
  15. 【diskgenius】【Error on partition resizing.(2000011a)Out of disk space.】【The partition(or volume)“PART
  16. a foreign key constraint fails
  17. 伽罗华域(Galois Field)有限域元素生成和运算原理
  18. 分析PNG图片格式——数据块
  19. 2022焊工(初级)试题及在线模拟考试
  20. 协议和协议栈的区别?

热门文章

  1. 关于我没赶上老师进度被迫自学第一天
  2. 商品详情页整体架构介绍
  3. pdf设置研究保护色
  4. 多交互智能手套Miiglove
  5. 南邮计算机专业考什么,南京邮电大学计算机考情分析与经验分享
  6. 聊聊CentOS系统调用
  7. emake-Linux学习20201009
  8. S7-200SMART PLC清除密码的具体方法和步骤
  9. java语言【 #93. 温度换算】(已通过)
  10. 中国的3G时代开始了……