结合TP、CI等php框架做微擎模块开发

首先,我们要知道,使用框架可以让开发变得更加敏捷和迅速,因为框架给我们搭好了舞台,而作为程序猿,我们只需要在这个舞台上表演好自己的节目即可。
而作为微擎的开发者,使用微擎本身的框架也可以做开发,但是微擎的框架有很多不成熟的地方,而且和有些人的开发习惯相悖,所以,选用自己的开发框架是一个不错的选择,尤其是考虑到以后的移植,更是要考虑一下怎么摆脱平台的套路。

小程序无法获取昵称和头像的解决办法

最近一个小程序的项目,做到一半的时候突然发现新用户无法正常获取到用户的昵称、头像等开放数据,非常郁闷,虽然只是开发版,但是遇到这种情况上线肯定不行,只能找解决办法。
无意中在微信开发工具的控制台看到这样一段话:

VM7110:1 获取 wx.getUserInfo 接口后续将不再出现授权弹窗,请注意升级

好吧,微信这么重大的升级,尽然不知道,看文档:

wx.getUserInfo(OBJECT)

注意:此接口有调整,使用该接口将不再出现授权弹窗,请使用 <button open-type=”getUserInfo”></button> 引导用户主动进行授权操作

  1. 当用户未授权过,调用该接口将直接报错
  2. 当用户授权过,可以使用该接口获取用户信息

现在,聪明人都知道是什么问题了,话说官方这样做真的提高用户体验了吗?

解决办法:

1.在页面中检查用户是不是授权,如果没有授权,那么引导授权,最好的办法是跳转到一个新的专门授权的页面中,示例代码如下。

<!--wxml-->
<!-- 如果只是展示用户头像昵称,可以使用 <open-data /> 组件 -->
<open-data type="userAvatarUrl"></open-data>
<open-data type="userNickName"></open-data>
<!-- 需要使用 button 来授权登录 -->
<button wx:if="{{canIUse}}" open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo">授权登录</button>
<view wx:else>请升级微信版本</view>

2.在页面的js文件的onload中,检查是不是授权,没有授权,跳转到授权页授权:

Page({
  data: {
    canIUse: wx.canIUse('button.open-type.getUserInfo')//检查有没有使用权限
  },
  onLoad: function() {
    // 查看是否授权
    wx.getSetting({
      success: function(res){
        if (res.authSetting['scope.userInfo']) {
          // 已经授权,可以直接调用 getUserInfo 获取头像昵称
          wx.getUserInfo({
            success: function(res) {
              console(res.userInfo)
            }
          })
        }
      }
    })
  },
  bindGetUserInfo: function(e) {
    console.log(e.detail.userInfo)
  }
})

3.授权之后,就可以正常使用wx.getUserInfo获取用户数据了,获取成功后,跳转回之前的页面。

使用onShareAppMessage小程序自定义页面分享内容

今天做一个小程序,碰到了自定义分享内容(标题、图片,甚至于自定义页面)的问题,因为是第一次做,还是碰到不少坑,这里分享一下。
首先,只有在页面的Page中定义了 onShareAppMessage 函数,才能使用右上角分享菜单按钮,该函数的参数如下:

onShareAppMessage: function (res) {
    return {
      title: '自定义转发标题',
      path: '/page/index/index/',
      imageUrl:'图片链接',//本地或线上的都可以
      success: function(res) {
        // 转发成功
      },
      fail: function(res) {
        // 转发失败
      }
    }
  }

当然,一般我们都不希望分享的内容写死的,所以,最好是在页面中用分享按钮的点击事件来异步请求分享信息。
最后,如果要启用右上角的分享菜单,需要在onload中加入

wx.showShareMenu({
  withShareTicket: true
})

让你的网站整站变灰,使用css的filter滤镜属性

今天是512,大家都知道是什么日子,一般情况下,在这样的日子里,大一点的网站都会做一些小改动以纪念逝者,例如,将整站变成灰色。

其实,这不是什么特别难的事情,只需要一行CSS代码就够了。

filter: grayscale(0);

当然,为了兼容主流的其他浏览器,还应该加上

-webkit-filter:grayscale(0);/* Chrome, Safari, Opera */

完美众筹系统,支持你能想到的所有众筹

一款可以支持联合众筹、商品众筹、公益众筹等所有众筹的众筹系统。

1、本众筹支持联合众筹、普通众筹(公益、产品等);
2、支持设置多回报项,并自定义回报字段;
3、众筹支持微信支付及通过管理后台直接退款给支持者;
4、后台管理支持多用户分权限设置,如:财务只允许操作财务相关内容等;
5、更多详情可以联系客服QQ:17205628 继续阅读“完美众筹系统,支持你能想到的所有众筹”

刺客信条Assassin’s Creed(2016)

《刺客信条Assassin’s Creed(2016)》改编自同名人气游戏,故事背景设定于意大利文艺复兴时代,讲述了游戏主角的父亲是一位厉害的刺客,一开始,主角因为亲眼目睹父母亲和哥哥全家被处刑的悲惨一幕,因此展开了他的复仇之路……. 继续阅读“刺客信条Assassin’s Creed(2016)”

愤怒的小鸟 The Angry Birds Movie (2016)

《愤怒的小鸟 The Angry Birds Movie (2016) 》讲述了一群不会飞的小鸟,挤在一座热带小岛上,和睦宁静。游戏中的几个经典形象成了影片的主角,分别是易怒的小鸟大红(杰森·苏戴奇斯配音),速度小鸟恰克(乔什·盖德配音)、炸弹(丹尼·麦克布耐德配音)。当神秘的绿色小猪登陆岛屿时,小鸟们平静的生活被打破了。该片于2016年5月20日在美国与中国内地同步上映。 继续阅读“愤怒的小鸟 The Angry Birds Movie (2016)”