目录结构
可以看到很清晰 server以外是docker和客户端程序
Vue知识
npm list vue //查看vue版本号
import { reactive } from 'vue'
意思是从vue中引入reactive方法给本页面使用
reactive是Vue3中提供的响应式数据的方法
//定义对象 并初始化
const state = reactive<{
pages: any[]
article: any[]
}>({
pages: [],
article: []
})
const getData = async () => {
const data = await getIndex()
state.pages = JSON.parse(data?.page?.data)
state.article = data.article
}
getData()
async/await特点
1.async/await更加语义化,async 是“异步”的简写,async function 用于申明一个
2.function 是异步的; await,可以认为是async wait的简写, 用于等待一个异步方法执行完成;
3.async/await是一个用同步思维解决异步问题的方案(等结果出来之后,代码才会继续往下执行)
4.可以通过多层 async function 的同步写法代替传统的callback嵌套
async function语法
自动将常规函数转换成Promise,返回值也是一个Promise对象
只有async函数内部的异步操作执行完,才会执行then方法指定的回调函数
异步函数内部可以使用await
几个组件的定义和使用
<w-search :content="item.content" :styles="item.styles" />
src\components\widgets\search\search.vue
猜测组件格式如<w-xxxx ######/>
则组件文件位置为
src\components\widgets\xxxx\xxxx.vue
需要注意的是组件改动后需要改动下引用页面然后编译
由于其使用了uview插件ui框架 然后他支持全局样式变量
.article-title {
&::before {
content: '';
width: 8rpx;
height: 34rpx;
display: block;
margin-right: 10rpx;
background: $u-type-primary;
}
}
uni.scss文件
~~~~~~~~~~~~~~~~~likeadmin的前端框架我主要需要注重学习uview插件
在hbuider里面运行是开发环境 发布是生产环境
vite========================
onLaunch(async () => {
await appStore.getConfig() //这里使用了类似热更新接口
// #ifdef H5
const { status, page_status, page_url } = appStore.getH5Config
if (status == 0) {
if (page_status == 1) return (location.href = page_url)
uni.reLaunch({ url: '/pages/empty/empty' })
}
// #endif
await getUser()
})
getCurrentPages()获取当前页面栈的实例,最后一个为当前页 第一个为首页
const tabbarList = computed(() => { //computed的结果是计算属性
return appStore.getTabbarConfig.map((item: any) => { //map遍历数组并对其中每一个对象进行处理
return {
iconPath: item.unselected,
selectedIconPath: item.selected,
text: item.name,
link: item.link,
pagePath: item.link.path
}
})
})