佰推网logo

400-844-5354

当前位置:网站首页 > 新闻动态 > 小程序制作资讯

小程序开发文档怎么做?怎么样??

日期:2023-07-15访问量:0类型:小程序制作资讯

1.小程序开发文档地址:

你可以先自己尝试一下

这次由于业务需求:选择了一个可以无限生成的接口进行对接:

POST https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKEN

2. 代码实现

小程序开发文档怎么做?怎么样??

1.yml配置:

注:填写

小程序的唯一证书AppID可以在“微信官方平台-设置-开发设置”页面获取。 (需是开发者,且账号无异常状态);

小程序唯一的凭证密钥,即获取方法与appid相同

config: 
  sun:
    token-access-url: https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=appid&secret=secret
    code-url: https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=

就我个人而言,我更喜欢使用配置类来引用配置。 小程序代码更像sun代码,称为sun代码,即配置类如下

小程序开发文档怎么做?怎么样??

@Data
@Configuration
@ConfigurationProperties(prefix = "config.sun")
public class SunConfig {
    private String tokenAccessUrl;
    private String codeUrl;
}

2、定义对接小程序界面的组件:

public class SunCodeComponent {
    @Autowired
    private SunConfig sunConfig;
    @Autowired
    RestTemplate restTemplate;
    
    //方法一是持久化到数据库
    public String getSunCode(Long userId,String shareType) throws IOException {
        //获取凭证
        String tokenAccessUrl = sunConfig.getTokenAccessUrl();
        String tokenAccess = Objects
                .requireNonNull(
                        restTemplate.getForObject(tokenAccessUrl, JSONObject.class)
                )
                .getString("access_token");
        //获取二维码
        String codeUrl = sunConfig.getCodeUrl()+tokenAccess;
        int code = ShareTypeEnum.valueOf(shareType).value();
        String scene = "a=qrcode_"+code+"_"+userId;
        JSONObject json = new JSONObject();
        json.put("page", "");//如果传空则默认进入小程序首页
        json.put("scene", scene);//参数
        json.put("width", "120");//宽
        json.put("is_hyaline", true);//是否透明底色
        byte[] bytes =restTemplate.postForObject(codeUrl, json, byte[].class);
        if (bytes==null){
            return null;
        }
        InputStream inputStream = new ByteArrayInputStream(bytes);
        MultipartFile file = new MockMultipartFile("game","game.png",ContentType.IMAGE_PNG.toString(), inputStream);
        //调用文件服务上传文件接口,上传二维码
        //todo写上自己的上传方式接口即可
        
        return "文件路径";
    }
    //方法二是直接返回一个图片给前端展示,也可方便自测查看返回图片是否正常。
    //附上,在线转图片地址:https://tool.chinaz.com/tools/imgtobase
    public String  getSunCodeV2(Long userId,String shareType){
        //获取凭证
        String tokenAccessUrl = sunConfig.getTokenAccessUrl();
        String tokenAccess = restTemplate.getForObject(tokenAccessUrl,JSONObject.class).getString("access_token");
        //获取二维码
        int code = ShareTypeEnum.valueOf(shareType).value();
        String codeUrl = sunConfig.getCodeUrl()+tokenAccess;
        String scene = "a=qrcode_"+code+"_"+userId;
        JSONObject json = new JSONObject();
        json.put("page", "");
        json.put("scene", scene);
        json.put("width", "120");
        json.put("is_hyaline", true);
        byte[] response = restTemplate.postForObject(codeUrl, json, byte[].class);
        return "data:image/png;base64," + Base64.getEncoder().encodeToString(response);
    }
}

对接过程中的坑:

场景:特别注意:不能大于32位,且最多不能超过1个! ! !


TAG标签:小程序开发文档 

声明:本文来自投稿,不代表佰推网立场,如若转载,请注明出处:http://www.ccsuit.cn/news/show281.html 若本站的内容无意侵犯了贵司版权,请给我们来信,我们会及时处理和回复。

相关新闻

相关案例