小程序开放新能力

小程序资讯admin 发表了文章 • 0 个评论 • 182 次浏览 • 2017-03-29 10:42 • 来自相关话题

为帮助开发者提供更加丰富的服务,小程序新增:




1、低功耗蓝牙




小程序可以搜索和连接周边的蓝牙设备,并与之通讯。




2、卡券能力




开发者可在小程序中应用卡券能力。小程序内支持领取卡券,会员卡内可直达小程序服务 ,方便用户享受会员权益。




3、共享微信通讯地址




经用户授权后,小程序可以直接获取用户在微信中保存的通讯地址,不必再让用户重复输入。




4、获取用户访问场景




开发者可以获知当前用户进入小程序的渠道,从而提供差异化服务。如针对到店扫码访问小程序的顾客,发放专属优惠。




5、兼容ES6 API




开发者可以在小程序中使用ES6的绝大多数API,而不用考虑JavaScript版本兼容问题。 查看全部
为帮助开发者提供更加丰富的服务,小程序新增:




1、低功耗蓝牙




小程序可以搜索和连接周边的蓝牙设备,并与之通讯。




2、卡券能力




开发者可在小程序中应用卡券能力。小程序内支持领取卡券,会员卡内可直达小程序服务 ,方便用户享受会员权益。




3、共享微信通讯地址




经用户授权后,小程序可以直接获取用户在微信中保存的通讯地址,不必再让用户重复输入。




4、获取用户访问场景




开发者可以获知当前用户进入小程序的渠道,从而提供差异化服务。如针对到店扫码访问小程序的顾客,发放专属优惠。




5、兼容ES6 API




开发者可以在小程序中使用ES6的绝大多数API,而不用考虑JavaScript版本兼容问题。

微信小程序公布六个新能力 向个人开发者开放注册

小程序资讯admin 发表了文章 • 0 个评论 • 166 次浏览 • 2017-03-28 13:38 • 来自相关话题

摘要:2017年3月27日晚,为拓展小程序使用场景,小程序通过微信官方公众平台“微信公开课”“微信公众平台”公布小程序将上线六个新能力,消息刚一发出,关心小程序的开发者们就纷纷转发表示,更加开放的能力将会为小程序带来新的局面。以下是六个新能力的具体介绍:

1、个人开发者可申请小程序

小程序开放个人开发者申请注册,个人用户可访问微信公众平台,扫码验证个人身份后即可完成小程序帐号申请并进行代码开发。

详见:微信公众平台(mp.weixin.qq.com)



2、公众号自定义菜单点击可打开相关小程序

公众号可将已关联的小程序页面放置到自定义菜单中,用户点击后可打开该小程序页面。公众号运营者可在公众平台进行设置,也可以通过自定义菜单接口进行设置。

详见开发文档:微信公众平台文档(mp.weixin.qq.com/wiki)-自定义菜单

[微信小程序公布六个新能力 向个人开发者开放注册]

3、公众号模版消息可打开相关小程序

公众号已关联的小程序页面可以配置到公众号的模版消息中,用户点击公众号下发的模版消息,可以打开对应的小程序页面。

详见开发文档:微信公众平台文档(mp.weixin.qq.com/wiki)-模版消息。

4、公众号关联小程序时,可选择给粉丝下发通知

公众号关联小程序时,可选择给粉丝下发通知消息,粉丝点击该通知消息可以打开小程序。该消息不占用原有群发条数。

[微信小程序公布六个新能力 向个人开发者开放注册]

5、移动App可分享小程序页面

开发者可以把小程序绑定到微信开放平台。绑定后,同一微信开放平台帐号下的App可分享已绑定的小程序页面到微信内的会话或群聊。

详见开发文档:微信开放平台(open.weixin.qq.com)-资源中心-移动应用-分享与收藏功能

6、扫描普通链接二维码可打开小程序

商户如果在线下已铺设了普通链接二维码,可在公众平台的小程序管理后台进行配置,用户扫描该原有线下普通链接二维码可直接打开小程序。 查看全部
摘要:2017年3月27日晚,为拓展小程序使用场景,小程序通过微信官方公众平台“微信公开课”“微信公众平台”公布小程序将上线六个新能力,消息刚一发出,关心小程序的开发者们就纷纷转发表示,更加开放的能力将会为小程序带来新的局面。以下是六个新能力的具体介绍:

1、个人开发者可申请小程序

小程序开放个人开发者申请注册,个人用户可访问微信公众平台,扫码验证个人身份后即可完成小程序帐号申请并进行代码开发。

详见:微信公众平台(mp.weixin.qq.com)



2、公众号自定义菜单点击可打开相关小程序

公众号可将已关联的小程序页面放置到自定义菜单中,用户点击后可打开该小程序页面。公众号运营者可在公众平台进行设置,也可以通过自定义菜单接口进行设置。

详见开发文档:微信公众平台文档(mp.weixin.qq.com/wiki)-自定义菜单

[微信小程序公布六个新能力 向个人开发者开放注册]

3、公众号模版消息可打开相关小程序

公众号已关联的小程序页面可以配置到公众号的模版消息中,用户点击公众号下发的模版消息,可以打开对应的小程序页面。

详见开发文档:微信公众平台文档(mp.weixin.qq.com/wiki)-模版消息。

4、公众号关联小程序时,可选择给粉丝下发通知

公众号关联小程序时,可选择给粉丝下发通知消息,粉丝点击该通知消息可以打开小程序。该消息不占用原有群发条数。

[微信小程序公布六个新能力 向个人开发者开放注册]

5、移动App可分享小程序页面

开发者可以把小程序绑定到微信开放平台。绑定后,同一微信开放平台帐号下的App可分享已绑定的小程序页面到微信内的会话或群聊。

详见开发文档:微信开放平台(open.weixin.qq.com)-资源中心-移动应用-分享与收藏功能

6、扫描普通链接二维码可打开小程序

商户如果在线下已铺设了普通链接二维码,可在公众平台的小程序管理后台进行配置,用户扫描该原有线下普通链接二维码可直接打开小程序。

微信小程序怎么取名字官方规范

微信小程序admin 发表了文章 • 0 个评论 • 186 次浏览 • 2017-03-03 10:08 • 来自相关话题

导读:名称设置 1、小程序名称可以由中文、数字、英文。长度在3-30个字符之间,一个中文字等于2个字符。 2、小程序名称不得与公众平台已有的订阅号、服务号重复。如提示重名,请更换名...
[微信小程序名称]

名称设置
1、小程序名称可以由中文、数字、英文。长度在3-30个字符之间,一个中文字等于2个字符。
2、小程序名称不得与公众平台已有的订阅号、服务号重复。如提示重名,请更换名称进行设置。
3、小程序名称在帐号信息设置时完成,请谨慎设置,一旦设置暂不支持修改。

提示重名怎么办?
更换名称进行设置。如果企业商标,组织名称等名称被侵权,可通过公众平台侵权投诉流程发起投诉,取回名称使用权。

如果同一主体想要用订阅号或服务号的名称怎么办?
确认平台内只有该主体占用该名称时,可对订阅号或服务号名称进行修改,将名称更换给小程序使用。
但平台存在大量帐号重名的,如:健康生活,即使对单个订阅号或服务号名称进行了修改,小程序依然会命中名称重复,无法申请使用。
  查看全部

导读:名称设置 1、小程序名称可以由中文、数字、英文。长度在3-30个字符之间,一个中文字等于2个字符。 2、小程序名称不得与公众平台已有的订阅号、服务号重复。如提示重名,请更换名...
[微信小程序名称]

名称设置
1、小程序名称可以由中文、数字、英文。长度在3-30个字符之间,一个中文字等于2个字符。
2、小程序名称不得与公众平台已有的订阅号、服务号重复。如提示重名,请更换名称进行设置。
3、小程序名称在帐号信息设置时完成,请谨慎设置,一旦设置暂不支持修改。

提示重名怎么办?
更换名称进行设置。如果企业商标,组织名称等名称被侵权,可通过公众平台侵权投诉流程发起投诉,取回名称使用权。

如果同一主体想要用订阅号或服务号的名称怎么办?
确认平台内只有该主体占用该名称时,可对订阅号或服务号名称进行修改,将名称更换给小程序使用。
但平台存在大量帐号重名的,如:健康生活,即使对单个订阅号或服务号名称进行了修改,小程序依然会命中名称重复,无法申请使用。
 

微信小程序在哪里打开

回复

微信小程序小程序鼻祖 发起了问题 • 1 人关注 • 0 个回复 • 210 次浏览 • 2017-02-10 12:42 • 来自相关话题

微信小程序现“逆流” 连接应用场景面临挑战

小程序资讯admin 发表了文章 • 0 个评论 • 184 次浏览 • 2017-01-18 09:40 • 来自相关话题

“万人迷”微信小程序最近似乎开始掉粉。

距离1月9日小程序上线已有一周,相比浓烈的讨论气氛,用户的使用热情逐步降低,而部分公司开始撤离小程序。

其中,逻辑思维旗下产品“得到plus”上线4天后就暂停服务引发关注;1月15日,今日头条lite小程序停服的消息令人诧异,17日,今日头条回复21世纪经济报道记者称,“没有暂停。”

撤离潮初现

作为首批入驻小程序,“得到plus”的离去令人疑惑。逻辑思维的官方解释称:“本想做一个轻量级服务,但过程中发现技术难题无法攻克。加之创业团队开发资源有限,所以不再投入精力做小程序了。”

至于技术难题目前不得而知。具体分析来看,首先“得到plus”是属于内容产品,看重转发和传播。但是微信对小程序的分享方面有严格的限制,不能在朋友圈转发,也没有分发入口。对媒体、各式内容平台来说,或许会感到失望,因为并没有预期的流量红利。

“得到plus”还有一个特点是存在付费内容,根据前微信产品经理杨茂巍在朋友圈的披露或能推测出第二个原因,“我们提交的ME学院小程序,里面因为涉及付费解锁知识内容被拒绝,我想这也是得到遇到的问题,根本原因,可能在苹果!”

据记者了解,在苹果应用市场的规则中,若付费项目是虚拟物品,必须使用苹果的应用内支付,并且苹果参与分成、收取少量税费。同时,微信小程序在最初的规定中就禁止了虚拟物品的买卖。所以,一方面,小程序在传播上的诸多规定对内容类公司天然地有所限制;另一方面,小程序不支持付费解锁内容,意味着不敢动应用市场付费下载和分成的奶酪。

白鹭时代联合创始人、青雀移动总经理张翔则持乐观态度,他向21世纪经济报道记者分析道:“得到做的是知识付费,罗辑思维做的是社群经济,统一入口很重要,可能更多的是媒体内容和粉丝获取思路,另外小程序是否支持虚拟物品购买的政策等,都有可能是关闭小程序的原因,我们不用有太多担心。我相信会有更多的公司或者产品加入到微信小程序中来,这是大势所趋。逻辑思维虽然暂时关闭了小程序服务,但未来不排除他们开发出更好体验、更具服务价值的小程序,重新加入进来。”

至于各类基金小程序的下线和安全因素相关,证监会最新监管指导意见表示,一是暂停小程序内基金的交易、申赎、定投等交易功能,只能展示产品;二是开户只支持页面跳转方式。对于基金小程序下一步的命运,则需监管层论证完该功能的安全性才能确定是否继续上线。

DCCI互联网研究院院长刘兴亮告诉21世纪经济报道记者:“小程序低于大家的预期,现在活跃度各方面都降下来了,而且和原生APP相比较为简单,不能满足所有需求。可以说,目前小程序处于一个尴尬的局面。小程序更多的还是适用于长尾低频的APP,而不是高频刚需APP。”

线下的难处

张翔向记者透露部分小程序的流量数据,如小睡眠首日70W+的访问量,车来了4天累计200万的访问量,解忧室日均访问量10万,去哪儿酒店前3天日均PV在20万左右,美丽阅读也公布了百万级PV。

可以看到,工具应用类的小程序在访问量上更高,微信的8亿次月活固然吸引人,但是仅仅冲着流量来的公司并非小程序的对象。易观分析师总经理董旭表示,小程序目前还是适用于重新整理线上与线下流量入口,连接线下的场景应用。

瞄准线下的场景是业内对小程序未来的一个共识。不论是微信之父张小龙的举例,还是微信公开课上关于小程序的详解,反复提及的是服务、线下。

微信支付行业运营总监雷茂锋此前在接受记者采访时就表示,小程序可能对我们在线下做结合的场景里面会更加顺畅,用户的体验会更好,很多的场景都可以使用,包括买公交车票、汽车票。除了在线下和微信支付的开发成本,结果还未知。不管是商家还是用户,行为习惯都还没有建立,二维码的铺设也才刚刚开始。

在张翔看来,小程序连接线下还存在三个难题,“一是对小程序的认识。这就意味着我们不能再用过往的流量思维、粉丝经济看待它,小程序只是一个工具;二是具体应用业务的选择。小程序受限于1M大小的限制,更适合于企业的单点服务。在企业选择制作小程序时,不能完全照搬原生APP,需要全面考虑如何与线下业务结合、交互,准确选择好业务点;三是小程序推广,小程序虽然在iOS系统、安卓系统给予了不同的入口,但线下二维码的推广也非常重要,你需要在精准的场景、设计出舒适的图片供客户扫描,对企业来说需要保证一定的二维码数量,又不能使得用户反感,这个度很微妙。” 查看全部
“万人迷”微信小程序最近似乎开始掉粉。

距离1月9日小程序上线已有一周,相比浓烈的讨论气氛,用户的使用热情逐步降低,而部分公司开始撤离小程序。

其中,逻辑思维旗下产品“得到plus”上线4天后就暂停服务引发关注;1月15日,今日头条lite小程序停服的消息令人诧异,17日,今日头条回复21世纪经济报道记者称,“没有暂停。”

撤离潮初现

作为首批入驻小程序,“得到plus”的离去令人疑惑。逻辑思维的官方解释称:“本想做一个轻量级服务,但过程中发现技术难题无法攻克。加之创业团队开发资源有限,所以不再投入精力做小程序了。”

至于技术难题目前不得而知。具体分析来看,首先“得到plus”是属于内容产品,看重转发和传播。但是微信对小程序的分享方面有严格的限制,不能在朋友圈转发,也没有分发入口。对媒体、各式内容平台来说,或许会感到失望,因为并没有预期的流量红利。

“得到plus”还有一个特点是存在付费内容,根据前微信产品经理杨茂巍在朋友圈的披露或能推测出第二个原因,“我们提交的ME学院小程序,里面因为涉及付费解锁知识内容被拒绝,我想这也是得到遇到的问题,根本原因,可能在苹果!”

据记者了解,在苹果应用市场的规则中,若付费项目是虚拟物品,必须使用苹果的应用内支付,并且苹果参与分成、收取少量税费。同时,微信小程序在最初的规定中就禁止了虚拟物品的买卖。所以,一方面,小程序在传播上的诸多规定对内容类公司天然地有所限制;另一方面,小程序不支持付费解锁内容,意味着不敢动应用市场付费下载和分成的奶酪。

白鹭时代联合创始人、青雀移动总经理张翔则持乐观态度,他向21世纪经济报道记者分析道:“得到做的是知识付费,罗辑思维做的是社群经济,统一入口很重要,可能更多的是媒体内容和粉丝获取思路,另外小程序是否支持虚拟物品购买的政策等,都有可能是关闭小程序的原因,我们不用有太多担心。我相信会有更多的公司或者产品加入到微信小程序中来,这是大势所趋。逻辑思维虽然暂时关闭了小程序服务,但未来不排除他们开发出更好体验、更具服务价值的小程序,重新加入进来。”

至于各类基金小程序的下线和安全因素相关,证监会最新监管指导意见表示,一是暂停小程序内基金的交易、申赎、定投等交易功能,只能展示产品;二是开户只支持页面跳转方式。对于基金小程序下一步的命运,则需监管层论证完该功能的安全性才能确定是否继续上线。

DCCI互联网研究院院长刘兴亮告诉21世纪经济报道记者:“小程序低于大家的预期,现在活跃度各方面都降下来了,而且和原生APP相比较为简单,不能满足所有需求。可以说,目前小程序处于一个尴尬的局面。小程序更多的还是适用于长尾低频的APP,而不是高频刚需APP。”

线下的难处

张翔向记者透露部分小程序的流量数据,如小睡眠首日70W+的访问量,车来了4天累计200万的访问量,解忧室日均访问量10万,去哪儿酒店前3天日均PV在20万左右,美丽阅读也公布了百万级PV。

可以看到,工具应用类的小程序在访问量上更高,微信的8亿次月活固然吸引人,但是仅仅冲着流量来的公司并非小程序的对象。易观分析师总经理董旭表示,小程序目前还是适用于重新整理线上与线下流量入口,连接线下的场景应用。

瞄准线下的场景是业内对小程序未来的一个共识。不论是微信之父张小龙的举例,还是微信公开课上关于小程序的详解,反复提及的是服务、线下。

微信支付行业运营总监雷茂锋此前在接受记者采访时就表示,小程序可能对我们在线下做结合的场景里面会更加顺畅,用户的体验会更好,很多的场景都可以使用,包括买公交车票、汽车票。除了在线下和微信支付的开发成本,结果还未知。不管是商家还是用户,行为习惯都还没有建立,二维码的铺设也才刚刚开始。

在张翔看来,小程序连接线下还存在三个难题,“一是对小程序的认识。这就意味着我们不能再用过往的流量思维、粉丝经济看待它,小程序只是一个工具;二是具体应用业务的选择。小程序受限于1M大小的限制,更适合于企业的单点服务。在企业选择制作小程序时,不能完全照搬原生APP,需要全面考虑如何与线下业务结合、交互,准确选择好业务点;三是小程序推广,小程序虽然在iOS系统、安卓系统给予了不同的入口,但线下二维码的推广也非常重要,你需要在精准的场景、设计出舒适的图片供客户扫描,对企业来说需要保证一定的二维码数量,又不能使得用户反感,这个度很微妙。”

微信小程序发布一周 用户又装回了删掉的APP

小程序资讯admin 发表了文章 • 0 个评论 • 190 次浏览 • 2017-01-17 14:35 • 来自相关话题

1月9日,微信小程序正式发布,在发布的当天,让“APP灭绝”的论调随之而来。用户疯狂地研究如何玩转小程序,开发者趋之若鹜寻求在小程序中发布自己的应用号,甚至发布当天,相关的技术网站已经打出广告,宣称能够完美开发企业使用的程序号。然而狂欢过后却留下了满地的“狼藉”,一些苦于手机内存不足的用户欢欣鼓舞地卸载了占用空间的大量APP,在使用小程序之后又默默地把原本的APP安装了回来。体验太差,让小程序成为了众矢之的,即便如此小程序依旧带来了巨大的业界震动,就在微信小程序发布后的几天,业内人士透露阿里集团支付宝也开始研发自己的小程序系统,势要用小程序分割APP应用的市场。相关人士表示,乔布斯开创的APP时代或将在中国被小程序终结。虽然目前小程序还存在使用上体验程度不高的问题,但是小程序的时代,已经开启。

小程序没想象的美好

1月9日小程序正式发布后,用户纷纷开始探索小程序,一些使用程度较低的APP被用户淘汰,但小程序的表现并不能让人满意。首先用户吐槽的点就是“和说好的不一样啊,原本应该出现在发现栏的小程序应用根本没有,如果不是熟人推荐都找不到怎么使用”。小程序的使用并不简单,在推出几天后还有很多用户无法直接使用小程序。其次,小程序的搜索功能识别能力低,只能进行精确查找,不能关联检索,甚至有的“小程序”搜索差一个字都无法识别完成,找不到相关的应用。再次,小程序目前的开发程序太少,很多高频使用的应用都搜索不到,每个类别的应用也很少。而且微信的“竞争对手”、腾讯的“竞争对手”等企业的应用也没有出现在小程序的名单之中。例如阿里的支付宝、腾讯旗下自己的社交软件QQ等均无法使用。最后,在可使用的小程序之中,虽然整体性还算流畅,基本的应用功能也算完善,但是细节方面还是存在很多Bug,卡顿、闪退等现象频发,有些小程序的登录界面无法获取验证码导致无法登陆。

如果说以上体验还属于对应小程序开发者的技术问题,小程序自身的优化也不尽人意。例如,将小程序置于聊天顶部,就无法撤销,这种不可逆的使用体验大大降低了小程序的安装率。除此之外,在一些需要使用定位的小程序中,如果不允许使用定位会导致界面反复弹出、小程序无法退出、无法返回微信等问题,用户只能强制关闭微信来解决。目前来看,不管是微信小程序的团队还是应用开发开发团队,对于这项新功能都处于探索阶段,微信小程序本身还有很高的优化空间。即便优化的相关问题、bug问题都得到了完美的解决,小程序自身所带的简化属性让很多APP的功能性大打折扣。在一些购物的小程序中,只存在搜索和订单功能,完全不符合用户网络购物的习惯;有些优惠应用在小程序无法使用;一些资讯的小程序上面只有浏览新闻的选项,无法分享和评论也让资讯应用失去了自己部分社交属性的优势。最重要的是,在宣布小程序发布的时候,微信原本想要打造一个轻便、安静的应用平台,但是通过搜索发现,已经有相关的应用开始在小程序上进行推广了,通过点击和使用来赚取流量,微信最初搭建一个纯净应用平台的想法恐怕只能是美好的构想了。

小程序凭何发布就引发“地震”

从最早2016年年初张小龙宣布微信将要开发小程序,随后2016年9月22日小程序开发体验资格推送,到今年1月9日小程序正式上线每次小程序的相关动态都会引起业内外的广泛讨论和行业“地震”。随后阿里集团支付宝也向业内人士透露将会开发相关的小程序,至此,中国互联网BAT三家霸主级别的企业均在小程序上有所举动。只是BAT三家公司的结局各有不同,百度作为最早提出类似小程序应用的企业,曾经的“轻应用”已经胎死腹中。而微信的小程序每一步信息都获得了业内外的重视,可以预见未来支付宝相关小程序开发每一步将会获得同样级别的关注。为何作为中国互联网巨头的BAT均对小程序这样的轻型应用平台产生了浓厚的兴趣?

首先,小程序的诞生其实受制于硬件的局限,几乎每个人或者身边的朋友都被“内存不足”“清理空间”所困扰。小程序这样的轻应用应运而生,轻应用平台的属性能够解决用户安装过多APP占用大量内存的问题;其次,随着技术的发展,小程序这种轻应用平台的产生也是科技进步的结果,现代人越来越追求简洁、方便,有些应用使用频率并不高,但是用户却要为此安装一个APP应用,甚至使用完毕后为了节省空间,还要专门清理,这个过程十分不便。小程序的这种轻应用很好的聚合属性利用一个平台就能够满足大多数用户所使用APP的要求,对于用户而言简单方便;最后,虽然目前小程序的生态系统和相关的应用开发还存在很多使用上的问题,但是微信大有“醉翁之意不在酒”的味道。根据目前小程序的属性来看,其平台属于开放型平台,目前还不存在盈利的属性,从之前微信方面的介绍也可以看出,小程序并非一个直观盈利的项目,微信希望通过小平台形成用户在微信上的生态系统,借助小程序一方面可以降低微信的开发成本;另一方面增加用户的粘性,将线上和线下利用微信的生态系统结合在一起,形成新的价值。这才是小程序诞生最大的价值。

纵观目前的科技和互联网公司,从苹果、小米、乐视、魅族、华为到腾讯、阿里、百度等等大型互联网科技公司均在打造属于自己的生态系统,建立全方位立体的产业链条体系。而对于互联网公司而言,并没有类似于苹果和小米这样科技公司利用硬件来搭载自己的生态系统,同时互联网公司一个团队开发一个应用所耗费的成本和时间都太过漫长,想要打造属于自己的生态体系,至少需要三到五年的时间才能全方位覆盖用户的衣食住行等。小程序则可以完美地解决这一问题,对应的应用团队会自己开发小程序,微信只需要提供现有的基础用户群而且并不会出现被抢走的风险,就可以获得全方位的互联网生态体系,不管对于微信还是使用小程序的应用团队都是可以接受的最好结果。这也是为什么BAT会盯上轻应用平台的原因。

小程序短期内不会冲击APP

最早小程序被提出的时候,就有观点认为微信的小程序将会成为“APP杀手”,在出现之初就可以和APP瓜分天下。但是从目前来看,这种论调还为时过早。很多用户在体验了小程序之后,又默默地将自己删除的APP安装了回来。由此可见,目前来说小程序可以替代一些低频的、相对功能性比较简单的APP应用,而对于复杂的、高频使用的APP而言,小程序目前还不具备竞争力,想要替代APP显然不可能。而且从小程序的布局来看,更适合作为一种配合线下使用的应用场景功能而非主要的应用集合。

小程序目前作为APP和公众号之间的一种生态存在,所以短期内并不会对传统的APP造成威胁,小程序只是微信或者说腾讯构造自己生态环境,通过该互联网生态结合商业价值的一种全新的尝试。小程序的出现是对微信线下生活的延伸,让更多的场景下用户可以点开微信使用微信,和微信支付类似将会对腾讯未来在经济上、互联网生态上做出突出的贡献。然而如用户所想的让手机告别“内存不足”“清理空间”的时代还有些遥远,所以即便有了小程序,那些常用的APP也别急着清理。 查看全部

QQ截图20170117143337.jpg

1月9日,微信小程序正式发布,在发布的当天,让“APP灭绝”的论调随之而来。用户疯狂地研究如何玩转小程序,开发者趋之若鹜寻求在小程序中发布自己的应用号,甚至发布当天,相关的技术网站已经打出广告,宣称能够完美开发企业使用的程序号。然而狂欢过后却留下了满地的“狼藉”,一些苦于手机内存不足的用户欢欣鼓舞地卸载了占用空间的大量APP,在使用小程序之后又默默地把原本的APP安装了回来。体验太差,让小程序成为了众矢之的,即便如此小程序依旧带来了巨大的业界震动,就在微信小程序发布后的几天,业内人士透露阿里集团支付宝也开始研发自己的小程序系统,势要用小程序分割APP应用的市场。相关人士表示,乔布斯开创的APP时代或将在中国被小程序终结。虽然目前小程序还存在使用上体验程度不高的问题,但是小程序的时代,已经开启。

小程序没想象的美好

1月9日小程序正式发布后,用户纷纷开始探索小程序,一些使用程度较低的APP被用户淘汰,但小程序的表现并不能让人满意。首先用户吐槽的点就是“和说好的不一样啊,原本应该出现在发现栏的小程序应用根本没有,如果不是熟人推荐都找不到怎么使用”。小程序的使用并不简单,在推出几天后还有很多用户无法直接使用小程序。其次,小程序的搜索功能识别能力低,只能进行精确查找,不能关联检索,甚至有的“小程序”搜索差一个字都无法识别完成,找不到相关的应用。再次,小程序目前的开发程序太少,很多高频使用的应用都搜索不到,每个类别的应用也很少。而且微信的“竞争对手”、腾讯的“竞争对手”等企业的应用也没有出现在小程序的名单之中。例如阿里的支付宝、腾讯旗下自己的社交软件QQ等均无法使用。最后,在可使用的小程序之中,虽然整体性还算流畅,基本的应用功能也算完善,但是细节方面还是存在很多Bug,卡顿、闪退等现象频发,有些小程序的登录界面无法获取验证码导致无法登陆。

如果说以上体验还属于对应小程序开发者的技术问题,小程序自身的优化也不尽人意。例如,将小程序置于聊天顶部,就无法撤销,这种不可逆的使用体验大大降低了小程序的安装率。除此之外,在一些需要使用定位的小程序中,如果不允许使用定位会导致界面反复弹出、小程序无法退出、无法返回微信等问题,用户只能强制关闭微信来解决。目前来看,不管是微信小程序的团队还是应用开发开发团队,对于这项新功能都处于探索阶段,微信小程序本身还有很高的优化空间。即便优化的相关问题、bug问题都得到了完美的解决,小程序自身所带的简化属性让很多APP的功能性大打折扣。在一些购物的小程序中,只存在搜索和订单功能,完全不符合用户网络购物的习惯;有些优惠应用在小程序无法使用;一些资讯的小程序上面只有浏览新闻的选项,无法分享和评论也让资讯应用失去了自己部分社交属性的优势。最重要的是,在宣布小程序发布的时候,微信原本想要打造一个轻便、安静的应用平台,但是通过搜索发现,已经有相关的应用开始在小程序上进行推广了,通过点击和使用来赚取流量,微信最初搭建一个纯净应用平台的想法恐怕只能是美好的构想了。

小程序凭何发布就引发“地震”

从最早2016年年初张小龙宣布微信将要开发小程序,随后2016年9月22日小程序开发体验资格推送,到今年1月9日小程序正式上线每次小程序的相关动态都会引起业内外的广泛讨论和行业“地震”。随后阿里集团支付宝也向业内人士透露将会开发相关的小程序,至此,中国互联网BAT三家霸主级别的企业均在小程序上有所举动。只是BAT三家公司的结局各有不同,百度作为最早提出类似小程序应用的企业,曾经的“轻应用”已经胎死腹中。而微信的小程序每一步信息都获得了业内外的重视,可以预见未来支付宝相关小程序开发每一步将会获得同样级别的关注。为何作为中国互联网巨头的BAT均对小程序这样的轻型应用平台产生了浓厚的兴趣?

首先,小程序的诞生其实受制于硬件的局限,几乎每个人或者身边的朋友都被“内存不足”“清理空间”所困扰。小程序这样的轻应用应运而生,轻应用平台的属性能够解决用户安装过多APP占用大量内存的问题;其次,随着技术的发展,小程序这种轻应用平台的产生也是科技进步的结果,现代人越来越追求简洁、方便,有些应用使用频率并不高,但是用户却要为此安装一个APP应用,甚至使用完毕后为了节省空间,还要专门清理,这个过程十分不便。小程序的这种轻应用很好的聚合属性利用一个平台就能够满足大多数用户所使用APP的要求,对于用户而言简单方便;最后,虽然目前小程序的生态系统和相关的应用开发还存在很多使用上的问题,但是微信大有“醉翁之意不在酒”的味道。根据目前小程序的属性来看,其平台属于开放型平台,目前还不存在盈利的属性,从之前微信方面的介绍也可以看出,小程序并非一个直观盈利的项目,微信希望通过小平台形成用户在微信上的生态系统,借助小程序一方面可以降低微信的开发成本;另一方面增加用户的粘性,将线上和线下利用微信的生态系统结合在一起,形成新的价值。这才是小程序诞生最大的价值。

纵观目前的科技和互联网公司,从苹果、小米、乐视、魅族、华为到腾讯、阿里、百度等等大型互联网科技公司均在打造属于自己的生态系统,建立全方位立体的产业链条体系。而对于互联网公司而言,并没有类似于苹果和小米这样科技公司利用硬件来搭载自己的生态系统,同时互联网公司一个团队开发一个应用所耗费的成本和时间都太过漫长,想要打造属于自己的生态体系,至少需要三到五年的时间才能全方位覆盖用户的衣食住行等。小程序则可以完美地解决这一问题,对应的应用团队会自己开发小程序,微信只需要提供现有的基础用户群而且并不会出现被抢走的风险,就可以获得全方位的互联网生态体系,不管对于微信还是使用小程序的应用团队都是可以接受的最好结果。这也是为什么BAT会盯上轻应用平台的原因。

小程序短期内不会冲击APP

最早小程序被提出的时候,就有观点认为微信的小程序将会成为“APP杀手”,在出现之初就可以和APP瓜分天下。但是从目前来看,这种论调还为时过早。很多用户在体验了小程序之后,又默默地将自己删除的APP安装了回来。由此可见,目前来说小程序可以替代一些低频的、相对功能性比较简单的APP应用,而对于复杂的、高频使用的APP而言,小程序目前还不具备竞争力,想要替代APP显然不可能。而且从小程序的布局来看,更适合作为一种配合线下使用的应用场景功能而非主要的应用集合。

小程序目前作为APP和公众号之间的一种生态存在,所以短期内并不会对传统的APP造成威胁,小程序只是微信或者说腾讯构造自己生态环境,通过该互联网生态结合商业价值的一种全新的尝试。小程序的出现是对微信线下生活的延伸,让更多的场景下用户可以点开微信使用微信,和微信支付类似将会对腾讯未来在经济上、互联网生态上做出突出的贡献。然而如用户所想的让手机告别“内存不足”“清理空间”的时代还有些遥远,所以即便有了小程序,那些常用的APP也别急着清理。

微信小程序 实战小程序实例仿百思不得姐客户端设计

小程序案例admin 发表了文章 • 0 个评论 • 289 次浏览 • 2017-01-16 14:37 • 来自相关话题

微信小程序基本组件和API已撸完,总归要回到正题的,花了大半天时间做了个精简版的百思不得姐,包括段子,图片,音频,视频,四个模块。这篇就带着大家简述下这个小的APP,源码会放到GitHub上欢迎start。

项目中我能学到什么?

tabbar使用方式
网络调用真实接口
loading使用
scroll-view实现下拉刷新上拉加载
image组件对图片的处理,
音乐和视频组件的使用
跳转传值使用
等等等。。。。

app.json全局配置文件
{
"pages":[
"pages/word/word",
"pages/image/image",
"pages/voice/voice",
"pages/video/video",
"pages/detail/detail"
],
"tabBar": {
"color": "#a9b7b7",
"selectedColor": "#eb4f38",
"borderStyle": "white",
"backgroundColor": "#ffffff",
"list": [
{
"pagePath": "pages/word/word",
"text": "段子",
"iconPath": "image/wordN.png",
"selectedIconPath": "image/wordS.png"
},
{
"pagePath": "pages/image/image",
"text": "图片",
"iconPath": "image/imageN.png",
"selectedIconPath": "image/imageS.png"
},
{
"pagePath": "pages/voice/voice",
"text": "声音",
"iconPath": "image/voiceN.png",
"selectedIconPath": "image/voiceS.png"
},
{
"pagePath": "pages/video/video",
"text": "视频",
"iconPath": "image/videoN.png",
"selectedIconPath": "image/videoS.png"
}

]
},
"window":{
"backgroundTextStyle":"light",
"navigationBarBackgroundColor": "#eb4f38",
"navigationBarTextStyle":"white"
}
}
 
这里我们只要配置下程序全局属性,每个页面需要在pags属性中引入,有时候tabbar不显示有可能是因为这个,tabbar底部导航Item分为四个就是list里面的,这里主要配置选中未选中颜色背景色及每个底部选项页面页面引入和图片引入。window 属性主要配置窗体整体的颜色文字颜色和背景色,这里的window属性会被每个页面的window属性给覆盖。

app.wxss
/*整体view样式*/
.containsView{
padding: 15rpx 15rpx 15rpx 15rpx;
margin-top: 15rpx;
margin-bottom: 15rpx;
background-color: white;
}
/*头部整体样式*/
.topContainsView{
display: flex;
flex-direction: row;
align-items: center;
margin-bottom: 18rpx;
}

/**
* 头像样式
*/
.profileImage{
width: 60rpx;
height: 60rpx;
border-radius: 30rpx;
}

/*头部显示名字和时间整体样式*/
.topRightView{
margin-left: 15rpx;
display: flex;
flex-direction: column;
}
/*用户名称样式*/
.topRightName{
font-size: 18rpx;
}
/*时间样式*/
.topRightTime{
font-size: 14rpx;
color: #b8b2b2;
margin-top: 10rpx;
}

/*因为中间部分不一样不放在整体样式中*/

/*底部view整体样式*/
.bottomView{
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
/*每个Item样式*/
.bottomItemView{
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
margin-top: 18rpx;
padding-left: 10rpx;
padding-right: 10rpx;
}
/*Item样式中的图标样式 顶 踩 分享 评论*/
.bottomItemImage{
width: 45rpx;
height: 45rpx;
}
/*Item中的文字样式 顶 踩 分享 评论*/
.bottomItemText{
font-size: 15rpx;
color: #b8b2b2;
margin-left: 10rpx;
margin-top: 8rpx;
}

/*分割线样式*/
.divLine{
background: #f3f3f3;
width: 100%;
height: 15rpx;
}
 
app.wxss我将四个模块分为三个部分 头部,内容区域, 底部因为每个页面头部,底部样式都一样而中间部分不一样所以我把1,3抽到全局中,注释比较清晰

段子模块

word.wxml
<loading hidden="{{loadingHidden}}">正在加载...</loading>
<scroll-view scroll-y="true" bindscrolltoupper="bindscrolltoupper" bindscrolltolower="bindscrolltolower" style="height: 100%">
<block wx:for-items="{{list}}">
<!-- 分割线 -->
<view class="divLine"></view>
<!-- 整体item样式 -->
<view class="containsView">
<view class="topContainsView">
<image class="profileImage" src="{{item.profile_image}}" />
<view class="topRightView">
<text class="topRightName">{{item.name}}</text>
<text class="topRightTime">{{item.passtime}}</text>
</view>
</view>
<!-- 中间内容 -->
<text class="centerContent">{{item.text}}</text>
<!-- 底部view样式 -->
<view class="bottomView">
<view class="bottomItemView">
<image class="bottomItemImage" src="../../image/ding.png" />
<text class="bottomItemText">{{item.ding}}</text>
</view>
<view class="bottomItemView">
<image class="bottomItemImage" src="../../image/cai.png" />
<text class="bottomItemText">{{item.cai}}</text>
</view>
<view class="bottomItemView">
<image class="bottomItemImage" src="../../image/share.png" />
<text class="bottomItemText">{{item.repost}}</text>
</view>
<view class="bottomItemView">
<image class="bottomItemImage" src="../../image/comment.png" />
<text class="bottomItemText">{{item.comment}}</text>
</view>
</view>
</view>
</block>
</scroll-view>外层我们用scroll-view包裹以实现加载更多和上拉刷新 bindscrolltoupper=”bindscrolltoupper” 这个属性当滑动到顶部会调用这个方法bindscrolltolower=”bindscrolltolower”这个则滑到底部会调用,起始这里还可以将头部和底部布局抽出来通过引入方式使用,就不用四个页面都写了,自己可以弄下

word.js
 
Page({
data: {
list: [],
maxtime: '',
loadingHidden: false
},
onLoad: function (options) {
// 页面初始化 options为页面跳转所带来的参数
//加载最新
this.requestData('newlist');
},

/**
* 上拉刷新
*/
bindscrolltoupper: function () {
//加载最新
// this.requestData('newlist');
},

/**
* 加载更多
*/
bindscrolltolower: function () {
console.log('到底部')
//加载更多
this.requestData('list');
},

/**
* 请求数据
*/
requestData: function (a) {
var that = this;
console.log(that.data.maxtime)
wx.request({
url: 'http://api.budejie.com/api/api_open.php',
data: {
a: a,
c: 'data',
maxtime: that.data.maxtime,
type: '29',
},
method: 'GET',
success: function (res) {
console.log(res)
console.log('上一页', that.data.list)
that.setData({
// 拼接数组
list: that.data.list.concat(res.data.list),
loadingHidden: true,
maxtime: res.data.info.maxtime
})

}
})
},
onReady: function () {
// 页面渲染完成
},
onShow: function () {
// 页面显示
},
onHide: function () {
// 页面隐藏
},
onUnload: function () {
// 页面关闭
}
})
 
这里通过requestData方法加载数据,这个方法接受个参数,就是通过这个参数加载最新还是更多,通过maxtime这个参数去加载下一页,上一页的maxtime作为加载下一页的条件, 加载下一页数据我们通过concat方法将数组进行拼接,并改变加载状态loading。word.wxml和word.json中一个设置内容字体大小,一个设置导航条字,就不贴了。

图片模块

 
image.wxml
<loading hidden="{{loadingHidden}}">正在加载...</loading>
<scroll-view scroll-y="true" bindscrolltolower="bindscrolltolower" style="height: 100%">
<block wx:for-items="{{list}}">
<!-- 分割线 -->
<view class="divLine"></view>
<!-- 整体item样式 -->
<view class="containsView">
<view class="topContainsView">
<image class="profileImage" src="{{item.profile_image}}" />
<view class="topRightView">
<text class="topRightName">{{item.name}}</text>
<text class="topRightTime">{{item.passtime}}</text>
</view>
</view>
<text style="font-size: 30rpx">{{item.text}}</text>
<!-- 当时gif图 -->
<view wx:if="{{item.is_gif != 0}}" style="position: relative;">
<image class="centerContent" src="{{item.cdn_img}}" mode="aspectFill" />
</view>
<!-- 普通大图 可点击查看全部图片 -->
<view data-url="{{item.cdn_img}}" data-height="{{item.height}}" data-width="{{item.width}}"
bindtap="lookBigPicture" wx:elif="{{item.is_gif == 0}}" style="position: relative;">
<!-- 图片资源 -->
<image class="centerContent" src="{{item.cdn_img}}" mode="aspectFill" />
<!-- 图片上浮动的点击查看详情图片view -->
<view class="flexView">
<image src="../../image/seeBigPicture.png" style="width: 60rpx; height: 60rpx;" />
<text class="flexText">点击查看全图</text>
</view>
</view>
<!-- 底部view样式 -->
<view class="bottomView">
<view class="bottomItemView">
<image class="bottomItemImage" src="../../image/ding.png" />
<text class="bottomItemText">{{item.ding}}</text>
</view>
<view class="bottomItemView">
<image class="bottomItemImage" src="../../image/cai.png" />
<text class="bottomItemText">{{item.cai}}</text>
</view>
<view class="bottomItemView">
<image class="bottomItemImage" src="../../image/share.png" />
<text class="bottomItemText">{{item.repost}}</text>
</view>
<view class="bottomItemView">
<image class="bottomItemImage" src="../../image/comment.png" />
<text class="bottomItemText">{{item.comment}}</text>
</view>
</view>
</view>
</block>
</scroll-view>

 
这里主要看中间部分我们通过是否是gif来区分处理图片,不是gif可以点击查看大图,这里有个view悬浮效果,结合界面和image.wxss看

image.wxss
/*中间文字样式*/
.centerContent{
margin-top: 20rpx;
width: 100%;
height: 600rpx;

}
/*中间浮动文字样式*/
.flexView{
display: flex;
justify-content: center;
align-items: center;
width: 100%;
height: 80rpx;
position: absolute;
z-index: 2;
top: 540rpx;
background: #000000;
opacity: 0.6

}
/*浮动文字*/
.flexText{
color: white;
font-size: 35rpx;
}image.js
var detail = '../detail/detail'
Page({
data: {
list: [],
maxtime: '',
loadingHidden: false
},
onLoad: function (options) {
// 页面初始化 options为页面跳转所带来的参数
this.requestData('newlist');

},
/**
* 滚动到底部时加载下一页
*/
bindscrolltolower: function () {
console.log('到底部')
this.requestData('list');

},

/**
* 加载数据
*/
requestData: function (a) {
var that = this;
wx.request({
url: 'http://api.budejie.com/api/api_open.php',
data: {
a: a,
c: 'data',
// 上一页的maxtime作为加载下一页的条件,
maxtime: this.data.maxtime,
type: '10',
},
method: 'GET',
success: function (res) {
console.log(res)
console.log('上一页', that.datalist)
that.setData({
// 拼接数组
list: that.data.list.concat(res.data.list),
loadingHidden: true,
maxtime: res.data.info.maxtime
})

}
})
},
/**
* 查看大图
*/
lookBigPicture: function (e) {
console.log(e);
console.log(e.currentTarget.id)
//图片url 对应wxml中data-url="{{item.url}}"
var url = e.currentTarget.dataset.url;
//获取图片高度 对应wxml中data-height="{{item.height}}"
var height = e.currentTarget.dataset.height;
//获取图片高度 对应wxml中data-width="{{item.width}}"
var width = e.currentTarget.dataset.width;
// 传参方式向GET请求
wx.navigateTo({
url: detail + '?' + 'url=' + url + "&height=" + height + "&width=" + width,
success: function (res) {
console.log(res)
},
fail: function (err) {
console.log(err)
},
})
},
onReady: function () {
// 页面渲染完成
},
onShow: function () {
// 页面显示
},
onHide: function () {
// 页面隐藏
},
onUnload: function () {
// 页面关闭
}
})这里主要看lookBigPicture方法 view data-url=”{{item.cdn_img}}” data-height=”{{item.height}}” data-width=”{{item.width}}”会在逻辑代码中装换成.语法使用 var url = e.currentTarget.dataset.url; 传值调转则向GET发送请求一样按照格式来就行了

音频和视频模块大致雷同看代码去吧!!!

地址: https://github.com/shuncaigao/BS 欢迎start


感谢阅读,希望能帮助到大家,谢谢大家对本站的支持! 查看全部

微信小程序基本组件和API已撸完,总归要回到正题的,花了大半天时间做了个精简版的百思不得姐,包括段子,图片,音频,视频,四个模块。这篇就带着大家简述下这个小的APP,源码会放到GitHub上欢迎start。

项目中我能学到什么?

tabbar使用方式
网络调用真实接口
loading使用
scroll-view实现下拉刷新上拉加载
image组件对图片的处理,
音乐和视频组件的使用
跳转传值使用
等等等。。。。

app.json全局配置文件
{
"pages":[
"pages/word/word",
"pages/image/image",
"pages/voice/voice",
"pages/video/video",
"pages/detail/detail"
],
"tabBar": {
"color": "#a9b7b7",
"selectedColor": "#eb4f38",
"borderStyle": "white",
"backgroundColor": "#ffffff",
"list": [
{
"pagePath": "pages/word/word",
"text": "段子",
"iconPath": "image/wordN.png",
"selectedIconPath": "image/wordS.png"
},
{
"pagePath": "pages/image/image",
"text": "图片",
"iconPath": "image/imageN.png",
"selectedIconPath": "image/imageS.png"
},
{
"pagePath": "pages/voice/voice",
"text": "声音",
"iconPath": "image/voiceN.png",
"selectedIconPath": "image/voiceS.png"
},
{
"pagePath": "pages/video/video",
"text": "视频",
"iconPath": "image/videoN.png",
"selectedIconPath": "image/videoS.png"
}

]
},
"window":{
"backgroundTextStyle":"light",
"navigationBarBackgroundColor": "#eb4f38",
"navigationBarTextStyle":"white"
}
}

 
这里我们只要配置下程序全局属性,每个页面需要在pags属性中引入,有时候tabbar不显示有可能是因为这个,tabbar底部导航Item分为四个就是list里面的,这里主要配置选中未选中颜色背景色及每个底部选项页面页面引入和图片引入。window 属性主要配置窗体整体的颜色文字颜色和背景色,这里的window属性会被每个页面的window属性给覆盖。

app.wxss

/*整体view样式*/
.containsView{
padding: 15rpx 15rpx 15rpx 15rpx;
margin-top: 15rpx;
margin-bottom: 15rpx;
background-color: white;
}
/*头部整体样式*/
.topContainsView{
display: flex;
flex-direction: row;
align-items: center;
margin-bottom: 18rpx;
}

/**
* 头像样式
*/
.profileImage{
width: 60rpx;
height: 60rpx;
border-radius: 30rpx;
}

/*头部显示名字和时间整体样式*/
.topRightView{
margin-left: 15rpx;
display: flex;
flex-direction: column;
}
/*用户名称样式*/
.topRightName{
font-size: 18rpx;
}
/*时间样式*/
.topRightTime{
font-size: 14rpx;
color: #b8b2b2;
margin-top: 10rpx;
}

/*因为中间部分不一样不放在整体样式中*/

/*底部view整体样式*/
.bottomView{
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
/*每个Item样式*/
.bottomItemView{
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
margin-top: 18rpx;
padding-left: 10rpx;
padding-right: 10rpx;
}
/*Item样式中的图标样式 顶 踩 分享 评论*/
.bottomItemImage{
width: 45rpx;
height: 45rpx;
}
/*Item中的文字样式 顶 踩 分享 评论*/
.bottomItemText{
font-size: 15rpx;
color: #b8b2b2;
margin-left: 10rpx;
margin-top: 8rpx;
}

/*分割线样式*/
.divLine{
background: #f3f3f3;
width: 100%;
height: 15rpx;
}

 
app.wxss我将四个模块分为三个部分 头部,内容区域, 底部因为每个页面头部,底部样式都一样而中间部分不一样所以我把1,3抽到全局中,注释比较清晰

段子模块

word.wxml

<loading hidden="{{loadingHidden}}">正在加载...</loading>
<scroll-view scroll-y="true" bindscrolltoupper="bindscrolltoupper" bindscrolltolower="bindscrolltolower" style="height: 100%">
<block wx:for-items="{{list}}">
<!-- 分割线 -->
<view class="divLine"></view>
<!-- 整体item样式 -->
<view class="containsView">
<view class="topContainsView">
<image class="profileImage" src="{{item.profile_image}}" />
<view class="topRightView">
<text class="topRightName">{{item.name}}</text>
<text class="topRightTime">{{item.passtime}}</text>
</view>
</view>
<!-- 中间内容 -->
<text class="centerContent">{{item.text}}</text>
<!-- 底部view样式 -->
<view class="bottomView">
<view class="bottomItemView">
<image class="bottomItemImage" src="../../image/ding.png" />
<text class="bottomItemText">{{item.ding}}</text>
</view>
<view class="bottomItemView">
<image class="bottomItemImage" src="../../image/cai.png" />
<text class="bottomItemText">{{item.cai}}</text>
</view>
<view class="bottomItemView">
<image class="bottomItemImage" src="../../image/share.png" />
<text class="bottomItemText">{{item.repost}}</text>
</view>
<view class="bottomItemView">
<image class="bottomItemImage" src="../../image/comment.png" />
<text class="bottomItemText">{{item.comment}}</text>
</view>
</view>
</view>
</block>
</scroll-view>
外层我们用scroll-view包裹以实现加载更多和上拉刷新 bindscrolltoupper=”bindscrolltoupper” 这个属性当滑动到顶部会调用这个方法bindscrolltolower=”bindscrolltolower”这个则滑到底部会调用,起始这里还可以将头部和底部布局抽出来通过引入方式使用,就不用四个页面都写了,自己可以弄下

word.js

 
Page({
data: {
list: [],
maxtime: '',
loadingHidden: false
},
onLoad: function (options) {
// 页面初始化 options为页面跳转所带来的参数
//加载最新
this.requestData('newlist');
},

/**
* 上拉刷新
*/
bindscrolltoupper: function () {
//加载最新
// this.requestData('newlist');
},

/**
* 加载更多
*/
bindscrolltolower: function () {
console.log('到底部')
//加载更多
this.requestData('list');
},

/**
* 请求数据
*/
requestData: function (a) {
var that = this;
console.log(that.data.maxtime)
wx.request({
url: 'http://api.budejie.com/api/api_open.php',
data: {
a: a,
c: 'data',
maxtime: that.data.maxtime,
type: '29',
},
method: 'GET',
success: function (res) {
console.log(res)
console.log('上一页', that.data.list)
that.setData({
// 拼接数组
list: that.data.list.concat(res.data.list),
loadingHidden: true,
maxtime: res.data.info.maxtime
})

}
})
},
onReady: function () {
// 页面渲染完成
},
onShow: function () {
// 页面显示
},
onHide: function () {
// 页面隐藏
},
onUnload: function () {
// 页面关闭
}
})

 
这里通过requestData方法加载数据,这个方法接受个参数,就是通过这个参数加载最新还是更多,通过maxtime这个参数去加载下一页,上一页的maxtime作为加载下一页的条件, 加载下一页数据我们通过concat方法将数组进行拼接,并改变加载状态loading。word.wxml和word.json中一个设置内容字体大小,一个设置导航条字,就不贴了。

图片模块


 
image.wxml
<loading hidden="{{loadingHidden}}">正在加载...</loading>
<scroll-view scroll-y="true" bindscrolltolower="bindscrolltolower" style="height: 100%">
<block wx:for-items="{{list}}">
<!-- 分割线 -->
<view class="divLine"></view>
<!-- 整体item样式 -->
<view class="containsView">
<view class="topContainsView">
<image class="profileImage" src="{{item.profile_image}}" />
<view class="topRightView">
<text class="topRightName">{{item.name}}</text>
<text class="topRightTime">{{item.passtime}}</text>
</view>
</view>
<text style="font-size: 30rpx">{{item.text}}</text>
<!-- 当时gif图 -->
<view wx:if="{{item.is_gif != 0}}" style="position: relative;">
<image class="centerContent" src="{{item.cdn_img}}" mode="aspectFill" />
</view>
<!-- 普通大图 可点击查看全部图片 -->
<view data-url="{{item.cdn_img}}" data-height="{{item.height}}" data-width="{{item.width}}"
bindtap="lookBigPicture" wx:elif="{{item.is_gif == 0}}" style="position: relative;">
<!-- 图片资源 -->
<image class="centerContent" src="{{item.cdn_img}}" mode="aspectFill" />
<!-- 图片上浮动的点击查看详情图片view -->
<view class="flexView">
<image src="../../image/seeBigPicture.png" style="width: 60rpx; height: 60rpx;" />
<text class="flexText">点击查看全图</text>
</view>
</view>
<!-- 底部view样式 -->
<view class="bottomView">
<view class="bottomItemView">
<image class="bottomItemImage" src="../../image/ding.png" />
<text class="bottomItemText">{{item.ding}}</text>
</view>
<view class="bottomItemView">
<image class="bottomItemImage" src="../../image/cai.png" />
<text class="bottomItemText">{{item.cai}}</text>
</view>
<view class="bottomItemView">
<image class="bottomItemImage" src="../../image/share.png" />
<text class="bottomItemText">{{item.repost}}</text>
</view>
<view class="bottomItemView">
<image class="bottomItemImage" src="../../image/comment.png" />
<text class="bottomItemText">{{item.comment}}</text>
</view>
</view>
</view>
</block>
</scroll-view>


 
这里主要看中间部分我们通过是否是gif来区分处理图片,不是gif可以点击查看大图,这里有个view悬浮效果,结合界面和image.wxss看

image.wxss

/*中间文字样式*/
.centerContent{
margin-top: 20rpx;
width: 100%;
height: 600rpx;

}
/*中间浮动文字样式*/
.flexView{
display: flex;
justify-content: center;
align-items: center;
width: 100%;
height: 80rpx;
position: absolute;
z-index: 2;
top: 540rpx;
background: #000000;
opacity: 0.6

}
/*浮动文字*/
.flexText{
color: white;
font-size: 35rpx;
}
image.js
var detail = '../detail/detail'
Page({
data: {
list: [],
maxtime: '',
loadingHidden: false
},
onLoad: function (options) {
// 页面初始化 options为页面跳转所带来的参数
this.requestData('newlist');

},
/**
* 滚动到底部时加载下一页
*/
bindscrolltolower: function () {
console.log('到底部')
this.requestData('list');

},

/**
* 加载数据
*/
requestData: function (a) {
var that = this;
wx.request({
url: 'http://api.budejie.com/api/api_open.php',
data: {
a: a,
c: 'data',
// 上一页的maxtime作为加载下一页的条件,
maxtime: this.data.maxtime,
type: '10',
},
method: 'GET',
success: function (res) {
console.log(res)
console.log('上一页', that.datalist)
that.setData({
// 拼接数组
list: that.data.list.concat(res.data.list),
loadingHidden: true,
maxtime: res.data.info.maxtime
})

}
})
},
/**
* 查看大图
*/
lookBigPicture: function (e) {
console.log(e);
console.log(e.currentTarget.id)
//图片url 对应wxml中data-url="{{item.url}}"
var url = e.currentTarget.dataset.url;
//获取图片高度 对应wxml中data-height="{{item.height}}"
var height = e.currentTarget.dataset.height;
//获取图片高度 对应wxml中data-width="{{item.width}}"
var width = e.currentTarget.dataset.width;
// 传参方式向GET请求
wx.navigateTo({
url: detail + '?' + 'url=' + url + "&height=" + height + "&width=" + width,
success: function (res) {
console.log(res)
},
fail: function (err) {
console.log(err)
},
})
},
onReady: function () {
// 页面渲染完成
},
onShow: function () {
// 页面显示
},
onHide: function () {
// 页面隐藏
},
onUnload: function () {
// 页面关闭
}
})
这里主要看lookBigPicture方法 view data-url=”{{item.cdn_img}}” data-height=”{{item.height}}” data-width=”{{item.width}}”会在逻辑代码中装换成.语法使用 var url = e.currentTarget.dataset.url; 传值调转则向GET发送请求一样按照格式来就行了

音频和视频模块大致雷同看代码去吧!!!

地址: https://github.com/shuncaigao/BS 欢迎start


感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

罗辑思维"得到"被指退出小程序 搜索显示无结果

小程序资讯admin 发表了文章 • 0 个评论 • 189 次浏览 • 2017-01-16 14:23 • 来自相关话题

有消息称“得到已退出小程序”,TechWeb在微信小程序上搜索“得到”显示无结果。“得到退出微信小程序”的说法在微博上引起讨论,已关注得到的网友晒出了得到小程序暂停服务的截图。TechWeb在微信小程序上搜索“得到plus”关键词,显示无结果。得到是罗辑思维主推的一款“知识服务”产品,早前曾以“得到plus”的名字上线微信小程序。

与此同时,一张疑似罗辑思维罗振宇微信朋友圈点评其退出小程序的截图在微博上流传。图片显示,罗振宇称:“我们决定不做了。我们知道小程序是什么了。哈哈,但是不能说”。

微博网友讨论得到退出小程序

微信筹备1年多的小程序于2016年底正式上线,引发广泛关注。

腾讯方面曾介绍称,“小程序”是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用,也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。 查看全部
有消息称“得到已退出小程序”,TechWeb在微信小程序上搜索“得到”显示无结果。“得到退出微信小程序”的说法在微博上引起讨论,已关注得到的网友晒出了得到小程序暂停服务的截图。TechWeb在微信小程序上搜索“得到plus”关键词,显示无结果。得到是罗辑思维主推的一款“知识服务”产品,早前曾以“得到plus”的名字上线微信小程序。

与此同时,一张疑似罗辑思维罗振宇微信朋友圈点评其退出小程序的截图在微博上流传。图片显示,罗振宇称:“我们决定不做了。我们知道小程序是什么了。哈哈,但是不能说”。

微博网友讨论得到退出小程序

微信筹备1年多的小程序于2016年底正式上线,引发广泛关注。

腾讯方面曾介绍称,“小程序”是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用,也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。

一个新的微信小程序应该如何推广?

小程序推广admin 发表了文章 • 0 个评论 • 222 次浏览 • 2017-01-12 14:42 • 来自相关话题

那咱就去多看多观察,别去玩市面上大家都争抢的渠道,那些都相对较贵,要通过观察尝试一些相对便宜的推广方式,一、硬推广
1.做自媒体,今日头条,一点资讯,搜狐,百度百家,UC头条,企鹅自媒体,360自媒体,新浪自媒体,博客自媒体,其他。
2.小程序创业潮,伴随着很多类似微信286这种营销推广媒体,及时的去寻求一下报道,产品亮点足够还是很有希望申请到免费报道的
3.充分利用社会化媒体,微博,微信,贴吧,知乎这些都是非常好的曝光平台,利用好这些平台的前提是你喜欢在上面玩,比如我之前就很喜欢在贴吧上面玩,知道这个平台的调性,我就在响应的贴吧面直播创业历程,图文并茂的描述,就会有很多受众和转化
4刷榜推广
这种推广乃非正规手段,但是在国内非常的受欢迎,毕竟大家都会用微信直接搜索应用。如果你的小程序直接都在前几名的位置,当然可以快速获得用户的关注,同时获得较高的真实使用量。
不过刷榜会随着进入者的增多,成本急剧上升,此类方法要根据产品以及价格来衡量是否可行~

二、软推广
5、新闻推广
新闻一只都是最廉价的网络推广手段,撰写一篇新闻稿,花上一两万元就可以发布到100个主流的新闻门户网站上,让这些网站一起来报道之后,就会有更多的网站去转摘。如果你的标题起的够水平,小程序足够好用,那么就火了。
许多表面上不做广告的国际大公司,一只都在暗地花钱做这种推广手段。

帖子推广

经验如下:
1、贴不再多,而在于精。许多人爱雇佣水军盲目乱发,没效果。不如一个帖子在一个帖子整一年。
2、不要广告,暗中分享。千万不要以广告的形式,要以网友分享的方式,做成一个精华帖,长期出现在前面,方可以获得最理想的效果。

微博推广
大家每天都在用手机看微博,如果在微博上发现了好玩好用的小程序,顺手就扫描二维码使用了,所以微博推广的好了,还是可以获得不错的使用量的。如何做好呢?
小程序介绍,微博的内容撰写上,建议做好以下几点:
1、直接上二维码,正面刚!
2、内容要清晰的把小程序的好处列出来,扫描二维码是因为有好处。
3、最好配合上多组图片和视频,然后没扫描之前,就可以快速了解小程序
至于这条微博的推广了,那就是简单粗暴狠了。
1、有奖活动
2、大号转发

口碑传播
要让APP形成口碑推广,首先你的功能必须让用户喜欢独特卖点,这样用户再向朋友推广的时候,才能保持良好的感觉。例如郭吉军向我推荐非常准的时候,我是非常感谢的,因为对于长出差的人而言,却是可以很方便的了解航班情况。而我向朋友推荐卡惠的时候,朋友一样很感谢。因为可以让他们快速知道自己信用卡在周边店面的优惠信息,可以省不少钱。 查看全部

QQ截图20170112144037.jpg

那咱就去多看多观察,别去玩市面上大家都争抢的渠道,那些都相对较贵,要通过观察尝试一些相对便宜的推广方式,一、硬推广
1.做自媒体,今日头条,一点资讯,搜狐,百度百家,UC头条,企鹅自媒体,360自媒体,新浪自媒体,博客自媒体,其他。
2.小程序创业潮,伴随着很多类似微信286这种营销推广媒体,及时的去寻求一下报道,产品亮点足够还是很有希望申请到免费报道的
3.充分利用社会化媒体,微博,微信,贴吧,知乎这些都是非常好的曝光平台,利用好这些平台的前提是你喜欢在上面玩,比如我之前就很喜欢在贴吧上面玩,知道这个平台的调性,我就在响应的贴吧面直播创业历程,图文并茂的描述,就会有很多受众和转化
4刷榜推广
这种推广乃非正规手段,但是在国内非常的受欢迎,毕竟大家都会用微信直接搜索应用。如果你的小程序直接都在前几名的位置,当然可以快速获得用户的关注,同时获得较高的真实使用量。
不过刷榜会随着进入者的增多,成本急剧上升,此类方法要根据产品以及价格来衡量是否可行~

二、软推广
5、新闻推广
新闻一只都是最廉价的网络推广手段,撰写一篇新闻稿,花上一两万元就可以发布到100个主流的新闻门户网站上,让这些网站一起来报道之后,就会有更多的网站去转摘。如果你的标题起的够水平,小程序足够好用,那么就火了。
许多表面上不做广告的国际大公司,一只都在暗地花钱做这种推广手段。

帖子推广

经验如下:
1、贴不再多,而在于精。许多人爱雇佣水军盲目乱发,没效果。不如一个帖子在一个帖子整一年。
2、不要广告,暗中分享。千万不要以广告的形式,要以网友分享的方式,做成一个精华帖,长期出现在前面,方可以获得最理想的效果。

微博推广
大家每天都在用手机看微博,如果在微博上发现了好玩好用的小程序,顺手就扫描二维码使用了,所以微博推广的好了,还是可以获得不错的使用量的。如何做好呢?
小程序介绍,微博的内容撰写上,建议做好以下几点:
1、直接上二维码,正面刚!
2、内容要清晰的把小程序的好处列出来,扫描二维码是因为有好处。
3、最好配合上多组图片和视频,然后没扫描之前,就可以快速了解小程序
至于这条微博的推广了,那就是简单粗暴狠了。
1、有奖活动
2、大号转发

口碑传播
要让APP形成口碑推广,首先你的功能必须让用户喜欢独特卖点,这样用户再向朋友推广的时候,才能保持良好的感觉。例如郭吉军向我推荐非常准的时候,我是非常感谢的,因为对于长出差的人而言,却是可以很方便的了解航班情况。而我向朋友推荐卡惠的时候,朋友一样很感谢。因为可以让他们快速知道自己信用卡在周边店面的优惠信息,可以省不少钱。

实用干货:如何推广小程序最有效?

小程序推广admin 发表了文章 • 0 个评论 • 188 次浏览 • 2017-01-12 14:35 • 来自相关话题

小程序推广,更依赖新媒体。

小程序绕过了各大应用商店,下载市场,自成生态。目前来看只有官方一个入口,

合作换量、引导关注就不要想了,从微信公众号不难看出,引导关注是很困难的。

但是因为小程序只需要扫描二维码就能使用,在运营上减少了下载注册等环节,推广反而会更容易!

小程序的使用是情景式的









1、分清楚营销的主要传播着力点

我们是要推一个小程序二维码,还是一个品牌形象?有的人说两者都有,比如从二维码跳转链接到一个炫炸天的H5展示下品牌,然后再来个走心的小文案,再抛个促销政策什么的,但是宣传上我们要维持逼格啊。所以着力点不明确,不够直接粗暴,文案和设计都太害羞,大部分顾客看了你的海报,尴尬症频发。

所以最好的做法是,选对一个,做到极致,案例:维多利亚的秘密,窥探二维码下的秘密[实用干货:如何推广小程序最有效?]美女们的重点位置都被二维码所遮盖,只有当你拿手机扫描了才可以看到二维码下藏着怎样的春光。

这样的二维码极大地满足了人们的窥探心理,而扫描后展现的内衣秀也应该会让人们啧啧称奇。没有多余的文案和内容,就是要搞小程序二维码,方便扫,又美观,最大的诱惑就是满足人的窥探欲。

2、有没有一句好的引导文案?

扫一扫更精彩?扫我码上有礼?扫我了解更多?扫一扫小程序二维码关注某某公众号?……这类引导语在我看来最无力,没有吸引起看客的好奇心,为什么他要拿起手机,给自己的几百个公众订阅号里再添加多一个呢?

所以正确的用法是,为你的小程序二维码标一句好文案。案例:

[实用干货:如何推广小程序最有效?]

文案配搭画面,一张足够吸引力的悬疑小程序二维码图。[实用干货:如何推广小程序最有效?]“千万别扫,不然……”

“不小心扫了怎么办?”

“那就加入神秘的咖啡密探组织,获取机密线索,开启解密之旅”

以上两类文案都能瞬间吸引大部分看客的好奇心,进而扫码关注背后的内容。

3、给予足够的利益诱导

别自以为做活动的时候二维码往那一放消费者就会过来扫,要思考,扫这个二维码能给顾客什么价值?是获得礼品、代金券、折扣还是WIFI,如果一个都没有,那么消费者为什么要去扫它?

所以,当你主推小程序二维码的时候,记得把利益诱导放上,案例:[实用干货:如何推广小程序最有效?]扫码,下载某APP客户端送百事可乐[实用干货:如何推广小程序最有效?]扫微信,和我发生“贴身关系”[实用干货:如何推广小程序最有效?]扫码,送冰淇淋

4、尽可能的美观

尽量去美观、创意或者简洁,即便你没有好文案,也没有好的诱惑,至少可以吸引别人先看看你肤浅外衣下的内核。比如以下例子:[实用干货:如何推广小程序最有效?]
[实用干货:如何推广小程序最有效?]
[实用干货:如何推广小程序最有效?]我们开始渐渐习惯把更多的信息都塞到小程序二维码里,未来的世界,也将以更简单直接的互联网传递方式为主,但我们所有的页面,未必都要加个小程序二维码。不加就不加个彻底,加也加个彻底,广告的本质是传达,千万不要让看客错乱。

当然,在小程序二维码之后,如何让看客持续呆下去不取关,那就要看内容的输出了。想明白之后,你会觉得所有的营销都是套路。是的,营销就是套路,基于好产品的是生路,靠一时泡沫假象的是死路。 查看全部
小程序推广,更依赖新媒体。

小程序绕过了各大应用商店,下载市场,自成生态。目前来看只有官方一个入口,

合作换量、引导关注就不要想了,从微信公众号不难看出,引导关注是很困难的。

但是因为小程序只需要扫描二维码就能使用,在运营上减少了下载注册等环节,推广反而会更容易!

小程序的使用是情景式的


QQ截图20170112143600.jpg




1、分清楚营销的主要传播着力点

我们是要推一个小程序二维码,还是一个品牌形象?有的人说两者都有,比如从二维码跳转链接到一个炫炸天的H5展示下品牌,然后再来个走心的小文案,再抛个促销政策什么的,但是宣传上我们要维持逼格啊。所以着力点不明确,不够直接粗暴,文案和设计都太害羞,大部分顾客看了你的海报,尴尬症频发。

所以最好的做法是,选对一个,做到极致,案例:维多利亚的秘密,窥探二维码下的秘密[实用干货:如何推广小程序最有效?]美女们的重点位置都被二维码所遮盖,只有当你拿手机扫描了才可以看到二维码下藏着怎样的春光。

这样的二维码极大地满足了人们的窥探心理,而扫描后展现的内衣秀也应该会让人们啧啧称奇。没有多余的文案和内容,就是要搞小程序二维码,方便扫,又美观,最大的诱惑就是满足人的窥探欲。

2、有没有一句好的引导文案?

扫一扫更精彩?扫我码上有礼?扫我了解更多?扫一扫小程序二维码关注某某公众号?……这类引导语在我看来最无力,没有吸引起看客的好奇心,为什么他要拿起手机,给自己的几百个公众订阅号里再添加多一个呢?

所以正确的用法是,为你的小程序二维码标一句好文案。案例:

[实用干货:如何推广小程序最有效?]

文案配搭画面,一张足够吸引力的悬疑小程序二维码图。[实用干货:如何推广小程序最有效?]“千万别扫,不然……”

“不小心扫了怎么办?”

“那就加入神秘的咖啡密探组织,获取机密线索,开启解密之旅”

以上两类文案都能瞬间吸引大部分看客的好奇心,进而扫码关注背后的内容。

3、给予足够的利益诱导

别自以为做活动的时候二维码往那一放消费者就会过来扫,要思考,扫这个二维码能给顾客什么价值?是获得礼品、代金券、折扣还是WIFI,如果一个都没有,那么消费者为什么要去扫它?

所以,当你主推小程序二维码的时候,记得把利益诱导放上,案例:[实用干货:如何推广小程序最有效?]扫码,下载某APP客户端送百事可乐[实用干货:如何推广小程序最有效?]扫微信,和我发生“贴身关系”[实用干货:如何推广小程序最有效?]扫码,送冰淇淋

4、尽可能的美观

尽量去美观、创意或者简洁,即便你没有好文案,也没有好的诱惑,至少可以吸引别人先看看你肤浅外衣下的内核。比如以下例子:[实用干货:如何推广小程序最有效?]
[实用干货:如何推广小程序最有效?]
[实用干货:如何推广小程序最有效?]我们开始渐渐习惯把更多的信息都塞到小程序二维码里,未来的世界,也将以更简单直接的互联网传递方式为主,但我们所有的页面,未必都要加个小程序二维码。不加就不加个彻底,加也加个彻底,广告的本质是传达,千万不要让看客错乱。

当然,在小程序二维码之后,如何让看客持续呆下去不取关,那就要看内容的输出了。想明白之后,你会觉得所有的营销都是套路。是的,营销就是套路,基于好产品的是生路,靠一时泡沫假象的是死路。