微信小程序 运行出错 弹出提示框(获取token失败,请重试 或者 请求失败)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

原因是:需要登陆微信公众平台在开发管理 中设置 相应的 服务器域名 中的 request合法域名

// index.jsPage({data: {products:[],cardLayout: 'grid',  // 默认卡片布局为网格模式isGrid: true,  // 默认为网格布局page: 0, // 当前页码size: 10, // 每页大小hasMore: true, // 是否还有更多数据loading:true,hasMore: true, // 是否还有更多数据showBottomImage: false, // 控制底部图片的显示状态searchValue: '',currentFilter: 'all', // 默认选中 all},// 处理网格视图按钮点击事件handleGridViewClick: function() {const currentLayout = this.data.cardLayout;const newLayout = currentLayout === 'grid' ? 'list' : 'grid';this.setData({cardLayout: newLayout,isGrid: !this.data.isGrid});},onLoad: function () {this.fetchData();},// 发送请求获取数据async fetchData(page = 0, size = 10) {console.log('Fetching data', 'page:', page, 'size:', size); // 添加日志输出,记录传入的参数try {const token = wx.getStorageSync('token')console.log("获取商品数据前需要携带token=" + token);if (!token) {wx.showToast({title: '获取 token 失败,请重试',icon: 'none'});return;}const response = await new Promise((resolve, reject) => {wx.request({url: 'https://api.crossbiog.com/product/admin/list', // 使用配置文件中的URLmethod: 'GET',data: { page, size }, // 分页参数header: { 'token': token,'Cache-Control': 'max-age=60' // 设置缓存时间为60秒},success: resolve,fail: reject});});if (response.statusCode === 200) {const products = response.data.data.content || [];const formattedProducts = products.map(product => ({...product,image:  `https://www.crossbiog.com/${product.image}`}));const filteredProducts = formattedProducts.filter(product =>product.status === 1 && product.editAuth === 1);this.setData({products: [...this.data.products, ...filteredProducts],loading: false, // 如果有加载指示器,设置为falsehasMore: filteredProducts.length === size, // 是否还有更多数据page:page //更新页面数据中的page值});console.log('Updated page to:', page); // 添加日志输出,记录更新后的 page 值if (filteredProducts.length < size) {wx.showToast({title: '没有更多数据了',icon: 'none'});}} else {wx.showToast({title: '数据加载失败',icon: 'none'});}} catch (error) {wx.showToast({title: error.message || '请求失败',icon: 'none'});}},//监听页面触底事件,如用于加载更多数据。onReachBottom: function() {console.log('Current page before fetching more data:', this.data.page); // 添加日志输出,记录当前 page 值if (this.data.hasMore) {const nextPage = this.data.page + 1;this.fetchData(this.data.page + 1, this.data.size);console.log('Fetching data for page:', nextPage); // 添加日志输出,方便调试} else {wx.showToast({title: '没有更多数据了',icon: 'none'});}// 用户滑动到页面底部时触发this.setData({showBottomImage: true});},// 扫描二维码scanQrcode: function() {wx.scanCode({onlyFromCamera: false,  // 允许从相机和相册中选择图片success: (res) => {const jancode = res.result;console.log("扫描结果:", jancode);this.getProductByJancode(jancode);},fail: (err) => {wx.showToast({title: '扫描失败,请重试',icon: 'none'});}});},// 获取 tokengetToken: function() {return new Promise((resolve,reject)=>{const token = wx.getStorageSync('token')console.log('Token:', token);resolve(token)});},// 根据条码查询产品信息getProductByJancode: function(jancode) {this.getToken().then((token) => {if (!token) {wx.showToast({title: '获取 token 失败,请重试',icon: 'none'});return;}wx.request({url: `https://api.crossbiog.com/product/admin/detailByJancode`, // 使用配置文件中的URLmethod: 'GET',data: {jancode: jancode},header: {'token': `${token}`},success: (res) => {console.log("res=" + res);console.log("后端返回的数据:", res.data); // 添加日志输出if (res.statusCode === 200 && res.data && res.data.data) {const product = res.data.data;if (product) {// 显示产品信息this.setData({products: [product],showNoResultsImage: false // 如果有结果,隐藏无结果图片});} else {// 没有找到产品wx.showToast({title: '未找到该条码对应的产品',icon: 'none'});this.setData({showNoResultsImage: true // 如果没有结果,显示无结果图片});}} else {wx.showToast({title: '数据加载失败',icon: 'none'});}},fail: (err) => {wx.showToast({title: '请求失败',icon: 'none'});}});}).catch((err) => {wx.showToast({title: err.message,icon: 'none'});});},// 点击商品卡片后跳转到详情页navigateToDetail(event) {const productId = event.currentTarget.dataset.id;console.log("跳转到详情页,产品ID:", productId);wx.navigateTo({url: `/pages/productDetail/productDetail?id=${productId}`,});},// 处理输入框的输入事件handleSearchInput: function (e) {this.setData({searchValue: e.detail.value // 更新输入框的值});},// 处理搜索事件(按下回车时)handleSearch: function () {const value = this.data.searchValue; // 获取输入的值if (!value) {wx.showToast({title: '请输入搜索内容',icon: 'none'});return;}// 获取 token 并跳转到结果页面this.getToken().then((token) => {if(!token){wx.showToast({title: '获取 token 失败,请重试',icon: 'none'});return;}// 跳转到另一个页面,并传递搜索内容和 tokenwx.navigateTo({url: `/pages/searchResults/searchResults?value=${value}&token=${token}`}); }).catch((err)=>{// 获取 token 失败时,在这里处理错误wx.showToast({title: '获取 token 失败,请重试',icon: 'none'});})},handleFilterClick: function(e) {const filterType = e.target.dataset.type;this.setData({currentFilter: filterType,page: 0, // 重置页码hasMore: true, // 重置是否有更多数据标志products: [] // 清空当前商品列表});this.fetchData();},
})

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Google Cloud 混合云部署连接方式最佳实践案例讲解

混合云部署连接方式 GCP 的混合云部署连接方式提供了多种选择&#xff0c;企业可以根据自身需求选择合适的解决方案。实施最佳实践&#xff0c;将有助于提高混合云架构的性能、安全性和可用性。通过合理的规划和管理&#xff0c;企业可以充分利用混合云的优势&#xff0c;实现…

nfs服务器搭建

目录 1&#xff0c;nfs服务端 1&#xff09;安装 2&#xff09;修改nfs配置文件 3&#xff09;创建共享目录 4&#xff09;启动服务nfs配置文件 2&#xff0c;客户端 3&#xff0c;测试 1&#xff09;客户端 2&#xff09;服务端查看 4&#xff0c;systemd实现客户…

从0开始学PHP面向对象内容之常用设计模式(策略,观察者)

PHP设计模式——行为型模式 PHP 设计模式中的行为模式&#xff08;Behavioral Patterns&#xff09;主要关注对象之间的通信和交互。行为模式的目的是在不暴露对象之间的具体通信细节的情况下&#xff0c;定义对象的行为和职责。它们常用于解决对象如何协调工作的问题&#xff…

Python办公——openpyxl处理Excel每个sheet每行 修改为软雅黑9号剧中+边框线

目录 专栏导读背景1、库的介绍①&#xff1a;openpyxl 2、库的安装3、核心代码4、完整代码5、最快的方法(50万行44秒)——表头其余单元格都修改样式总结 专栏导读 &#x1f338; 欢迎来到Python办公自动化专栏—Python处理办公问题&#xff0c;解放您的双手 &#x1f3f3;️‍…

【AI系统】TVM 实践案例

TVM 实践案例 在本文我们探讨一下&#xff0c;如何利用 AI 编译器在新的硬件上部署一个神经网络&#xff0c;从算法设计到实际运行&#xff0c;有哪些需要考虑的地方&#xff1f;本节将以 TVM 为例&#xff0c;首先介绍一下 TVM 的工作流&#xff1a; 导入模型。TVM 可以从 Te…

【AI系统】昇腾异构计算架构 CANN

昇腾异构计算架构 CANN 本文将介绍昇腾 AI 异构计算架构 CANN&#xff08;Compute Architecture for Neural Networks&#xff09;&#xff0c;这是一套为高性能神经网络计算需求专门设计和优化的架构。CANN 包括硬件层面的达芬奇架构和软件层面的全栈支持&#xff0c;旨在提供…

C++:map容器——自定义数据类型进行自定义排序规则

map容器和set容器自带排序操作&#xff0c;但是&#xff0c;对于自定义数据类型&#xff0c;二者必须指定排序规则。本文以map容器为例&#xff0c;针对自定义数据类型作为key值的指定排序进行程序实现。 首先&#xff0c;自定义数据类型&#xff1a;Person类&#xff0c;该类将…

Vue Web开发遇到问题汇总

1.Vue Web开发遇到问题汇总 1.1. vue项目main.js文件下import router from ‘./router‘默认导入router文件夹下index.js的原因 vue项目main.js文件下import router from ./router’默认导入router文件夹下index.js的原因 import router from ./router //等效于 //import rou…

lua download

https://www.lua.org/ https://www.lua.org/versions.html#5.4

CentOS7:MySQL 8.0.36升级到8.0.40

文章介绍RPM形式进行小版本升级。 1、查看系统版本 ldd --version 2、下载相应的MySQL rpm包 MySQL :: Download MySQL Community Server 3、查看现有MySQL安装的rpm rpm -qa |grep mysql 如图&#xff0c;有6个rpm包安装。 4、电脑上解压下载的rpm压缩包&#xff0c;对应…

【element-tiptap】添加公式编辑器【MathQuill】

前言&#xff1a;前面的文章【element-tiptap】实现公式编辑 中&#xff0c;已经实现了一种非常简单的公式编辑&#xff0c;键入latex公式直接在文档中转换。今天讲的另一个更加复杂的公式编辑器的扩展&#xff0c;双击公式的时候弹出公式编辑的弹窗&#xff0c;可以对公式进行…

SpringBoot源码-Spring Boot启动时控制台为何会打印logo以及自定义banner.txt文件控制台打印

1.当我们启动一个SpringBoot项目的时候&#xff0c;入口程序就是main方法&#xff0c;而在main方法中就执行了一个run方法。 SpringBootApplication public class StartApp {public static void main(String[] args) {// testSpringApplication.run(StartApp.class);} }publi…

【人工智能-基础】SVM中的核函数到底是什么

文章目录 支持向量机(SVM)中的核函数详解1. 什么是核函数?核函数的作用:2. 核技巧:从低维到高维的映射3. 常见的核函数类型3.1 线性核函数3.2 多项式核函数3.3 高斯径向基函数(RBF核)4. 总结支持向量机(SVM)中的核函数详解 支持向量机(SVM,Support Vector Machine)…

【Docker】Docker 容器日志过大导致磁盘爆满

docker容器的日志文件目录位于/var/lib/docker/containers/容器/容器-json.log 查看日志大小 cd /var/lib/docker/containers/ du -h --max-depth1 临时删一点 cd xxxxxxx/ tail -100 xxxxxxx-json.log > xxxxxxx-json.log 如图 解决方式&#xff08;全局&#xff09; …

SpringBoot集成Milvus|(实现向量的存储和查询)

此文章为转载文章: 原文链接 文章目录 SpringBoot集成Milvus|&#xff08;实现向量的存储和查询&#xff09;前言一、Milvus介绍二、Milvus数据库安装 1.Milvus安装环境准备&#xff08;centos7&#xff09;2.Milvus客户端安装3.attu新建Milvus集合 三、Milvus集成 1.依赖引入2…

数据结构__01

六.图 一.定义 1.有向图 2.无向图 3.完全图 4.子图 5.度 6.路径以及长度 7.简单路径 回路 简单回路 二.图的存储结构 1.邻接矩阵 有向图 无向图 有向网 2.邻接矩阵的优缺点 &#xff08;行出列入&#xff09; 3.邻接表 三.图的遍历 深度优先遍历 广度优先遍历 四.图的应用 …

嵌入式蓝桥杯学习1 电量LED

cubemx配置 1.新建一个STM32G431RBT6文件 2.在System-Core中点击SYS&#xff0c;找到Debug&#xff08;设置为Serial Wire&#xff09; 3.在System-Core中点击RCC&#xff0c;找到High Speed Clock(设置为Crystal/Ceramic Resonator) 4.打开Clock Configuration &#xff0…

【网络】协议与网络传输

目录 一、协议 1.1 认识协议 1.2 协议分层 二、OSI七层模型 三、TCP/IP五(四)层模型 四、网络传输 4.1 数据包封装与分用 4.2 网络传输基本流程 4.2.1 以太网通信 &#xff08;1&#xff09;原理 &#xff08;2&#xff09;数据碰撞问题 &#xff08;3&#xff09;…

【力扣】3274. 检查棋盘方格颜色是否相同

一、题目 给你两个字符串 coordinate1 和 coordinate2&#xff0c;代表 8 x 8 国际象棋棋盘上的两个方格的坐标。以下是棋盘格的参考图&#xff1a; 如果这两个方格颜色相同&#xff0c;返回 true&#xff0c;否则返回 false。坐标总是表示有效的棋盘方格。坐标的格式总是先字…

JavaWeb12

登陆拦截 会话技术 会话&#xff1a;用户打开浏览器&#xff0c;访问web服务器的资源&#xff0c;会话建立&#xff0c;直到有一方断开连接&#xff0c;会话结束。在一次会话中可以包含多次请求和响应 会话跟踪&#xff1a;一种维护浏览器状态的方法&#xff0c;服务器需要识…