1】提醒自己:微信接口一般配置在域名下面,开发的时候使用本地访问会跨域访问不到。因此关于微信(如分享朋友圈,分享好友,屏蔽朋友圈,屏蔽分享好友等一系列操作时),注意不跨域,不然不管怎么修改都无法检测内容。在这里坑好久,又没有弹什么提示,留意下,提醒自己。原来都是运行tomcat,然后使用本地地址手机访问都失效,注意访问的地址地址头部要跟配置微信接口地址一样,才能看到效果(微信的授权验证拦截)。
2】分享模块
(1)禁止微信右上角某些功能(如禁止发朋友圈,详情见官网,引入功能hideMenuItems,再调用)
wx.config({
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId:appId, // 必填,公众号的唯一标识
timestamp:timestamp , // 必填,生成签名的时间戳
nonceStr: nonceStr, // 必填,生成签名的随机串
signature: signature,// 必填,签名,见附录1
jsApiList: [ 'checkJsApi',
'hideMenuItems',
'showMenuItems',
] // 必填,需要使用的JS接口列表
});
wx.ready(function() {
wx.hideMenuItems({
menuList:['menuItem:share:timeline']
});
})
(2)分享给别人的页面逻辑:注意不使用session进行数据获取,被分享人看到的页面会有数据缺失因为没session数据
3】制作头部横向滚动tab的时候,需要把tab模块置于div(需要实际宽度,不能百分比)中,需要动态设置tab宽度,而且不能是百分比,需要具体单位如px,这样超出才能显示横向滚动条
4】关于微信自动定位location的调用,有时候需要在获取经纬后才执行一些操作,由于ajax请求是异步,有时候设置了async:false也不太起作用。逻辑的顺序执行,先定位,后处理,可以在定位中添加标识字段,请求结束设置为true;后续逻辑处理添加时间函数setInterval实时判断,一旦字段为true,则开始执行逻辑(注意清除时间函数)