微信小程序开发相关记录(2017.07.25)

2024-03-17 12:08

本文主要是介绍微信小程序开发相关记录(2017.07.25),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、底部的tabBar

可设置的属性有color、selectedColor、borderStyle、backgroundColor、list至少2个,最多5个(其属性有pagePath、text、iconPath、selectedIconPath等)

"tabBar": {"color":"#dddddd","selectedColor":"#3cc51f","borderStyle":"black","backgroundColor":"#2B2B2B","list": [{"pagePath": "pages/movie/movie","text": "影院热映","iconPath": "assets/img/dy-1.png","selectedIconPath": "assets/img/dy.png"},{"pagePath": "pages/recommend/recommend","text": "电影推荐","iconPath": "assets/img/tj-1.png","selectedIconPath": "assets/img/tj.png"},{"pagePath": "pages/search/search","text": "查询电影","iconPath": "assets/img/search-1.png","selectedIconPath": "assets/img/search.png"}]},


效果如下图所示:



2、滑块视图容器swiper

swiper

滑块视图容器。

属性名类型默认值说明最低版本
indicator-dotsBooleanfalse是否显示面板指示点
indicator-colorColorrgba(0, 0, 0, .3)指示点颜色1.1.0
indicator-active-colorColor#000000当前选中的指示点颜色1.1.0
autoplayBooleanfalse是否自动切换
currentNumber0当前所在页面的 index
intervalNumber5000自动切换时间间隔
durationNumber500滑动动画时长
circularBooleanfalse是否采用衔接滑动
verticalBooleanfalse滑动方向是否为纵向
bindchangeEventHandle
current 改变时会触发 change 事件,event.detail = {current: current, source: source}

从公共库v1.4.0开始,change事件返回detail中包含一个source字段,表示导致变更的原因,可能值如下:

  • autoplay 自动播放导致swiper变化;
  • touch 用户划动引起swiper变化;
  • 其他原因将用空字符串表示。

注意:其中只可放置<swiper-item/>组件,否则会导致未定义的行为。

swiper-item

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

示例代码:

<swiper indicator-dots="{{indicatorDots}}"autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}"><block wx:for="{{imgUrls}}"><swiper-item><image src="{{item}}" class="slide-image" width="355" height="150"/></swiper-item></block>
</swiper>
<button bindtap="changeIndicatorDots"> indicator-dots </button>
<button bindtap="changeAutoplay"> autoplay </button>
<slider bindchange="intervalChange" show-value min="500" max="2000"/> interval
<slider bindchange="durationChange" show-value min="1000" max="10000"/> duration
Page({data: {imgUrls: ['http://img02.tooopen.com/images/20150928/tooopen_sy_143912755726.jpg','http://img06.tooopen.com/images/20160818/tooopen_sy_175866434296.jpg','http://img06.tooopen.com/images/20160818/tooopen_sy_175833047715.jpg'],indicatorDots: false,autoplay: false,interval: 5000,duration: 1000},changeIndicatorDots: function(e) {this.setData({indicatorDots: !this.data.indicatorDots})},changeAutoplay: function(e) {this.setData({autoplay: !this.data.autoplay})},intervalChange: function(e) {this.setData({interval: e.detail.value})},durationChange: function(e) {this.setData({duration: e.detail.value})}
})



效果如下图所示:



3、豆瓣API

在浏览器中输入豆瓣电影接口地址

http://api.douban.com/v2/movie/in_theaters

然后F12,打开调试窗口,选择Console,输入var a=接口返回的json串,如下图所示:


然后回车,再输入a,再回车,即可看到已经格式化的JSON对象,如下图所示:



3、从接口获取数据进行绑定


<block wx:for="{{movies}}"><view class="movie"><view class="pic"><image mode="aspectFit" src="{{item.images.medium}}"></image></view><view class="movie-info"><view class="base-info"><text>{{item.text}}</text></view></view></view><view class="hr"></view></block>


// pages/movie/movie.js
Page({/*** 页面的初始数据*/data: {imgUrls: ['../../assets/img/001.jpg','../../assets/img/002.jpg','../../assets/img/003.jpg'],indicatorDots: true,autoplay: true,interval: 3000,duration: 1000,movies:[],hidden:false},/*** 生命周期函数--监听页面加载*/onLoad: function (options) {this.loadMovie();},/*** 生命周期函数--监听页面初次渲染完成*/onReady: function () {},/*** 生命周期函数--监听页面显示*/onShow: function () {},/*** 生命周期函数--监听页面隐藏*/onHide: function () {},/*** 生命周期函数--监听页面卸载*/onUnload: function () {},/*** 页面相关事件处理函数--监听用户下拉动作*/onPullDownRefresh: function () {},/*** 页面上拉触底事件的处理函数*/onReachBottom: function () {},/*** 用户点击右上角分享*/onShareAppMessage: function () {},/*** 加载电影*/loadMovie:function(){var page = this;wx.request({url: 'http://api.douban.com/v2/movie/in_theaters',header:{'Content-Type':"application/json"},success:function(res){var subjects = res.data.subjects;processSubjects(subjects);page.setData({ movies: subjects, hidden:true});}})},/*** */processSubjects: function (subjects) {//循环for (var i = 0; i < subjects.length;i++){var subject = subjects[i];this.processSubject(subject);}},/*** */processSubject:function(subject){//名称var title = subject.title;//导演var directors  = subject.directors;var directorStr = "";for (var index in directors){directorStr= directorStr+directors[index].name+" / ";}if(directorStr!=""){directorStr = directorStr.substring(0,directorStr.length-2);}//主演var casts = subject.casts;var castStr = "";for(var index in casts){castStr= castStr+casts[index].name+" / ";}if(castStr!=""){castStr= castStr.substring(0,castStr.length-2);}//类型var genres = subject.genres;var genresStr = "";for(var index in genres){genresStr = genresStr+genres[index]+" / ";}if(genresStr!=""){genresStr= genresStr.substring(0,genresStr.length-2);}//年份var year = subject.year;//拼接字符串var text = "名称:"+title+"\n导演:"+directorStr+"\n主演:"+castStr+"\n类型:"+genresStr+"\n上映年份:"+year;subject.text = text;}})


4、加载进度条


<view class="body-view"><loading hidden="{{hidden}}" bindchange="loadingChange">加载中...</loading>
</view>

data: {imgUrls: ['../../assets/img/001.jpg','../../assets/img/002.jpg','../../assets/img/003.jpg'],indicatorDots: true,autoplay: true,interval: 3000,duration: 1000,movies:[],hidden:false},

/*** 加载电影*/loadMovie:function(){var page = this;wx.request({url: 'https://api.douban.com/v2/movie/in_theaters',header:{'Content-Type':"application/json"},success:function(res){var subjects = res.data.subjects;processSubjects(subjects);page.setData({ movies: subjects, hidden:true});}})},

5、如果出现请求的URL地址不在合法域名列表中的话,会出现如下问题:



  • 解决方案:打开小程序微信公众平台设置小程序开发设置,配置服务器合法域名(必须是https),如下图所示:






这篇关于微信小程序开发相关记录(2017.07.25)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/818906

相关文章

基于Spring Boot 的小区人脸识别与出入记录管理系统功能

《基于SpringBoot的小区人脸识别与出入记录管理系统功能》文章介绍基于SpringBoot框架与百度AI人脸识别API的小区出入管理系统,实现自动识别、记录及查询功能,涵盖技术选型、数据模型... 目录系统功能概述技术栈选择核心依赖配置数据模型设计出入记录实体类出入记录查询表单出入记录 VO 类(用于

java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)

《java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)》:本文主要介绍java中pdf模版填充表单踩坑的相关资料,OpenPDF、iText、PDFBox是三... 目录准备Pdf模版方法1:itextpdf7填充表单(1)加入依赖(2)代码(3)遇到的问题方法2:pd

Zabbix在MySQL性能监控方面的运用及最佳实践记录

《Zabbix在MySQL性能监控方面的运用及最佳实践记录》Zabbix通过自定义脚本和内置模板监控MySQL核心指标(连接、查询、资源、复制),支持自动发现多实例及告警通知,结合可视化仪表盘,可有效... 目录一、核心监控指标及配置1. 关键监控指标示例2. 配置方法二、自动发现与多实例管理1. 实践步骤

Spring Boot 结合 WxJava 实现文章上传微信公众号草稿箱与群发

《SpringBoot结合WxJava实现文章上传微信公众号草稿箱与群发》本文将详细介绍如何使用SpringBoot框架结合WxJava开发工具包,实现文章上传到微信公众号草稿箱以及群发功能,... 目录一、项目环境准备1.1 开发环境1.2 微信公众号准备二、Spring Boot 项目搭建2.1 创建

在Spring Boot中集成RabbitMQ的实战记录

《在SpringBoot中集成RabbitMQ的实战记录》本文介绍SpringBoot集成RabbitMQ的步骤,涵盖配置连接、消息发送与接收,并对比两种定义Exchange与队列的方式:手动声明(... 目录前言准备工作1. 安装 RabbitMQ2. 消息发送者(Producer)配置1. 创建 Spr

java向微信服务号发送消息的完整步骤实例

《java向微信服务号发送消息的完整步骤实例》:本文主要介绍java向微信服务号发送消息的相关资料,包括申请测试号获取appID/appsecret、关注公众号获取openID、配置消息模板及代码... 目录步骤1. 申请测试系统2. 公众号账号信息3. 关注测试号二维码4. 消息模板接口5. Java测试

k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)

《k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)》本文记录在K8s上运行的MySQL/MariaDB备份方案,通过工具容器执行mysqldump,结合定时任务实... 目录前言一、获取需要备份的数据库的信息二、备份步骤1.准备工作(X86)1.准备工作(arm)2.手

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

CSS3中的字体及相关属性详解

《CSS3中的字体及相关属性详解》:本文主要介绍了CSS3中的字体及相关属性,详细内容请阅读本文,希望能对你有所帮助... 字体网页字体的三个来源:用户机器上安装的字体,放心使用。保存在第三方网站上的字体,例如Typekit和Google,可以link标签链接到你的页面上。保存在你自己Web服务器上的字