• 最近微信发布了微信小程序内侧,各位程序员们是不是早就想一展身手,跃跃欲试。 但是目前还没有完全开放,所以我们还是先看看微信公众相关的开发,做好准备,等待微信小程序全面开放,到时候期待各位程序员们可以...

    最近微信发布了微信小程序内侧,各位程序员们是不是早就想一展身手,跃跃欲试。


    但是目前还没有完全开放,所以我们还是先看看微信公众相关的开发,做好准备,等待微信小程序全面开放,到时候期待各位程序员们可以开发出优秀的小程序。


    本系列实战文章为大家介绍微信开发的相关知识,包括公众号申请、接口开发等。并为程序员们提供微信开发开源代码。后期也会出一些教学视频,和大家一起交流学习。


    一、公众号开发准备:申请公众号

    如果你还没有想好公众号的名字、形式(订阅号、服务号),可以先申请一个测试号,用于开发入门阶段的学习。测试号开放的接口比较多,比较方便用于开发测试。


    如果你想现在就申请正式号,请一定要选择好订阅号还是服务号,相关的区别可以百度一下。

    最主要的区别是,订阅号每天可以群发1次消息,服务号每月可以群发4次。如果是个人申请,个人建议申请订阅号比较合适。


    1.1 如何申请测试号?

    测试号不分订阅号和服务号,包括了它们所有的接口功能。

    如何申请呢?首先你要有自己的微信号,通过微信号进行申请。


    访问链接

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

    可以看到如下图片的界面:



    点击 登录 按钮,会弹出一个二维码,用手机微信扫一扫,即可看到如下界面:


    点击 确认登录 按钮,你的测试号就申请成功了!
        测试号信息
        接口配置信息
        JS接口安全域名
        测试号二维码
        模板消息接口
        体验接口权限表


    在电脑的网页中可以看到测试号的相关信息,包括:

        包括appID 和 appsecret。开发号接入的时候会用到。

        开发号接入时配置。

        如果需要使用jssdk,这里需要配置。

        公众号二维码。

        如果你需要使用模板消息,这里可以配置很多。

        测试号所具备的所有接口权限。


    1.2 开发者号部分接口权限一览

    在测试号页面可以看到 体验接口权限 一览表,以及每天使用频率的限制。

    接口很多,在此不详细介绍,如下图:




    二、 开发者接口文档

    上面图片的每个接口都有对应的文档,打开此链接可以了解详细介绍

    http://mp.weixin.qq.com/wiki/home/index.html



    三、公众号登录

    如果需要申请正式的公众号,打开此链接,即可实现注册和登录

    https://mp.weixin.qq.com/cgi-bin/loginpage


    登录成功之后,就看到了公众号所具备的部分功能菜单,如下图:




    结束语

    本篇文章简单介绍了如何申请测试号,

    下篇文章为大家介绍 微信公众平台接口调试工具

    程序员实战技能,扫一扫学习


    展开全文
  • 扫描关注后登录 ...填写JS接口安全域名 ,设置JS接口安全域后,通过关注该测试号开发者即可在该域名下调用微信开放的JS接口,请阅读微信JSSDK开发文档。 注意:不知道啥原因,用自己的帐号申请测试

    官方链接:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login

    扫描关注后登录

    需要填写接口配置,一个公网能访问的域名,推荐用natapp。

    填写JS接口安全域名 ,设置JS接口安全域后,通过关注该测试号,开发者即可在该域名下调用微信开放的JS接口,请阅读微信JSSDK开发文档

    注意:不知道啥原因,用自己的帐号申请测试帐号后貌似不能立即关注,但是同事的微信能关注。自己的帐号是过了两天就能关注了。



    展开全文
  • 微信开发者工具使用教程 如何上传、发布、审核等 2020年3月31日录 - 微信开发者工具使用教程 01-微信开发者工具的下载和安装 02-微信小程序账号的注册、登录、appid的获取 03-微信小程序开发和公众号开发模式的切换 ...
  • 由于微信只能绑定域名,不能使用ip地址,但是在公司中域名直接解析到线上服务器,但是线上服务器该域名下已经有服务在运行,所以不能使用线上服务器直接进行开发测试,也不能把已有的服务打开开发者模式,...

    最近在搞微信的开发者模式,对于第一次接触这东西的人来说还真是没有头绪,因为需要跟微信进行交互,难免会碰到一些问题,不像我们在本机开发那样,很快就能把逻辑代码写完。今天主要是让测试耽误了时间,由于微信只能绑定域名,不能使用ip地址,但是在公司中域名直接解析到线上服务器,但是线上服务器该域名下已经有服务在运行,所以不能使用线上服务器直接进行开发测试,也不能把已有的服务号打开开发者模式,因为打开开发者模式之后好多已有的自动回复就不能使用了,总之遇到了各种问题,记录下开发过程。


    申请测试账号

    进入申请地址:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login

    点击登录按钮,会弹出一个二维码,使用手机微信扫描即可

    登录成功之后会出现下面的界面


    appID和appsecret在调用微信接口的时候会用到,这里是微信自动给我们生成好的,直接使用就可以。

    URL:是我们自己服务器的URL,用户微信推送用户消息和事件用的。这里只能配置域名,不能使用IP。这个URL是用来接收微信的token认证和消息事件用的,我们自己的服务器要能对这个url的请求进行处理并相应,所以要求该域名必须是外网可以访问的,否则在点“提交”按钮的时候会报token异常。

    Token:是验证签名用的,此处填写的要与代码中的Token保持一致否则验证不过。

    URL和Token都填好之后点击提交按钮,若验证通过,会返回配置成功,否则返回配置失败。

    配置失败的原因可能有几个:

    1、URL地址不能访问

    2、Token填写错误

    注意:在点击提交按钮之前一定要先把服务端的代码写好,否则会返回配置失败,具体实现代码在后面演示。

    到此为止,我们的接口配置信息就算完成了。

    扫描测试号二维码就可以来测试我们的功能了


    Token认证

    我配置的URL是,http://www.xxx.com/XX/wxProcess/service,所以微信会把所有的请求都发到我的/service路径上,包括Token认证和事件处理,我使用两个方法来处理的,但是请求类型不同,Token认证是用的GET请求,事件处理使用的是POST请求。演示代码如下:

    /**
         * 打开开发者模式签名认证
         * @param signature
         * @param timestamp
         * @param nonce
         * @param echostr
         * @return
         */
        @ResponseBody
        @RequestMapping(value = "/service", method = RequestMethod.GET)
        public Object defaultView(String signature, String timestamp, String nonce, String echostr) {
            if (echostr == null || echostr.isEmpty()) {
                return nonce;
            }
            if (SignUtil.checkSignature(signature, timestamp, nonce)) {
                return echostr;
            }
            return nonce;
        }
    
        /**
         * 事件处理
         * @param signature
         * @param timestamp
         * @param nonce
         * @param message
         * @return
         */
        @ResponseBody
        @RequestMapping(value = "/service", method = RequestMethod.POST, consumes = "text/xml", produces = "text/xml;charset=UTF-8")
        public String defaultViewHandler(String signature, String timestamp, String nonce, @RequestBody String message) {
            String result = "";
            if (SignUtil.checkSignature(signature, timestamp, nonce)) {
                result = coreService.processRequest(message);
            }
            return result;
        }

    做签名认证的时候会调用我的defaultView方法,其他的事件都走defaultViewHandler方法。

    coreService.processRequest(): 是对所有的请求事件进行处理

    CoreService.java主要代码实现如下:

    @Override
        public String processRequest(String msg) {
            String respMessage = null;
            try {
                // 默认返回的文本消息内容
                String respContent = "";
    
                // xml请求解析
                Map<String, String> requestMap = MessageUtil.parseXml(msg);
    
                // 发送方帐号(open_id)
                String fromUserName = requestMap.get("FromUserName");
                // 公众帐号
                String toUserName = requestMap.get("ToUserName");
                // 消息类型
                String msgType = requestMap.get("MsgType");
                String eventType = requestMap.get("Event");
    
                // 存在事件类型且类型有效 或者 消息类型可以处理,才需要进行身份处理,防止没有意义的事件引起发送大量绑定消息
                if ((!StringUtils.isEmpty(eventType) && !eventArrays.contains(eventType)) || !msgArrays.contains(msgType)) {
                    return "";
                }
    
                respMessage = handleWxMessage(requestMap);
            } catch (Exception e) {
                LOGGER.error("error", e);
                e.printStackTrace();
            }
            return respMessage;
        }
    
        @Override
        public String handleWxMessage(Map<String, String> requestMap) {
            // 发送方帐号(open_id)
            String fromUserName = requestMap.get("FromUserName");
            // 公众帐号
            String toUserName = requestMap.get("ToUserName");
            // 消息类型
            String msgType = requestMap.get("MsgType");
            // 回复文本消息
            String respContent = "";
            BaseMessage textMessage = new TextMessage();
            textMessage.setMsgType(MessageUtil.RESP_MESSAGE_TYPE_TEXT);
            switch (msgType) {
                case MessageUtil.REQ_MESSAGE_TYPE_TEXT:
                    // 文本类型消息,暂时设置成用户发什么就回复什么
                    String content = requestMap.get("Content");
                    respContent = "";
                    break;
                case MessageUtil.REQ_MESSAGE_TYPE_VOICE:
                    // 使用语音识别功能需要开启微信公众号相关权限
                    // 语音识别结果
                    String recognizeText = requestMap.get("Recognition");
                    respContent = "";
                    break;
                case MessageUtil.REQ_MESSAGE_TYPE_EVENT:
                    // 事件类型
                    String eventType = requestMap.get("Event");
                    // 事件KEY值,qrscene_为前缀,后面为二维码的参数值
                    String eventKey = requestMap.get("EventKey");
                    // 自定义事件
                    switch (eventType) {
                        // 用户未关注时,进行关注后的事件推送
                        case MessageUtil.EVENT_TYPE_SUBSCRIBE:
                            if (isUserBuyLastActivity(fromUserName)) {
                                textMessage = getAddClassTextMessage(fromUserName);
                            } else {
                                textMessage = getDefaultTextMessage(fromUserName);
                            }
                            Integer eventKeyValue = 1;// 带参数的情景值
                            if (!StringUtils.isEmpty(eventKey) && eventKey.contains("qrscene_")) {
                                eventKey = eventKey.replace("qrscene_", "");
                                // 渠道ID
                                eventKeyValue = Integer.parseInt(eventKey);
                            }
                            subscribeAction(fromUserName, eventKeyValue);
                            break;
                        // 取消关注
                        case MessageUtil.EVENT_TYPE_UNSUBSCRIBE:
                            unSubscribeAction(fromUserName);
                            break;
                        // 用户已关注时的事件推送
                        case MessageUtil.EVENT_TYPE_SCAN:
                            textMessage = getDefaultTextMessage(fromUserName);
                            break;
                        default:
                            respContent = "";
                            break;
                    }
                    break;
                default:
                    respContent = "";
                    break;
            }
    
            if (textMessage instanceof TextMessage) {
                // 文本内容为空且是文本消息返回空字符串,防止微信发送异常消息
                String content = ((TextMessage) textMessage).getContent();
                if (StringUtils.isEmpty(respContent) && StringUtils.isEmpty(content)) {
                    return "";
                }
                if (org.apache.commons.lang.StringUtils.isBlank(content)) {
                    ((TextMessage) textMessage).setContent(respContent);
                }
            }
            textMessage.setToUserName(fromUserName);
            textMessage.setFromUserName(toUserName);
            textMessage.setCreateTime(new Date().getTime());
            String xmlString = MessageUtil.messageToXml(textMessage);
            return xmlString;
        }

    上面只是展示了部分核心代码,具体代码可以去我的GitHub下载,地址:https://github.com/liuyanmin/wxDemo

    下面是微信开发相关的链接:

    申请个人测试账号:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login

    微信被动回复消息开发文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140543

    微信错误码文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140543


    展开全文
  • 确保微信开发者工具-设置-安全-服务端口开启;且已获得小程序项目的开发者角色。 1、打开Git Bash 克隆小程序项目。克隆完成后。 2、打开HBuilder,点击菜单“文件”下的“打开目录”,选择已克隆的小程序项目。...

    主手自己用的是Win7 64位的电脑。
    确保微信开发者工具-设置-安全-服务端口开启;且已获得小程序项目的开发者角色。
    在Windows系统下已安装GIT 和 TortoiseGIT安装。

    在这里插入图片描述
    1、打开Git Bash 克隆小程序项目。克隆完成后。
    2、打开HBuilder,点击菜单“文件”下的“打开目录”,选择已克隆的小程序项目。
    3、点击“运行—运行小程序模拟器-微信开发者工具”,等待小程序项目打开。
    4、小程序项目打开后,栏位“编辑器”背景色为绿色。单击“编辑器”去掉绿色。

    可以开始在微信开发者工具进行测试了。
    在这里插入图片描述

    展开全文
  • h5页面需要获取微信用户信息,参考微信开发者文档: 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: 全新的界面设计 ,...

    微信开发者工具调试微信网页授权,点击‘登录’按钮无效

    问题描述

    h5页面需要获取微信用户信息,参考 微信开发者文档,一步步走到用开发者工具调试页面,却发现点击登录按钮没有反应!如下
    微信授权页面
    看日志信息
    在这里插入图片描述
    好吧,说这个图片路径是http,而应该是https,可是这是微信自己的页面啊,怎么改???
    然鹅不是这个原因,偶然发现点击按钮上边缘是有效的,点击之后重定向页面,跟文档描述的一模一样。为什么点击上边缘有效,而点击按钮无效?如果你也是这样,那么请打开电脑设置—字体大小–看看是不是125%???
    现在,把字体设置成100%,重新打开微信开发者工具,再去调试上面的页面,你会惊喜地发现,点按钮可以了。

    原因

    电脑设置的字体大小(非100%)的时候,会影响微信开发者工具dom节点事件绑定的位置,根据表现来看,并不影响渲染。

    补充一下

    过程中call_me_small_pure的博客 给了很大帮助,感谢!

    展开全文
  • 强调一下:微信开发者工具可以调试企业微信的自建应用,暂时还不支持调试第三方应用。调试第三方应用时同样也会提示未绑定企业号开发者。 下面将针对如何调试自建应用出现的企业号未绑定问题。 1、首先,将自己...
  • 呐,第一次接触微信的开发,搞vue也搞了好久,页面框架和后台框架和我一点关系都...下面是第一次为了用开发者工具测试需要配置的内容。首先,登录微信公众平台,看到自己的appID,appsecret,如下图:然后在下图中...
  • 微信开发者工具项目演示 配置: 我这里是选择 ios 手机代理配置 打开手机选择网络(必须确保手机,电脑在同一局域网下面) 然后点击微信调试 出现下面连接结果界面: 然后用手机打开微信里面相应网页(你需要调试...
  • 微信开发者账号验证

    2016-12-07 17:23:43
    微信公众号平台开发者文档 https://mp.weixin.qq.com/wiki/home/index.html(在这里可以进行微信测试号的申请) 申请时需要有一个自己的域名,如果没有的话就可以用微信ngrok, 下载地址 http://ngrok.2bdata.com/...
  • 使用微信开发者工具, 选择微信网页授权, 微信团队为广大的开发者提供了一个测试账号。该帐号无需公众账号,快速申请接口测试,直接体验和测试公众平台所有高级接口。这么好用的功能,只需要要你有一个手机,手机上...
  • 打开最新版本微信开发者工具一直黑屏,要怎么解决?简单又有效,黑屏问题麻烦打开C:\\users\\<>\\AppData\\Local\\微信开发者工具\\user data\\WeappLocalData 放置这个文件就可以了,其他系统目录名称大致一样的。
  • 微信开发者工具不能调试公众号和小程序 webview 问题描述 微信开发者工具调试小程序 webview 页面白屏,但是 date 里面数据一切正常 微信开发者工具不能调试公众号网页,但是打开百度正常 解决方案 这个原因真是...
  • 微信开发者工具(一) 一、微信开发者工具基本信息 1.1 微信开发者工具的下载 ​ 直接打开下面网址进行下载: ​ https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html 1.2 下载以后登录 1.3 ...
  • 只能说微信开发者工具还不太成熟,需要填很多坑。解决方案直接说解决方案吧,卸载开发者工具,彻底卸载。 以mac为例,不要直接点dmg文件重装,没有用。要通过命令行方式完全卸载掉:cd ~/Library/Application\ ...
  • 利用微信开发者工具获取小程序指定页面路径! 文章来源:企鹅 - 程鹏亮 小程序不同于app,小程序的每个页面都有页面路径。在使用微信小程序的过程中,很多场景都要使用到小程序的页面路径。比如微信图文中的小...
  • 微信开发者工具-调试器 调试器常用的 6 大功能模块有:Console、Sources、Network、Appdata、Storage、Wxml Console Console有两大功能: 1)开发者可以在此输入和调试代码  2)小程序的错误输出,会显示...
  • 1.2软件微信开发者工具 下载地址 ===》https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html 界面如下 设置 2.1项目导入 2.2设置微信appid 点击该地址申请一个测试账号即可...
  • 今天新弄了个企业微信,在使用微信开发者工具调试的时候,遇到了如下的问题: 在网上找了下教程,发现全都是旧版本的解决方法不适用。这里介绍下新的企业微信的解决方案:1.首先,你必须是这个企业微信的管理员。这...
  • 安装微信开发者工具 --》https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/download.html?t=201716 新建项目 安装Node.js --》https://nodejs.org/en/ 点击–》 注册 右键选择环境 然后将node.js–》cmd 安...
1 2 3 4 5 ... 20
收藏数 42,864
精华内容 17,145