精华内容
下载资源
问答
  • 微信小程序-调用后台接口报错

    千次阅读 2018-07-31 14:48:46
    发送http请求需要勾选开发工具的项目页的“不校验请求域名及tls版本” 在微信小程序开发者工具右上角详情里面 2.接口报错,返回500错误码 一般都是后台的问题,让后台接口 3.接口报错,返回503错误码 这个是...

    1.出现需要校对合法域名的错误提示

    发送http请求需要勾选开发工具的项目页的“不校验请求域名及tls版本”      在微信小程序开发者工具右上角详情里面

    2.接口报错,返回500错误码

    一般都是后台的问题,让后台改接口

    3.接口报错,返回503错误码

    这个是服务器炸了,需要重启服务器,基本服务器有问题,所有接口都报503

    4.接口报错,返回400错误码

    这个是前端传的参数不对,或者后台接收的入口,接收不了你传的数据格式,可和后台协调改正

    5.接口报错,返回404错误码

    这个是前端访问的接口地址填错,改一下就好

    6.出现该接口不是get请求时就改成post请求,不是post请求时就改成get请求

    7.出现requst:fail错误,再刷新一遍页面就行,可能是网络卡或者延迟原因

     

    PS:欢迎你提出更多返回错误码,一起探讨!!!

     

    展开全文
  • 到后期调试接口,首先出现的问题可能就是“你请求的域名不合法”这个问题,你可以去微信开发者工具里面看看,你的小程序上面都绑定了那些域名,看看后台给你的接口在不在这三个之间,如果说你这个没有绑定任何域名,...

    到后期调试接口,首先出现的问题可能就是“你请求的域名不合法”这个问题,你可以去微信开发者工具里面看看,你的小程序上面都绑定了那些域名,看看后台给你的接口在不在这三个之间,如果说你这个没有绑定任何域名,你可以要求他绑定,如果说后台说现在先测试,你可以把你的appid去掉,你就可以调用他的接口了,但是最后肯定还是要绑定域名的,

    第二个可能是404,出现404你就可以仔细观察一下接口文档,是不是你的请求写错啦,如果和接口文档一样,那你就要问后台是不是他写错了。

    第三个是500,500的话是服务器端报错了,他那边应该可以看到你传过去的数据的,你们联调的话,很快问题就会解决

    第四个是你发送请求的数据是从本地存储里面取出来的话,那你一定要用wx.getStorageSync(key)方法获取数据,这都是异步惹的祸。

    第五个是关于获取用户的openid,这个是要后台写接口的,前端需要通过wx.login()方法获取一个code然后传给后台,后台会返回openid给你。


    展开全文
  • 微信公众号平台开发(一)如何与微信后台对接 BAT一直以来是许多程序猿的奋斗目标,但如果有幸能够进入其中学习却连自家的平台API都没办法调用,那就有点说不过去了。因此,我这段时间一直在学习JAVA微信之间的对接...

    微信公众号平台开发(一)如何与微信后台对接

    BAT一直以来是许多程序猿的奋斗目标,但如果有幸能够进入其中学习却连自家的平台API都没办法调用,那就有点说不过去了。因此,我这段时间一直在学习JAVA微信之间的对接开发,也从中看到了BAT的严谨之处。


    (一)准备

    最好的参考工具(官方文档):公众平台开发者文档
    参考博客:souvc的博客
    测试接口:微信公众号平台接口测试
    jdk:1.8
    IDE:IDEA
    服务器:腾讯云(对学生有较大优惠)

    (二)接入流程

    通过阅读官方文档,可以得知若要接入微信公众号平台开发,开发者需要按照以下三步流程:
    1. 填写服务器配置
    2. 验证服务器地址的有效性
    3. 依据接口文档来实现业务逻辑

    (三)验证服务器的代码编写

    我们的应用服务器要接受微信服务器的get请求,其中包括四个参数(signature、timestamp、nonce、echostr),开发者通过检验signature对请求进行校验(下面有校验方式)。若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败。
    注意:具体内容含义可以通过阅读官方文档得知!
    由官方文档,我们可知加密/校验流程如下:
    - 将token、timestamp、nonce三个参数进行字典序排序
    - 将三个参数字符串拼接成一个字符串进行SHA1加密(SHA1加密在接下来的开发,有兴趣的话可以去了解一下)
    - 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信

    ps:微信提供了一份php示例代码,有兴趣的可以了解一下

    接下来,我将前两个步骤合为一个工具类去实现。废话不多说,我们直接上代码。

    /**
     * SignUtil
     * 验证 signature 工具类
     * Created by zggdczfr on 2016/10/21.
     */
    public class SignUtil {
    
        //与接口配置信息中的ToKen一致
        private static String token = ""; //该Token值为自己定义
    
        public static boolean checkSignature(String signature, String timestamp,String nonce){
            // 1. 将token、timestamp、nonce三个参数进行字典序排序
            String[] arr = new String[] { token, timestamp, nonce };
            Arrays.sort(arr);
    
            // 2. 将三个参数字符串拼接成一个字符串进行sha1加密
            StringBuilder content = new StringBuilder();
            for(int i=0; i<arr.length; i++){
                content.append(arr[i]);
            }
            MessageDigest messageDigest = null;
            String tmpStr = null;
            try {
                // 将三个参数字符串拼接成一个字符串进行sha1加密
                messageDigest = MessageDigest.getInstance("SHA-1");
                byte[] digest = messageDigest.digest(content.toString().getBytes());
                tmpStr = byteToStr(digest);
            } catch (NoSuchAlgorithmException e) {
                e.printStackTrace();
            }
            content = null;
            // 3. 将sha1加密后的字符串可与signature对比,标识该请求来源于微信
            return tmpStr != null ? tmpStr.equals(signature.toUpperCase()) : false;
        }
    
        /**
         * 将字节数组转换为十六进制字符串
         * @param byteArray
         * @return
         */
        private static String byteToStr(byte[] byteArray){
            String strDigest = "";
            for(int i=0; i < byteArray.length; i++){
                strDigest += byteToHexStr(byteArray[i]);
            }
            return strDigest;
        }
    
        /**
         * 将字节转换为十六进制字符串
         * @param mByte
         * @return
         */
        private static String byteToHexStr(byte mByte){
            char[] Digit = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A','B', 'C', 'D', 'E', 'F'};;
            char[] tempArr = new char[2];
            tempArr[0] = Digit[(mByte >>> 4) & 0X0F];
            tempArr[1] = Digit[mByte & 0X0F];
            String s = new String(tempArr);
            return s;
        }
    
    }
    

     接下来是实现第三步,这里需要注意的一点是:微信提过get方法来验证身份,通过post方法来实现信息的传递,也就是说以后的业务逻辑实现都将通过这里配置的链接来对接。

    /**
     * Created by zggdczfr on 2016/10/21.
     */
    @Controller
    @RequestMapping(value = "/wechat")
    public class SecurityController {
    
        private static final long serialVersionUID = 4323197796926899691L;
        private static final Logger LOGGER = Logger.getLogger(SecurityController.class);
    
        @RequestMapping("test")
        public String test(){
            System.out.println("test");
            return "/index.jsp";
        }
    
        @RequestMapping(value = "security", method = RequestMethod.GET)
        public void WetChatGet(HttpServletRequest request,
                            HttpServletResponse response,
                            @RequestParam(value = "signature", required = true) String signature,
                            @RequestParam(value = "timestamp", required = true) String timestamp,
                            @RequestParam(value = "nonce", required = true) String nonce,
                            @RequestParam(value = "echostr", required = true) String echostr) throws IOException {
            try {
                // 通过检验signature对请求进行校验,若校验成功则原样返回echostr,表示接入成功,否则接入失败
                if (SignUtil.checkSignature(signature, timestamp, nonce)) {
                    PrintWriter out = response.getWriter();
                    out.print(echostr);
                    out.close();
                }
            } catch (Exception e){
                LOGGER.log(Level.ERROR, "连接微信公众号平台测试失败!");
            }
            System.out.println("连接微信公众号平台测试成功!");
        }
    
        @RequestMapping(value = "security", method = RequestMethod.POST)
        public void WetChatPost(HttpServletRequest request, HttpServletResponse response){
            //业务逻辑处理
        }
    }
    

     

    (四)服务器验证

    接下来就是将我们的代码打包部署到服务器上来,通过测试接口来进行对接。
    测试接口验证
    测试结果:
    测试结果

    (五)最后的不知道什么鬼

      • 微信服务器验证身份是通过固定的端口80。若没有配置域名的服务器(虚拟机),切记在外网ip后不必接上端口号。(ps:也许是我自己的基础不够扎实,在这个坑里面蹲了好久…………最后居然被我试出来了。。。)
      • 这里采用的是springMVC框架,关于该框架的配置网上有许多教程可以学习。或者等我什么时候有时间了,也来写一写我对于该框架的了解。

     

    转载于:https://www.cnblogs.com/MaxElephant/p/8108608.html

    展开全文
  • 本地调试时,后台接口为http请求,需要更改开发者工具中的设置,将红框里的内容勾选。 1. 在app.js中设置基路径: data: {  baseUrl: 'http://32m4im.natappfree.cc' }  2. 在需要调用接口的js文件中获取...

    一、接口调用

     

    本地调试时,后台接口为http请求,需要更改开发者工具中的设置,将红框里的内容勾选。

    1. 在app.js中设置基路径:

    data: {
    
        baseUrl: 'http://32m4im.natappfree.cc'
    
    } 

    2.  在需要调用接口的js文件中获取基路径:

    data: {
    
        baseUrl: getApp().data.baseUrl, // 接口基路径
    
    }

    3.  接口调用方法示例:

    getArticleData: function() {
    
        var that = this;
    
        wx.request({
    
            url: that.data.baseUrl + '/api/Basics/GetArticleInfoByHome',
    
            method: "POST",
    
            header: {
    
                "Content-Type": "application/json"
    
            },
    
            success: function (res) {
    
                that.setData({
    
                    articleData: res.data
    
                })
    
            }
    
        });
    
    },
    
    

    二、setData

     

    1. 在定义变量之后,若想修改并在页面产生效果,必须使用setData方法,如果不用,虽然console打印出来结果但是页面不会监听显示。

    data: {
    
        obj: {
    
            name: 'lily',
    
            old: 20
    
        },
    
        array: ['cat', 'dog']
    
    }
    
    // 在方法中修改变量的值
    
    this.setData({
    
        obj: newobj   // 修改对象直接赋值
    
    })
    
    
    
    // 处理数组和对象的属性时需要用以下方法
    
    var a = 'array['+index+']'; 
    
    var b = 'obj.name'
    
    this.setData({
    
        [a]: 'fish' // 修改数组的元素
    
        [b]: 'guanguan' // 修改对象的属性
    
    })

     

    三、获取屏幕高度

    wx.getSystemInfo({
    
      success: function(res) {
    
        console.log(res.model)
    
        console.log(res.pixelRatio)
    
        console.log(res.windowWidth)
    
        console.log(res.windowHeight)
    
        console.log(res.language)
    
        console.log(res.version)
    
      }
    
    })

     

     

     

    展开全文
  • Java 实现微信支付

    2020-09-10 16:09:16
    商户后台系统先调用微信支付的统一下单接口微信后台系统返回链接参数code_url,商户后台系统将code_url值生成二维码图片,用户使用微信客户端扫码后发起支付。注意:code_url有效期为2小时,过期后扫码不能再发起...
  • 解决方法:打开小程序 --微信开发者工具---检查更新 2.遇到函数里套函数的例子(图一所示),解决方法如图二,将函数提取出来   3.在调用后台数据接口的时候,一定要配置合法的服务器域名,如下图所示 下图...
  • 微信小程序一些总结

    2019-04-26 00:15:00
    微信开发者工具里提交代码后进入体验版,在微信后台里点击版本管理,就可以看到线上版本,和开发体验版,描述里有提交备注。 在体验版里发布审核之后会进入到线上。他们两个可以是先后顺序,也可以不经过体验版...
  • 微信小程序

    2021-01-26 11:17:41
    fuwuduan 基于flask开发的后台教程,提供api接口供小程序调用使用 shangcheng 微信小程序开发的前端界面。 使用腾讯的小程序卡法工具打卡shangcheng,注意:project.config.json需要配置小程序的appid,这是腾讯的小...
  • 1.登录微信公众号,左侧菜单栏最下边找到 开发-开发者工具 -> 公众平台测试账号 2.填写信息(接口配置信息要找后台要) 另外:就算是一个公众号有多个开发者,每个开发者申请的测试号也都是单独的 3.开发者和...
  • 如何配置微信小程序的域名

    千次阅读 2020-02-18 12:16:56
    在编写微信小程序需要调用外部的API接口的时候,你是否遇到下面这种情况? 我们可以通过修改开发者工具的本地设置,将不校验合法域名勾上就可以在开发者工具上正常运行了。 但是如果想在手机上预览,还是需要真机...
  • 企业微信JS-SDK是企业微信面向网页开发者提供的基于企业微信内的网页开发工具包。 通过使用企业微信JS-SDK,网页开发者可借助企业微信高效地使用拍照、选图、语音、位置等手机系统的能力,同时可以直接使用企业微信...
  • 微信自定义菜单以及自动回复

    千次阅读 2016-09-28 12:56:08
     1:在开发选项里有接口权限可以调用接口 / 开发者工具接口权限都是无上限的) (这两个是使用不同的后台,所以需要分别登录)    2:接口配置信息,打开公众平台开发者文档,里面有一些文档可用  ...
  • 1、该功能的实现需要调用微信公众号的js-sdk接口实现 简介: 微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包。 通过使用微信JS-SDK,网页开发者可借助微信高效地使用拍照、选图、语音、...
  • 4.需要一个后台管理项目(已部署服务器的),用于小程序调用接口。 5.使用微信开发者工具(公众平台下载)进行代码编写及调试。(可先看官方文档) 6.代码完成后,在微信开发者工具内右上方点击上传,可上传到公众...
  • 微信小程序客服消息功能介绍调用客服消息接口发送客服消息填写消息推送配置网页版客服工具与移动端小程序客服工具使用说明(后台接入消息服务)一、在页面使用客服消息二、后台接入消息服务三、接收消息和事件四、...
  • 这么多数据直接扔到小程序模板里面去遍历(wx:for),开发者工具的日志里面就直接报错了:invokeWebviewMethod 数据传输长度为 1233778 已经超过最大长度 1048576出现这个问题的原因是setData 这步出问题,每次setData...
  • 前端测试是用微信开发者工具,测试时考虑以下几个问题: 测试每个页面之间的跳转是否成功 页面的排版是否简洁明了 页面上的功能是否完全体现 每个功能是否完全满足用户需求 每次页面跳转是否传递了参数 每次...
  • 微信开发者工具: 前期准备: “详情”->“本地配置”->“勾选不校验合法域名”。 在 微信公众平台 中找到自己小程序的 AppID 和 AppSecret 。 流程: 定义一个点击事件 先调用 wx.login 接口,来获取一...
  • 项目描述: 该小程序实现了当前城市30天的天气预报,可输入城市名称进行搜索,也可选中城市进行搜索。...IntelliJ-IDEA2017,微信开发者工具 数据库: 无 相关资料: 无 注意事项: 替换小程序中数据请求地址,..
  • 获取小程序列表用了小程序端接口 ...小程序的开发者密码(AppSecret)是一个非常重要的字段,使用该密码可以调用小程序的所有后台接口。请不要将该字段放置在微信小程序的前端代码中,因为微.
  • 下载微信开发者工具,选择小程序——导入项目,选择刚刚clone的文件夹并填写自己的AppID. 配置 将config中有个api-tmp.js文件重命名为api.js。 修改如下配置: const ApiBaseUrl = '';//生产上 const Config = { ...
  • 已经支持大部分微信 7.x API,包括微信支付、自定义菜单/个性化菜单、模板信息接口、素材上传接口、群发接口、多客服接口、支付接口、微小店接口、卡券接口、发票接口等等。 已支持微信公众号、小程序、企业号、开放...
  • 就是个第四方聚合支付工具,简化了接入开发流程而已,个人开发者仍然需要去申请所需接口的使用权限。 结论:不可行 第四方聚合支付 支付资金进入官方账号,自己再进行提现操作。需要开通域名,提现手续费较...
  • 由「开源前哨」和「Python开发者微信公号团队维护更新。 本项目的参与者 维护者:「开源前哨」和「Python开发者微信公号团队。「开源前哨」会定期在知乎专栏分享最新、有趣和热门的开源项目,每个项目都有详细...
  • DBShop电子商务系统就是其中之一,本系统开发团队都是比较资深的电子商务系统开发者,所以和目前的流行的系统相比,DBShop电子商务系统只是比较年轻而已。 DBShop电子商务系统,在网上建立自己的店铺、自己的销售...
  • api管理:不同用户可调用的api接口的权限不同。 配置管理:配置文件可前台修改(测试环境不开放此功能)。 富文本编辑器:MarkDown编辑器功能嵌入。 条件搜索:增加条件搜索示例。 restful示例:可以参考用户管理...
  • service层中编写所需业务接口,供controller层调用 实现service层中的接口,并注入mapper层中的sql接口 采用Mybatis的JavaConfig方式编写Sql语句。由于并没有使用Mybatis的逆向功能,需要自己手写所有sql语句 关于...
  • 媒体查询 CSS媒体查询允许开发者基于浏览网站的设备的特性来应用不同的样式申明,最常用的特性是视口宽度。 GCF 谷歌内嵌浏览器框架, 使用此插件,用户可以通过Internet Explorer的用户界面,以Chrome内核的渲染方式...
  • 该案例中:在基础组件库中主要有,网络请求,图片加载,通信机制,工具类,分享功能,支付功能等等。当然,我把一些公共第三方库放到了这个基础组件中! 4.3 项目组件化架构图,如下所示 4.4 组件通信是通过...

空空如也

空空如也

1 2
收藏数 31
精华内容 12
关键字:

微信开发者工具调用后台接口