点击修改(如果是第一次添加,按钮文案记得不是“修改”),进入如下页面:
首先,把*.txt文件下载到本地,如果打开该文件,可以看到只有一串字符串,如下:
首先时安全域名:
注意:此文件在每个月只支持修改三次,所以要谨慎啊,不然就得等到下个月了;
一般如果没有配置负载均衡的时候,把此文件放到tomcat的webapps目录下之后,即可保存安全域名;
但是在配置了之后可能会出现404的问题,这是又两种就解决方案,
一种就是在你配置负载均衡之前将安全域名保存好;
另一种就是遵从nginx的配置,第一种就不多说了,直接将相应的文件保存在相应的文件夹下即可;
来看看第二种:
首先来看看nginx的安装目录:
1查nginx进程信息,找到nginx全局配置:ps-ef|grepnginx
2查看nginx全局配置具体信息:cat/data/server/nginx/conf/nginx.conf
找到具体配置文件,实在配置文件的include语句之中,若是你的root时直接在配置文件当中去配置的,则直接在这个配置文件当中去修改即可,
若是包含进来的,则查看nginx默认配置文件default.conf,找到根路径;
如下入所示我们找的就是这个文件目录:
如上图,nginx监听8080端口
root即为根路径;
我们简单介召一下nginx的配置文件:
以下例子展示来说明:
回归正题:
再找到root目录之后:把MP_verify_*.txt文件放到此根路径即可
至此配置完成;
因为服务器使用nginx做代理,所以直接添加几行配置,即可达到目的。
配置如下:
server{listen80;server_name域名;location/txt文件名{default_typetext/html;return200'txt文件内容';}}上面配置的意思为:监听80端口,如果有请求进来,且域名为目标域名,然后请求的uri为txt文件名,那么返回txt文件内容。
配置完成后:
一般出现这个错误多半是签名获取失败,而造成签名获取失败的原因各种各种,余斗在开发的时候也遇到过这种情况,搜索了不少网上教程,解决了自己的问题。接下来,余斗将这些解决方法统一整理列出来,希望可以帮到大家:
1、APPID和APPSECRET填错
这个错误可以到官方的调试页面获取access_token看看是否是正确,点击获取获取access_token
根据返回的结果可以判断页面内的APPID和APPSECRET有没有出错,没有出错的话可以点击获取jsapi_ticket
点击进行确认签名算法校验
点击查看全局返回码说明
2、超过了每日的access_token获取上限
官方限定每日2000次请求,所以如果没有缓存access_token的话,还是比较容易过限的。
比如验证过期了,被封禁了等。
4、确认config中nonceStr
js中驼峰标准大写S,timestamp与用以签名中的对应noncestr,timestamp一致。
5、确认url是页面完整的url
找到官方提供的jssdk.php,找到代码:
curl_setopt(curl,CURLOPTSSLVERIFYPEER,true);curlsetopt(curl,CURLOPT_SSL_VERIFYPEER,true);curl_setopt(curl,CURLOPTSSLVERIFYPEER,true);curlsetopt(curl,CURLOPT_SSL_VERIFYHOST,true);
7、将网站所在服务器IP地址加入白名单
8、反向代理问题
如果以上查验绝没有解决问题,则查看下自己的服务器是否反向代理没有设置好,nginx配置反向代理代码:
问题就这样解决了
(4)确认config中的appid与用来获取jsapi_ticket的appid一致。
(5)确保一定缓存access_token和jsapi_ticket。
(3)确认config的jsApiList参数包含了这个JSAPI。
点击右上角,名字的位置,在这个位置,新版的就已经可以看到了是否是订阅号还是服务号了,但是老版的是没有的。如图所示
进去后,可以看到类型,上面显示什么就是什么类型,这里是服务号,如图所示。在这个位置你还可以看到是否经过认证了
服务号和订阅号还是有很大的不同的,有很多的功能都不一样的
所以是否选择服务号还的根据自己的需求来选择,不能盲目跟风,觉得服务号好就要服务号
调用config接口的时候传入参数debug:true可以开启debug模式,页面会alert出错误信息。以下为常见错误及解决方法:
invalidurldomain:当前页面所在域名与使用的corpid没有绑定(可在该应用的可信域名中配置域名)。
thepermissionvalueisofflineverifying或者fail_nopermission:这个错误是因为config没有正确执行,或者是调用的JSAPI没有传入config的jsApiList参数中。建议按如下顺序检查:1)确认config正确通过。2)如果是在页面加载好时就调用了JSAPI,则必须写在wx.ready的回调中。3)确认config的jsApiList参数包含了这个JSAPI。
permissiondenied:该应用没有权限使用这个接口。
functionnotexist:当前客户端版本不支持该接口,请升级到新版体验。
服务上线之后无法获取jsapi_ticket,自己测试时没问题:因为access_token和jsapi_ticket必须要在自己的服务器缓存,否则上线后会触发频率限制。请确保在服务上线前一定全局缓存access_token和jsapi_ticket,两者有效期均为7200秒(以返回结果中的expires_in为准),否则一旦上线触发频率限制,服务将不再可用。
uploadImage怎么传多图:目前只支持一次上传一张,多张图片需等前一张图片上传之后再调用该接口。
没法对本地选择的图片进行预览:chooseImage接口本身就支持预览,不需要额外支持。
出现config:fail错误:这是由于传入的config参数不全导致,请确保传入正确的appId、timestamp、nonceStr、signature和需要使用的jsApiList。
绑定父级域名,是否其子域名也是可用的:是的,合法的子域名在绑定父域名之后是完全支持的。
是否需要对低版本自己做兼容:jssdk都是兼容低版本的,不需要第三方自己额外做更多工作,但有的接口是新引入的,只有新版才可调用。
getLocation返回的坐标在openLocation有偏差,因为getLocation返回的是gps坐标,openLocation打开的腾讯地图为火星坐标,getLocation也可以直接获取火星坐标。