CocosCreator系列——接入原生微信登陆功能

先看一下微信官方的接入文档吧,不得不说,我真的怀疑微信的文档肯定不是技术写的,简直乱得一批,看的人头昏脑胀,主要看一下这个链接的接入流程就行了,不要看接入的技术文档,跳到坑里怕是就爬不上来了(小吐槽一波微信),好了,吐槽就到这里,接下来该真枪真刀的实干一番了。
前期准备工作:准备好在微信开放平台上申请的AppID和AppSecret
1.直接上快车下载微信sdk吧,官网上的打开一个下载链接简直是蜗牛拖着乌龟爬的速度。
2.新建一个hello world工程,来一个微信登陆的按钮,然后绑定拉起微信登陆的代码

onWeiXinLoginClick() {if (cc.sys.os == cc.sys.OS_ANDROID) {jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AppActivity", "login", "()V");}},

3.打开构建好的工程,在NewProject01\build\jsb-link\frameworks\runtime-src\proj.android-studio\app此目录下新建一个lib文件夹,把下载的微信sdk拖入

4.用Android studio工具 import工程文件,AppActivity中初始化个参数

 private static final String APP_ID = "你申请的appid";private static IWXAPI api;public static AppActivity app = null;

5.在onCreate()方法里面注册

app = this;
// 通过WXAPIFactory工厂,获取IWXAPI的实例
api = WXAPIFactory.createWXAPI(this, APP_ID, true);
// 将应用的appId注册到微信
api.registerApp(APP_ID);
Log.e("注册成功:::","111111111111111111111");

6.js客户端点击微信登陆调用的方法

public static void login(){SendAuth.Req req = new SendAuth.Req();req.scope = "snsapi_userinfo";req.state = "wechat_sdk_aifuns";api.sendReq(req);Log.e("登陆成功:::","111111111111111111111");}

7.下面的两个方法等下要在微信回调类里面用要用

public static AppActivity getInstance(){return app;}
public static IWXAPI GetAPI() {return api;}

8.NewProject01\build\jsb-link\frameworks\runtime-src\proj.android-studio\app\src目录下新建com.xxx.xxx.wxapi路径,注意:这里有个坑,com.xxx.xxx对应的是Android studio工程build.gradle中对应的applicationId,不然会出现登陆微信成功以后收不到回调的问题,然后再com.xxx.xxx.wxapi目录下新建WXEntryActivity.java,然后编辑代码,下面奉上这个类的全部代码

package com.XXX.XXX.wxapi;import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;import com.tencent.mm.opensdk.constants.ConstantsAPI;
import com.tencent.mm.opensdk.modelbase.BaseReq;
import com.tencent.mm.opensdk.modelbase.BaseResp;
import com.tencent.mm.opensdk.modelmsg.SendAuth;
import com.tencent.mm.opensdk.openapi.IWXAPIEventHandler;import org.cocos2dx.javascript.AppActivity;public class WXEntryActivity extends Activity implements IWXAPIEventHandler {@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);AppActivity.getInstance().GetAPI().handleIntent(getIntent(), this);}@Overrideprotected void onNewIntent(Intent intent) {super.onNewIntent(intent);setIntent(intent);AppActivity.getInstance().GetAPI().handleIntent(getIntent(), this);finish();}@Overridepublic void onReq(BaseReq req) {// TODO Auto-generated method stubLog.e("WeiChatLogin", "onReq++++++++++++");finish();}@Override//微信登陆成功后,会回调此方法public void onResp(BaseResp resp) {switch (resp.getType()) {case ConstantsAPI.COMMAND_SENDAUTH:final SendAuth.Resp authResp = (SendAuth.Resp) resp;//在这里处理的逻辑就可以了Log.e("code",authResp.code);Log.e("state",authResp.state);Log.isLoggable("errCode",authResp.errCode);break;case ConstantsAPI.COMMAND_SENDMESSAGE_TO_WX: // 分享给好友、朋友圈case ConstantsAPI.COMMAND_PAY_BY_WX:break;}finish();}
}

好了,其实只要到这一步,拿到回调以后,跟服务器调一下就可以了,剩下的工作就是水到渠成的事了,很简单的一个东西,不知道微信的文档都写的什么东西,(手动头大)。
这里登陆的时候还有一个坑,可能会提示签名不一致,看我的另一篇文档吧。

确定不粉我一下么 ( ̄▽ ̄)"

CocosCreator系列——接入原生微信登陆功能相关推荐

  1. ShareSDK接入实现微信分享功能(转)

    ShareSDK接入实现微信分享功能 首先需要去Mob官网(http://www.mob.com/)下载shareSDK For Unity3d 下载完成,解压,将以下plugins文件夹移入Unit ...

  2. 微信登陆的LOL只有一个服务器,《LOL》部分大区开启微信登陆功能 扫码即可进入游戏...

    <LOL>部分大区开启微信登陆功能 扫码即可进入游戏 2019-05-06 16:33:28来源:游戏下载编辑:柠檬评论(0) <英雄联盟>官方今日发公告表示,部分大区已开放微 ...

  3. 微信登陆的LOL只有一个服务器,英雄联盟开启微信登陆功能 网友吐槽:这波操作多此一举...

    近日英雄联盟官方发布了一条公告引发网友议论声不断,原来英雄联盟官方将于8月21日8.16版本发布以后,在部分大区开启微信登陆功能测试,相信在科技越来越发达的今天,我们很多人在出门时只需要带上一部手机就 ...

  4. Laravel + EasyWeChat 微信登陆功能

    基于:Laravel 5.8.*,以下代码可能存在一些继承函数,详情可访问开源项目:Github.Gitee. 第一步:去微信公众号中设置和获取信息 注意:公众号必须已经认证,且必须拥有网页授权获取用 ...

  5. android 微信登陆功能,Android集成微信登录

    现在的项目中几乎都会用到微信登录分享支付之类的,我现在做的这个项目正好用到了微信登录功能,再次记录下我的使用过程: 1.第一步  先去微信开放平台注册账号,填写应用信息,提交审核,大概需要三到五天的时 ...

  6. 移动版PC版微信登陆功能

    背景: 产品目前分为公众平台版与PC版,用户在使用时,希望将两者的资产统一起来. 问题: PC版有微信开放平台的微信登陆,可获取OPENID,微信中可获取微信公众平台中用户的OPENID,虽然是一家的 ...

  7. 微信登陆的LOL只有一个服务器,《LOL》哪些区可以微信登陆 可微信登陆大区汇总一览...

    导 读 <英雄联盟>官方今天宣布,部分大区开启了微信登陆功能,玩家可以将微信与QQ绑定,通过扫码登陆,一起来了解一下吧. 官方公告: 我们将于5月6日在征服之海,均衡教派,卡拉曼达,巨龙之 ...

  8. 2021年PC电脑网站接入微信登陆支付精讲--1小时自已就可动手接入功能,--所有流程一目了然

    2021年了,你还要疲于拼命吗,2001年初,遇到BUG就是躲,放下,去吃最好吃的,吃好喝好,睡一觉,再来解决, 现在是喜欢上BUG了,出现BUG,就发自内心的想搞清楚,是什么源因导致的,呵呵呵 PC ...

  9. cocos creator接入微信登陆sdk ios篇

    cocos creator接入微信登陆sdk ios篇 背景已经在Android篇里面交代过了,有兴趣的朋友可以再看看Android篇 步骤 去微信开放平台下载ios平台所需要的sdk 在" ...

最新文章

  1. navicat设置数据表的外键
  2. SAP Spartacus如何判断用户是否已经成功登录
  3. (一)选择排序之一:堆排序
  4. 牛客网-这是一个沙雕题
  5. SAP License:SAP采购信息系统
  6. 【HTTPS运维神器】终于等到你!MySSL企业版重磅上线!
  7. DOM方式解析XML文件实例
  8. OpenCV之基础图像容器Mat(2)
  9. [转载]用 FFMPEG 合并 MP4 视频
  10. dev的pdf Viewer打印如何从横向打印修改为竖向靠上打印?
  11. 关注物业公司信息化建设
  12. 微信小程序获取用户openid(详解)
  13. linux下的office 速度慢,Microsoft office2016打开很慢解决
  14. HVCC文史通证行业顶尖技术确保安全无忧
  15. Coreseek开源中文检索引擎 coreseek-4.1 win7安装教程
  16. 关于 RestTemplate 中文乱码和List接收
  17. php word的使用
  18. 网站域名被劫持,域名被劫持的解决方式
  19. C语言经典算法100例(一)
  20. 论文阅读Super Edge 4-Points Congruent Sets-Based Point Cloud Global Registration

热门文章

  1. 【计算机组成原理】输入输出(I/O)系统总结——基本知识要点汇总
  2. 决定四六级阅读答案的那些词汇
  3. 什么是智能云断路器?
  4. 计算机专业本科毕业生去直招士官,北京市2018年直招士官信息来了!
  5. 浙大计算机直博夏令营录取率,保研干货 | 直博有风险,“入坑”需谨慎
  6. 信号处理——基础知识及常用算法
  7. web前端开发和后端开发哪个难度大?
  8. ubuntu18.04安装ibus拼音输入
  9. 蓝牙定位技术未来发展的三大趋势,蓝牙定位无所不能--新导智能
  10. 【守护安全】火绒企业版 新老用户超燃福利大放送