Преглед изворни кода

小程序展示页面修改

xujunwei пре 3 година
родитељ
комит
38d7c8e761

+ 38 - 0
framework-common/src/main/java/com/mrxu/framework/common/xcx/api/PrivacySettingApi.java

@@ -0,0 +1,38 @@
+package com.mrxu.framework.common.xcx.api;
+
+
+import cn.hutool.json.JSONUtil;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.mrxu.framework.common.weixin.base.WxHttp;
+import com.mrxu.framework.common.weixin.base.WxResult;
+import com.mrxu.framework.common.xcx.bean.OwnerSetting;
+import com.mrxu.framework.common.xcx.enums.PrivacyVersion;
+
+//
+public class PrivacySettingApi {
+
+    // 配置小程序用户隐私保护指引
+    private static final String setprivacysetting = "https://api.weixin.qq.com/cgi-bin/component/setprivacysetting?access_token=";
+
+    /**
+     * 配置小程序用户隐私保护指引
+     * https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/privacy_config/set_privacy_setting.html
+     * access_token	string	是	第三方平台接口调用令牌authorizer_access_token
+     * privacy_ver	int	否	用户隐私保护指引的版本,1表示现网版本;2表示开发版。默认是2开发版。
+     * owner_setting	object	是	收集方(开发者)信息配置
+     * setting_list	arrary object	否	要收集的用户信息配置,可选择的用户信息类型参考下方详情。当privacy_ver传2或者不传时,setting_list是必填;当privacy_ver传1时,该参数不可传,否则会报错
+     */
+    public static WxResult privacySetting(String accessToken,
+                                          PrivacyVersion privacy_ver,
+                                          OwnerSetting owner_setting,
+                                          JSONArray setting_list) {
+        JSONObject json = new JSONObject();
+        json.put("privacy_ver", privacy_ver.getVersion());
+        json.put("owner_setting", JSONUtil.parse(owner_setting));
+        json.put("setting_list", setting_list);
+        WxResult rs = WxHttp.post(WxResult.class,setprivacysetting+accessToken,json);
+        return rs;
+    }
+
+}

+ 25 - 0
framework-common/src/main/java/com/mrxu/framework/common/xcx/bean/OwnerSetting.java

@@ -0,0 +1,25 @@
+package com.mrxu.framework.common.xcx.bean;
+
+import lombok.Data;
+
+// 收集方(开发者)信息配置
+@Data
+public class OwnerSetting {
+
+    // 是否必须: 否	信息收集方(开发者)的邮箱地址,4种联系方式至少要填一种
+    private String contact_email;
+    // 是否必须: 否	信息收集方(开发者)的手机号,4种联系方式至少要填一种
+    private String contact_phone;
+    // 是否必须: 否	信息收集方(开发者)的 qq 号,4种联系方式至少要填一种
+    private String contact_qq;
+    // 是否必须: 否	信息收集方(开发者)的微信号,4种联系方式至少要填一种
+    private String contact_weixin;
+    // 是否必须: 否	如果开发者不使用微信提供的标准化用户隐私保护指引模板,也可以上传自定义的用户隐私保护指引,通过上传接口上传后可获取media_id
+    private String ext_file_media_id;
+    // 是否必须: 是	通知方式,指的是当开发者收集信息有变动时,通过该方式通知用户。这里服务商需要按照实际情况填写,例如通过弹窗或者公告或者其他方式。
+    private String notice_method;
+    // 是否必须: 否	存储期限,指的是开发者收集用户信息存储多久。如果不填则展示为【开发者承诺,除法律法规另有规定,开发者对你的信息保存期限应当为实现处理目的所必要的最短时间】,如果填请填数字+天,例如“30天”,否则会出现87072的报错。
+    private String store_expire_timestamp;
+
+
+}

+ 32 - 0
framework-common/src/main/java/com/mrxu/framework/common/xcx/enums/PrivacyVersion.java

@@ -0,0 +1,32 @@
+package com.mrxu.framework.common.xcx.enums;
+
+// 用户隐私保护指引的版本,1表示现网版本;2表示开发版。默认是2开发版。
+public enum PrivacyVersion {
+
+    prod(1,"现网版本"),dev(2,"开发版");
+
+    private int version;
+
+    private String caption;
+
+    PrivacyVersion(int version, String caption) {
+        this.version = version;
+        this.caption = caption;
+    }
+
+    public int getVersion() {
+        return version;
+    }
+
+    public void setVersion(int version) {
+        this.version = version;
+    }
+
+    public String getCaption() {
+        return caption;
+    }
+
+    public void setCaption(String caption) {
+        this.caption = caption;
+    }
+}