无法在这个位置找到: head2.htm
当前位置: 建站首页 > 新闻 > 产业新闻 >

新手站长怎么建站-微信公共号众号卡券和图文功能开发分享

时间:2021-04-25 18:13来源:新手站长怎么建站 作者:jianzhan 点击:
近期在做手机微信卡券开发设计,全过程可以说是一波三折啊,之前都没有触碰过,只有每个张口插口都得一遍遍的查询文本文档,在网上能够查出的材料能够说成少之又少,来看大部
--------

新手站长怎么建站

-------近期在做手机微信卡券开发设计,全过程可以说是一波三折啊,之前也沒有触碰过,只能每个开口插口都得一遍遍的查询文本文档,在网上能够查到的材料能够说是少之又少,来看大一部分人還是喜爱立即在微信公众号里边开展建立和推送的。可是微信公众号多了的话,假如還是一个个微信公众号去发的话,還是比较消耗時间,還是卡券的核销也是比较麻烦的。因此就把写了一个卡券的管理方法服务平台。
服务平台的基本作用:微信公众号管理方法、照片素材管理方法、卡券管理方法(关键是代金券)、图文管理方法、客户管理方法、标识管理方法等等
如今关键就讲讲代金券和图文的吧,这两个的坑比较多,也比较麻烦。
最先是手机微信 JAVA SDK:手机微信微信公众号开发设计神器,早已封裝了大一部分常见的插口和实体线和不正确回到等 1、获得token:
Token token = TokenAPI.token(appid, secret);
这个立即启用插口便可以了,上面的jar包都早已封裝好了,获得不到一般就是appid和secret的不正确,非常表明token通常为两个小时到期,再次获得的话,上一个获得token到期,因此就好做一个获得token的定时执行器,每两个小时获得一次,确保在多个客户实际操作的情况下不会出現token到期的难堪难题。
2、代金券的建立:主要参数就是下面这些啦,能够看一下插口文本文档,在主要参数开展加减便可以了
public static CreateResult CreateWxCard (WxCard wc,String token ){
             //必填特性:
          = new JSONObject();
        &.put( logo_url , wc.getLogoUrl());
        &.put( brand_name ,wc.getBrandName());
        &.put( code_type , wc.getCodeType());
        &.put( title , wc.getTitle());
        &.put( sub_title , wc.getSubTitle());
        &.put( color , wc.getColor());
        &.put( description , wc.getDescription());
        &.put( notice , wc.getNotice());
         //时间构造
          = new JSONObject();
         String type = wc.getType();
         if(type.equals( 1 )){
                .put( end_timestamp , wc.getEndTimestamp());
            &.put( begin_timestamp , wc.getBeginTimestamp());
            &.put( type , DATE_TYPE_FIX_TIME_RANGE
         }else{
            &.put( fixed_term , wc.getFixedTerm());
            &.put( fixed_begin_term , wc.getFixedBeginTerm());
            &.put( type , DATE_TYPE_FIX_TERM
         }
        &.put( , );
         //非必填特性:
        &.put( get_limit , wc.getGetLimit());
         boolean flag = true;
         if(wc.getCanShare()==1){
                flag = true;
                .put( can_share , flag);
         }else{
                flag = false;
                .put( can_share , flag);
         }
         if(wc.getCanGiveFriend()==1){
                flag = true;
                .put( can_give_friend , flag);
         }else{
                flag = false;
                .put( can_give_friend , flag);
         }
        &.put( custom_url_name , wc.getCustomUrlName());
        &.put( custom_url , wc.getCustomUrl());
        &.put( custom_url_sub_title , wc.getCustomUrlSubTitle());
        &.put( promotion_url_name , wc.getPromotionUrlName());
        &.put( promotion_url , wc.getPromotionUrl());
        &.put( center_title , wc.getCenterTitle());
        &.put( center_sub_title , wc.getCenterSubTitle());
        &.put( center_url , wc.getCenterUrl());
         //是不是特定客户派发
//        &.put( bind_openid , false
         //卡卷数量
         JSONObject sku = new JSONObject();
         sku.put( quantity , wc.getQuantity());
        &.put( sku , sku);
         //json构造数据信息
         JSONObject cash = new JSONObject();
         cash.put( , );
         cash.put( least_cost , wc.getLeastCost());
         cash.put( reduce_cost , wc.getReduceCost());
         //根级json
         JSONObject card = new JSONObject();
         card.put( cash , cash);
         card.put( card_type , CASH
         JSONObject json = new JSONObject();
         json.put( card , card);拷贝编码在其中说一下遇到的几个难题,最多见的难题就是主要参数种类不正确,这个比较普遍多和插口比对一下,第二就是嵌套循环的不正确,就是放的部位不对,这个不正确也是是非非常多见的,第三个就是主要参数写错了,第四个难题就是token不正确,这个就是微信公众号获得token的难题了,看上面获得token那有详尽表明。
推送卡券:推送卡券能够依据客户的appid推送,或所有推送,还可以排序推送等等,能够先检测推送一下能否收到。 /**
       * 推送卡券插口
       * @param access_token token
       * @param media_id
       * @return
       */
     public static String wxcardMessageAllSend(String access_token, String cardId){
            MassWxcardMessage nm = new MassWxcardMessage(cardId);
            nm.setFilter(new Filter(true, ));
            MessageSendResult br = MessageAPI.messageMassSendall(access_token, nm);
            (br.getErrcode()+ === +br.getErrmsg()+ ==== +br.getMsg_id()+ ==== +br.getMsg_status()+ ==== +br.getType());
            return br.getErrcode();
     }拷贝编码
卡券有查寻插口和核销插口: /**
       * 大批量查寻卡券目录
       * @param accessToken accessToken
       * @param postJson postJson
       * @return result
       */
     public static BatchGetResult batchGet(String accessToken, String postJson) {
            HttpUriRequest httpUriRequest = RequestBuilder
                     .post()
                     .setHeader(jsonHeader)
                     .setUri(BASE_URI + /card/batchget )
                     .addParameter(PARAM_ACCESS_TOKEN, API.accessToken(accessToken))
                     .setEntity(new StringEntity(postJson, Charset.forName( utf-8 )))
                     .build();
            return LocalHttpClient.executeJsonResult(httpUriRequest,
                     BatchGetResult.class);
     }拷贝编码 /**
       * 核销Code
       * @param accessToken accessToken
       * @param postJson postJson
       * @return result
       */
     public static CodeDecryptResult codeConsume(String accessToken, String postJson) {
            HttpUriRequest httpUriRequest = RequestBuilder
                     .post()
                     .setHeader(jsonHeader)
                     .setUri(BASE_URI + /card/code/consume )
                     .addParameter(PARAM_ACCESS_TOKEN, API.accessToken(accessToken))
                     .setEntity(new StringEntity(postJson, Charset.forName( utf-8 )))
                     .build();
            return LocalHttpClient.executeJsonResult(httpUriRequest,
                     CodeDecryptResult.class);
     }拷贝编码
图文:
图文建立、推送,图文能够适用多图文,还可以在附带卡券在里边,提交图文需要缩略图用来展现的,每次微信公众号收到的情况下会看到有张照片展现和图文的题目,因此先长传照片
缩略图的提交,这个和手机微信里边出示的插口仿佛不一样cgi-bin/media/uploadnews,用这个插口提交素材的情况下一直报各种各样难题,后来在在网上找到这个插口,发现沒有难题,照片不可以太大,以防出現难题哦
/**
       * 提交照片
       * @param filePath 相对路径
       * @param accessToken token
       * @return
       */
     public static JSONObject updateWxImage(String filePath,String accessToken){
            WritableResource resource = new FileSystemResource(new File(filePath));
            MultiValueMap String, Object data = new LinkedMultiValueMap String,Object
            data.add( media , resource);
            String urlString = cgi-bin/media/upload?access_token= +accessToken+ type=image
            RestTemplate restTemplate = new RestTemplate();
            String result = restTemplate.postForObject(urlString, data, String.class);
            JSONObject json_test = JSONObject.fromObject(result);
            return json_test;
     }拷贝编码回到得到一个照片的media_id在图文提交中会用到
提交图文素材:适用多图文数最多10个,图文里边能够放一些照片和卡券能够在一些富文字编写器中开展编写好,假如插卡券需要先启用获得卡券html的编码,随后拼接到图文內容中便可以了,建立取得成功会回到一个mediaId,推送的情况下传以往便可以了。
/**
       * 提交图文信息
       * @param accessToken
       * @param cardId
       * @return
       */
     public static String mediaUploadnews(String accessToken,List ImageText list){
            List Article articles = new ArrayList Article
            for(ImageText it :list){
                 Article a = new Article();
                 a.setAuthor(it.getAuthor());
                 a.setContent(it.getContent()+it.getCardHtml());
                 a.setContent_source_url(it.getContentSourceUrl());
                 a.setDigest(it.getDigest());
                 a.setShow_cover_pic(it.getShowCoverPic()+
                 a.setThumb_media_id(it.getThumbMediaId());
                 a.setTitle(it.getTitle());
                 articles.add(a);
            }
            Media m = MessageAPI.mediaUploadnews(accessToken, articles);
            ( 提交图文素材:==== +m.getType()+ === +m.getCreated_at());
            if(( 40007 ).equals(m.getErrcode())){
                 return error
            }
            return m.getMedia_id();
     }
     /**
       * 预览图文插口
       * @param access_token token
       * @param media_id
       * @param touser   手机微信号
       * @return
       */
     public static String messageMassPreview(String access_token, String media_id,String towxname){
            MpnewsPreview mp = new MpnewsPreview(media_id);
            mp.setMsgtype( mpnews
            mp.setTouser( towxname
            mp.setTowxname(towxname);
            MessageSendResult msr= MessageAPI.messageMassPreview(access_token, mp);
            (msr.getErrcode()+ === +msr.getErrmsg()+ ==== +msr.getMsg_id());
            return msr.getErrcode();
     }拷贝编码预览和推送图文:对卡券开展预览和推送(能够对一部分客户推送还可以所有推送),预览的情况下是立即填写手机微信账号便可以开展预览了。/**
       * 预览图文插口
       * @param access_token token
       * @param media_id
       * @param touser   手机微信号
       * @return
       */
     public static String messageMassPreview(String access_token, String media_id,String towxname){
            MpnewsPreview mp = new MpnewsPreview(media_id);
            mp.setMsgtype( mpnews
            mp.setTouser( towxname
            mp.setTowxname(towxname);
            MessageSendResult msr= MessageAPI.messageMassPreview(access_token, mp);
            return msr.getErrcode();
     }
     /**
       * 推送图文插口
       * @param access_token token
       * @param media_id
       * @param touser   手机微信号
       * @return
       */
     public static String allMessageCustomSend(String access_token, String mediaId){
            MassMPnewsMessage nm = new MassMPnewsMessage(mediaId);
            Filter f = new Filter(true,
            nm.setFilter(f);
            MessageSendResult br = MessageAPI.messageMassSendall(access_token, nm);
            return br.getErrcode();
     }拷贝编码上面就是卡券和图文的一下內容的共享,期待能对一些正在开展微信公众号管理方法开发设计的朋友们有一些协助,假如有难题还可以在下面开展留言,把不正确信息内容和一下全过程说一下,大伙儿能够一起讨论一下。

lanjianxie
辛苦了 甚么情况下出个微信公众号会员卡的实例教程 万分谢谢
近期微信公众号搞完了,忙其他,等过一段時间有时间在看一下会员卡的 ---------

新手站长怎么建站

------------ (责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
无法在这个位置找到: ajaxfeedback.htm
栏目列表
推荐内容


扫描二维码分享到微信

在线咨询
联系电话

400-888-8866