微信小程序的个人博客--【小程序花园】

微信目录集链接在此:

详细解析黑马微信小程序视频–【思维导图知识范围】难度★✰✰✰✰

不会导入/打开小程序的看这里:参考

让别人的小程序长成自己的样子-更换window上下颜色–【浅入深出系列001】

文章目录

  • 本系列校训
  • 啥是个人博客
  • 项目里的理论知识
    • 目录结构
    • 底部标签页
      • 页面文件wxml
      • 屎山代码什么意思
    • 可以秒杀90%初学者的技巧
  • 总结:
  • 配套资源
  • 作业:

本系列校训

用免费公开视频,卷飞培训班哈人!打死不报班,赚钱靠狠干!
只要自己有电脑,前后项目都能搞!N年苦学无人问,一朝成名天下知!

啥是个人博客

看看王校长,看看孙一宁,你猜我会不会真的以为你不知道啥是博客?
其实,你真的不知道啥是博客,博客的来源是爱,对生活的热爱,对周边的人的爱。这样才最博客。
一些人在博客里啥都写,完全是当成了一个网络的垃圾箱,这样的博客不是别人喜欢看的博客。
在这里插入图片描述

小程序上呢?自然也有个人博客啦。
在这里插入图片描述

项目里的理论知识

在这里插入图片描述

目录结构

app.json文件用来对微信小程序进行全局配置,决定页面文件的路径、窗口表现、设置网络超时时间、设置多 tab 等。
注意:

  1. json配置中键名、键值必须使用双引号,不能使用单引号。
  2. 以下配置中除了page字段是必需设置,其它项目为可选项。

以下只是展示之用,不要在json文件里写注释。

  1 {
  2 
  3   /**
  4   * 【必需】 pages 键值是一列数组
  5   * 指定小程序由哪些页面组成,每一项都对应一个页面的 路径+文件名 信息。文件名不需要写文件后缀
  6   * 数组第一项代表小程序的首页
  7   **/
  8   "pages": [
  9     "pages/index/index",
 10     "pages/logs/index"
 11   ],
 12 
 13   
 14   /**
 15   * window 用于设置小程序的状态栏、导航条、标题、窗口背景色。
 16   **/
 17   "window": {
 18       
 19     /**
 20     * 以下是页面顶部导航栏设置
 21     **/
 22     "navigationBarBackgroundColor" : "[Color]", // 导航栏背景颜色,默认值:#000000
 23     "navigationBarTextStyle" : "white|black", // 导航栏标题颜色,默认值white
 24     "navigationBarTitleText": "[String]" , // 导航栏标题文字内容
 25     "navigationStyle" : "default|custom", // 导航样式,默认值default。 custom 自定义导航栏,只保留右上角胶囊按钮
 26     
 27     /**
 28     * 以下是下拉刷新或上拉触底设置
 29     **/
 30     "backgroundColor" : "[Color]", // 窗口的背景色
 31     "backgroundTextStyle" : "dark|light", // 下拉 loading 的样式,默认值dark(暗)
 32     "backgroundColorTop" : "[Color]", // 顶部窗口的背景色,仅 iOS 支持
 33     "backgroundColorBottom" : "[Color]", // 底部窗口的背景色,仅 iOS 支持    
 34     "enablePullDownRefresh" : true|false, // 是否全局开启下拉刷新,值 true | false
 35     "onReachBottomDistance" : [Number] // 页面上拉触底事件触发时距页面底部距离,单位为px,默认值 50
 36     
 37   },
 38   
 39 
 40   /**
 41   * tabBar 配置项指定 tab 栏的表现,以及 tab 切换时显示的对应页面。
 42   **/
 43   "tabBar": {
 44     
 45     "color" : "[Color]", // 【必需】 tab 上的文字默认颜色
 46     "selectedColor" : "[Color]", // 【必需】 tab 上的文字选中时的颜色
 47     "backgroundColor" : "[Color]", // 【必需】 tab 的背景色
 48     "borderStyle" : "black|white", // tabbar上边框的颜色, 默认值:black
 49     "position" : "bottom|top", // tabBar的位置,仅支持 bottom / top
 50     
 51     /**
 52     * 【必需】 tab 的列表,最少2个、最多5个 tab
 53     **/
 54     "list": [
 55       {
 56         "pagePath": "[String]", // 【必需】 打开的页面路径,必须在 pages 中先定义
 57         "text": "[String]", // 【必需】 tab 上按钮文字,比如首页
 58         "iconPath" : "[String]", // 图片路径,icon 大小限制为40kb,建议尺寸为 81px * 81px,不支持网络图片。 当 postion 为 top 时,不显示 icon。
 59         "selectedIconPath" : "[String]" // 选中时的图片路径,icon 大小限制为40kb,建议尺寸为 81px * 81px,不支持网络图片。当 postion 为 top 时,不显示 icon。
 60       }, 
 61       {
 62         "pagePath": "[String]",
 63         "text": "[String]", 
 64         "iconPath" : "[String]", 
 65         "selectedIconPath" : "[String]" 
 66       }
 67       //设置每个列表...
 68     ]
 69   },
 70   
 71   
 72   /**
 73   * networkTimeout 各类网络请求的超时时间,单位均为毫秒。
 74   **/
 75   "networkTimeout": {
 76     "request" : [Number],  // wx.request 的超时时间。默认值 60000
 77     "connectSocket" : [Number], // wx.connectSocket 的超时时间。默认值 60000 
 78     "uploadFile" : [Number], // wx.uploadFile 的超时时间。默认值 60000
 79     "downloadFile": [Number] // wx.downloadFile 的超时时间。默认值 60000
 80   },
 81   
 82   
 83   /**
 84   * debug 是否开启调试模式,默认关闭(false)
 85   **/
 86   "debug": true|false, 
 87 
 88   "resizable": true|false, // 值true时使小程序支持 iPad 屏幕旋转 
 89   /**
 90   * functionalPages 是否启用插件功能页,默认关闭(false)
 91   **/
 92   "functionalPages" : true|false,
 93   
 94 
 95   /**
 96   * usingComponents 定义全局可以使用的自定义组件(所有页面可用)
 97   **/
 98   "usingComponents": {      
 99       "component-tag-name": "component-path", // 格式:组件标签名称 : 自定义组件路径
100       // 可定义多个自定义组件
101    }
102   
103   /**
104   * subPackages
105   **/
106   
107   
108   /**
109   * workers
110   **/
111   
112   
113   /**
114   * requiredBackgroundModes
115   **/
116   
117   
118   /**
119   * plugins
120   **/
121   
122 }

底部标签页

直接找到tabBar 的部分

 "tabBar": {
    "color": "#fff",
    "selectedColor": "#fff",
    "backgroundColor": "#008CD6",
    "position": "bottom",
    "borderStyle": "black",
    "list": [
      {
        "pagePath": "pages/index/index",
        "text": "首页",
        "iconPath": "assets/nav/home.png",
        "selectedIconPath": "assets/nav/home_fill.png"
      },
      {
        "pagePath": "pages/lists/lists",
        "text": "分类",
        "iconPath": "assets/nav/project.png",
        "selectedIconPath": "assets/nav/project_fill.png"
      },
      {
        "pagePath": "pages/about/about",
        "text": "关于",
        "iconPath": "assets/nav/user.png",
        "selectedIconPath": "assets/nav/user_fill.png"
      }
    ]
  },

找到第一个list 里的页面。"pagePath": "pages/index/index",

跳转到相应的页面上(ctrl+鼠标点击)

页面文件wxml

<!-- index.wxml -->
<!-- 轮播图 -->
<wxs module="comm" src="../comm.wxs"></wxs>
<view class="carousel">
  <swiper class='carousel_swiper' indicator-dots='true' autoplay='true' interval='4000'>
    <swiper-item>
      <image class="carouselImg" src='../../assets/images/a.png'></image>
    </swiper-item>
    <swiper-item>
      <image class="carouselImg"  src='../../assets/images/b.png'></image>
    </swiper-item>
    <swiper-item>
      <image  class="carouselImg"  src='../../assets/images/c.png'></image>
    </swiper-item>
  </swiper>
</view>
<!-- 推荐列表 -->
<view class="lists">
  <view class="news" bindtap="toDetail" >
    <view class="content">
      <view class='imgitem'>
        <image class='imgitem' mode="widthFit"  src="/assets/images/b.png"></image>
      </view>
      <view class="title">标题</view>
      <view class="bottom">
        <view class="icon">
          <van-icon name="underway-o" />
          2019-12-01
        </view>
        <view class="icon">
          <van-icon name="browsing-history-o" />
          123
        </view>
      </view>
      <view class="detail">
      范德萨尽快是否的风景科学家的就服你
      </view>
    </view>
  </view> 
    <view class="news" bindtap="toDetail" >
    <view class="content">
      <view class='imgitem'>
        <image class='imgitem' mode="widthFit"  src="/assets/images/b.png"></image>
      </view>
      <view class="title">标题</view>
      <view class="bottom">
        <view class="icon">
          <van-icon name="underway-o" />
          2019-12-01
        </view>
        <view class="icon">
          <van-icon name="browsing-history-o" />
          123
        </view>
      </view>
      <view class="detail">
      范德萨尽快是否的风景科学家的就服你
      </view>
    </view>
  </view> 
    <view class="news" bindtap="toDetail" >
    <view class="content">
      <view class='imgitem'>
        <image class='imgitem' mode="widthFit"  src="/assets/images/b.png"></image>
      </view>
      <view class="title">标题</view>
      <view class="bottom">
        <view class="icon">
          <van-icon name="underway-o" />
          2019-12-01
        </view>
        <view class="icon">
          <van-icon name="browsing-history-o" />
          123
        </view>
      </view>
      <view class="detail">
      范德萨尽快是否的风景科学家的就服你
      </view>
    </view>
  </view> 
    <view class="news" bindtap="toDetail" >
    <view class="content">
      <view class='imgitem'>
        <image class='imgitem' mode="widthFit"  src="/assets/images/b.png"></image>
      </view>
      <view class="title">标题</view>
      <view class="bottom">
        <view class="icon">
          <van-icon name="underway-o" />
          2019-12-01
        </view>
        <view class="icon">
          <van-icon name="browsing-history-o" />
          123
        </view>
      </view>
      <view class="detail">
      范德萨尽快是否的风景科学家的就服你
      </view>
    </view>
  </view> 
    <view class="news" bindtap="toDetail" >
    <view class="content">
      <view class='imgitem'>
        <image class='imgitem' mode="widthFit"  src="/assets/images/b.png"></image>
      </view>
      <view class="title">标题</view>
      <view class="bottom">
        <view class="icon">
          <van-icon name="underway-o" />
          2019-12-01
        </view>
        <view class="icon">
          <van-icon name="browsing-history-o" />
          123
        </view>
      </view>
      <view class="detail">
      范德萨尽快是否的风景科学家的就服你
      </view>
    </view>
  </view> 
  
</view>
<!-- 底部 -->

这是一般的小程序最常见的页面代码段。
不管是轮播的代码,还是下面的“列表” 这种其实称不上列表了
就问你一句,你说运行出不出来吧?

printf("*");
printf("**");
printf("***");

同样的,“屎山代码”在哪里都有。只是在高级一些语言里,新推出的开发工具里,大家就能原谅初学者了,没啥丢人。对于初学者来说,那更是快速完成任务的利器。只不过随着项目经验的提升,你后期会对自己的“屎山代码”感到无语,但是谁又不是从初学者开始呢?

屎山代码什么意思

“屎山代码是指陈年累月且复杂低效的代码,因为改动成本巨大,所有人避之不及。它通常是指一个公司里祖传的“古董级代码”,因为使用时间较长,数量已经很多了。在系统的使用过程中,需要维护系统和不断添加新的功能,故使用时间长的系统的代码往往会很多。曾有程序员表示:改老代码,就相当于去爬一座屎山,等爬到山顶,自己又留下一滩新的屎!不要轻易修改“屎山代码”,存在即合理,可以正常运行就不要去修改,否则可能会导致代码的运行出现问题。”
在这里插入图片描述

可以秒杀90%初学者的技巧

在“调试器”的wxml 面板 用鼠标在代码上下移动。观察左侧的“模拟器”
在这里插入图片描述

这在你修改wxml或mxss 里的class 还是复杂标签 的时候,特别有用。

提示:如果一不小心出错
这个时候,Ctrl+Z (这个快捷键有必要记住) 基本上80%以上的编辑器程序都是用这个快捷方式恢复到前一步正确的代码。
如果在恢复这个错之前,把这个错误的截图,并保存,查看几下那就更好了。面对页面出错不是大惊小怪,而是看看是啥错误信息,那你基本具备了向高手迈进的姿势了。

总结:

如果按着书一步一步的学习,那真的不知道啥时候才能做出一个比较完整的小程序。
在这里插入图片描述
但是有了【小程序花园】这个系列之后,就不一样了。基本的知识点一看,就可以迅速的搭建出自己的相应的小程序–比如个人博客。
在这里插入图片描述

配套资源

微信小程序的个人博客–【小程序花园】配套资源
https://download.csdn.net/download/dearmite/88105793

作业:

1 下载配套资源阅读里面的轮播代码,将其改成从JSON数据里取。(难度★★★★✫)
2 查阅资料,将第一页的下方列表改成从JSON数据里取。(难度★★★★★✫)超五星

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/46675.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

pytorch学习——线性神经网络——1线性回归

概要&#xff1a;线性神经网络是一种最简单的神经网络模型&#xff0c;它由若干个线性变换和非线性变换组成。线性变换通常表示为矩阵乘法&#xff0c;非线性变换通常是一个逐元素的非线性函数。线性神经网络通常用于解决回归和分类问题。 一.线性回归 线性回归是一种常见的机…

ubuntu初始化/修改root密码

1.登录ubuntu后&#xff0c;使用sudo passwd root命令&#xff0c;进行root密码的初始化/修改&#xff0c;注&#xff1a;这里需要保证两次输入的密码都是同一个&#xff0c;才可成功 ubuntugt-ubuntu22-04-cmd-v1-0-32gb-100m:~/ocr$ sudo passwd root New password: Retype…

DRS 迁移本地mysql 到华为云

准备工作&#xff1a; 源端的IP地址&#xff08;公网&#xff09;&#xff0c;用户明和密码。如果通过公网迁移&#xff0c;需要在安全组放通drs访问源端数据库的3306端口。目标端的IP地址&#xff0c;用户名和密码。 创建DRS迁移任务 创建迁移任务 登录华为云控制台。单击管…

Unity自定义后处理——Tonemapping色调映射

大家好&#xff0c;我是阿赵。   继续介绍屏幕后处理&#xff0c;这一期介绍一下Tonemapping色调映射 一、Tone Mapping的介绍 Tone Mapping色调映射&#xff0c;是一种颜色的映射关系处理&#xff0c;简单一点说&#xff0c;一般是从原始色调&#xff08;通常是高动态范围&…

SpringBoot前后端分离项目中实现将图片上传至Linux服务器(极简)

FileController /*** 文件上传至服务器 */ ApiOperation("文件上传") PostMapping("/upload") public R upload(MultipartFile file){String uploadUrl fileService.upload(file);return R.ok().message("文件上传成功").data("url",…

idea使用命令将jar包导入到maven仓库中

因为今天突然忘了命令&#xff0c;记下来方便以后查看 pom文件的依赖 jar包路径 进入idea中命令窗 输入命令 mvn install:install-file -DfileD:\Project\spring-cloud\dubbo-api\target\dubbo-api-1.0-SNAPSHOT.jar -DgroupIdcom.wmx -DartifactIddubbo-api -Dversion1.0…

百度智能云连拿四年第一,为什么要深耕AI公有云市场

AI是过去几年云计算市场中的最大变量&#xff0c;而大模型的成熟&#xff0c;毫无疑问将指数级增强这个变量。 记得在2022年年底&#xff0c;生成式AI与大模型开始爆火的时候&#xff0c;我们就曾讨论过一个问题&#xff1a;这轮AI浪潮中&#xff0c;最先受到深刻影响的将是云计…

性能优化问题

提升首屏的加载速度&#xff0c;是前端性能优化中「最重要」的环节&#xff0c;这里笔者梳理出一些 常规且有效 的首屏优化建议 1、路由懒加载 SPA 项目&#xff0c;一个路由对应一个页面&#xff0c;如果不做处理&#xff0c;项目打包后&#xff0c;会把所有页面打包成一个文…

递归对比对象函数

在JavaScript中&#xff0c;对象之间的比较通常通过引用进行。当你使用运算符比较两个对象时&#xff0c;它会检查它们是否引用了同一个内存地址&#xff0c;而不是逐个比较对象的属性。 上图可见&#xff0c;obj1和{}是两个不同的对象&#xff0c;尽管它们具有相同的结构&…

集装箱装卸作业相关的知识-Part1

1.角件 Corner Fitting of Container or called Corner Casting. there are eigth of it of one container. 国家标准|GB/T 1835-2006https://openstd.samr.gov.cn/bzgk/gb/newGbInfo?hcnoD35857F2200FA115CAA217A114F5EF12 中国的国标&#xff1a;GB/T 1835-2006《系列1集…

智慧城市环境污染数据采集远程监控方案4G工业路由器应用

随着科技水平的发展和人民生活水平的提高&#xff0c;城市环境污染问题日渐严峻&#xff0c;尤其是在发展迅速的国家&#xff0c;环境污染问题便更为突出。许多发达国家将重污染工厂搬到发展中国家&#xff0c;这导致发展中国家的环境污染日益严重。严重的环境污染也带来了一系…

【uni-app2.0】实现登录页记住密码功能

使用uni-app的uni.setStorageSync()和uni.getStorageSync()方法来存储和读取密码 在登录页中添加一个记住密码的u-checkbox选项&#xff0c;并在data里面添加一个rememberPwd的布尔值&#xff0c;在每次点击记住密码change的时候来记录用户的选择 <u-checkbox-group place…

作为开发人员,无代码开发平台 iVX 你有必要了解一下

低代码开发平台作为一种快速、简化应用程序开发的方法&#xff0c;正在越来越受到关注。今天我们来了解下 iVX —— 首个通用无代码开发平台。 那么什么是iVX呢&#xff1f;下边的图就比较形象了。 文章目录 低代码未来的发展方向整合硬件和AI能力 编程真的很困难吗&#xff1…

SpringBoot创建和使⽤

1.什么是Spring Boot&#xff1f;为什么要学Spring Boot&#xff1f; Spring 的诞⽣是为了简化 Java 程序的开发的&#xff0c;⽽ Spring Boot 的诞⽣是为了简化 Spring 程序开发 的。 Spring Boot 翻译⼀下就是 Spring 脚⼿架&#xff0c;什么是脚⼿架呢&#xff1f;如下图所…

分享200+个关于AI的网站

分享200个关于AI的网站 欢迎大家访问&#xff1a;https://tools.haiyong.site/ai 快速导航 AI 应用AI 写作AI 编程AI 设计AI 作图AI 训练模型AI 影音编辑AI 效率助手 AI 应用 文心一言: https://yiyan.baidu.com/ 百度出品的人工智能语言模型 ChatGPT: https://chat.openai.c…

数据可视化(3)

1.饼状图 #饼状图 #pie&#xff08;x,labels,colors,labeldistance,autopct,startangle,radius,center,textprops&#xff09; #x,每一块饼状图的比例 #labels:每一块饼形图外侧显示的文字说明 #labeldistance&#xff1a;标记的绘制位置&#xff0c;相对于半径的比例&#xf…

js获取本js文件名称

使用 script 标签的 src 属性&#xff1a; 如果您的 JavaScript 文件是通过 script 标签引入的&#xff0c;您可以使用以下方法来获取当前脚本的文件名&#xff1a; var scripts document.getElementsByTagName(script); var currentScript scripts[scripts.length - 1]; va…

1 js嵌入html使用

1.1 直接在html内部使用js代码 使用script标签&#xff0c;在前后标签内部写的代码即为js代码。 <body><p id"p1">初始段落</p> <!--id是为了定位需要更改内容的标签--><button type"button" onclick"showNum()">…

测试开源C#人脸识别模块ViewFaceCore(2:人脸关键点定位器和活体检测)

ViewFaceCore模块中的FaceLandmarker类支持识别人脸关键点&#xff0c;也即人脸上的关键位置的坐标&#xff0c;其中主要调用Mark函数返回图片中指定人脸的关键点位置集合&#xff0c;该类需配合FaceDetector类共同使用。   FaceLandmarker类支持识别3种类型的人脸关键点&…

Vben Admin学习笔记

Modal 弹窗 modal弹窗一般作为单文件组件被引用&#xff0c;下面是两段示例代码&#xff1a; 弹窗文件 Modal.vue // Modal.vue <template><BasicModal v-bind"$attrs" title"Modal Title" :helpMessage"[提示1, 提示2]">Modal I…