微信公众平台修改服务器,微信公众平台开发配置及自定义分享
刚刚做了微信的自定义分享,折腾了好一会,完了记个笔记。
微信JS-SKD说明文档
本次测试需要:通过ICP备案的域名、已认证的微信公众号
配置篇
1.设置》公众号设置》功能设置》JS接口安全域名
直接将域名填写进入就好,可以是yeli.studio ,也可以是abc.yeli.studio。此时是无法保存的,需要将MP_verify_XWsldS5dzRvbRcvT.txt下载下来拷贝到域名根目录下面,待会点击保存的时候,微信会通过链接:abc.yeli.studio/MP_verify_XWsldS5dzRvbRcvT.txt来验证是否可以访问。
补充:
test_nginx.conf
server {
# the port your site will be served on
listen 80;
# the domain name it will serve for
server_name abc.yeli.studio; # substitute your machine's IP address or FQDN
charset utf-8;
# max upload size
client_max_body_size 75M; # adjust to taste
# Django media
location /media {
alias /root/application_all/media; # your Django project's media files - amend as required
}
location /static {
alias /root/application_all/static; # your Django project's static files - amend as required
}
# Finally, send all non-media requests to the Django server.
location / {
uwsgi_pass unix:///root/application_all/project/register_site/activity.sock; # for a file socket
include /root/application_all/project/register_site/uwsgi_params; # the uwsgi_params file you installed
}
}
像这样的nginx配置根目录是没有对应的文件夹的,它直接对接到了程序应用。
此种情况可以在程序应用里面增加一个url路由,我使用Django,那么就是这样:
1.在urls.py中添加一个路由
urlpatterns = [
...
url(r'MP_verify_XWsldS5dzRvbRcvT.txt',views.getMP_varify),
...
]
2.在views.py 中返回此文本MP_verify_XWsldS5dzRvbRcvT.txt中的字符串
def getMP_varify(request):
return HttpResponse ("XWsldS5dzRvbRcvT")
点击保存,成功
设置域名
2.开发》基本配置
启用开发者,获得AppID、AppSecret两个参数
然后填写IP白名单,也就是你服务器所在的公网ip
启用开发者/设置IP白名单
服务端篇
由前端发送ajax到服务端获取,前端需要抓去当前页面url提交给服务端。
服务端的工作如下:
获取token:https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={appid}&secret={secret}
通过token获取ticket:https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=jsapi&access_token={token}
相关参数生成:
利用下面微信提供的sign.py文件,传入ticket和页面url即可。
http://demo.open.weixin.qq.com/jssdk/sample.zip
备注:链接中包含php、java、nodejs以及python的示例代码供第三方参考,第三方切记要对获取的accesstoken以及jsapi_ticket进行缓存以确保不会触发频率限制。
服务端返回json样例:
{
appId:"wxb6d7b7803694fc83"
jsapi_ticket:"kgt8ON7yVITDhtdwci0qeSFCSQshWFBoH3E_uwLdKTAex6sBMGa0x7Jk_-09rdTaErwM475Y1ScmIZkNcFeWNQ"
nonceStr:"6WPMJHSpBzWLO0p"
signature:"1fb234358370736216c1f76badb489fa1100e92d"
timestamp:1505206494
url:"http://abc.yeli.studio/"
}
至此,服务端的工作就完了
前端篇
$.ajax({
url:'http://abc.yeli.studio/get_wexin_params',
type:'post',
data:{
"share_url":window.location.href.split('#')[0],
"csrfmiddlewaretoken":$("input[name='csrfmiddlewaretoken']").val()
},
success:function(_data){
wx.config({
debug: false,
appId: 'wxb6d7b7803694fc83',
timestamp: _data.timestamp,
nonceStr: _data.nonceStr,
signature: _data.signature,
jsApiList: ["onMenuShareTimeline","onMenuShareAppMessage","onMenuShareQZone","onMenuShareQQ"]
});
wx.ready(function () {
var title='我是标题'
var desc='我是描述内容'
var link='http://abc.yeli.studio/' // 分享链接,该链接必须在公众号JS安全域名之下,`http://abc.yeli.studio/another_page`也是可以的
var imageUrl='http://abc.yeli.studio/media/QQ20170911-150722copy.png'
//分享到消息
wx.onMenuShareAppMessage({
title: title,
desc: desc,
link: link,
imgUrl: imageUrl,
type: '', // 分享类型,music、video或link,不填默认为link
dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
success: function () {
//分享成功
},
cancel: function () {
// 取消分享
}
})
//分享到朋友圈
wx.onMenuShareTimeline({
title: title, // 分享标题
link: link, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: imageUrl, // 分享图标
success: function () {
// 分享成功
},
cancel: function () {
// 取消分享
}
})
})
}
})
至此,网页的自定义内容分享完成。
微信公众号
微信公众平台修改服务器,微信公众平台开发配置及自定义分享相关推荐
- 开启微信公众号定位服务器,微信公众号的定位是怎样的?
现在很多的商家为了让自己的生意越做越好,所以他们都会有着属于自己的微信号,这样不但能够让他们有着一个更好的宣传方式,也能够让他们通过这个平台来把自己的事业发展得更大,毕竟现在网络是一个很好的平台,如果 ...
- 如何实现微信公众号预约服务器,微信公众号的微信预约是怎么实现的
微信公众平台预定系统软件大伙儿在平时都见到过,运用公众号制作的微信预约系统软件,不但能便捷客户,还能我们一起做为店家能立即搜集到客户的预定订单信息,能节约彼此的時间,提升预定的高效率,下边大家一起来看 ...
- 腾讯:微信号能修改,微信帐号不允许修改
点击上方[全栈开发者社区]→右上角[...]→[设为星标⭐] 2020 年了,微信号终于可以修改了. 但是干完坏事,改个微信号就能溜之大吉? 你要知道微信号.微信帐号,是不一样的. 近期腾讯微信官方带 ...
- 微信人人商城云服务器,微信支付 · 微智人人商城使用文档 · 看云
* #### **支付管理** 添加新模板 :-: ![](https://box.kancloud.cn/a39c011c0de721adce0ebef9b95162d4_1151x763.png) ...
- 微信人人商城云服务器,微信支付配置
# **微信支付配置流程** ### **配置支付前需开通相应权限,[点击查看所需开通的权限](http://wiki.rrsc.cn/renrenshopv5/1833366)** * 微信支付,是 ...
- 请开启微信或者手机定位服务器,微信在哪里设置定位(微信开启定位功能设置)...
微信在哪里设置定位(微信开启定位功能设置)微信是一个提供公众平台,朋友圈消息,推送等功能的免费应用程序.爱玩手机的人基本上都下载了微信作为通讯的工具.不仅可以视频打电话,发信息,还隐藏了很多便利生活的 ...
- 微信7.0版本服务器,微信7.0版本官方版
微信7.0版本官方版可以给喜欢用微信聊天的用户能够随时使用微信聊天,在微信7.0版本上面,想要怎么发表情发微信都可以,大家可以跟自己的微信好友通话语音视频,还能利用微信支付扫码等 微信7.0版本官方版 ...
- 信息平台课件服务器,《CDN平台介绍v》PPT课件.ppt
<<CDN平台介绍v>PPT课件.ppt>由会员分享,可在线阅读,更多相关<<CDN平台介绍v>PPT课件.ppt(22页珍藏版)>请在装配图网上搜索. ...
- 局域网下微信无法连接到服务器,微信无法连接到服务器怎么办
软件大小:36.17MB 软件类型:聊天社交 软件评级: 查看详情 最近很多用户在问小编微信无法连接到服务器怎么办,其实解决方法非常的简单,但很多用户不知道该怎么解决,下面来看看小编给大家带来的详细的 ...
最新文章
- Android 相机,视频录制
- 锁用不好,可能把自己锁住哦!(解决多线程的死锁问题)
- Linux tar将分割的小文件进行合并
- 汇编语言(十四)之判断字符串是否包含数字
- ps中对齐,历史记录,图层
- 典型的异步客户端套接字构建
- vs2017可以写python_『vs python 使用教程』怎么用VS2017写一个最简单的Python程序,比如hello world?...
- js 禁止剪切、复制、粘贴的文本框代码
- OpenCV如何提取人眼区域的眼球位置
- QT6.1.2下载和安装教程
- 安装配置管理 之 LumaQQ 的安装和使用
- MSP430 DM430-A开发板学习笔记(二)MSP430f149与hc06蓝牙模块的使用
- 怎样把文件转成bt文件?
- 乒乓球:浅析业余高手从输球中总结的10条心得!
- 在n*n方阵里填入1,2,...n*n,要求填成蛇形
- linux给PATH添加变量,给PATH变量添加路径--用Enki学Linux系列(6)
- vue中怎么把图片转换成base64字符串 , 以及base64字符串怎么转换成图片路径
- EtherCAT简介
- oracle字符集增加生僻字,Oracle SQL一个“生僻字”的优化
- 企业级市场“两马战”:云计算将成重要战场
热门文章
- Python兼职半月赚了5570元:边学习边赚钱真的很爽!
- 如何彻底禁用 werfalut.exe
- A股全市场个股涨停板明细来袭!—股票数据远程下载服务升级
- 沟通“黄金圈”,揭秘有效沟通最佳思维方式
- plt.contour()功用
- python3GUI--翻译器-v2.0(附源码)
- matlab2010 notebook,Matlab在Win10 64位下用notebook的问题
- 个性篮球队名_你的篮球个性是什么
- python爬虫爬取漫画(仅供学习)
- Go是Google的语言,而不是我们的语言