1、扫码进入小程序管理页

我的小程序之旅四—扫普通二维码进入小程序、打开短链接进入小程序

2、点击开发管理-开发设置-扫普通链接二维码打开小程序-添加

我的小程序之旅四—扫普通二维码进入小程序、打开短链接进入小程序我的小程序之旅四—扫普通二维码进入小程序、打开短链接进入小程序

3、完善配置内容

我的小程序之旅四—扫普通二维码进入小程序、打开短链接进入小程序

(1)协议类型选择https

我的小程序之旅四—扫普通二维码进入小程序、打开短链接进入小程序

(2)选择小写

我的小程序之旅四—扫普通二维码进入小程序、打开短链接进入小程序

(3)二维码规则,这个看文档有些人估计会比较迷糊,简单理解一下就是一个https的路径

我的小程序之旅四—扫普通二维码进入小程序、打开短链接进入小程序

(4)前缀占用规则选择不占用

我的小程序之旅四—扫普通二维码进入小程序、打开短链接进入小程序

(5)校验文件,按照说明文档来,这个不难

我的小程序之旅四—扫普通二维码进入小程序、打开短链接进入小程序

(6)小程序的功能页面,这个页面就是你扫码要打开的页面

我的小程序之旅四—扫普通二维码进入小程序、打开短链接进入小程序

(7)测试范围

我的小程序之旅四—扫普通二维码进入小程序、打开短链接进入小程序

(8)测试链接(选填)

我的小程序之旅四—扫普通二维码进入小程序、打开短链接进入小程序

有个比较坑的地方,这个如果没有发布到线上,测试规则和测试链接都要一段时间才生效。

4、使用二维码生成工具生成二维码,然后扫码就可以打开了

我一般都是使用草料网生成二维码:生成二维码二维码解码

二、打开短链接进入小程序

1、使用AppId和AppSecret获取token

    /**
     * https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential
     * 请求参数   属性         类型       默认值    必填     说明
     * @param   appId         string                 是       小程序 appId
     * @param   secret         string                 是       小程序 appSecret

     * 返回值
     * @return  JSON 数据包
     *           属性         类型       说明
     *          access_token string      token
     *          expires_in     string      失效时间
     *
     *          errcode 的合法值
     *          值             说明                         最低版本
     *          -1             系统繁忙,此时请开发者稍候再试
     *          0             请求成功
     *          40029         code 无效
     *          45011         频率限制,每个用户每分钟100次
     */
    JSONObject getAccessToken(String appId,String secret);
    @Override
    public JSONObject getAccessToken(String appId, String secret) {
        String url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&app> secret;
        String str = restTemplate.getForObject(url, String.class);
        log.info("api/wx-mini/getAccessToken:" + str);
        if (StringUtils.isEmpty(str)) {
            return null;
        } else {
            return JSONObject.parseObject(str);
        }
    }

2、构建生成URL Schema的参数

JSONObject data = new JSONObject();
//设置当前链接打开的小程序页面路径
data.put("path","你的小程序页面路径");
//设置跳转到当前页面的参数,参数格式如下
data.put("query", "id=1&status=1");
//当前小程序打开的版本,develop(开发版)、trial(体验版)、release(线上版)
data.put("env_version", "develop");
//链接是否会失效,微信官方有限制永久链接的个数
data.put("is_expire", true);
//按天数过期
data.put("expire_type", 1);
//30天后过期
data.put("expire_interval", 30);

3、生成微信小程序的打开链接

    /**
     * https://api.weixin.qq.com/wxa/generate_urllink?access_token=ACCESS_TOKEN
     * 请求参数   属性             类型       默认值    必填     说明
     * @param   accessToken         string                 是       小程序 发送凭证
     * @param   data             jsonObject             是       小程序 发送数据

     * 返回值
     * @return  JSON 数据包
     *           属性         类型       说明
     *          errmsg       string      错误消息
     *          msgid         string      消息ID
     *
     *          errcode 的合法值
     *          值             说明                         最低版本
     *          -1             系统繁忙,此时请开发者稍候再试
     *          0             请求成功
     *          40029         code 无效
     *          45011         频率限制,每个用户每分钟100次
     */
    JSONObject generateUrlLink(String accessToken ,JSONObject data);
    @Override
    public JSONObject generateUrlLink(String accessToken, JSONObject data) {
        String url = "https://api.weixin.qq.com/wxa/generate_urllink?access_token=" + accessToken;
        return getResult(data, url);
    }

    private JSONObject getResult(JSONObject data, String url) {
        HttpHeaders headers = new HttpHeaders();
        HttpMethod method = HttpMethod.POST;
        // 以表单的方式提交
        headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
        //将请求头部和参数合成一个请求
        HttpEntity<JSONObject> requestEntity = new HttpEntity<>(data, headers);
        //执行HTTP请求,将返回的结构使用ResultVO类格式化
        ResponseEntity<JSONObject> response = restTemplate.exchange(url, method, requestEntity, JSONObject.class);
        return response.getBody();
    }

 

相关文章:

  • 2022-01-11
  • 2021-11-18
  • 2022-01-01
  • 2021-10-27
  • 2021-12-25
  • 2021-12-15
  • 2021-07-17
猜你喜欢
  • 2021-08-07
  • 2021-10-26
  • 2021-08-28
  • 2021-11-22
  • 2021-05-21
  • 2021-11-22
相关资源
相似解决方案