uniapp中调用.net6 webapi

2023-05-16

        使用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就完成了

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

uniapp中调用.net6 webapi 的相关文章

  • [零刻]EQ12&EQ12Pro安装OpenWRT软路由教程

    OpenWRT系统安装 安装前准备 1 U盘一个 2 WePE写盘工具 3 Openwrt固件 4 Img镜像写盘工具 安装步骤 xff1a 1 首先下载WePE写盘工具 xff0c 制作一个PE系统安装环境 xff0c 启动软件后 xff
  • [零刻]EQ12&EQ12Pro安装原厂系统教程

    有些小伙伴购买的准系统的版本因为不带内存和硬盘 xff0c 需要自己进行安装系统 xff0c 对于小白来说还是比较困难的 xff0c 在这里推荐大家使用原厂的系统 xff0c 里面自带驱动安装好后就可以直接使用 使用原厂系统包安装步骤 xf
  • Esxi8.0安装Ubuntu系统教程

    本篇教程主要教大家怎么在ESXi8 0虚拟机上安装Ubuntu系统 xff0c 首先安装Ubuntu需要准备一个ISO系统镜像文件 xff0c 我们可以去Ubuntu官网下载 Ubuntu官网 xff1a https ubuntu com

随机推荐

  • [零刻]EQ12&EQ12Pro调整风扇转速教程

    调整 CPU 风扇转速可以有不同的用途 xff0c 具体取决于您的计算机和使用情况 降低噪音 xff1a 如果您的风扇的噪音很大 xff0c 可以通过降低 CPU 风扇的转速来减少噪音 这可以通过在 BIOS 或中设置 CPU 风扇转速控制
  • [零刻]EQ12&EQ12Pro调整最低功耗教程

    在使用EQ12作为软路由的时候 xff0c 因为要不间断工作 xff0c 功耗就非常关键了 xff0c 所以并不需要太高的功耗 xff0c 所以接下来我教你怎么设置以最低功耗运行 具体操作步骤 xff1a 1 先关闭电脑 xff0c 按下电
  • 动态更新阿里云DDNS解析记录的IPv6地址,随时随地用域名远程访问自己的电脑【如何远程访问家里的电脑】

    远程访问电脑 日志简介要求1 IPv6网络1 1检查光猫是否支持IPv61 2检查路由器是否支持并开启IPv6 xff08 没有路由器的跳过这一步 xff09 1 3配置电脑防火墙1 3 1允许ICMPv6协议通过防火墙1 3 2文件共享S
  • 一个好用的js压缩加密网站

    js加密网站 我是vue的js xff0c 用了好几个加密网站得出的结果会有错 xff0c 这个挺好
  • alibaba pc safe service无法删除,一直在后台运行怎么办?

    对付流氓软件 xff0c 应当使用师夷长技以制夷的办法 xff0c 下载一个腾讯电脑管家 xff0c 然后下载里面的文件粉碎机 xff0c 在任务管理器找到对应的alibaba pc safe service服务 xff0c 点击进入具体的
  • APP流量变现之穿山甲广告平台接入

    1 首先百度搜索 穿山甲广告投放 xff0c 第一个出现的链接就是开发者官网 xff0c 截图如下 xff1a 2 进入之后点击注册 xff0c 然后登陆 xff08 这一步穿山甲超级简单 xff0c 如果不着急提现收益的话 xff0c 可
  • spss统计分析基础教程(上)--自学

    64 TOC 目录 xff09 第一章 四种窗口 数据窗口 输出窗口 语法窗口 脚本窗口 菜单 1 文件 xff1a 新建 打开 保存 另存为 将文件标记为只读 xff1a 如果之后保存文件 xff0c 则只能重命名并另存 重新命名数据集
  • OpenWrt 内的阿里云盘 WebDAV 做磁盘使用

    最近在玩OpenwWrt的时候 xff0c 在刷的固件里看到预装的阿里云盘 WebDAV xff0c 加上最近刚刚开始用阿里云 xff0c 不限速 xff0c 非常快 xff0c 通过这个服务 xff0c 可以直接把阿里云的文件架挂载在本地
  • VS2022中使用Copilot

    Copilot可以自动帮你写代码 1 打开vs2022 点击扩展 xff0c 在里面搜索copilot安装 2 安装完成后 xff0c 左下角有个小图标就是copilot 3 点击登录 会弹框 点击确定后 xff0c 跳转到网站 xff0c
  • CSS/SCSS/LESS和自适应布局/响应式布局详解

    在开发前端的时候 xff0c 界面布局尤为重要 xff0c 要布局的非常合理 xff0c 好看 xff0c css是必不可少的 xff0c 然后是各种布局 xff0c 使用这些布局 xff0c 进行混合搭配 xff0c 最终的目的都是开发一
  • 响应式布局之viewport-超级简单

    之前文章CSS布局之详解 故里2130的博客 CSDN博客 上面的文章可以实现响应式布局 xff0c 根据浏览器的大小变化而变化 xff0c 但是相对于viewport来说 xff0c 之前的还是有点复杂 xff0c 而使用viewport
  • .net6API使用AutoMapper和DTO

    AutoMapper xff0c 是一个转换工具 xff0c 说到AutoMapper时 xff0c 就不得不先说DTO xff0c 它叫做数据传输对象 Data Transfer Object 通俗的来说 xff0c DTO就是前端界面需
  • 手机/移动端的UI框架-Vant和NutUI

    下面推荐2款手机 移动端的UI框架 其实还有很多的框架 xff0c 各个大厂都有UI框架 目前 xff0c 找来找去 xff0c 只有腾讯的移动端是setup语法写的TDesign xff0c 其他大厂 xff0c 虽然都是VUE3写的 x
  • 使用uniapp创建小程序和H5界面

    uniapp的介绍可以看官网 xff0c 接下来我们使用uniapp创建小程序和H5界面 xff0c 其他小程序也是可以的 xff0c 只演示创建这2个 xff0c 其实都是一套代码 xff0c 只是生成的方式不一样而已 uni app官网
  • 使用NutUI创建小程序和H5界面

    做开发的时间长了 xff0c 技术都是通用的 xff0c 创建小程序和H5界面有很多的UI xff0c 本章节演示使用NutUI来创建 xff0c 官网 xff0c NutUI 移动端 Vue3 小程序组件库 1 使用HBuilder X创
  • 如何开发微信小程序呢

    也许很多人对小程序 xff0c H5程序 xff0c Vue xff0c 网页程序 xff0c PC端程序认识比较模糊 xff0c 因为这些跨度非常的大 xff0c 很少人会一次性全部接触 xff0c 甚至只是听说过 xff0c 并不了解其
  • .NET6中使用GRPC详细描述

    Supported languages gRPC xff0c 官网 至于原理就不说了 xff0c 可以百度原理之后 xff0c 然后再结合代码 xff0c 事半功倍 xff0c 就能很好理解GRPC了 目录 一 简单使用 二 实际应用 一
  • spss统计分析基础教程(下)--自学

    目录 xff09 第十二章分布类型的检验12 1假设检验的基本思想12 2正态分布检验K S检验的原理 12 3二项分布检验12 4游程检验12 5蒙特卡罗方法 第十三章连续变量的统计推断 xff08 一 xff09 t检验13 1t检验概
  • uniapp学习记录

    目录 1 布局使用flex布局 2 rpx和界面自适应 xff0c 设计稿是750rpx 3 首页不显示tabBar 4 跳转页面 启动跳转页面 5 uniapp中页面生命周期 传值 6 颜色使用 7 字体使用 8 SCSS CSS中获取j
  • uniapp中调用.net6 webapi

    使用uniapp开发程序时 xff0c 不管是小程序 xff0c 还是H5界面 xff0c 它们只是一个显示界面 xff0c 也就是只充当前台界面 xff0c 那么我们后台使用 net6 webapi写业务逻辑 xff0c 然后前端访问后端