uView组件库使用

  1. 安装配置uview
    [文档](
  2. )
  3. 在页面组件中,直接调用uview组件
    1. <u-divider border-color="#ff5500">热门活动</u-divider>

uniapp的跨端效果演示

公司使用uniapp开发项目的时候,会优先对标考虑某个平台,我们在开发阶段,优先测试该平台 多测试兼容性较差的平台(微信小程序)

  1. web端
    • 在manifest.json中配置资源路径,相当于配置vue项目的publicPath
    • 将打包文件,部署至Nginx服务器
  2. 小程序端
  3. App端

自定义组件封装

跟Vue中封装组件一样,引入、挂载、使用的方式,也一样

数据请求方式

方法1:使用uni.request

  1. uni.request({
  2. url:'https://woniu.h5project.cn/1.1/classes/Jobs',
  3. method:'GET',
  4. header:{
  5. "X-LC-Id": "自己的id",
  6. "X-LC-Key": "自己的key",
  7. "Content-Type": "application/json"
  8. },
  9. success: (res) => {
  10. console.log(res);
  11. }
  12. })

方法2:自行封装uni.request

  1. // promise的三种状态: pendding处理中 resolve成功 reject失败
  2. let mode = 'dev' //通过开发模式变量,动态切换baseUrl
  3. let baseUrl = '' //预先定义基础域名
  4. if(mode=='dev'){
  5. baseUrl='https://woniu.h5project.cn' //必须换成自己的LeanCloud域名
  6. }else{
  7. baseUrl = 'http://vip.com'
  8. }
  9. function fetchData({url,method='get',data={}}={}){
  10. return new Promise((resolve,reject)=>{
  11. uni.showLoading({
  12. title: '拼命加载中...',
  13. })
  14. // 方法1
  15. uni.request({
  16. url: baseUrl+url,
  17. method,
  18. data,
  19. header:{
  20. "X-LC-Id": "自己的id",
  21. "X-LC-Key": "自己的key",
  22. "Content-Type": "application/json"
  23. },
  24. success:(res)=>{
  25. uni.hideLoading()
  26. resolve(res) //成功后,将数据交付给then
  27. },
  28. fail:(err)=>{
  29. reject(err) //失败后,将数据交付给catch
  30. }
  31. })
  32. })
  33. }
  34. function get(url,data){ //基于fetchData二次封装get
  35. return fetchData({url,method:'get',data})
  36. }
  37. function post(url,data){
  38. return fetchData({url,method:'post',data})
  39. }
  40. function del(url,data){ //
  41. return fetchData({url,method:'delete',data})
  42. }
  43. module.exports = {
  44. fetchData,
  45. get,
  46. post,
  47. del
  48. }

方法3:使用uView提供的方法

axios不兼容小程序

  1. 在utils中封装了一个http.intercepter.js
  2. 在main.js中引入并使用http.intercepter.js
  3. 在组件中,使用uview提供的方法,请求数据
    1. this.$u.get('/1.1/classes/Jobs').then(res=>{
    2. console.log(res);
    3. })