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

UniappDay01

1.技术架构

在这里插入图片描述

2.创建uniapp项目
  1. 通过HBuilderX创建
  • 官网安装
  • 创建uniapp vue3项目
  • 安装uniapp vue3的编译器
  • 在工具栏启动微信小程序
  • 开启服务端口
  • 模拟器窗口分离和置顶
  1. 通过命令行创建
3.pages.json和tabbar案例

pages.json用来配置路由,导航栏,tabbar等页面类信息
图标等静态资源放到static中,否则打包不了
这个一点要勾选上
在这里插入图片描述
tabbar中至少配置两项,否则会报错
给微信小程序配置AppID

4.uni-app和原生小程序开发时候的区别

数据绑定事件及事件处理同Vue.js规范:

  1. 属性绑定 src=“{{ url }}” 升级成 :src=“url”
  2. 事件绑定 bindtap=“eventName” 升级成 @tap=“eventName”,支持()传参
  3. 支持Vue常用指令 v-if, v-for, v-show, v-model 等
<template><swiper indicator-dots autoplay class="banner" circular :interval="3000" :duration="1000"><swiper-item v-for="item in pictures" :key="item.id"><image @tap="onPreImage(item.url)" :src="item.url"></image></swiper-item></swiper>
</template><script>export default {data() {return {title: 'Hello uniapp',// 轮播图数组pictures: [{ id: '1', url: "https://pcapi-xiaotuxian-front-devtest.itheima.net/miniapp/uploads/goods_preview_1.jpg" },{ id: '2', url: "https://pcapi-xiaotuxian-front-devtest.itheima.net/miniapp/uploads/goods_preview_2.jpg" },{ id: '3', url: "https://pcapi-xiaotuxian-front-devtest.itheima.net/miniapp/uploads/goods_preview_3.jpg" },{ id: '4', url: "https://pcapi-xiaotuxian-front-devtest.itheima.net/miniapp/uploads/goods_preview_4.jpg" },{ id: '5', url: "https://pcapi-xiaotuxian-front-devtest.itheima.net/miniapp/uploads/goods_preview_5.jpg" },]}},onLoad() {},methods: {onPreImage(url) {// 全局帮助预览wx.previewImage({urls: this.pictures.map(v=>v.url),current: url})}}}
</script><style>.banner,.banner image {height: 750rpx;width: 750rpx;}
</style>

最好把wx换成url

5.命令行创建uni-app项目

在这里插入图片描述

  1. npx degit xxx 创建项目
  2. manifest.json添加appid
  3. pnpm install
  4. pnpm i
  5. pnpm dev:mp-weixin
  6. 导入微信开发者工具
6.用VS Code开发uni-app项目

在这里插入图片描述
分别为:

  1. uni-create-view
  2. uni-helper
  3. uniapp小程序扩展

//pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages

在这里插入图片描述

  1. pnpm i -D @types/wechat-miniprogram @uni-helper/uni-app-types

在这里插入图片描述

7.拉取小兔鲜儿项目模板代码

注意事项:
在manifest.json中添加微信小程序的appid
克隆命令: git clone http://git.itcast.cn/heimaqianduan/erabbit-uni-app-vue3-ts.git heima-shop

  1. pnpm install
  2. pnpm i
  3. pnpm dev:mp-weixin
  4. 导入微信开发者工具
8.基础架构-使用uni-app组件库

在这里插入图片描述

pnpm i @dcloudio/uni-ui

// pages.json
// 组件自动引入规则"easycom": {// 是否开启自动扫描"autoscan": true,// 以正则方式自定义组件匹配规则"custom": {// uni-ui 规则如下配置"^uni-(.*)": "@dcloudio/uni-ui/lib/uni-$1/uni-$1.vue",// 以 Xtx 开头的组件,在 components 文件夹中查找引入(需要重启服务器)"^Xtx(.*)": "@/components/Xtx$1.vue"}},

easycom通过uniapp配置实现组件,不用我们手动导入

安装依赖:pnpm i -D @uni-helper/uni-ui-types

9.基础架构-小程序端Pinia持久化

在这里插入图片描述

 {// 网页端配置// persist: true,// 小程序端配置persist: {storage: {// 获取数据getItem(key) {return uni.getStorageSync(key)},// 设置数据setItem(key, value) {uni.setStorageSync(key, value)},},},},

将网页端传统的API调整成小程序的API
在这里插入图片描述

10.基础架构-请求和上传文件拦截器

在这里插入图片描述

import { useMemberStore } from '@/stores'const baseURL = 'https://pcapi-xiaotuxian-front-devtest.itheima.net'// 添加拦截器
const httpInterceptor = {// 拦截前触发invoke(options: UniApp.RequestOptions) {// 1. 非 http 开头需拼接地址if (!options.url.startsWith('http')) {options.url = baseURL + options.url}// 2. 请求超时, 默认 60s,改为10秒 options.timeout = 10000// 3. 添加小程序端请求头标识options.header = {// 如果有先保留原有标识...options.header,// 再添加特殊标识'source-client': 'miniapp',}// 4. 添加 token 请求头标识const memberStore = useMemberStore()const token = memberStore.profile?.tokenif (token) {options.header.Authorization = token}},
}
uni.addInterceptor('request', httpInterceptor)
uni.addInterceptor('uploadFile', httpInterceptor)
http://www.lryc.cn/news/597382.html

相关文章:

  • JavaWeb笔记12
  • MySQL深度理解-深入理解MySQL索引底层数据结构与算法
  • 容联云携手信通院,启动“智能体服务生态共创计划”
  • 华为云ELB(弹性负载均衡)持续报异常
  • 2025年Zigbee技术白皮书:全球物联网无线通信的关键创新
  • HF86611_VC1/HF86611Q_VC1:多通道USB HiFi音频解码器固件技术解析
  • 【自动化运维神器Ansible】深入解析Ansible Host-Pattern:精准控制目标主机的艺术
  • .Net core 部署到IIS出现500.19Internal Server Error 解决方法
  • Ubuntu系统下FFmpeg源码编译安装
  • 内网穿透技术深析:从原理到工具应用的全方位解读,无公网IP本地服务器外网访问实操
  • IGM弧焊机器人气体节约
  • 【数据结构】哈希——位图与布隆过滤器
  • 彩色转灰度的核心逻辑:三种经典方法及原理对比
  • zabbix监控MySQL数据库
  • 企业选择将服务器放在IDC机房托管的优势
  • React+Three.js实现3D场景压力/温度/密度分布可视化
  • Spring Boot与Python的联动:实战案例解析
  • 【智能模型系列】Unity通过访问Ollama调用DeepSeek模型进行本地部署
  • AI产品经理面试宝典第46天:模型评估与Prompt工程核心考点解析
  • Elasticsearch整合:Repository+RestClient双模式查询优化
  • iOS加固工具有哪些?企业级团队协作视角的实战分析
  • Swing-JFrame
  • 实用的逻辑工具——文氏图和真值表,通过这两个工具,可以把复杂的逻辑关系用图形或表格的形式直观地表示出来
  • Docker 启动 PostgreSQL 主从架构:实现数据同步的高效部署指南
  • k8s:docker compose离线部署haborV2.13.1及采用外部的postgresql及redis数据库
  • Docker 应用数据备份、迁移方案
  • SQL171 零食类商品中复购率top3高的商品
  • stm32使用USB虚拟串口,因电脑缺少官方驱动而识别失败(全系列32单片机可用)
  • CSP2025模拟赛1(2025.7.23)
  • rust嵌入式开发零基础入门教程(三)