前言:
未来我们微信公众号要发展强大,阅读量要爆,粉丝要多,得把公众号聚焦一个点上,所以新的一年要出精品,要出质量更高的文章,必须获得广大读者们的认同,既能盈利赚钱,还能发展公众号的粉丝,我们公众号从1个人到现在的300多人很不易,所以未来要布局多方位的渠道,想把公众号实现盈利是非常困难的,也是非常简单的,实体也要有,公众号只是媒体,还得做实体内容,所以未来规划很重要,到底我们公众号做什么类型也很重要,要实现价值,更要实现盈利,公众号的文章质量是必须要有的,实体真实也更要具备的。所以说在新的一年里,在接在励,感谢读者的关注与支持。向未来的目标所付出行动努力。既能让读者感受文章带来的益处,还能让读者们从现实相互活动,相互交流深度的思想,从现实角度出发实现双赢。
服务号与订阅号
微信公众号开发是针对某个产品进行的业务面向用户提供服务的渠道,建议选择服务号,而不是订阅号,个人理解 服务号的对象为企业,订阅号的对象为个体.
前端开发微信公众号官方的API文档
开发常遇坑
场景一:用户进入界面需要授权环节(看项目需要),有时会出现各种问题,其实总体的来讲造成出现问题有以下两种原因
一:需要在微信公众平台配置项目中访问的域名及请求的域名放在JS安全域名列表中,这时候应该会让你下载微信的一个 .TXT文件作为认证,一定要放在可访问的服务器根目录下,一定要配好!!!! 这样你才能调用微信JSSDK提供的API文档哟!
二:现实往往是残忍的,那就是你代码的问题。
如果已上两种都解决了,那么就直接撸代码吧!!!
//此地址由官网API提供,重定向之后会跳转到你指定的位置 会在url中有相关的code参数,正常来讲 你拿到code传给后端 调用接口 会返回当前用户授权的信息
`https://open.weixin.qq.com/connect/oauth2/authorize?appid=你开发需要的appid&redirect_uri=http://wechat.mypeugeot.com.cn/wxapi/Home/index/getUserInfoNew?redirectUrl=你开发重定向的域名&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect`
//获取当前url参数方法 name为参数key,url为获取地址
function getQueryString(name,url) {
return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(url) || [, ""])[1].replace(/\+/g, '%20')) || null
}
//调用
getQueryString('code', window.location.href)
tip:如果是vue项目切记需要将你的url encodeURIComponent一下不然可能出现问题(具体看项目)。
场景二:有时当前界面需要分享到外界给其他用户浏览,这时也会出现各种问题,其实总体的来讲造成出现问题有以下两种原因
一:需要在微信公众平台配置业务域名、ip白名单,一定要配好!!!! 这样你才能调用微信JSSDK提供的API文档哟!
二:残忍的往往发生在现实中,那就是你代码的问题。
如果已上两种都解决了(切记!一定要分享不带#的地址,不然会出现问题,有的同学可能会将 可我的项目是vue的 链接地址必须带# 所以不要慌,不用讲你项目中router更改方式,这时候你需要encodeURIComponent一下url,或者写个中转界面 通过某种约定的值 二次重定向界面)
那么就直接撸代码吧!!! 哦了,代码请翻我之前的写的
vue全局封装微信公众号分享模块
场景三:有时你会发现你的公众号项目在用户手机上布局或者文字会错乱,这时候你千万别慌 不要为了改变现状去修改你大片的代码,出现这种原因可能是 解决方案代码如下:
// 禁止在微信环境下跟随用户调节手持设备文字大小改动
(function() {
if (typeof WeixinJSBridge == "object" && typeof WeixinJSBridge.invoke == "function") {
handleFontSize();
} else {
if (document.addEventListener) {
document.addEventListener("WeixinJSBridgeReady", handleFontSize, false);
} else if (document.attachEvent) {
document.attachEvent("WeixinJSBridgeReady", handleFontSize);
document.attachEvent("onWeixinJSBridgeReady", handleFontSize); }
}
function handleFontSize() {
// 设置网页字体为默认大小
WeixinJSBridge.invoke('setFontSizeCallback', { 'fontSize' : 0 });
// 重写设置网页字体大小的事件
WeixinJSBridge.on('menu:setfont', function() {
WeixinJSBridge.invoke('setFontSizeCallback', { 'fontSize' : 0 });
});
}
})();
场景四:有那么一种情况,有时候你不想用户在输入时输入特殊字符,可能你会用到其他的插件或者UI库之类的虚拟键盘作为你采集信息的主要渠道,那么怎么去禁止用户系统的虚拟键盘抬起呢? 废话少说,老夫就是直接干代码!
html部分:
<input type="text" id="datePicker" placeholder="这是一个输入框"/>
js部分:
//是不是很 soeasy呢?!
$("#datePicker").focus(function(){
document.activeElement.blur();
});
场景五:输入框下面会有内容,结果发现虚拟键盘弹起 你的输入框却被死死的遮住,像似刚做完坏事的猪一样,只要你输入弹起手机键盘就会被遮住,解决方案如下,直接撸代码!
//看见 $ 的同学不要慌 这是你们家最熟悉的JQUERY,原理其实很简单 看代码就会懂!
var winHeight = $(window).height(); //获取当前页面高度
console.log(winHeight)
$(window).resize(function(){
var thisHeight=$(this).height();
if(thisHeight <winHeight){
//当软键盘弹出,在这里面操作 做你想做的坏事情 哈哈
Toast('弹起')
}else{
//当软键盘弹出,在这里面操作 做你想做的坏事情 哈哈
Toast('收起')
}
});