1、安装小程序开发者工具
前往 开发者工具下载页面 (https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html) 根据自己的操作系统下载对应的稳定版安装包进行安装

2、配置小程序底部按钮、顶部窗口
在小程序app.json下,window下配置顶部窗口navigation与底部按钮tabBar

  • window 配置项
编号属性类型默认值描述
1navigationBarBackgroundColorHexColor#000000导航栏背景颜色,如 #000000
2navigationBarTextStylestringwhite导航栏标题颜色,仅支持 black / white
3navigationBarTitleTextstring导航栏标题文字内容
4backgroundColorHexColor#ffffff窗口的背景色
5backgroundTextStylestringdark下拉 loading 的样式,仅支持 dark / light
  • tabBar 配置项
编号属性类型默认值描述
1colorHexColortab 上的文字默认颜色,仅支持十六进制颜色
2selectedColorHexColortab 上的文字选中时的颜色,仅支持十六进制颜色
3backgroundColorHexColortab 的背景色,仅支持十六进制颜色
4borderStylestring否 blacktabbar 上边框的颜色, 仅支持 black / white
5listArraytab 的列表,详见 list 属性说明,最少 2 个、最多 5 个 tab
6positionstringbottom tabBar 的位置,仅支持 bottom / top
  • list 配置项
编号属性类型默认值描述
1pagePathstring页面路径,必须在 pages 中先定义
2textstringtab 上按钮文字
3iconPathstring图片路径,icon 大小限制为 40kb,建议尺寸为 81px * 81px,不支持网络图片。
4selectedIconPathstring选中时的图片路径,icon 大小限制为 40kb,建议尺寸为 81px * 81px,不支持网络图片。
  1. "window": {
  2. "navigationBarBackgroundColor": "#ffffff",
  3. "navigationBarTextStyle": "black",
  4. "navigationBarTitleText": "默默记账",
  5. "backgroundColor": "#eeeeee",
  6. "backgroundTextStyle": "light",
  7. "enablePullDownRefresh": false
  8. },
  9. "tabBar": {
  10. "color": "#444444",
  11. "selectedColor": "red",
  12. "backgroundColor": "#ffffff",
  13. "position": "bottom",
  14. "borderStyle": "black",
  15. "list": [{
  16. "pagePath": "pages/index/index",
  17. "text": "主页",
  18. "iconPath": "./static/img/1.png",
  19. "selectedIconPath": "./static/img/2.png"
  20. },
  21. {"pagePath": "pages/ad/ad",
  22. "text": "广告",
  23. "iconPath": "./static/img/1.png",
  24. "selectedIconPath": "./static/img/2.png"
  25. },
  26. {"pagePath": "pages/art/art",
  27. "text": "文章",
  28. "iconPath": "./static/img/3.png",
  29. "selectedIconPath": "./static/img/4.png"
  30. },
  31. {
  32. "pagePath": "pages/logs/logs",
  33. "text": "日志",
  34. "iconPath": "./static/img/3.png",
  35. "selectedIconPath": "./static/img/4.png"
  36. }
  37. ]
  38. }
  39. }

3、根据底部按钮,创建对应页面
在小程序app.json文件中pages

  1. "pages":[
  2. "pages/index/index",
  3. "pages/ad/ad",
  4. "pages/art/art",
  5. "pages/admin/admin",
  6. "pages/logs/logs"
  7. ],

4、列出10个组件的使用方法

  • rich-text

    富文本。

  1. Page({
  2. data: {
  3. html:`
  4. </span></p><p><span class="bjh-p">食品分发上的压力,只是肯塔基州经济危机的“冰山一角”。《纽约时报》在28日的报道中描述,肯塔基州贫富地区的差距正在正在疫情中进一步拉大,也加剧着民众对政府的信任危机。</span></p><div class="img-container"><img class="large" data-loadfunc=0 src="https://pics6.baidu.com/feed/77c6a7efce1b9d1679fcf65e128364888c5464bf.png?token=87d278f6b7d9f802f8d6bb74f7295ab7&amp;s=0AAA722395F44D800ADDC5DB030080B0" data-loaded=0 /></div><p><span class="bjh-p">《纽约时报》报道</span></p><p><span class="bjh-p"><span class="bjh-strong">反对“免费发钱”,肯塔基州议员曾投救助法案反对票</span></span></p><p><span class="bjh-p">疫情之下,肯塔基州一些农村地区失业率已达到两位数,饥饿和贫困率大幅度升高。自2月份以来,肯塔基州已经失去了2万多个州和地方政府工作岗位。由于税收收入下降,政府预算陷入瘫痪,官员们必须在增税和削减服务之间做出抉择。</span></p><p><span class="bjh-p">本月27日,在多轮“扯皮”后,特朗普正式签署了由美国国会通过的9000亿美元的新冠疫情纾困法案,失业的美国民众将能继续领取补助金。但该法案在国会的表决过程中,肯塔基州共和党参议员兰德·保罗(Rand Paul)投下了反对票,理由竟是这相当于在“免费发钱”。</span></p><p><span class="bjh-p">对于该州出现的经济问题,保罗将此归咎于该州民主党州长安迪·贝希尔(Andy Beshear)。</span></p><p><span class="bjh-p">他指责贝希尔实施的疫情封锁令导致了大量民众失业。“肯塔基州恢复的最好办法,就是废除州长贝希尔的封锁令,它导致了大量的失业。”保罗说。”</span></p><p><span class="bjh-p">报道称,肯塔基州另一名共和党参议员、参议院多数党领袖麦康奈尔(Mitch McConnell)也一度试图限制这份法案的出台,而这些援助正是该州很多地方官员所急需的。</span></p><p><span class="bjh-p">“我们自己的参议员不支持地方政府,这令人沮丧,”民主党人、肯塔基州马哥芬县官员马休·怀尔曼(Matthew Wireman)说,“现在是非常时期,我们需要联邦政府在全国层面采取非常措施,来帮助人们摆脱困境。”今年10月,马哥芬县失业率为16.7%,是全美失业率最高的县之一。</span></p><p><span class="bjh-p"><span class="bjh-strong">“我从前不太相信政府,但现在政府几乎成了恶魔”</span></span></p><p><span class="bjh-p">《纽约时报》指出,就在整个国家一样,在疫情的侵袭下,肯塔基州贫富地区的差距进一步拉大了。然而,城市和农村的状况又有所区别。</span></p><p><span class="bjh-p">在城市,尽管疫情期间旅游业和娱乐业损失惨重,但医疗保健和专业服务等受疫情影响较小的行业,勉强维持了经济运转。但在许多农村地区,情况就不同了,当地经济可能就依赖那么几家大型企业。</span></p><p><span class="bjh-p">“在城市地区,如果人们再次开始消费,将会有其他公司取代那些已经破产的公司,”肯塔基州边境小镇惠斯堡餐厅业主哈拉说,“但在农村地区,一旦这些工作岗位消失,就很难有新的岗位代替。”</span></p><p><span class="bjh-p">由于上月肯塔基州为防疫限制了室内就餐,哈拉的餐厅生意遭受严重打击,至今没有恢复。</span></p><div class="img-container"><img class="large" data-loadfunc=0 src="https://pics5.baidu.com/feed/0d338744ebf81a4c4c03a4f33577b05e252da6b8.jpeg?token=b8effc194b3a7e08e751b30ff064929c&amp;s=3BB14D854A110CC67689F10A03007093" data-loaded=0 /></div><p><span class="bjh-p">11月,得州民众排队领取救济粮 来源:IC Photo</span></p><p><span class="bjh-p">美国智库“美国进步中心”(Center for American Progress)经济学家奥卢班加·阿吉洛尔(Olugbenga Ajilore)表示,疫情“把他们(农村)推得更远了”。阿吉洛尔认为,因缺乏数字基础设施及医疗保健等条件,农村地区特别脆弱。</span></p><p><span class="bjh-p">此外,高贫困率也意味着许多家庭在面对危机时缺乏后盾。“他们本来就处于危机边缘,没有存款,无法缓冲。”肯塔基经济政策中心执行主任杰森·贝利(Jason Bailey)说。</span></p><p><span class="bjh-p">“现在受苦的是小人物,而富人正变得越来越富。”该州派克维尔市居民艾丽西亚·哈德威克(Alicia Hardwick)表示,早在疫情之前,自己就对联邦政府抱有怀疑态度,今年发生的事再次巩固了自己的想法。</span></p><p><span class="bjh-p"><span class="bjh-strong">“我以前不太相信政府,但现在政府几乎成了恶魔,”哈德威克说,“这真的让我明白,我没有完全信任他们是对的——绝对不要,绝对不要,绝对不要。”</span></span></p><p><span class="bjh-p"><span class="bjh-strong">肯塔基州的遭遇,美国社会的缩影</span></span></p><p><span class="bjh-p">肯塔基州的境遇,实际上是美国现状的一个缩影。越来越多的数据显示,美国社会贫富差距的鸿沟正在扩大。</span>
  5. `
  6. },
  1. <rich-text nodes="{{html}}"></rich-text>
  • view

    视图容器

  • scroll-view

    可滚动视图区域。使用竖向滚动时,需要给scroll-view一个固定高度,通过 WXSS 设置 height。组件属性的长度单位默认为px,2.4.0起支持传入单位(rpx/px)。

js

  1. Page({
  2. /**
  3. * 页面的初始数据
  4. */
  5. data: {
  6. //滚动条位置
  7. top: 0,
  8. now: ''
  9. },
  10. /**
  11. * 生命周期函数--监听页面加载
  12. */
  13. onLoad: function (options) {
  14. },
  15. bottom(evt) {
  16. console.log('到底了');
  17. // console.log(evt);
  18. // this.setData({now: 'now'});
  19. },
  20. scroll(evt) {
  21. // console.log(evt);
  22. let now = evt.detail.scrollTop >= 100 ? 'now' : '';
  23. this.setData({now});
  24. },
  25. //回到顶部
  26. goto (evt) {
  27. this.setData({top: 0, now: ''})
  28. }
  29. })

wxml

  1. <scroll-view class="sview" scroll-y="{{true}}" bindscrolltolower="bottom" scroll-with-animation="{{true}}" scroll-top="{{ top }}" bindscroll="scroll">
  2. <view>aaaa</view>
  3. <view>1111</view>
  4. <view>1111</view>
  5. <view>1111</view>
  6. <view>1111</view>
  7. <view>1111</view>
  8. <view>1111</view>
  9. <view>1111</view>
  10. <view>1111</view>
  11. <view>1111</view>
  12. <view>1111</view>
  13. <view>1111</view>
  14. <view>1111</view>
  15. <view>1111</view>
  16. <view>1111</view>
  17. <view>1111</view>
  18. <view>1111</view>
  19. <view>1111</view>
  20. <view>1111</view>
  21. <view>1111</view>
  22. <view>1111</view>
  23. <view>1111</view>
  24. <view>1111</view>
  25. <view>1111</view>
  26. <view>1111</view>
  27. <view>1111</view>
  28. <view>1111</view>
  29. <view>1111</view>
  30. <view>9999</view>
  31. </scroll-view>
  32. <view>底部</view>
  33. <view class="goto {{now}}" bind:tap="goto">返回顶部</view>

wxss

  1. .sview{
  2. height: 500rpx;
  3. background: #aaddbb;
  4. }
  5. /* 回到顶部 */
  6. .goto{
  7. position: fixed;
  8. bottom: 380rpx;
  9. right: 20rpx;
  10. opacity: 0;
  11. transition: all 2s;
  12. }
  13. .now{
  14. opacity: 1;
  15. transition: all 2s;
  16. }
  • swiper

    滑块视图容器。其中只可放置swiper-item组件,否则会导致未定义的行为。

  • swiper-item

    仅可放置在swiper组件中,宽高自动设置为100%。

  • image

    图片。支持 JPG、PNG、SVG、WEBP、GIF 等格式,2.3.0 起支持云文件ID。

js

  1. Page({
  2. /**
  3. * 页面的初始数据
  4. */
  5. data: {
  6. indicatorDots: true,
  7. vertical: false,
  8. autoplay: true,
  9. interval: 2000,
  10. duration: 500,
  11. circular: true
  12. },

wxml

  1. <view>
  2. <swiper indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}" circular="{{circular}}">
  3. <swiper-item><image src="../../static/img/index_php_item2_.png" mode="scaleToFill"></image></swiper-item>
  4. <swiper-item><image src="../../static/img/index_php_item3.jpg" mode="scaleToFill"></image></swiper-item>
  5. <swiper-item><image src="../../static/img/index_php_new4.jpg" mode="scaleToFill"></image></swiper-item>
  6. <swiper-item><image src="../../static/img/index_yunv.jpg" mode="scaleToFill"></image></swiper-item>
  7. </swiper>
  8. </view>

  • form

    表单。将组件内的用户输入的switch input checkbox slider radio picker 提交。

  • input

    输入框。

  • checkbox

    多选项目。

  • picker
    从底部弹起的滚动选择器。

  • button

    按钮

js

  1. Page({
  2. /**
  3. * 页面的初始数据
  4. */
  5. data: {
  6. region:['北京','北京','东城区']
  7. },
  8. bindRegionChange(evt) {
  9. console.log(evt.detail);
  10. let region = evt.detail.value;
  11. this.setData({region});
  12. },
  13. dopost(evt) {
  14. console.log(evt.detail.value);
  15. },
  16. })

wxml

  1. <form class="" report-submit="false" bindsubmit="dopost" bindreset="">
  2. <label >
  3. 姓名:
  4. <input type="text" name="username" />
  5. </label>
  6. <label>
  7. 性别:
  8. <radio-group name="sex">
  9. <label ><radio value="1" checked="{{true}}" />先生</label>
  10. <label ><radio value="2" checked="{{false}}" />女士</label>
  11. </radio-group>
  12. </label>
  13. <label >
  14. <view>省市区</view>
  15. <picker name="region" mode="region" value="{{region}}" bindchange="bindRegionChange">
  16. <view>当前选择:{{region[0]}},{{region[1]}},{{region[2]}}</view>
  17. </picker>
  18. </label>
  19. <view>
  20. <button form-type="submit">
  21. 添加用户
  22. </button>
  23. </view>
  24. </form>
  • navigator

    页面链接。

1、navigator 对应的 url 必须配置在app.json的pages中;

2、navigator 对应的 url 不能配置在”tabBar”的”list”里面了,否则无法跳转,因为tabBar的跳转需用switchTab进行;

  1. <view>
  2. <navigator url="/pages/admin/admin" open-type="navigate">管理</navigator>
  3. </view>

5、写出一个轮播图功能

ad.js

  1. Page({
  2. /**
  3. * 页面的初始数据
  4. */
  5. data: {
  6. indicatorDots: true,
  7. vertical: false,
  8. autoplay: true,
  9. interval: 2000,
  10. duration: 500,
  11. circular: true
  12. },

ad.wxml

  1. <view>
  2. <swiper indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}" circular="{{circular}}">
  3. <swiper-item><image src="../../static/img/index_php_item2_.png" mode="scaleToFill"></image></swiper-item>
  4. <swiper-item><image src="../../static/img/index_php_item3.jpg" mode="scaleToFill"></image></swiper-item>
  5. <swiper-item><image src="../../static/img/index_php_new4.jpg" mode="scaleToFill"></image></swiper-item>
  6. <swiper-item><image src="../../static/img/index_yunv.jpg" mode="scaleToFill"></image></swiper-item>
  7. </swiper>
  8. </view>

更多相关文章

  1. GNOME Mutter的代码清理工作将促进支持Vulkan
  2. 通俗解读NVMe前世今生
  3. 免费分享HTML5清新文艺个人博客文章类模板(支持移动设备)
  4. FreeBSD降低对i386架构的支持
  5. Linkerd 2.5发布:Helm支持与符合RBAC的tap命令
  6. 激动人心!Ceph新长支持稳定版本Luminous(12.x.x)有那些新功能
  7. 【Rust日报】2020-09-21 Rust宣布成立错误处理项目组
  8. 信创稳妥落地,一云多芯协同是唯一答案!
  9. 什么是MongoDB?Python爬虫为什么使用MongoDB?

随机推荐

  1. Linux安装Android SDK时出现Failed to fe
  2. android底层开发
  3. 修改EditText的光标颜色
  4. Ted Mosby - 一个MVP框架的软件架构
  5. 弹出窗口显示不出ListView的条目
  6. 第11天android:拨号器和打包发布
  7. android handler消息机制
  8. android中使用别人的UI框架
  9. android java开发 第一天 之熟悉eclipse
  10. 获取手机通讯录