uniapp中调用.net6 webapi

news2025/7/22 21:41:36

        使用uniapp开发程序时,不管是小程序,还是H5界面,它们只是一个显示界面,也就是只充当前台界面,那么我们后台使用.net6 webapi写业务逻辑,然后前端访问后端,即可实现前后端分离开发软件的模式。  

下面使用.net6 webapi作为后端,uniapp作为前端,实现简单的数据显示的功能。

目录

一、后端

二、前端 


一、后端

1.首先使用vs2022建立一个webapi项目

2.WeatherForecastController类的代码

using Microsoft.AspNetCore.Mvc;

namespace WebApplication1.Controllers
{
    [ApiController]
    [Route("api/[controller]/[action]")]
    public class WeatherForecastController : ControllerBase
    {
        private static readonly string[] Summaries = new[]
        {
        "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
    };

        private readonly ILogger<WeatherForecastController> _logger;

        public WeatherForecastController(ILogger<WeatherForecastController> logger)
        {
            _logger = logger;
        }

        [HttpGet]
        public IEnumerable<WeatherForecast> Get()
        {
            return Enumerable.Range(1, 5).Select(index => new WeatherForecast
            {
                Date = DateTime.Now.AddDays(index),
                TemperatureC = Random.Shared.Next(-20, 55),
                Summary = Summaries[Random.Shared.Next(Summaries.Length)]
            })
            .ToArray();
        }
        [HttpGet]
        public string Get1()
        {
            return "123";
        }
    }
}

3.运行效果

点击Get1方法,可以看到返回的结果是123,此时后端算是完成了。

二、前端 

 1.打开HBuilder X软件,取名后,选择如图所示,下面选择vue3

2.点击创建后如下

文件目录就不介绍了,可以去官网自己看

3.修改index.vue中的代码

因为自带的不是setup写法,本人喜欢setup写法,所以对script脚本中的代码进行修改,其他不变化

<template>
	<view class="container">

		<view class="intro">本项目已包含uni ui组件,无需import和注册,可直接使用。在代码区键入字母u,即可通过代码助手列出所有可用组件。光标置于组件名称处按F1,即可查看组件文档。</view>
		<text class="intro">详见:</text>
		<uni-link :href="href" :text="href"></uni-link>
	</view>
</template>

<script setup>
	import {
		onMounted,
		ref
	} from "vue";
	import {
		request
	} from '../../apiRequest.js'

	const href = ref('https://uniapp.dcloud.io/component/README?id=uniui')

	//初始化
	onMounted(() => {
		aaa()
	})

	const aaa = async () => {
		request.get(`/api/WeatherForecast/Get1`).then(res => {
			console.log('请求数据')
			console.log(1)
			console.log(res)
		})
	}
</script>

<style>
	.container {
		padding: 20px;
		font-size: 14px;
		line-height: 24px;
	}
</style>

4.插件市场安装,点击导入插件 

插件市场

luch-request - DCloud 插件市场

官网luch-request

其实就是类似于Axios的使用,可以参考下面的,只是微信小程序不支持Axios

VUE3中,使用Axios_故里2130的博客-CSDN博客_vue3使用axios

5.安装成功标志

6.新建一个apiRequest.js文件

import Request from './js_sdk/luch-request/luch-request/index.js' //此处注意,使用插件市场和命令安装的导入路径不一样

const BASE_URL = 'https://localhost:7150'
const request = new Request();

/* 设置全局配置 */
request.setConfig((config) => {
	config.baseURL = BASE_URL
	return config
})

/* 请求以前拦截器 */
request.interceptors.request.use((config) => {
	config.header["Content-Type"] = "application/json"
	config.header = {
		...config.header
	}
	console.log('请求之前')
	uni.showLoading({
		title: '加载中...'

	})
	// 权限认证
	//config.header.Authorization = uni.getStorageSync("token")
	return config
}, config => { // 可使用async await 做异步操作
	return Promise.reject(config)
})

/* 请求以后拦截器 */
request.interceptors.response.use(async (res) => {

	if (res.statusCode != 200) {
		return Promise.reject(res)
	}
	console.log('请求后把结果返回给界面,界面去接收值')
	uni.hideLoading()
	return res.data
}, (error) => { //  请求出现错误后 在这里处理
	console.log(error.errMsg)
	// if (error.statusCode == 401) {
	// 	// 登录态失效则清除token:没有携带token、token没法再刷新
	// 	let msg = error.data.message || error.data
	// 	if (msg == null || msg == undefined) msg = '当前登录状态过期,请重新登录'
	// 	uni.clearStorageSync()
	// 	uni.showToast({
	// 		title: msg,
	// 		icon: 'none',
	// 		success() {
	// 			setTimeout(() => {
	// 				// 跳转到登录页
	// 				uni.navigateTo({
	// 					url: "/pages/login/login"
	// 				})
	// 			}, 1000)
	// 		}
	// 	})
	// } else {
	// 	let msg = error.data.message || error.data
	// 	uni.showToast({
	// 		title: msg,
	// 		icon: 'none',
	// 		duration: 2000
	// 	})
	// }
	return Promise.reject(error)
})

export {
	request
}

7.效果

使用代码,就是步骤3中的代码

数值123就是 

其他写法参考官网即可

3.x文档 | luch-request

8.微信中显示

运行微信开发者工具

至此,uniapp中调用.net6 webapi就完成了

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

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

相关文章

连不上虚拟机我谁都怀疑了!唯独没怀疑VirtualBox这个浓眉大眼的家伙!

这里写自定义目录标题一、问题和现象环境二、思考和尝试三、问题原因VirtualBox NAT模式的坑四、解决办法1、双网卡2、配置转发端口一、问题和现象 fileZilla连接不上虚拟机&#xff08;Linux/centOS&#xff09;。 ping不通虚拟机。 ssh连接不上虚拟机。 环境 Win10主机使用…

上岸16K,薪资翻倍,在华为外包做测试是一种什么样的体验····

现在回过头看当初的决定&#xff0c;还是正确的&#xff0c;自己转行成功&#xff0c;现在进入了华为外包测试岗&#xff0c;脱离了工厂生活&#xff0c;薪资也翻了一倍不止。 我17年毕业于一个普通二本学校&#xff0c;电子信息工程学院&#xff0c;是一个很不出名的小本科。…

吃透8图1模板,人人可以做架构

前言 在40岁老架构师 尼恩的读者交流群(50)中&#xff0c;很多小伙伴问尼恩&#xff1a; 大佬&#xff0c;我们写架构方案&#xff0c; 需要从哪些方面展开 大佬&#xff0c;我们写总体设计方案需要一些技术亮点&#xff0c;可否发一些给我参考下 诸如此类&#xff0c;问法很多…

Serverless Kubernetes的思考与征程

​作者&#xff1a;牛秋霖、张维、李传云、易立 本文将针对Serverless Container技术的特殊性&#xff0c;分享其对Kubernetes的架构影响&#xff0c;以及阿里云在Serverless Kubernetes方面架构选择。 一、Serverless Container缘起 在2018年&#xff0c;容器团队与弹性计算团…

9 种会让你大吃一惊的副业工具

然而&#xff0c;副业需要使用许多工具。我举个例子&#xff1a;我在网上写文章&#xff0c;做数字产品&#xff0c;需要用到各种工具。相信我&#xff0c;免费的互联网工具可以帮助我快速完成工作&#xff0c;这样我就可以赚更多的钱并有更多的空闲时间。注意&#xff1a;这些…

初阶C语言——指针【详解】

文章目录1.指针是什么2.指针和指针类型2.1 指针的解引用2.2 指针 -整数3.野指针3.1 野指针成因3.2 如何规避野指针4. 指针运算4.1 指针-整数4.2 指针-指针4.3 指针的关系运算5. 指针和数组6. 二级指针7. 指针数组1.指针是什么 指针理解的2个要点&#xff1a; 指针是内存中一个最…

【LeetCode】2357. 使数组中所有元素都等于零

2357. 使数组中所有元素都等于零 题目描述 给你一个非负整数数组 nums 。在一步操作中&#xff0c;你必须&#xff1a; 选出一个正整数 x &#xff0c;x 需要小于或等于 nums 中 最小 的 非零 元素。nums 中的每个正整数都减去 x。 返回使 nums 中所有元素都等于 0 需要的 …

【JavaScript速成之路】JavaScript运算符

&#x1f4c3;个人主页&#xff1a;「小杨」的csdn博客 &#x1f525;系列专栏&#xff1a;【JavaScript速成之路】 &#x1f433;希望大家多多支持&#x1f970;一起进步呀&#xff01; 文章目录前言运算符1&#xff0c;算术运算符2&#xff0c;递增递减运算符3&#xff0c;比…

VMware ESXi 7.0 Update 3k - 领先的裸机 Hypervisor (sysin Custom Image)

VMware ESXi 7.0 Update 3k - 领先的裸机 Hypervisor (sysin Custom Image) VMware ESXi 7.0 Update 3k Standard & All Custom Image for ESXi 7.0 U3k Install CD 请访问原文链接&#xff1a;https://sysin.org/blog/vmware-esxi-7-u3/&#xff0c;查看最新版。原创作品…

程序员必备的软技能-金字塔原理拆解(上)

原书 290千字&#xff0c;本文预计 14千字&#xff0c;拆解比 20&#xff1a;1&#xff0c;预计阅读时长 15分钟序言日常工作中&#xff0c;常常因为思维、表达方式不对产生不想要的结果&#xff1a;写了一个小时的周报&#xff0c;领导却不满意&#xff1f;跟团队讲了半天自己…

SWMM从入门到实践教程 01 SWMM软件介绍

文章目录1 软件介绍2 软件面板2.1 主菜单2.1.1文件菜单&#xff08;File&#xff09;2.1.2 编辑菜单&#xff08;Edit&#xff09;2.1.3 视图菜单&#xff08;View&#xff09;2.1.4 工程菜单&#xff08;Project&#xff09;2.1.5 报告菜单&#xff08;Report&#xff09;2.1.…

VIAVI唯亚威CellAdvisor 线缆和天线分析仪

CellAdvisor 线缆和天线分析仪利用一种基于云功能的轻便仪器中的射频/光功率计&#xff0c;提供了适用于行扫描测量和光纤检测的集成解决方案&#xff0c;以供在基站安装和维护期间使用。 CellAdvisor™ 线缆和天线分析仪 JD723C/JD724C/JD725C/JD726C 无线网络中的大多数问题…

诈金花的概率

游戏使用一副除去大小王的扑克牌&#xff0c;共4个花色52张牌。 1、豹子&#xff08;AAA最大&#xff0c;222最小&#xff09;。2、同花顺&#xff08;AKQ最大&#xff0c;A23最小&#xff09;。3、同花&#xff08;AKQ最大&#xff0c;352最小&#xff09;。4、顺子&#xff…

仿Mybatis手写持久层框架

文章目录一、持久层框架分析1. JDBC操作数据库_问题分析2. JDBC问题分析&解决思路&#xff08;1&#xff09;加载驱动&#xff0c;获取链接&#xff08;2&#xff09;定义sql、设置参数、执行查询&#xff08;3&#xff09;遍历查询结果集3. 自定义持久层框架_思路分析二、…

黑马《数据结构与算法2023版》正式发布

有人的地方就有江湖。 在“程序开发”的江湖之中&#xff0c;各种技术流派风起云涌&#xff0c;变幻莫测&#xff0c;每一位IT侠客&#xff0c;对“技术秘籍”的追求和探索也从未停止过。 要论开发技术哪家强&#xff0c;可谓众说纷纭。但长久以来&#xff0c;确有一技&#…

Feign、Ribbon、Hystrix

&#x1f3c6;今日学习目标&#xff1a; &#x1f340;Feign、Ribbon、Hystrix ✅创作者&#xff1a;林在闪闪发光 ⏰预计时间&#xff1a;30分钟 &#x1f389;个人主页&#xff1a;林在闪闪发光的个人主页 &#x1f341;林在闪闪发光的个人社区&#xff0c;欢迎你的加入: 林在…

TensorFlow-Keras - FM、WideAndDeep、DeepFM、DeepFwFM、DeepFmFM 理论与实战

目录 一.引言 二.浅层模型概述 1.LR 2.FM 3.FMM 4.FwFM 5.FmFM 三.常用推荐算法实现 Pre.数据准备 1.FM 2.WideAndDeep 3.DeepFM 4.DeepFwFM 5.DeepFmFM 四.总结 1.函数测试 2.函数效果与复杂度对比[来自FmFM论文] 3.More 一.引言 推荐系统中常见的 CTR 模型…

ONLYOFFICE中的chatGPT 是如何编写毕业论文以及翻译多种语言的

前言 chatGPT这款软件曾被多个国家的大学禁用&#xff0c;我们也多次在网上看到chatGPT帮助应届毕业生编写毕业答辩论文&#xff0c;但是这款软件目前还没有在国内正式上线&#xff0c;ONLYOFFICE7.3版本更新后呢&#xff0c;就添加了chatGPT该功能&#xff0c;并且正常使用。 …

springboot+vue.js学生作业管理系统idea java

由于学校教学功能的特殊定位&#xff0c;致使教师和学生必须在除了简单的师生区别外&#xff0c;还有合作意味的关系。学生上交作业和老师批改作业&#xff0c;这本身除了学习交流外&#xff0c;还是一个合作的范畴。所以&#xff0c;这其中的信息管理流程&#xff0c;需要以一…

SpringBoot中获取wav音频文件的属性

前言 wav文件定义 WAV 文件是以 WAVE 格式保存的音频文件&#xff0c;这是一种用于存储波形数据的标准数字音频文件格式。WAV 文件可能包含具有不同采样率和比特率的音频记录&#xff0c;但通常以 44.1 kHz、16 位、立体声格式保存&#xff0c;这是用于 CD 音频的标准格式。 …