网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
复制代码
我们使用 `uni-app` 的 `request` 请求
uni.request({
url: ‘https://www.example.com/request’, //仅为示例,并非真实接口地址
data: {
text: ‘uni.request’
},
header: {
‘custom-header’: ‘hello’ //自定义请求头信息
},
success: (res) => {
console.log(res.data);
this.text = ‘request success’;
}
});
复制代码
有没有发现什么不一样的?对了,除了前缀 `wx`替换为`uni`之外,其他的地方一摸一样,是不是这样开发起来就很一贼了呢 。
#### App(ios、安卓)
`uni-app` 不仅可以使用绝大多数的小程序相关的 `API`,同时也可以使用 `5+API` 很好的补足了小程序上一些还没有实现的功能,是不是很美好?而且开发方式还是跟上述一样,没有变化,是不是更美好了呢。
#### H5
`h5` 就不多说了,基本上跟常规 `vue` 开发没有什么区别, 唯一需要注意的是,有些 `API` 是不能在 `h5` 中使用,主要看文档,看文档,看文档 。
### 如何实现跨端
当然虽说是跨端,但是肯定是有情况是不支持的,比如遇到有些平台特有的 `API` 怎么办 ?
不用担心,这些问题 `uni-app` 都为你想到了 那就是使用`条件编译` 。
#### 条件编译
[详细文档点我](https://bbs.csdn.net/topics/618636735) 在 `C` 语言中,通过 `#ifdef`、`#ifndef` 的方式,为 `windows`、`mac` 等不同 `os` 编译不同的代码 `uni-app` 参考这个思路,为 `uni-app` 提供了条件编译手段,在一个工程里优雅的完成了平台个性化实现 。
条件编译是利用注释实现的,在不同语法里注释写法不一样,`js`使用 `// 注释`、`css` 使用 `/* 注释 */`、`vue/nvue` 模板里使用 `<!-- 注释 -->`。
举个例子:
// #ifdef %PLATFORM%
平台特有的API实现
// #endif
// #ifndef H5
// 表示只有 h5 不使用这个 api
uni.createAnimation(OBJECT)
// #endif
复制代码
平台特有的组件
我是微信小程序
我是 app
复制代码
/* #ifdef %PLATFORM% /
平台特有样式
/ #endif */
/* #ifdef MP-WEIXIN /
/ 只在小程序中生效 /
.header {
color:red
}
/ #endif */
/* #ifdef APP-PLUS /
/ 只在 app 中生效 */
.header {
color:blue
}