您现在的位置是:首页 > 正文

个人技能总结10:微信开发

2024-01-31 00:16:29阅读 0

参考:  http://www.cnblogs.com/fengzheng/p/5023678.html

一.开始前准备

1.公网服务器的准备

尽量不要使用ip那种的会影响后面好多功能。实际开发可自行购买云服务器和域名。域名不可以有端口号即只可用80端口。

附录1:使用ngrok做内网穿透

A) 登录ngrok国内网址:https://www.ngrok.cc/注册账号,申请隧道。

B) 下载ngrok客户端,云盘:https://pan.baidu.com/s/1bN3jjS 提取码:4agx

C) 开启

 

附录2Apache反向代理

http://www.cnblogs.com/ycmxm/p/6855519.html

 

附录3:申请测试账号

地址:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login

 

附录4:阅读开发文档

https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1445241432

 

附录5:在线接口调试工具

https://mp.weixin.qq.com/debug

 

附录6Java参考代码

https://pan.baidu.com/s/1pLLrapt 提取码:隐藏

 

2.微信公众号申请

个人测试用的话http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login即可,企业的话申请公众号可申请服务号(订阅号好多接口不可用,具体可查看官网)

 

二.开发模式

1.服务器配置

 

首先需要把 AppIDAppsecret提取出来

 

启用服务器配置

1)具体参考开发文档

2)代码

 

 

 

2.使用接口调试工具创建自定义菜单

具体可查看开发文档

{

        "button": [

            {

                "type": "view",

                "name": "图书漂流",

                "url": "url"

            }

        ]

}

2.接口调用

2.1 用户绑定

在进入绑定页面之前,授权获得用户信息

https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxdc1f6ca919a5a5fe&redirect_uri=http%3A%2F%2Fycm12580.ngrok.cc%2Fwechat%2FwxreceiveHandle%2Flogin&response_type=code&scope=snsapi_base&state=123#wechat_redirect

上面的参数redirect_uri 为授权后回调地址需要urlEncode对链接进行处理

具体参考开发文档

回调地址会携带code参数和state参数,可通过code获取到用户管理微信的openID,首次登陆需要提交系统用户的信息,将openID绑定到该用户上完成绑定

代码参考:

 

 

 

2.2 发送客服信息

 

 

具体参考开发文档

 

2.3 调用js-sdk获取地理位置

 

 

 

 

 

后台获取配置参数具体参考代码,注:此处url的获取必须动态获取,且传递参数的时候必须POST传递,否则网页上会出现 valid signature的错误。

网站文章

  • VueJs的组件化

    VueJs的组件化

    组件化: 目的:让页面的元素的使用性和复用性更高。 使用: 1.通过Vue.extend()声明组件 2.将组件注册到Vue容器里面 3.声明Vue管理边界 定义: 组件就是将一些html+css+js封装成了一个整体,通过整体之间嵌套实现页面构建 1.声明组件: Vue.extend({}) 实现对象里面的一些参数 达到组装组件过程 Vue.extend() Vue是个构造

    2024-01-31 00:16:21
  • 《Effective Java》阅读笔记 13使类和成员的可访问性最小化

    《Effective Java》阅读笔记 13使类和成员的可访问性最小化

    1.信息隐藏区分一个组件设计得好不好,唯一重要的因素在于,它对于外部的其他组件而言,是否隐藏了其内部数据和其他实现细节。设计良好的组件会隐藏所有的实现细节,把API与实现清晰地隔离开来。然后模块之间只...

    2024-01-31 00:15:51
  • C语言(CED)对于一个2行N列的走道。现在用1*2,2*2的砖去铺满。问有多少种不同的方式(递归求解)

    C语言(CED)对于一个2行N列的走道。现在用1*2,2*2的砖去铺满。问有多少种不同的方式(递归求解)

    又涉及到递归问题,这道题的大致内容是这样的: (请用递推方式求解)对于一个2行N列的走道。现在用1*2,2*2的砖去铺满。问有多少种不同的方式。下图是一个2行17列的走道的某种铺法。 提示:观察前n个结果,可以得到递推式子;如果N很大,需要高精度计算。 其实这道题,与之前的方格涂色问题很像,说它像不仅因为在思考方式上很像,在最后的代码上也很想像,听我一一道来。 题目提示,先观...

    2024-01-31 00:15:42
  • JAVA WEB:西蒙购物网 实现页面 资源及代码

    JAVA WEB:西蒙购物网 实现页面 资源及代码

    一、准备资源1、图片在web目录里创建images目录,存放项目所需图片文件:2、css样式文件在web里创建css目录,在里面创建main.css文件:/* 样式 */body { margin: 0px; text-align: center; background: url("../images/frontBack.jpg") no-repeat;...

    2024-01-31 00:15:33
  • Mysql  ----------  安装

    Mysql ---------- 安装

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。优点:关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。可以在官网下载地址: https://dev.mysql.com/downloads/安装:同意选择完整安装...

    2024-01-31 00:15:04
  • Django ORM:数据库操作的Python化艺术

    Django的对象关系映射器(ORM)是其核心功能之一,允许开发者使用Python代码来定义、操作和查询数据库。

    2024-01-31 00:14:57
  • kubernetes env资源引用

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 @关于kubernetes env资源注入 前言 关于kubernetes env引用变量方式有configMap,DownwardA...

    2024-01-31 00:14:51
  • 蓝桥杯开发板CT107D使用 IAP15F2K61S2芯片时晶振频率的选择

    蓝桥杯开发板CT107D使用 IAP15F2K61S2芯片时晶振频率的选择

    蓝桥杯开发板CT107D上使用的晶振为12MHZ,在进行烧录和软件延时需要对晶振频率进行选择。而烧录软件一般默认为11.0592MHZ. 只需要将两个频率保持一致即可(一般在12和11.0592中选择一个),直接上图 选择 12MHZ 11.0592MHZ ...

    2024-01-31 00:14:45
  • Workerman ThinkPHP5 宝塔 安装Event拓展

    Workerman ThinkPHP5 宝塔 安装Event拓展

    Workerman 结合 TP5在宝塔环境下安装Event拓展操作系统是CentOS7先用workerman官方给的检查环境的脚本进行检查curl -Ss http://www.workerman.n...

    2024-01-31 00:14:18
  • selenium自动化-下拉列表

    selenium自动化-下拉列表

    selenium操作下拉列表select/option标签举个例子ul/li标签验证js是否能选中未显示的值结论python代码实现 selenium自动化获取对象时,肯定会涉及到下拉列表,项目中遇到...

    2024-01-31 00:14:10