文档章节

第三弹!全球首个微信小程序(应用号)开发教程!通宵吐血赶稿,每日更新!

博卡君
 博卡君
发布于 2016/09/23 21:14
字数 1639
阅读 11975
收藏 130
点赞 10
评论 19

感谢朋友们的支持!这两天博卡君收到了很多支持和安慰,也认识了很多志同道合的朋友。目前微信公布的工具和代码都不是正式版,随时有可能调整,大家先体验和学习为主吧。最近这个教程搞得我也心力交瘁了,虽然苦逼,但很开心。今天一口气更新两章,周末给自己放松一下好好睡一觉,大家慢慢研究吧!

 
第五章:微信小程序名片夹详情页开发

 
今天加了新干货!除了开发日志本身,还回答了一些朋友的问题。


闲话不多说,先看下「名片盒」详情页的效果图:

 

备注下大致需求:顶部背后是轮播图,二维码按钮弹出模态框信息、点击微信栏、点击存入手机,地址栏需要地图展示,名片分享也是模态框指引。


首先是轮播图,autoplay 自动播放,interval 轮播的时间,duration 切换速度,可以根据自己需求去添加。


Delete:是删除按钮,加载进来是隐藏的,需用户点轮播图进去后,轮播图全屏显示才出来。
noClickImg 与 ClickImg:切换全屏与非全屏轮播图,绑定了点击事件 changeClick 来切换,只是改变样式即可。
Block:图片列表。
Number_img:当前轮播 index(currentNumber),与图片 length 集合(cardnum)。
其中 currentNumber:

 
//轮播图发生改变时改变数字

//初始化数据

Data:{

currentNumber:1

}

slidechange:function(e){

var number = e.detail.current;

this.setData({

currentNumber:number+1

})

},


这里可以看到全屏状态下当关闭按钮被点击后 getBackStyle,把 changeClick 切换到 imgFullScrenn 待命。

再次点击返回原样式,



切换后事件又走回到 getBackStyle 了,灵活运用。

刷新下开发者工具可以看到具体效果如下:

详情页可以看到信息基本都是样式一样,可以使用微信提供的循环 block。 
下面是详情页里面的个人信息数据,

如果有信息就显示出来,没有数据的不显示,这里使用

 

//中文信息

               var chinaMessage = res.card.groups[0].fields;

var personMessage= []

               for(var i = 0;i<chinaMessage.length;i++){

                personMessage.push(chinaMessage[i])

               

               }

               //为空或者null是不显示判断

              for(var k in personMessage){

                if(personMessage[k].value==null || personMessage[k].value==""){

                personMessage[k]["display"] = "none";

                }else{

                personMessage[k]["display"] = "block";

                }

               }

具体以 json 数据格式来处理,我们需要做的就是给它绑定 display 的值,然后我们调用即可。

微信此版本的 setData 不支持异步更新数据,故而我们在发生真实网络数据请求时一定要在后面加上 forceUpdata(),强制触发视图渲染,否则会出现很多莫名其妙的 bug。

这里说明下:如是服务器真实数据。

可以看到会报错,可能是 js 的执行顺序,依次往下走,此时网络数据还在请求中。

定义一个变量即可。

当然这里的数据都是 push 上来的。

以下是二维码弹出信息。

这是弹出模态框二维码信息,布好局初始化是none状态。那里需要它直接绑定数据即可:


This.setData({

//模态框名字:”显示?隐藏”

})

方法是让它显示。

需要用他的地方调用方法即可。(支持重复调用)

详情页公司位置地图直接调用微信提供的接口实现(群里的 demo 有实现方式)。

可以看下实现的效果:


下一章:微信(小程序)名片盒我的页面开发。


第六章:微信小程序「名片盒」「我」的页面开发


效果图与需求:


用户有多张名片,需要左右切换查看,往下切换是菜单按钮。


这里需求两处滑动,用到了微信提供给我们的滑动组件 swiper,并且进行了嵌套使用,第一层是名片展示与菜单按钮的上下滑动,第二层是名片展示的左右滑动(支持互相嵌套使用的,可以放心使用)。


Vertical 加上就是纵向滑动,去掉即是左右滑动。

 
整体结构如下所示:

点击事件绑定的是数据切换方式,因为需要支持多次点击切换。

初始化数据是 nextSlide:

再看下 nextSlide 事件。currentSlide 是当前页面的 index,改变它即可完成切换效果,可以看上图初始化数据时设置了 cs 是 0。

因而赋值当前 data.cs+1 即可,再把绑定点击事件 clickNext 切换成 nextSlideAgain。

再看下 nextSlideAgain 事件,执行的减去 1 个索引,实现多次点击切换效果。

具体效果可以看到。

点击个人名片进去编辑名片页面,由于需要带参,故而使用的是 wx.navgateTo。

可以看下效果:


最后上点干货:

我们发出第一篇教程的时候有人就注意到这点了,怎么做真实数据交互,下面大家可以了解下。

首先进去是 MD5 加密,requster 交互层。

怎么引用 MD5.js?当然是模块化 require,被引用的 js 不要忘记 module.exports 出来。

下面是 requester.js 引用 MD5.js。

ApplicationRoot 是服务器地址(配置服务器时在开发设置页面查看 AppID 和 AppSecret,配置服务器域名)。

Require.js 这里 module.exports 是暴露方法出去。

这时候在全局 app.js 里面引入 require.js 映射到全局 global,这个 global 是全局的。

这时候那个页面需要那个页面就直接去接受吧,模块化是不是很好用?

可以完整的看下与后台做数据交互的一个请求实现方式如下:

 
图一是 requester.js 里面的封装。

图二是需要调用数据的页面渲染。

大家有什么疑问可以多指点,会在下一章说明一些已知疑问。

应该有一些人喜欢 sublime 编辑器,有人问怎么切换高亮,在你的右下角直接切换成 html 即可。

下一章:微信小程序编辑名片页面开发(涉及要点:检索、排序、滑动及页面交互)。


QQ 群号:

371736433(二群,可加)

383863133(三群,可加)

375772941(总群,2000 人已满)

 

全球首个微信应用号开发教程第一弹!

全球首个微信应用号开发教程第二弹!


全球首个微信应用号开发教程第四弹!(coming soon)

© 著作权归作者所有

共有 人打赏支持
博卡君
粉丝 804
博文 16
码字总数 24235
作品 0
深圳
程序员
加载中

评论(19)

安浪
安浪
有没有源码下载哦???
xingkenny
xingkenny
红薯可以生吃 洗干净就好
等待月落晨起
等待月落晨起
给力666
Sane__Kai
Sane__Kai
兄弟,需要香烟吗?
wxpcjrjgcs
wxpcjrjgcs
以后每天晚上烤红薯,写累了来一块
许雷神
许雷神
兄弟,需要红薯吗?
红薯
红薯

引用来自“文不段”的评论

引用来自“红薯”的评论

兄弟,需要红牛吗?

ios10看文章出现空白
ios 10 兼容性问题,已经修复,等 app store 审核通过
文不段
文不段

引用来自“红薯”的评论

兄弟,需要红牛吗?

ios10看文章出现空白
子弹兄
子弹兄
精神实在可嘉
Fly的狐狸
Fly的狐狸
精神可嘉~支持
从零开始学做微信小程序,看这些就够了!

随着正式开放公测,微信小程序再次万众瞩目,越来越多的企业和个人涌入到小程序开发的大军中。小程序究竟是什么?适合做小程序的产品有哪些?做小程序需要提前准备什么?如何零基础学做小程序...

王练 ⋅ 2016/11/09 ⋅ 22

微信小程序(应用号)资源汇总整理(转)

微信小应用资源汇总整理 开源项目 WeApp - 微信小程序版的微信 wechat-weapp-redux-todos - 微信小程序集成Redux实现的Todo list wechat-weapp-gank - 微信小程序版Gank客户端 wechat-dribb...

老朱教授 ⋅ 2017/10/09 ⋅ 0

小程序 大假期,技术猿国庆假期的正确打开方式…

明天(10月1日)就是国庆黄金7天假了。作为技术猿,除了美美的睡一觉好像也没啥别的事了。与其窝在家里玩手机刷朋友圈,不如做个小程序玩玩。 微信小程序开发正当时,没有内测资格不要紧。这...

凝小紫 ⋅ 2016/09/30 ⋅ 11

第六弹!全球首个微信小程序(应用号)开发教程!通宵吐血赶稿!

大家好!博卡君原计划是能在国庆假期前把小程序的开发教程做完,给大家一套完整、系统的东西,不过由于最近小程序开发工具的拍照组件尚未完善,很多功能还不能顺利实现。我考虑了一下,觉得不...

博卡君 ⋅ 2016/09/30 ⋅ 9

第二弹!全球首个微信小程序(应用号)开发教程!通宵吐血赶稿!每日更新!

今天一波三折,承受了超出预料的压力和煎熬,最后还是决定继续放出我的更新教程。我想我一没有泄露公司的代码,二没有提供泄露开发工具下载,只是从程序猿角度写了篇开发日志。我已经做好了最...

博卡君 ⋅ 2016/09/23 ⋅ 20

微信小程序学习资源

微信小程序开发资源汇总 QQ交流群 目录 官方文档 新闻报道 社区 工具 插件 分析 讨论 教程 视频教程 文章 代码 轮子 置顶 WePY:组件化的小程序开发框架 :100: WePY 开发资源汇总 :100: ZanU...

技术金三胖 ⋅ 01/01 ⋅ 0

微信小程序开发资源 Awesome 大搜集

https://laravel-china.org/topics/2892 GitHub 访问不稳定,在这里做个加速。 GitHub 地址:https://github.com/Aufree/awesome-wechat-weapp 目录 开源项目 文档 教程 知乎讨论 媒体报道 ...

WolfX ⋅ 2016/09/23 ⋅ 0

全球首个微信应用号开发教程!通宵吐血赶稿,每日更新!

首先尊重原创 https://my.oschina.net/wwnick/blog/750055 微信应用号(小程序,「应用号」的新称呼)终于来了! 目前还处于内测阶段,微信只邀请了部分企业参与封测。想必大家都关心应用号的...

Simon_ITer ⋅ 2016/09/22 ⋅ 0

全球首个微信小程序(应用号)开发教程!通宵吐血赶稿,每日更新!

微信应用号(小程序,「应用号」的新称呼)终于来了! 目前还处于内测阶段,微信只邀请了部分企业参与封测。想必大家都关心应用号的最终形态到底是什么样子?怎样将一个「服务号」改造成为「...

博卡君 ⋅ 2016/09/22 ⋅ 86

【福利】微信小程序精选Demo合集

小编最近在开发小程序,也读到了不少优秀的小程序源码,项目中有些需求可以直接从源码里粘贴复制过来,虽然这样做不利于自己独立编写代码,但比较是给公司做项目啊,秉着效率第一的原则,简直...

祈澈姑娘 ⋅ 03/19 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Centos7重置Mysql 8.0.1 root 密码

问题产生背景: 安装完 最新版的 mysql8.0.1后忘记了密码,向重置root密码;找了网上好多资料都不尽相同,根据自己的问题总结如下: 第一步:修改配置文件免密码登录mysql vim /etc/my.cnf 1...

豆花饭烧土豆 ⋅ 今天 ⋅ 0

熊掌号收录比例对于网站原创数据排名的影响[图]

从去年下半年开始,我在写博客了,因为我觉得业余写写博客也还是很不错的,但是从2017年下半年开始,百度已经推出了原创保护功能和熊掌号平台,为此,我也提交了不少以前的老数据,而这些历史...

原创小博客 ⋅ 今天 ⋅ 0

LVM讲解、磁盘故障小案例

LVM LVM就是动态卷管理,可以将多个硬盘和硬盘分区做成一个逻辑卷,并把这个逻辑卷作为一个整体来统一管理,动态对分区进行扩缩空间大小,安全快捷方便管理。 1.新建分区,更改类型为8e 即L...

蛋黄Yolks ⋅ 今天 ⋅ 0

Hadoop Yarn调度器的选择和使用

一、引言 Yarn在Hadoop的生态系统中担任了资源管理和任务调度的角色。在讨论其构造器之前先简单了解一下Yarn的架构。 上图是Yarn的基本架构,其中ResourceManager是整个架构的核心组件,它负...

p柯西 ⋅ 今天 ⋅ 0

uWSGI + Django @ Ubuntu

创建 Django App Project 创建后, 可以看到路径下有一个wsgi.py的问题 uWSGI运行 直接命令行运行 利用如下命令, 可直接访问 uwsgi --http :8080 --wsgi-file dj/wsgi.py 配置文件 & 运行 [u...

袁祾 ⋅ 今天 ⋅ 0

JVM堆的理解

在JVM中,我们经常提到的就是堆了,堆确实很重要,其实,除了堆之外,还有几个重要的模块,看下图: 大 多数情况下,我们并不需要关心JVM的底层,但是如果了解它的话,对于我们系统调优是非常...

不羁之后 ⋅ 昨天 ⋅ 0

推荐:并发情况下:Java HashMap 形成死循环的原因

在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成Race Condition,从而导致死循环。这个事情我4、5年前也经历...

码代码的小司机 ⋅ 昨天 ⋅ 2

聊聊spring cloud gateway的RetryGatewayFilter

序 本文主要研究一下spring cloud gateway的RetryGatewayFilter GatewayAutoConfiguration spring-cloud-gateway-core-2.0.0.RC2-sources.jar!/org/springframework/cloud/gateway/config/G......

go4it ⋅ 昨天 ⋅ 0

创建新用户和授予MySQL中的权限教程

导读 MySQL是一个开源数据库管理软件,可帮助用户存储,组织和以后检索数据。 它有多种选项来授予特定用户在表和数据库中的细微的权限 - 本教程将简要介绍一些选项。 如何创建新用户 在MySQL...

问题终结者 ⋅ 昨天 ⋅ 0

android -------- 颜色的半透明效果配置

最近有朋友问我 Android 背景颜色的半透明效果配置,我网上看资料,总结了一下, 开发中也是常常遇到的,所以来写篇博客 常用的颜色值格式有: RGB ARGB RRGGBB AARRGGBB 这4种 透明度 透明度...

切切歆语 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部