微信票选项目遇到的坑
第一次带微信的项目,遇到好多坑,整理一下,提醒自己和大家以后尽量避免再掉入相同的坑,哈哈。
1.微信公众平台->公众号设置->功能设置 里面的业务域名和js接口安全域名每月只能修改3次!
业务域名:
设置业务域名后,在微信内访问该域名下页面时,不会被重新排版。用户在该域名上进行输入时,不出现防盗的安全提示。
js接口安全域名:
设置JS接口安全域名后,公众号开发者可在该域名下调用微信开放的JS接口。
这里要注意,这两项每一项都可以设置3个域名,但是所谓的每个月能修改3次是两项加一起能修改3次,而不是每项都能修改3次。
2.参赛人报名的时候需要上传图片,大的图片上传失败!
在测试服务器上没有发现次问题,一到正式环境,超过1M的图片都会上传失败。
经过各种找,发现原来是Nginx的配置问题,Nginx模式配置限制了上传文件的大小为1Mb,所以修改nginx.conf就OK了。
在http{}对象中添加属性:client_max_body_size 20M;
3.通过域名访问页面无法读取js和css文件,并报ERR_CONTENT_LENGTH_MISMATCH错误,但是通过ip访问没问题!
问题描述跟这个哥们一样,但解决方案跟他有所不同,直接关闭了nginx的缓存。应该有更好的解决办法,但是按各种帖子都没有解决问题。
设置 proxy_buffering off;
server { listen 80; server_name xxx.xxx.com; location / { root html; index index.html index.htm; proxy_buffering off; proxy_pass http://vote.hunpar.com; proxy_next_upstream error invalid_header http_500 http_503 http_404; } error_page 500 502 503 504 /50x.html; #location = /50x.html { # root html; #} location ~ .*/\.(css|js)$ { add_header Cache-Control 'no-store'; } }
4.数据库连接数过几个小时就满了,没有及时释放!
照理说按照Mybatis模式设置不会有此问题,但是。。。哈哈,还是没配置对。
在jdbc.properties里添加属性:
#初始化连接- jdbc.initialSize=10 #最大连接数量 jdbc.maxActive=200 #最小空闲连接 jdbc.minIdle=10 #最大空闲连接 jdbc.maxIdle=20 #是否自动回收超时连接 jdbc.removeAbandoned=true #超时时间(以秒数为单位) jdbc.removeAbandonedTimeout=60 #超时等待时间以毫秒为单位 6000毫秒/1000等于60秒 jdbc.maxWait=3000
在spring.xml里添加配置
<!-- 配置用户库DataSource数据源--> <bean id="ali_dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="${jdbc.driver}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.user}" /> <property name="password" value="${jdbc.password}" /> <!--initialSize: 初始化连接--> <property name="initialSize" value="${jdbc.initialSize}" /> <!--maxIdle: 最大空闲连接--> <property name="maxIdle" value="${jdbc.maxIdle}" /> <!--minIdle: 最小空闲连接--> <property name="minIdle" value="${jdbc.minIdle}" /> <!--maxActive: 最大连接数量--> <property name="maxActive" value="${jdbc.maxActive}" /> <!--removeAbandoned: 是否自动回收超时连接--> <property name="removeAbandoned" value="${jdbc.removeAbandoned}" /> <!--removeAbandonedTimeout: 超时时间(以秒数为单位)--> <property name="removeAbandonedTimeout" value="${jdbc.removeAbandonedTimeout}" /> <!--maxWait: 超时等待时间以毫秒为单位 6000毫秒/1000等于60秒--> <property name="maxWait" value="${jdbc.maxWait}" /> <property name="validationQuery"><value>SELECT 1</value></property> <property name="testOnBorrow"><value>true</value></property> </bean>
就OK了。
整理到此,大家如遇相同问题,希望可以有所帮助,有更好的解决方案希望大家留言,一起研究讨论。