头像

微信小程序实现”淡入淡出”、”滑动渐入渐出”效果

因为是想实现通用的效果,所以我把方法放在app.js里。主要原理是通过控制透明度显示。

以下是代码:

//渐入,渐出实现
show: function (that, param, opacity, duration=1800) {
var animation = wx.createAnimation({
//持续时间1800ms
duration: duration,
timingFunction: ‘ease’,
});
//var animation = this.animation
animation.opacity(opacity).step()
//将param转换为key
var json = ‘{“‘ + param + ‘”:””}’
json = JSON.parse(json);
json[param] = animation.export()
//设置动画
that.setData(json)
},
//滑动渐入渐出
slideupshow: function (that, param, px, opacity) {
var animation = wx.createAnimation({
duration: 800,
timingFunction: ‘ease’,
});
animation.translateY(px).opacity(opacity).step()
//将param转换为key
var json = ‘{“‘ + param + ‘”:””}’
json = JSON.parse(json);
json[param] = animation.export()
//设置动画
that.setData(json)
},
//向右滑动渐入渐出
sliderightshow: function (that, param, px, opacity) {
var animation = wx.createAnimation({
duration: 800,
timingFunction: ‘ease’,
});
animation.translateX(px).opacity(opacity).step()
//将param转换为key
var json = ‘{“‘ + param + ‘”:””}’
json = JSON.parse(json);
json[param] = animation.export()
//设置动画
that.setData(json)
}
以下是页面使用方法:
wxml
<view  animation=”{{showBgp}}” class=”bgp” >这里是效果</view>
css
.bgp{
opacity:0; //主要是这个,其它可自定义
}
js中使用
getApp().show(this, ‘showBgp’, 1,1800);
头像

微信小程序audio标签 播放背景音乐

在使用过程中有一些注意事项:

1、不能使用本地文件,需要使用远程服务器上的地址

在开发者工作使用本地文件可以播放,但在手机预览或体验版时不能播放,报错:uncaught(in promise)。

 

其它后续更新。

以下是我的代码:

wxml
<audio id=”myAudio” src=”http://www.xxx.com/broken.mp3″ loop=”false” ></audio>
js
this.audioCtx = wx.createAudioContext(‘myAudio’);
this.audioCtx.play();
//播放指定时间后停止
setTimeout(function () {
that.audioCtx.pause();
},1000);
头像

微信小程序动态改变导航栏标题和背景颜色

1、动态的改变标题字体和背景颜色

.wxml文件:

<view class=”container”>

<button type=”primary” bindtap=”modalcnt1″>改变标题1</button>

<button type=”primary” bindtap=”modalcnt2″>改变标题2</button>

<button type=”primary” bindtap=”modalcnt3″>改变标题3</button>

</view>

.wxss文件:

button{margin: 10px}

.js文件:

Page({

data: {},

modalcnt1: function() {

wx.setNavigationBarTitle({

title: ‘——百家号(标题1)——‘,});

},

modalcnt2: function() {

wx.setNavigationBarTitle({

title: ‘******百家号(标题2)******’,});

},

modalcnt3: function() {

wx.setNavigationBarTitle({

title: ‘++++++百家号(标题3)++++++’,});

},})

 

2、动态的改变标题背景颜色

.wxml文件:

<view class=”container”>

<button type=”primary” bindtap=”modalcnt1″>改变标题背景颜色为米白</button>

<button type=”primary” bindtap=”modalcnt2″>改变标题背景颜色为灰色</button>

<button type=”primary” bindtap=”modalcnt3″>改变标题背景颜色为雅红</button>

</view>

.wxss文件:

button{margin: 10px}

.js文件:

const app = getApp()

Page({

data: {},

modalcnt1: function() {

wx.setNavigationBarColor({

frontColor: ‘#000000′,

backgroundColor: ‘#ffa’,

animation: {

duration: 500,

timingFunc: ‘linear’}});},

modalcnt2: function() {

wx.setNavigationBarColor({

frontColor: ‘#000000′,

backgroundColor: ‘#ccc’,

animation: {

duration: 500,

timingFunc: ‘linear’}});},

modalcnt3: function() {

wx.setNavigationBarColor({

frontColor: ‘#000000′,

backgroundColor: ‘#f20′,

animation: {

duration: 500,

timingFunc: ‘linear’}});},})

 

 

头像

关于微信小程序设置背景图片不显示问题

在小程序开发的时候,设置页面的背景,css代码如下:

.bgp{ width: 100%; height: 220px; background: url(‘../img/images.jpg’) no-repeat; background-size: 100% 100%; }

或者换成行内来实现,在调试工具上都是可以显示的,但是扫面上传到手机上却显示不出来,这是为什么呢?

这是由于:background-image 只能用网络url或者base64图片编码 , 本地图片只能用 image标签src属性才行。当然 image标签src属性也可以使用网络url或者base64图片编码。

下面通过 image 标签src属性设置,实现背景图显示

<image src=”/assets/images/timg.jpg” class=”bgp”></image>
wxss样式:
.bgp{
position:fixed;
width:100%;
height:100%;
z-index:-1;
opacity:0.8;
}
头像

微信小程序拾色器(颜色选择器)组件 we-color-picker

安装使用

git

git clone https://github.com/KirisakiAria/we-color-picker.git

将项目中src目录下的全部文件拷贝到/components/color-picker中,在使用该组件的页面对应json文件中添加:

"usingComponents": {
    "color-picker":"/components/color-picker/color-picker"
}

截图示例

仿照PS的色相立方体制作而成

小程序颜色选择器

 

WXML

<color-picker class="color-picker" colorData="{{colorData}}" rpxRatio="{{rpxRatio}}" bindchangecolor="onChangeColor"></color-picker>

可能导致错误的样式问题

❗❗ color-picker自身和其祖先元素切勿使用定位样式(除非拾色器右上角与页面右上角重合的特殊情况),否则将导致拾色器选择点位置错误。

参数

colorData: {
    //基础色相,即左侧色盘右上顶点的颜色,由右侧的色相条控制
    hueData: {
        colorStopRed: 255,
        colorStopGreen: 0,
        colorStopBlue: 0,
    },
    //选择点的信息(左侧色盘上的小圆点,即你选择的颜色)
    pickerData: {
        x: 0, //选择点x轴偏移量
        y: 480, //选择点y轴偏移量
        red: 0, 
        green: 0,
        blue: 0, 
        hex: '#000000'
    },
    //色相控制条的位置
    barY: 0
},
rpxRatio: 1 //此值为你的屏幕CSS像素宽度/750,单位rpx实际像素


//设置rpxRatio
wx.getSystemInfo({
    success(res) {
        _this.setData({
            rpxRatio: res.screenWidth / 750
        })
    }
})

事件

//选择改色时触发(在左侧色盘触摸或者切换右侧色相条)
onChangeColor(e) {
    //e.detail.colorData与参数中的colorData一致
}

多个拾色器的情况

WXML

<color-picker data-id="0" class="color-picker" colorData="{{colorData0}}" rpxRatio="{{rpxRatio}}" bindchangecolor="onChangeColor"></color-picker>
<color-picker data-id="1" class="color-picker" colorData="{{colorData1}}" rpxRatio="{{rpxRatio}}" bindchangecolor="onChangeColor"></color-picker>
<color-picker data-id="2" class="color-picker" colorData="{{colorData2}}" rpxRatio="{{rpxRatio}}" bindchangecolor="onChangeColor"></color-picker>
<!--More...-->

JS

//设置多个参数即可
colorData0: {
    //...
},
colorData1: {
    //...
},
colorData2: {
    //...
},
//More...

onChangeColor(e) {
    //这里我使用了dataset来存储标志,用来判断时哪个拾色器发生变化
    const index = e.target.dataset.id
    this.setData({
        [`colorData${index}`]: e.detail.colorData
    })
}

 

文章转自:https://developers.weixin.qq.com/community/develop/doc/00084ae5e400a8ae58e78263553c06

头像

小程序 navigator 和 API中wx.的跳转(如 wx.navigateTo、wx.reLaunch等)

navigator 和 各种跳转API的区别:
  • wx.navigateTo  用于保留当前页面、跳转到应用内的某个页面,使用 wx.navigateBack可以返回到原页面。对于页面不是特别多的小程序,通常推荐使用 wx.navigateTo进行跳转, 以便返回原页面,以提高加载速度。当页面特别多时,则不推荐使用。

 

  • wx.redirectTo  当页面过多时,被保留页面会挤占微信分配给小程序的内存,或是达到微信所限制的 5 层页面栈。这时,我们应该考虑选择 wx.redirectTo。wx.redirectTo()用于关闭当前页面,跳转到应用内的某个页面。这样的跳转,可以避免跳转前页面占据运行内存,但返回时页面需要重新加载,增加了返回页面的显示时间。

 

  • wx.reLaunch   wx.reLaunch()与 wx.redirectTo()的用途基本相同, 只是 wx.reLaunch()先关闭了内存中所有保留的页面,再跳转到目标页面。

 

  • wx.switchTab  对于跳转到 tab bar 的页面,最好选择 wx.switchTab(),它会先关闭所有非 tab bar 的页面。其次,也可以选择 wx.reLaunch(),它也能实现从非 tab bar 跳转到 tab bar,或在 tab bar 间跳转,效果等同 wx.switchTab()。使用其他跳转 API 来跳转到 tab bar,则会跳转失败。

 

  • wx.navigateBack  用于关闭当前页面,并返回上一页面或多级页面。开发者可通过 getCurrentPages() 获取当前的页面栈,决定需要返回几层。这个 API 需要填写的参数只有 delta,表示要返回的页面数。若 delta 的取值大于现有可返回页面数时,则返回到用户进入小程序的第一个页面。当不填写 delta 的值时,就默认其为 1(注意,默认并非取 0),即返回上一页面。
 如若有误,欢迎指正~
头像

微信小程序中Date.parse()获取时间戳IOS显示为NaN

在google的时候才知道是这么个问题,ios系统不支持2018-03-29这样格式的时间导致出现的这个问题,IOS只识别2018/03/09这样的格式。那么这样也好办,正则匹配替换一下试试。
原来的是


var data = ‘2018-03-09 12:00:00′
var countDown = Date.parse(new Date(data ))


用正则匹配改一下


var data = ‘2018-03-09 12:00:00′
var format = data.replace(/-/g, ‘/’)
var countDown = Date.parse(new Date(format))


然后再去测试一下,安卓、IOS、开发者工具也都能正常的显示了 ~ 总结一下这个问题应该就是Date.parse()在不同浏览器和设备上的偏差

头像

微信 URL Scheme详细参数

“weixin://dl/stickers”
“weixin://dl/games”
“weixin://dl/moments”
“weixin://dl/add”
“weixin://dl/shopping”
“weixin://dl/groupchat”
“weixin://dl/scan”
“weixin://dl/profile”
“weixin://dl/settings”
“weixin://dl/general”
“weixin://dl/help”
“weixin://dl/notifications”
“weixin://dl/terms”
“weixin://dl/chat”
“weixin://dl/features”
“weixin://dl/clear”
“weixin://dl/feedback”
“weixin://dl/faq”
“weixin://dl/recommendation”
“weixin://dl/groups”
“weixin://dl/tags”
“weixin://dl/officialaccounts”
“weixin://dl/posts”
“weixin://dl/favorites”
“weixin://dl/privacy”
“weixin://dl/security”
“weixin://dl/wallet”
“weixin://dl/businessPay”
“weixin://dl/businessPay/”
“weixin://dl/wechatout”
“weixin://dl/protection”
“weixin://dl/card”
“weixin://dl/about”
“weixin://dl/blacklist”
“weixin://dl/textsize”
“weixin://dl/sight”
“weixin://dl/languages”
“weixin://dl/chathistory”
“weixin://dl/bindqq”
“weixin://dl/bindmobile”
“weixin://dl/bindemail”
“weixin://dl/securityassistant”
“weixin://dl/broadcastmessage”
“weixin://dl/setname”
“weixin://dl/myQRcode”
“weixin://dl/myaddress”
“weixin://dl/hidemoments”
“weixin://dl/blockmoments”
“weixin://dl/stickersetting”
“weixin://dl/log”
“weixin://dl/wechatoutcoupon”
“weixin://dl/login/phone_view”
“weixin://dl/login/common_view”
“weixin://dl/businessPay”
“weixin://dl/businessTempSession/”
“weixin://dl/businessGame/detail/”
“weixin://dl/businessGame/detail”
“weixin://dl/businessGame/library/”
“weixin://dl/businessGame/library”
“weixin://dl/businessWebview/link/”
“weixin://dl/businessWebview/link”
“weixin://dl/business/tempsession/”
“weixin://dl/businessTempSession/”
“weixin://dl/business”
“weixin://dl/wechatout”
“weixin://dl/update_newest_version”
“weixin://dl/moments”
“weixin://dl/recommendation”

头像

【已解决】curl: (60) SSL certificate : unable to get local issuer certificate

今天在做微信公众号项目时,在授权获取用户信息时出现:curl: (60) SSL certificate : unable to get local issuer certificate

此问题的出现是由于没有配置信任的服务器HTTPS验证。默认,cURL被设为不信任任何CAs,就是说,它不信任任何服务器验证。因此,这就是浏览器无法通过HTTPs访问你服务器的原因。

解决此问题只需三步:

1、通过以下地址下载证书:https://curl.haxx.se/ca/cacert.pem

2、在php.ini 中修改 curl.cainfo 如:curl.cainfo = “E:\cacert.pem”

3、 重启web服务器

头像

微信加人有哪些方法技巧

现在越来越多的朋友做起了微信营销创业,打开朋友圈偶尔就会看见有一些产品的图片更新信息,看看图片和产品,确实有不少物品确实很让人心动!但是产品再好,如果关注的人数有限,那么再好的产品也是不会有好的销量!在微信营销当中,好友数量可以说是决定我们成效是否的一个非常大的关键。而很多人也不断的变换各种招式!在微信5.1出来以后,发送加好友的请求次数频繁之后就被微信屏蔽,这样别人就看不到您加他为好友的信息。不管在这之前还是以后,“加好友”还是一个重中之重的环节。

首先我们了解下腾讯的限制:

1.发送好友请求限制

当你在搜索微信号加人的时候,会有限制。搜索20个微信号左右就会出现查找失败!

2.附近的人限制

大量人使用微信站街加好友,已经被腾讯限制。一个微信号只能正常打50下,你搜索附近的人发大量好友请求,一般只有十几个人同意,因为发送几个之后限制了,请求并没有发出去。打附近人技巧,想加女性的用,帅哥性别,帅哥头像,够帅的昵称,够帅的打招呼、比如昵称叫“广东的李哥哥”虽然俗但给人靠谱的感觉,加男性就用女性性别,美女的头像,美女的签名,够美的打招呼,比如“北京的刘亦菲”虽然俗但很真,先加到人加营销

3.通讯录导入

传统方法,手机大量手机号进行通讯录导入,加好友。同样限制了数量,每天只能加十几个。

4.扫描群二维码限制

一分钟连续扫描10个以上微信群二维码,再扫会提示二维码已过期,停几分钟可以再扫。如果连续几次出现二维码已过期,需要半小时后再扫

总之,无论你用任何方法加好友,都会限制。因为腾讯限制每个账号每天发送好友请求数量,请求发十几个就被拦截。

常见加微信好友方法:

(1)添加微信号/QQ/手机号

方式:每天第一个小时可以加20个,以后每小时可以加发几个

技巧:使用通讯录先过滤手机号,保证90个号码全部开通微信。

方式:每个QQ每天可以加好友数为50

技巧:添加目标客户QQ群,每个群先说话,先加为QQ好友,再将QQ好友转化为微信好友。

(2)自己建群

将二维码发布到目标人群,再把目标人群加为微信好友

(3)添加手机联系人

方式:添加微信手机号码给你技术导入2万上下的手机号码,用5个微信循环发送30个好友请求即可,发多了没用会被屏蔽。

手机导入10000个号,如有1000人开了微信,只显示200,你一天发200邀请,收到显示得大约在30人.然后每天都会有新得电话好友出现

(4)微信群加人

方式:主动加入别人群,加群内人为好友 。用5个微信循环发送50个好友请求,每个微信号隔一个小时然后再发送请求。

(5) 社交媒体发帖,让别人主动加你为好友

方式:发帖同时标注上自己的微信号和微信二维码,记为M5(数量不能评估,根据推广质量判断)

技巧:帖子一定要有权威性、诱惑力、价值力和紧迫感,最关键是抓住目标的痛点 最火社交网站

百度贴吧 天涯论坛 豆瓣 等等,效果好的话会有很多人加你

(6)摇一摇规则

第一次用可以摇到10个,最好是凌晨一两点,一次可以摇10个左右。切记一摇几十次是没用的!

一般摇三五次就会被屏蔽,你好友请求都发不出去的!要三次之后每过一个小时要一次即可!

了解了以上规则之后我们就卡着规则来,群里自动加人5个微信每个加几十个,然后附近的5个微信加每个微信能加十几个,通讯录加10个,再去搜号码,然后去再去软件5个微信自动摇一摇!再去自动验证,这样可以加几十个 只是发送了好友请求并不代表你能加到这么多人,因为需要验证,有人会同意有人不同意。

下面我们说一下,如何突破腾讯限制。

那就是让别人主动加你!只有这样不限制.

1、吸引别人加您为好友—微信群

现在微信群就跟QQ群一样普及,每个人的微信上总有那么几个群,如果是做微营销的人,那是更多,那么如果每天自己主动加别人,可能受几十人的限制,如果要突破限制,唯一的办法就是让别人来加您。

案例实战分享:

加大量群,挂个漂亮女孩头像即可!可以跟你朋友换群。

用这个方法1个小时加了两百多人。

这个方法会被踢,如果不想被踢就聊聊天即可。

5个微信账号循环向每个群里发信息

有帅哥吗?陪我聊聊天!

失恋了,求安慰!

怎么办,明天放假无聊,想出去完

这样不会被踢的,并且大把人主动加你好友!

发图片!发一些写真发到群里即可,群里百分之60的人会加你。本人亲测30个群一晚上加了7百人!

2.其他社交平台引流:

用陌陌搜附近的群进群加好友,或直接发到群里:我不经玩陌陌,请联系微信,朋友圈也发类似的配图片的说说,让他们加你微信号,这个方法每天可加一百五到两百好友

3.来往账号引流:

按住雷达不发,到一百个人的时候加一下,按住不放。大概每天一个号可以加一千个好友每天。实际导入微信的好友是200到300之间。

实战效果:多开3个来往账号按住雷达,一天加4000来往好友,导入微信800人。

个性签名:来往不常玩,加我微信

再用我们的手机营销软件自动通过验证需要购买的联系微信

或者加为好友之后有人私聊你聊天的,你回一句:来往不常玩,加我微信聊天吧!嘻嘻!基本百分之八十的人会加一下

ps:适合男性,女性欠佳