阿里巴巴,SUI:http://m.sui.taobao.org/
微信,WEUI:https://weui.io/
jquery-weui:http://lihongxun945.github.io/jquery-weui/
足迹,留给未来的自己
阿里巴巴,SUI:http://m.sui.taobao.org/
微信,WEUI:https://weui.io/
jquery-weui:http://lihongxun945.github.io/jquery-weui/
一个普通的web页面,PC访问正常,微信浏览器访问时,偶尔出现加载css文件404错误(可css文件是可以正常访问的,且此现象多刷新几次页面可能就正常了)
可能有效的解决方式:(至少对我来说有效)
加载CSS样式文件时,尽量放在head标签中,尽量在加载js文件前加载css文件
使用weui的switch样式元素时,判断其开关状态的方式如下:
1 2 3 4 5 6 7 |
<input class="weui_switch" type="checkbox" checked="" /> <script type="text/javascript"> $('.weui_switch').change(function(event) { console.log($(this).is(':checked')); }); </script> |
在使用微信API接口时,若curl返回错误码为28,超时。则考虑以下几点:
a. 是否存在跨运营商访问的情况,详见网络超时的定位
可以ping api.mch.weixin.qq.com查询对应的解析IP
通过访问ip.qq.com获取取口IP,也可以根据商户侧服务器的外网IP确认
b. 是否使用的阿里云主机
由于阿里云使用的BGP,需要确认解析出来的IP是否为182.254.44.159,否则需要调整DNS设置,使用阿里本身的DNS服务器
c. 是否使用curl库访问
需要指定参数使用ipv4,具体可参考http://www.jb51.net/article/39788.htm
d. 确认java程序使用的HttpClient的版本是否<=4.3.4
可升级HttpClient到4.3.6版本
参考:https://pay.weixin.qq.com/wiki/doc/api/cash_coupon.php?chapter=11_2
在使用微信支付API时,若curl返回的错误代码为58,一般与SSL安全策略有关。使用curl时,需指定使用SSL高版本参数信息:
1 |
curl_setopt($curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1); |
注意,使用以上信息要求,php版本不低于5.2,curl版本不低于7.21
参考:
https://mp.weixin.qq.com/cgi-bin/announce?action=getannouncement&key=1414562353&version=11&lang=zh_CN
https://binsee.github.io/wechat-php-sdk/2014/201411032325/
开通步骤:
①安装Discuz 3.2及以上版本
②在“应用中心”中安装“微信登录”、“掌上论坛”
③设置“微信登录”,若微信社区状态一直处于“未开通状态”,尝试录入服务器IP地址;若一直处于“开通中”状态,在以下链接中激活,激活后,微社区会处于“已开通”状态。(若仍然无法打开,看‘已开通’状态旁是否有‘重试’链接,点击它既可)。
激活微社区链接:http://www.discuz.net/thread-3586059-1-1.html
在做微信素材管理接口开发时,有以下几点要注意:
①微信要求传递的数据类型为JSON,若数据中存在中文,在使用json_encode时要记得使用第二个参数( json_encode('包含中文的内容', JSON_UNESCAPED_UNICODE); ),否则中文被用unicode编码编译后,会变成一堆’u32…’的字符,使用时会有麻烦(微信不认识被unicode编码的中文)。
备注:只有PHP版本大于等于5.4版时,json_encode才支持第二个参数。
②上传永久性图文素材时,涉及到的图片media_id必须是通过以下‘上传永久性图片类型素材’接口得到的图片media_id,与‘上传临时图片的media_id’不同。
③上传永久性图片类型素材时,接口为‘http://api.weixin.qq.com/…’,官方文档中提到的‘http://file.api.weixin.qq.com/…’不正确。
④上传永久图文信息时,正常情况下,使用接口上传后,在微信后台可以看到图文式的内容,若微信编辑器无法识别html标签(即微信编辑器里都是些代码似的东西),可以考虑使用html_entity_decode()函数。(最后,提交json格式的数据时,使用json_encode(‘素材数组型内容’,JSON_UNESCAPED_SLASHES|JSON_UNESCAPED_UNICODE);)
具体测试方法是,使用var_dump()函数打印出在你的编辑器中录入的内容,若浏览器可以识别html标签,则正确;若不能,则在微信编辑器中也无法识别。对比如下
代码一: var_dump($item['content']);var_dump($item2['content']);exit;
效果一(微信编辑器也无法识别):
代码二: var_dump(html_entity_decode($item['content']));var_dump($item2['content']);exit;
【参考:】
关于json_encode: http://www.laruence.com/2011/10/10/2239.html
在开发微擎应用模块时,若前端需要加载jquery, util, bootstrap等资源,需要优先加载jquery,否则会出现资源无法使用的现象。
使用微信官方提供的API接口,实现上传多媒体文件或素材管理。
1 2 3 4 5 6 7 8 9 10 11 |
$file = '@D:\hello.jpg'; //或者 $file = '@/var/www/hello.jpg' $url = 'https://api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE';//其中,ACCESS_TOKEN和TYPE要根据具体情况填写,详细参考下面的【参考】链接 $ch = curl_init(); $data = array('media'=>$file); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_POST, 1 ); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $s = curl_exec ($ch); curl_close($ch); var_dump($s); |
备注:注意$file参数,文件的绝对路径前要加符号’@’。
【参考:】
http://mp.weixin.qq.com/wiki/5/963fc70b80dc75483a271298a76a8d59.html
http://www.tuicool.com/articles/JzURz2