沉梦听雨的编程指南 沉梦听雨的编程指南
首页
  • 基础篇
  • 集合篇
  • 并发篇
  • JVM
  • 新特性
  • 计算机网络
  • 操作系统
  • 数据结构与算法
  • 基础篇
  • MySql
  • Redis
  • 达梦数据库
  • Spring
  • SpringBoot
  • Mybatis
  • Shiro
  • 设计须知
  • UML画图
  • 权限校验
  • 设计模式
  • API网关
  • RPC
  • 消息队列
  • SpringCloud
  • 分布式事务
  • 云存储
  • 搜索引擎
  • 多媒体框架
  • 虚拟机
  • 开发工具篇
  • 工具库篇
  • 开发技巧篇
  • 工具类系列
  • 随笔
  • 前端环境搭建
  • HTML与CSS
  • JS学习
  • Vue3入门
  • Vue3进阶
  • 黑马Vue3
  • 脚手架搭建
  • 瑞吉外卖
  • 黑马点评
  • vue-blog
  • 沉梦接口开放平台
  • 用户中心
  • 聚合搜索平台
  • 仿12306项目
  • 壁纸小程序项目
  • RuoYi-Vue
  • 博客搭建
  • 网站收藏箱
  • 断墨寻径摘录
  • 费曼学习法
Github (opens new window)

沉梦听雨

时间是最好的浸渍剂,而沉淀是最好的提纯器🚀
首页
  • 基础篇
  • 集合篇
  • 并发篇
  • JVM
  • 新特性
  • 计算机网络
  • 操作系统
  • 数据结构与算法
  • 基础篇
  • MySql
  • Redis
  • 达梦数据库
  • Spring
  • SpringBoot
  • Mybatis
  • Shiro
  • 设计须知
  • UML画图
  • 权限校验
  • 设计模式
  • API网关
  • RPC
  • 消息队列
  • SpringCloud
  • 分布式事务
  • 云存储
  • 搜索引擎
  • 多媒体框架
  • 虚拟机
  • 开发工具篇
  • 工具库篇
  • 开发技巧篇
  • 工具类系列
  • 随笔
  • 前端环境搭建
  • HTML与CSS
  • JS学习
  • Vue3入门
  • Vue3进阶
  • 黑马Vue3
  • 脚手架搭建
  • 瑞吉外卖
  • 黑马点评
  • vue-blog
  • 沉梦接口开放平台
  • 用户中心
  • 聚合搜索平台
  • 仿12306项目
  • 壁纸小程序项目
  • RuoYi-Vue
  • 博客搭建
  • 网站收藏箱
  • 断墨寻径摘录
  • 费曼学习法
Github (opens new window)
  • 脚手架搭建
  • 瑞吉外卖

  • 黑马点评

  • vue-blog

  • 沉梦接口开放平台

  • 用户中心

  • 聚合搜索平台

  • 仿12306项目

  • 壁纸小程序项目

    • 开发笔记
      • 前言
      • uniapp 相关
        • 目录简介
        • 全局文件
        • 条件编译
        • 用户授权
      • Vue 相关
      • css 相关
      • 插件
      • 写法技巧
      • 问题解析
      • 发行相关
  • RuoYi-Vue

  • 项目笔记
  • 壁纸小程序项目
沉梦听雨
2025-04-03
目录

开发笔记

# 壁纸小程序项目

# 前言

  • 视频课程地址:零基础入门uniapp Vue3组合式API版本到咸虾米壁纸项目实战,开发打包微信小程序、抖音小程序、H5、安卓APP客户端 (opens new window)

  • 课程配套资料:uniappVue3版本+咸虾米壁纸: uniappVue3版本基础demo及咸虾米壁纸项目的开源代码 (opens new window)

  • 接口库:咸虾米API接口库 | 咸虾米API接口库 (opens new window)

  • uni-app官方文档:uni-app官网 (opens new window)

  • 微信官方文档:微信开放文档 / 开发 (opens new window)

  • 工具站点:设计师网址导航-青年帮创意工坊推荐 (opens new window)

介绍 -> 教程 -> 组件 -> API

利用好 控制台打印 的方法调试,查看函数方法接收到的参数会是什么

# uniapp 相关

# 目录简介

  • 工程简介 | uni-app官网 (opens new window)
    • 内含 static 目录说明

# 全局文件

  • pages.json 页面路由 | uni-app官网 (opens new window)

page.json 文件

涉及到启动页的设置

  • 可设置 condition 属性
  • 或者 pages 数组中第一项表示应用启动页

# 条件编译

  • 条件编译是用特殊的注释作为标记,在编译时根据这些特殊的注释,将注释里面的代码编译到不同平台。

  • 简单来说,就是自动根据不同平台执行不同的代码(例如:H5、APP、小程序)

  • 条件编译处理多端差异 | uni-app官网 (opens new window)

# 用户授权

  • uni.authorize(OBJECT) | uni-app官网 (opens new window)

  • openSetting 调用客户端授权信息:uni.openSetting(OBJECT) | uni-app官网 (opens new window)

# Vue 相关

Vue3 官方文档:简介 | Vue.js (opens new window)

  • vue2 - 选项式,vue3 - 组合式

生命周期图示

  • 生命周期钩子 | Vue.js (opens new window)

含接收页面参数 API

// 接收页面url参数
onLoad((e) => {
	console.log(e);
})
1
2
3
4

# css 相关

  • CSS 基础 - 学习 Web 开发 | MDN (opens new window)

  • 页面样式与布局 | uni-app官网 (opens new window)

  • 模板内引入静态资源 | uni-app官网 (opens new window)

  • CSS 教程 | 菜鸟教程 (opens new window)

scoped 属性

  • 单文件组件 CSS 功能 | Vue.js (opens new window)

uni.scss 文件说明

  • 这里是 uni-app 内置的常用样式变量
  • 是 预编译 文件
  • 可引入其他目录下的文件:@import "@/common/scss/self.scss";

使用示例:

<!-- xxx.vue 文件 -->

<!-- scoped:约束只有组件自己可以用这个 css 样式 -->
<style lang="scss" scoped>
.box{
	// width: 60%;
	// width: 40vw;
	// width: 400px;
	width: 130rpx; // rpx响应式px(根据750宽的图纸定义比例,可利用工具等比例缩放)
	height: 130rpx;
	background: orange;
	font-size: 28rpx;
}
.text{
	font-size: 52rpx;	
	color:$custom-color-1; // 引用属性
}
</style>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

尺寸单位 rpx 说明

  • 尺寸单位 | uni-app官网 (opens new window)

# 插件

  • 自动按需导入插件:项目首页 - unplugin-auto-import:unplugin-auto-import - 一个插件,用于在 Vite、Webpack、Rspack、Rollup 和 esbuild 中自动按需导入 API,支持 TypeScript,适合希望简化代码中导入语句的前端开发者。 - GitCode (opens new window)
  • uni-app 扩展组件:uni-ui 介绍 | uni-app官网 (opens new window)
  • 骨架屏插件(插件市场中找):uv-skeletons 骨架屏 全面兼容小程序、nvue、vue2、vue3等多端 - DCloud 插件市场 (opens new window)
  • 富文本增强渲染:mp-html 富文本组件【全端支持,支持编辑、latex等扩展】 - DCloud 插件市场 (opens new window)

# 写法技巧

... 展开符的使用

示例:

const pets = ref([1,2,3]);
const res = ref([4,5,6]);

// 利用展开符合并数组元素
pets.value = [...pets.value, ...res.value]
console.log(pets.value); // 1,2,3,4,5,6
1
2
3
4
5
6

当轮播图中文字过长时,显示省略符 ...

<template>
		<view class="notice">
			<view class="left">
				<uni-icons type="sound-filled" size="20"></uni-icons>
				<text class="text">公告</text>
			</view>
			<view class="center">
				<swiper vertical autoplay interval="1500" duration="300" circular>
					<swiper-item v-for="item in noticeList" :key="item._id">
						<navigator :url="'/pages/notice/detail?id='+item._id">
							{{item.title}}
						</navigator>
					</swiper-item>
				</swiper>
			</view>
</template>

<style lang="scss" scoped>
		.center{
			flex:1;
			swiper{
				height: 100%;
				&-item{
					height: 100%;
					font-size: 30rpx;
					color:#666;
          			 // 当轮播图中文字过长时,显示省略符...
					overflow: hidden;
					white-space: nowrap;
					text-overflow: ellipsis;
				}
			}
		}
</style>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

# 问题解析

为什么 Vue3 写响应式编程多用 const 而不是 let 定义呢?

  • 通常情况下,let 定义变量,const 定义常量。

原因:在 Vue3 中,响应式变量 建议用 const 是因为你不会重新赋值它本身,而只是修改它内部的值(如 .value)。

举个例子:

import { ref } from 'vue'

const count = ref(0)
count.value++  // 修改的是 count 内部的值
1
2
3
4

你可能会疑惑:count 不是变量吗?我还要改它的值,为什么用 const?

其实这里:

  • const count = ref(0):count 是一个引用(Ref)对象,它不会变。
  • 改的是 count.value,不是 count 本身。

换句话说:我们只要不去 count = ref(100) 重新赋值,就不违反 const 的语义。

为什么推荐用 const 而不是 let:

语法层面 Vue 编码习惯
const 只声明一次,不能被重新赋值,更安全 避免误操作(如不小心 xxx = yyy)
const 定义的变量在编译时更容易被优化 Tree-shaking、性能更好
语义更明确,告诉团队“这个变量的引用不会变” 更易读、更清晰

用 let 会导致误解或误操作:

let count = ref(0)
// 后面不小心写:
count = ref(100)  // 不一定有 bug,但容易逻辑错乱
1
2
3

# 发行相关

1、内部使用到的接口,域名需要配置

  • 微信公众平台,开发管理界面
  • 配置域名

2、在 HBuilder X 中 配置好 appid 和 微信开发者工具包路径 然后 发行打包

3、微信开发者工具进行版本上传

上次更新: 2025/4/25 17:44:12
知识梳理
若依学习笔记

← 知识梳理 若依学习笔记→

Theme by Vdoing | Copyright © 2023-2025 沉梦听雨 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式