十七、小程序报错 真机调试预览失效 Error: Illegal Buffer

news2024/9/27 19:15:18

报错 电脑端微信开发者工具运行成功而真机调试预览失效

报错 MiniProgramError Illegal Buffer

报错 {errno: 600001, errMsg: “request:fail -200:net::ERR_CERT_COMMON_NAME_INVALID”}

前言:手头有个去年的微信小程序项目 年底甲方不在使用 所以停掉了服务器、域名、数据库、小程序服务
现需求:把停服的小程序重亲启动(只用于演示 无需对接真实数据和客户)
后端:进行了服务器、数据库转移 用IP地址即可实现

正文报错:

在这里插入图片描述
请添加图片描述

解决方法:

1、后端地址若是IP 必须满足无认证 也就是http不是https 例 http://110.1.00.111:8080 且不可以是主机IP 【因为主机IP电脑端可以访问但真机调试的手机端无效】

2、后端必须保证 AppID(小程序ID)AppSecret(小程序密钥) 也就是 session_key的唯一性(全面关键字检查 + 忘记key的话就更换一个新的没影响)

3、前端检查页面引用 IP 的路径是否全部更换掉以前的地址(全面关键字检查)

4、前端检查代码 以微信授权手机号为例 session_key的获取

<template>
	<view class="content">
		<button open-type="getPhoneNumber" @getphonenumber="getPhoneNumber" class="getPhone" v-if="showBtn">
			<image src="../../static/ry_cion.png"></image>
			<text>微信授权</text>
		</button>
		<view class="timer" v-if="!showBtn">{{countdown}}</view>
	</view>
</template>

<script>
	// baseurl 是url地址路径
	const { baseurl } = require('../../utils/config');
	import WXBizDataCrypt from "../../utils/WXBizDataCrypt.js";
	export default {
		data() {
			return {
				countdown:2,
				timer: null,
				session_key:'',
				showBtn:false,
				enter: '',
			}
		},
		onLoad(options) {
			console.log('index options', options)
			let qrUrl = decodeURIComponent(options.q)
			this.enter = this.getQueryString(qrUrl, 'enter')
			let userPhone = uni.getStorageSync('userPhone')
			if(userPhone!=''){
				this.showBtn=false
				this.timer = setInterval(() =>{
					 //创建定时器
					if(this.countdown === 1){
						this.clearTimer();  //关闭定时器
						uni.setStorageSync("isLogin",true)
						uni.redirectTo({
							url:'../home/home?enter=' + this.enter
						})
					}else{
						this.loading();
					}
				},1000);
			}else{
				console.log(4321)
				this.showBtn=true
				this.userLogin()
			}
		},
		/*
		 * uniapp微信小程序分享页面到微信好友
		*/
		onShareAppMessage() {},
		
		/*
		 * uniapp微信小程序分享页面到微信朋友圈
		*/
		onShareTimeline() {},
		
		methods: {
			//解析链接方法
			getQueryString: function(url, name) {
				var reg = new RegExp('(^|&|/?)' + name + '=([^&|/?]*)(&|/?|$)', 'i');
				var r = url.substr(1).match(reg);
				if (r != null) {
					return r[2];
				}
				return null;
			},
			loading(){
			  //启动定时器
			  this.countdown--;  //定时器减1
			},
			clearTimer(){
			   //清除定时器
			   clearInterval(this.timer);
			   this.timer = null;
			},
			//根据 code 获取用户openid判断拉取手机号判断是否注册
			userLogin(){
			// 获取微信code判断是否注册过账号。
				uni.login({
					provider: 'weixin',
					success: res => {
						let code =res.code
						uni.request({
							// 前后端接口联调
							url:baseurl+'/applets/gainOpenId',
							method: 'GET',
							data: {
								code: res.code
							},
							header: {
								'content-type': 'application/json'
							},
							success: res => {
								// session_key的获取
								this.session_key=res.data.data.session_key
							},
							fail: (err) => {
								console.log(err)
							},
						});
					}
				});
			},
			getPhoneNumber(e) {
				console.log(1234)
				console.log(this.session_key)
				// appid
				let appid = "111111111111111111" 
				//调用 wx.login 接口,获取code
				if(e.detail.errMsg!= "getPhoneNumber:fail user deny"){
					let pc = new WXBizDataCrypt(appid, this.session_key);
					let data = pc.decryptData(e.detail.encryptedData, e.detail.iv);
					let userPhone = data.phoneNumber
					uni.setStorageSync("userPhone",userPhone)
					this.judgeRegister(userPhone)
				}		
			},
			
			//判断手机号是否已注册
			judgeRegister(iphone) {
				var that = this
				uni.request({
					url: baseurl + '/wx/user/list',
					method: 'POST',
					data: {
						'iphone': iphone
					},
					header: {
						'content-type': 'application/json'
					},
					success: (res) => {
						if (res.data.code == 0) {
							if (res.data.data.length == 0) {
								//没有注册
								uni.showModal({
									title: '您尚未注册个人信息!',
									content: '请及时注册小程序,并到指定核酸监测点-地址,进行核酸检测',
									confirmText: '同意',
									cancelText: '取消',
									showCancel: false,
									success(res) {
										if (res.confirm) {
											uni.navigateTo({
												url: `../register/index?isMain=1`
											})
										}
									}
								})
							} else {
								//已注册,跳转home
								uni.setStorageSync("isLogin", true)
								uni.redirectTo({
									url:'../home/home?enter' + this.enter
								})
							}
						}
					},
					fail: (err) => {
						uni.showToast({
							icon: 'none',
							title: err.data.msg,
						})
					},
				});
			},
			
			//查询用户是否注册
			getUserStatus(userPhone){
				uni.request({
					url:baseurl+'/ant/user/list',
					method: 'POST',
					data: {
						iphone: userPhone
					},
					header: {
						'content-type': 'application/json'
					},
					success: res => {
						if(res.data.rows.length>0){
							uni.setStorageSync("isLogin",true)
							uni.redirectTo({
								url:'../myCenter/index?isResiter=1'
							})
							
						}else{
							uni.redirectTo({
								url:`../register/index?id=&isMain=1&phone=${userPhone}`
							})
						}
					},
					fail: (err) => {
						
					},
				});
			}
		}
	}
</script>

5、勾选不校检域名

在这里插入图片描述

6、打开手机端开发调试 出现 vConsole

在这里插入图片描述

7、缓存问题

在这里插入图片描述

8、若重新发布版本小程序后台需注意(appid、密钥、打开服务、域名等)---------- 若只用于演示系统讲解 则无需关注第八点的(打开服务、域名)

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/430107.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

互联网医院系统构建:探索开源云平台与互联网医院平台源码的融合

互联网医院系统作为一种新型医疗服务模式&#xff0c;将传统的医院门诊转化为在线咨询、远程会诊等形式&#xff0c;帮助患者更加方便地获得专业医疗服务。 在实现互联网医院系统的建设过程中&#xff0c;选择合适的云平台和医院平台源码是至关重要的。 首先&#xff0c;开源…

LVM逻辑卷管理

目录一、LVM简介1、逻辑卷管理磁盘的优点2、缺陷3、LVM概述图二、LVM的使用1、创建逻辑卷2、使用逻辑卷3、删除逻辑卷4、LVM扩容5、LVM缩容三、Snapshot&#xff08;快照功能&#xff09;1、LVM-snapshot简介2、利用snapshot做备份&#xff08;LV快照&#xff09;四、LVM数据迁…

整型在内存中的存储

在计算机底层&#xff0c;所有数据最终都会被表示为二进制形式。整型也不例外。本文将介绍在C语言中如何定义和操作整型变量&#xff0c;并解释整型在内存中的存储方式。 整型变量的定义和使用 在C语言中&#xff0c;可以用int关键字来定义一个整数型变量。例如&#xff1a; …

ChatGPT们接踵而至,AI会彻底改变我们的工作方式吗?

2023年开年&#xff0c;AI成为了舞台上聚光灯下的主角&#xff0c;AI 浪潮不仅让我们对人工智能的能力有了一次全新的理解&#xff0c;而且所有人的工作和生活都将受到不同程度的影响。 ChatGPT、Notion AI、New Bing、GPT-4、MidJourney v5、office copilot、Adobe Firefly、…

解决方案:炼丹师养成计划 Pytorch如何进行断点续训——DFGAN断点续训实操

我们在训练模型的时候经常会出现各种问题导致训练中断&#xff0c;比方说断电、系统中断、内存溢出、断连、硬件故障、地震火灾等之类的导致电脑系统关闭&#xff0c;从而将模型训练中断。 所以在实际运行当中&#xff0c;我们经常需要每100轮epoch或者每50轮epoch要保存训练好…

Python实现哈里斯鹰优化算法(HHO)优化卷积神经网络分类模型(CNN分类算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 2019年Heidari等人提出哈里斯鹰优化算法(Harris Hawk Optimization, HHO)&#xff0c;该算法有较强的全…

DAY 43 Apache的配置与应用

虚拟Web主机 概述 虚拟web主机指的是在同一台服务器中运行多个web站点&#xff0c;其中每一个站点实际上并不独立占用整个服务器&#xff0c;因此被称为"虚拟"web主机。通过虚拟web主机服务可以充分利用服务器的硬件资源&#xff0c;从而大大降低网站构建及运行成本…

TensorFlow 决策森林详细介绍和使用说明

使用TensorFlow训练、调优、评估、解释和部署基于树的模型的完整教程 两年前TensorFlow (TF)团队开源了一个库来训练基于树的模型&#xff0c;称为TensorFlow决策森林(TFDF)。经过了2年的测试&#xff0c;他们在上个月终于宣布这个包已经准备好发布了&#xff0c;也就是说我们…

在android项目上集成libyuv库以及使用linyuv库完成camera的缩放,旋转,翻转,裁剪操作

目录 一、下拉google官方的libyuv库代码 二、在android项目中集成libyuv库 1.环境配置 2.拷贝libyuv源码文件 ​编辑3.配置cmake libyuv相关的链接编译等 三、使用libyuv库 1.libyuv库完成camera的旋转 2.libyuv库实现翻转 3.libyuv库实现缩放 4.libyuv库实现裁剪 一…

为什么重视安全的公司都在用SSL安全证书?

我们今天来讲一讲为什么重视安全的公司都在用SSL证书 SSL证书是什么&#xff1f; SSL安全证书是由权威认证机构颁发的&#xff0c;是CA机构将公钥和相关信息写入一个文件&#xff0c;CA机构用他们的私钥对我们的公钥和相关信息进行签名后&#xff0c;将签名信息也写入这个文件…

对于数据库而言,其锁范围可以分为全局锁 、表级锁、 行级锁

一、全局锁 全局锁就是对整个数据库实例加锁。 MySQL 提供了一个加全局读锁的方法&#xff0c;命令是 Flush tables with read lock (FTWRL)。当你需要让整个库处于只读状态的时候&#xff0c;可以使用这个命令&#xff0c;之后其他线程的以下语句会被阻塞&#xff1a;数据更新…

DOM(1)

DOM&#xff08;文档对象模型&#xff09;&#xff1a;处理可扩展标记语言(HTML或XML&#xff09;的标准编程接口&#xff0c;可以改变网页的内容、结构和样式。DOM树&#xff1a; …

ubuntu18 网络问题

在/etc/netplan/*.yaml配置文件中&#xff1a; renderer的值可以是networkd&#xff0c;或者是NetworkManager 它俩的其中一个区别为&#xff1a; networkd在图像界面&#xff0c;networking setting中不显示网卡配置。 版权简介&#xff1a; 从Ubuntu 18.04.2版本开始&…

腾讯云4核8G轻量服务器12M支持多少访客同时在线?并发数怎么算?

腾讯云轻量4核8G12M轻量应用服务器支持多少人同时在线&#xff1f;通用型-4核8G-180G-2000G&#xff0c;2000GB月流量&#xff0c;系统盘为180GB SSD盘&#xff0c;12M公网带宽&#xff0c;下载速度峰值为1536KB/s&#xff0c;即1.5M/秒&#xff0c;假设网站内页平均大小为60KB…

网络安全:网络攻击原理与方法.

网络安全&#xff1a;网络攻击原理与方法. 网络攻击&#xff1a;是损害网络系统安全属性的危害行为。危害行为导致网络系统的机密性、完整性、可控性、真实性、抗抵赖性等受到不同程度的破坏。 目录&#xff1a; 常见的危害行为有四个基本类型&#xff1a; 网络攻击模型&…

项目实践 | 行人跟踪与摔倒检测报警

项目实践 | 行人跟踪与摔倒检测报警 小白学视觉 7月7日 原文地址&#xff1a;项目实践 | 行人跟踪与摔倒检测报警 1.简介 本项目的目的是为了给大家提供跟多的实战思路&#xff0c;抛砖引玉为大家提供一个案例&#xff0c;也希望读者可以根据该方法实现更多的思想与想法&…

为什么Uber从PostgreSQL换成了MySQL

说明&#xff1a;本文翻译自Why Uber Engineering Switched from Postgres to MySQL 引言 Uber的早期架构包括一个用Python编写的单一后端应用程序&#xff0c;它使用Postgres进行数据持久化。从那时起&#xff0c;Uber的架构发生了重大变化&#xff0c;转向了微服务和新数据…

比例放大器设置接线US-DAS1/US-DAS2

US-DAS1、US-DAS2比例放大器接线定义 1 CMD 指令 2 CMD- 指令- 3/4/5 N.C. 不接 6 ENA 使能 7 VREF_5V 参考电压5V 8 VREF_0V 参考电压0V 9 SOL_A 电磁铁A 10 SOL_A- 电磁铁A- 11 PWR 电源 12 PWR- 电源- 13 SOL_B- 电磁铁B- 15 RS485_A - 16 RS485_B -

LeetCode-盛最多水的容器-11题

LeetCode-盛最多水的容器-11题 题目中要求计算最大面积&#xff0c;即需要选择对应的长和宽。 最终解决方法&#xff1a;使用对撞指针 对撞指针的概念&#xff1a;是指在数组的两个端引入两个指针&#xff0c;左指针不断向右移动&#xff0c;右指针不断向左移动。最终到达两个…

Spring AOP切入点表达式

先来认识两个概念吧&#xff08;其实Spring AOP实现功能增强的方式就是代理模式&#xff09; 目标对象(Target)&#xff1a;原始功能去掉共性功能对应的类产生的对象&#xff0c;这种对象是无法直接完成最终工作的代理(Proxy)&#xff1a;目标对象无法直接完成工作&#xff0c;…