我的第一个小程序

小程序,虽说小,但俗话说的好:“麻雀虽小五脏俱全”,我希望所有的IT工作者,从小程序出发,了解程序的所有结构联系,坚持下去,总有一天你会看到自己的努力换来的都是值得的,加油哦!


小程序初期模型的搭建推荐:https://qz.fkw.com

tabbar所需的图标推荐下载网址:https://www.iconfont.cn


一、小程序的初始工作

1、现在微信公众平台注册微信小程序,获取APPID然后下载微信开发者工具,打开通过APPID创建自己的第一个小程序(注意必须将小程序的位置放到空目录下)

2、进入微信开发者工具,删除没有用的目录文件,只剩下sitemap88.json和sitemap.json这两个配置文件即可

3、创建app.js   app.wxss   app.wxml三个必备的文件,用于后期对小程序进行全局配置

4、创建一个空目录名为pages,用于存放后期的所有页面,创建名为images的空目录,用于后期上传所需要的图片

二、创建页面及配置

1、创建首页

在微信开发者工具中选择创建(+号),创建一个名为index的目录,再在此目录下点+号,选择Page选项,输入index,就会直接创建一个页面所必备的四个文件(index.wxml  index.wxss  index.js  index.json)

2、创建其它页面

可以按上述操作,也可直接在app.json中通过输入路径的方式,保存之后就会直接在pages中生成相对应的页面如下:

"pages": [

    "pages/index/index",

    "pages/time/time",

    "pages/phone/phone",

    "pages/all/all"

  ],

先后创建了名为index  time  phone  all  的四个页面

3、实现底部 tabbar

在app.json中添加 tabBar并添加list数组,在数组中配置我们的tabbar,即:底部的主页面,实现的功能就那么几个,在这里就不具体说明了,代码附上:(注:底部需要的图标请参考:https://www.iconfont.cn进行下载)

{

  "pages": [

    "pages/index/index",

    "pages/time/time",

    "pages/phone/phone",

    "pages/all/all",

    "pages/a/a"

  ], 

  "tabBar": {

    "list": [

      {

        "pagePath": "pages/index/index",

        "text": "首页",

        "iconPath": "images/index1.png",

        "selectedIconPath": "images/index2.png"

      },

      {

        "pagePath": "pages/all/all",

        "text": "热销产品",

        "iconPath": "images/all1.png",

        "selectedIconPath": "images/all2.png"

      },

      {

        "pagePath": "pages/time/time",

        "text": "新品特惠",

        "iconPath": "images/time1.png",

        "selectedIconPath": "images/time2.png"

      },

      {

        "pagePath": "pages/phone/phone",

        "text": "联系我们",

        "iconPath": "images/phone1.png",

        "selectedIconPath": "images/phone2.png"

      }

    ],

    "selectedColor": "#efb336"

  },

  "sitemapLocation": "sitemap88.json"

}

三、首页的配置(index中实现)

目前实现的主要是三部分,如下:

1、轮播图

    负责实现的组件主要是<swiper></swiper>,结构如下:

在 index.wxml 中用<view>组件将<swiper></swiper>包裹,<swiper-item>进行遍历,然后用<navigator>实现页面跳转,最内层包裹的是<image>标签,然后用wxss实现对index.wxml的样式设置,需要遍历的图片路径存放在index.js中

2、导航栏

在index.wxml中用两个<view>组件(一个是用来对整个框架实现的包裹,另一个对图片跟文字实现遍历)嵌套图片跟下方的字,当然图片跟下面的字也都是用<view>组件分别包裹,实现对图片和文字样式的设置

3、新品、热销

这个就是用<view>组件简单的实现标题和图片的渲染

【首页配置的代码如下】

wxml:

<view class="lunbo">

  <swiper autoplay="true" interval="3000" duration="800" circular="true">

    <swiper-item wx:for="{{imageUrl}}">

      <navigator url="{{item.link}}" open-type="redirect">

        <image src="{{item.url}}" mode="aspectFill"></image>

      </navigator>

    </swiper-item>

  </swiper>

</view>

<!-- 导航栏 -->

<view class="category">

  <view wx:for="{{iconArray}}" class="icon_item">

    <navigator url="{{item.link2}}" open-type="redirect">

      <view class="icon_wrap">

        <image src="{{item.iconUrl}}" class="index_icon"></image>

      </view>

      <view class="category_item_text">

        <text>{{item.iconText}}</text>

      </view>

    </navigator>

  </view>

</view>

<!-- 新品、热销 -->

<view class="word2 ">

  <text style="margin-bottom='20rpx' ">— 新品上市 —</text>

</view>

<view>

  <image src="/images/new.jpg " class="new "></image>

</view>

<view class="word2 ">

  <text>— 热销产品 —</text>

</view>

<view>

  <image src="/images/guo.jpg " class="rexiao "></image>

</view>

wxss:

/* 轮播图的样式 */

.lunbo{

  100%;

  height: 1100rpx;

}

swiper{

  100%;

  height: 1100rpx;

}

.lunbo image{

  100%;

  height: 1100rpx;

}

/* 导航栏的样式 */

.category {

  padding: 40rpx 20rpx 20rpx 20rpx;

  margin-bottom: 10px;

}

.index_icon {

  320rpx;

  height: 200rpx;

  margin: 20rpx;

  border-radius: 20rpx !important;

}

.category_item_text {

  text-align: center;

  font-size: 13px;

  color: #737373;

}

.icon_item{

  float: left;

  50%;

}

/* 新品、热销 */

.new{

  100%;

  height: 600rpx;

}

.rexiao{

  100%;

  height: 600rpx;

}

.word2 {

  margin-top: 15rpx;

  margin-bottom: 20rpx;

  text-align: center;

  font-size: 18px;

  color: #737373;

}

js:

Page({

  data: {

    "imageUrl": [{

      "link": "../a/a",

      "url": "/images/L1.jpg"

    }, {

      "link": "../all/all",

      "url": "/images/L2.jpg"

    }, {

      "link": "../all/all",

      "url": "/images/L3.jpg"

    }],

    iconArray: [{

        "link2": "../a/a",

        "iconUrl": '/images/guo.jpg',

        "iconText": '国朝、国风'

      },

      {

        "link2": "../a/a",

        "iconUrl": '/images/katong.jpg',

        "iconText": '卡通、动漫'

      },

      {

        "link2": "../a/a",

        "iconUrl": '/images/shishang.jpg',

        "iconText": '时尚、个性'

      },

      {

        "link2": "../a/a",

        "iconUrl": '/images/personal.jpg',

        "iconText": '私人定制'

      }

    ]

  },

});

                                                                              未完,待续……

原文地址:https://www.cnblogs.com/guo-2020/p/12254006.html