2017-09-23 07:31:24 towtotow 阅读数 880
  • 微信开发核心基础

    很多公司,企业甚至政府部分都开通了微信公众号,想要发挥微信的大价值,就必须让微信跟自己的平台或者数据库联系起来。这套《微信开发核心基础》,用一个完整的案例,告诉你微信开发流程,错误调试,如何看开发文档,学习你就可以自己做些独立开发。这个教程使用PHP为开发工具,建议你先学习子恒老师的《微信公众号使用》。学习完后,可以跟我反馈,如果好的话,会推出《微信服务号开发》教程,QQ/微信:68183131

    12938 人正在学习 去看看 秦子恒

虽然子恒老师已经出品了100多部微信公众号开发的视频教程,

但也不可能把微信所有的api开发接口讲完,

因为微信每过一段时间,

就会推出新的api接口,

你可以实现更多新功能,

还有可能微信把一些接口进行修改或者取消。


13kanwendang.jpg


作为一个优秀的微信开发人员,

你必须学会看微信的开发文档。


这一点对大部分刚接触公众号开发的人来说,

感觉到很难,

因为开发环境的原因,

或者文档说明不够详细,


子恒老师在这一节微信开发视频教程中告诉你怎么看公众号开发文档…

怎么看微信公众号开发文档视频教程在线观看

http://edu.csdn.net/course/detail/2586/40531

2018-07-05 17:19:12 sihai12345 阅读数 3990
  • 微信开发核心基础

    很多公司,企业甚至政府部分都开通了微信公众号,想要发挥微信的大价值,就必须让微信跟自己的平台或者数据库联系起来。这套《微信开发核心基础》,用一个完整的案例,告诉你微信开发流程,错误调试,如何看开发文档,学习你就可以自己做些独立开发。这个教程使用PHP为开发工具,建议你先学习子恒老师的《微信公众号使用》。学习完后,可以跟我反馈,如果好的话,会推出《微信服务号开发》教程,QQ/微信:68183131

    12938 人正在学习 去看看 秦子恒

文章有不当之处,欢迎指正,如果喜欢微信阅读,你也可以关注我的微信公众号:好好学java,获取优质学习资源。

商家信息管理系统登录时可以用微信扫码登录。
参考文档是微信开放平台着重需要关注文档(开发前一定看懂流程)网站应用微信登录开发指南部分。

注意这里是微信开放平台,不同于微信公众平台,还需要另外注册账号。我们在微信开放平台注册账号后,需要填写我们网站的域名,这样我们才能有权使用微信的接口。同样个人没有资质,要向师兄借用账号。

在进行讲解之前,我们需要明白用户登录一个网站的实质,也就是每一个用户对这个网站唯一的身份标识。而且我们每个微信用户对于一个微信开放平台账户有唯一的openid,这样我们就可以用用户的openid作为网站对这个用户的唯一标识。但不是每个网站都有权限获取用户的openid等信息的,这就需要拥有这个网站的公司到微信开放平台注册一个账号,然后在账号里填入自己网站的域名。然后网站就可以设置一个微信扫码登录按钮,让访问网站的用户点击,点击这个按钮就会访问微信官方给的微信扫码登陆接口,用户扫码同意后,就会回调一个我们在微信扫码登陆接口里设置的return_url,并带上code参数,我们就可以通过code参数,换取openid了。

过程和微信网页授权过程非常相似。

第一步访问微信给定的接口(加上自己的appID,appSecret,redirect_url,state参数),会获取CODE,并以CODE和state为参数,回调redirect_url。

然后以code、appid、appsecret为参数访问微信给的另一个接口,就可以获取openid等信息。

以上是根据微信官方文档手工方式获取openid的方法,我们也可以使用SDK的方式获取,还是weixin-java-tools这个SDK。
分以下两步:

第一步 先声明好bean。

   @Bean
    public WxMpService wxOpenService(){
        WxMpService wxOpenService=new WxMpServiceImpl();
        wxOpenService.setWxMpConfigStorage(wxOpenConfigStorage());
        return wxOpenService;
    }
    @Bean
    public WxMpConfigStorage wxOpenConfigStorage(){
        WxMpInMemoryConfigStorage wxMpInMemoryConfigStorage=new WxMpInMemoryConfigStorage();
        wxMpInMemoryConfigStorage.setAppId(accountConfig.getOpenAppId());
        wxMpInMemoryConfigStorage.setSecret(accountConfig.getOpenAppSecret());
        return wxMpInMemoryConfigStorage;
    }

第二步 构造自己的url,访问

  @GetMapping("/qrAuthorize")
    public String qrAuthorize(@RequestParam("returnUrl") String returnUrl){
        String url=projectUrlConfig.getWechatOpenAuthorize()+"/sell/wechat/userInfo";
        String redirectUrl=wxOpenService.buildQrConnectUrl(url,WxConsts.QRCONNECT_SCOPE_SNSAPI_LOGIN,URLEncoder.encode(returnUrl));
        return "redirect:"+redirectUrl;
    }
    @GetMapping("qrUserInfo")
    public String qrUserInfo(@RequestParam("code") String code,
                             @RequestParam("state") String returnUrl){
        WxMpOAuth2AccessToken wxMpOAuth2AccessToken=new WxMpOAuth2AccessToken();
        try{
            wxMpOAuth2AccessToken=wxOpenService.oauth2getAccessToken(code);
        }catch (WxErrorException e){
            log.error("【微信网页】{}",e);
            throw new SellException(ResultEnum.WECHAT_MP_ERROR.getCode(),e.getError().getErrorMsg());
        }
        log.info("wxMpOAuth2AccessToken={}",wxMpOAuth2AccessToken);
        String openId=wxMpOAuth2AccessToken.getOpenId();
        return "redirect:"+returnUrl+"?openid="+openId;
    }

出处:https://github.com/sqmax/springboot-project/wiki/%E7%BD%91%E7%AB%99%E5%BA%94%E7%94%A8%E4%BD%BF%E7%94%A8%E5%BE%AE%E4%BF%A1%E6%89%AB%E7%A0%81%E7%99%BB%E5%BD%95

2017-01-04 09:53:46 qq_36617521 阅读数 3631
  • 微信开发核心基础

    很多公司,企业甚至政府部分都开通了微信公众号,想要发挥微信的大价值,就必须让微信跟自己的平台或者数据库联系起来。这套《微信开发核心基础》,用一个完整的案例,告诉你微信开发流程,错误调试,如何看开发文档,学习你就可以自己做些独立开发。这个教程使用PHP为开发工具,建议你先学习子恒老师的《微信公众号使用》。学习完后,可以跟我反馈,如果好的话,会推出《微信服务号开发》教程,QQ/微信:68183131

    12938 人正在学习 去看看 秦子恒

目前分享真机无效,开放工具可用. 
微信小程序开发之页面分享 onShareAppMessage 
扫码真机,开发工具均可用. 
扫描

真机图片如下: 
真机扫描

仔细读了一遍文档,这个API只是调起了客户端扫码界面,扫码成功后返回对应的结果. 
微信小程序中并没有提供打开链接的API.那么这个扫码是做什么用的呢?不可能像我一样扫个文字玩玩. 
想象空间很大啊. 
API实在简单,我都不好意思写了. 

想起我以前做Android的时候用zxing做二维码扫描.那叫一个惨….

2016-01-12 10:40:37 qq1021623362 阅读数 3729
  • 微信开发核心基础

    很多公司,企业甚至政府部分都开通了微信公众号,想要发挥微信的大价值,就必须让微信跟自己的平台或者数据库联系起来。这套《微信开发核心基础》,用一个完整的案例,告诉你微信开发流程,错误调试,如何看开发文档,学习你就可以自己做些独立开发。这个教程使用PHP为开发工具,建议你先学习子恒老师的《微信公众号使用》。学习完后,可以跟我反馈,如果好的话,会推出《微信服务号开发》教程,QQ/微信:68183131

    12938 人正在学习 去看看 秦子恒


微信文档:https://pay.weixin.qq.com/wiki/doc/api/native.php

 

第一步

在微信服务号设置native支付回调url。该URL会在微信用户扫描是调用。


 

第二步生成微信扫描支付二维码对应的URL

生成该URL后,就可以用该URL在草料去生成二维码。

URL的形式为:weixin://wxpay/bizpayurl?sign=XXXXX&appid=XXXXX&mch_id=XXXXX&product_id=XXXXXX&time_stamp=XXXXXX&nonce_str=XXXXX,只改参数,前面的weixin://wxpay/bizpayurl是固定的。

 

public static String createPayQrCodeUrl() {

long timeStamp = System.currentTimeMillis() / 1000;

String stringA = "appid=" + APP_ID + "&mch_id=" + MCH_ID

"&nonce_str=" + NONCE_STR + "&product_id=" + PEODUCT_ID

"&time_stamp=" + timeStamp + "&key=" + KEY;

String sign = DigestUtils.md5Hex(stringA).toUpperCase();

String url = "weixin://wxpay/bizpayurl?sign="

sign + "&appid=" + APP_ID + "&mch_id=" + MCH_ID

"&product_id=" + PEODUCT_ID + "&time_stamp=" + timeStamp

"&nonce_str=" + NONCE_STR;

 

return url;

}

第三步,用第二步生成的URL去生成二维码。

 

第四步,编写native支付对应的回调接口,该url是第一步设置的url

在该接口中,根据productid和用户的openid动态生成订单,用【统一下单API】去生成微信支付订单,微信支付系统根据商户系统的请求生成预支付交易,返回交易会话标识prepay_id

程序得到交易会话标识prepay_id后,把它拼成对应的xml数据返回给微信支付系统。

 

@ResponseBody

@RequestMapping(value = "/public/getProductId")

public void getProductId(HttpServletRequest request,

HttpServletResponse response) {

String notify_url = "http://www.benewit.cn/hzfwh-web/public/wxpay/notifyController";

try {

String xml = getBody(request);

Map<String, String> map = XMLUtils.parseXml(xml);

String appid = map.get("appid");

String mchid = map.get("mch_id");

String productid = map.get("product_id");

String openid = map.get("openid");

 

String prepayid = getPayResult(appidmchid,

"76baa506a4aef345a048cd2ea8edb1a9",

"42baa06a3u3fd345qw48ctyea8ed1300"notify_url"支付测试",

0.01, request.getRemoteAddr(), StringUtils.generateUuid(),

productidopenid);

System.out.println("prepayid:" + prepayid);

String nonceStr = StringUtils.generateUuid();

SortedMap<String, String> packageParams = new TreeMap<String, String>();

packageParams.put("return_code""SUCCESS");

packageParams.put("mch_id"mchid);

packageParams.put("appid"appid);

packageParams.put("nonce_str"nonceStr);

packageParams.put("prepay_id"prepayid);

packageParams.put("result_code""SUCCESS");

 

RequestHandler reqHandler = new RequestHandler(nullnull);

reqHandler.init(appid"76baa506a4aef345a048cd2ea8edb1a9",

"42baa06a3u3fd345qw48ctyea8ed1300");

 

String sign = reqHandler.createSign(packageParams);

 

String returnArgs = "<xml><return_code>SUCCESS</return_code>"

"<appid>" + appid + "</appid>" + "<mch_id>" + mchid

"</mch_id>" + "<nonce_str>" + nonceStr + "</nonce_str>"

"<prepay_id>" + prepayid + "</prepay_id>"

"<result_code>SUCCESS</result_code>" + "<sign>" + sign

"</sign></xml>";

 

response.getWriter().write(returnArgs);

catch (JDOMException e) {

e.printStackTrace();

catch (IOException e) {

e.printStackTrace();

}

 

}

第五步

完成上面的程序,微信用户扫二维码的时候,就会跳出支付界面,当支付成功的时候,微信支付后台会回调在生成微信支付时设置的回调url,并传输xml格式的数据,程序可以根据xml数据去修改数据库中的记录。如果不理解这个步骤,请查看【统一下单API】。

2018-06-29 17:49:46 weixin_41722928 阅读数 1246
  • 微信开发核心基础

    很多公司,企业甚至政府部分都开通了微信公众号,想要发挥微信的大价值,就必须让微信跟自己的平台或者数据库联系起来。这套《微信开发核心基础》,用一个完整的案例,告诉你微信开发流程,错误调试,如何看开发文档,学习你就可以自己做些独立开发。这个教程使用PHP为开发工具,建议你先学习子恒老师的《微信公众号使用》。学习完后,可以跟我反馈,如果好的话,会推出《微信服务号开发》教程,QQ/微信:68183131

    12938 人正在学习 去看看 秦子恒

https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419316505&token=&lang=zh_CN


https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&lang=zh_CN

没有更多推荐了,返回首页