当前位置: 首页 > news >正文

微信小程序 - 网络请求基础路径集中管理(基础路径集中管理策略、动态切换基础路径)

一、基础路径集中管理

  1. 在微信小程序项目开发中,经常会将请求的基础路径集中管理

  2. 这样可以避免在多个页面中重复定义,同时也方便后续维护与修改


二、基础路径集中管理策略

1、使用全局变量
  • 微信小程序提供了 App 对象,可以在 app.js 中定义全局变量,然后在各个页面中通过 getApp 方法获取
  1. app.js 中定义基础路径全局变量
App<IAppOption>({
	globalData: {
		baseUrl: "http://127.0.0.1:12345"
	},

	...
});
  1. 在页面中获取基础路径全局变量
const app = getApp(); // 获取 App 实例

const baseUrl = app.globalData.baseUrl;
2、使用配置文件
  • 将基础路径存放在一个独立的配置文件中,然后在需要的地方引入
  1. 创建配置文件,在 miniprogram 目录下创建 config.js 文件,定义基础路径
const config = {
	baseUrl: "http://127.0.0.1:12345",
};

module.exports = config;
  1. 在页面中引入配置文件,使用基础路径
const config = require('../../config.js');

const baseUrl = config.baseUrl;

三、动态切换基础路径

1、具体实现
  1. app.js 中定义基础路径全局变量
const accountInfo = wx.getAccountInfoSync();

const baseUrls = {
	develop: "http://127.0.0.1:12345", // 开发环境地址
	trial: "http://127.0.0.1:12345", // 体验环境地址
	release: "https://www.example.com:12345", // 生产环境地址
};

App<IAppOption>({
	globalData: {
		baseUrl: baseUrls[accountInfo.miniProgram.envVersion]
	},

	...
});
  1. 在页面中获取基础路径全局变量
const app = getApp(); // 获取 App 实例

const baseUrl = app.globalData.baseUrl;
2、学习 wx.getAccountInfoSync()
(1)基本介绍
  1. wx.getAccountInfoSync() 是微信小程序提供的一个同步接口,用于获取当前小程序的账号信息

  2. 该接口返回一个对象,通过这个对象,开发者可以获取到小程序的 AppID、版本信息、环境设置等

(2)演示
const accountInfo = wx.getAccountInfoSync();

if (accountInfo.miniProgram.envVersion === "develop") {
	console.log("当前是开发环境");
} else if (accountInfo.miniProgram.envVersion === "trial") {
	console.log("当前是体验环境");
} else if (accountInfo.miniProgram.envVersion === "release") {
	console.log("当前是正式环境");
}

相关文章:

  • 深入理解大语言模型的文本数据处理流程
  • python 并行请求多个 HTTP 接口
  • 设计模式在Qt中的应用
  • 深度集成DeepSeek大模型:WebSocket流式聊天实现
  • C#+SqlSugar实现主从库读写分离
  • 面向长范围交互式 LLM 智体的强化学习
  • 动画云渲染平台技术评估与优选策略
  • 机器学习基本篇
  • 领域驱动设计叕创新,平安保险申请DDD专利
  • Java并发编程8--线程
  • React + TypeScript+ Vite 配置路径别名和vscode智能路径提示
  • AI时代:前端开发的职业发展路径拓宽
  • vsan数据恢复—vsan缓存盘故障导致虚拟磁盘文件丢失的数据恢复案例
  • 在线考试系统(代码+数据库+LW)
  • ubuntu24基于虚拟机无法从主机拖拽文件夹
  • React通用登录/注销功能实现方案(基于shadcn/ui)
  • Android 虚拟机与ClassLoader类加载笔记
  • 【工具插件类教学】实现运行时2D物体交互的利器Runtime2DTransformInteractor
  • 解压rar格式的软件有哪些?8种方法(Win/Mac/手机/网页端)
  • 新型基于Go语言的恶意软件利用Telegram作为C2通信渠道
  • 动态网站建设 教学大纲/自己怎么做网址开网站
  • 创新创业大赛项目计划书/河北seo
  • 嘉兴企业网站建设推广/嵌入式培训班一般多少钱
  • dw网站建设模板/站长统计app软件下载官网
  • 横栏网站建设/最近实时热点新闻事件
  • 电子商务网站建设情况/十大营销策略