Procházet zdrojové kódy

Merge branch 'master' of http://git.mokasz.com/zouyong/mk_framework

zouyong před 5 roky
rodič
revize
bd0f5b052b
21 změnil soubory, kde provedl 984 přidání a 177 odebrání
  1. 685 125
      assets/resources/game/prefab/game.prefab
  2. binární
      assets/resources/module/receiptNotice/到账通知.png
  3. 0 36
      assets/resources/module/receiptNotice/到账通知.png.meta
  4. 4 0
      assets/resources/module/sign/sign.prefab
  5. 15 6
      assets/script/game/component/TableView.ts
  6. 2 0
      assets/script/game/data/GameData.ts
  7. 36 3
      assets/script/game/data/module/SignData.ts
  8. 1 1
      assets/script/game/module/module/reward/Reward.ts
  9. 20 2
      assets/script/game/module/module/sign/Sign.ts
  10. binární
      build/jsb-link/frameworks/runtime-src/proj.android-studio/.idea/caches/build_file_checksums.ser
  11. 5 0
      build/jsb-link/frameworks/runtime-src/proj.android-studio/.idea/jarRepositories.xml
  12. 2 2
      build/jsb-link/frameworks/runtime-src/proj.android-studio/.idea/modules/-1746423203/libcocos2dx.iml
  13. 3 2
      build/jsb-link/frameworks/runtime-src/proj.android-studio/.idea/modules/app/mk_framework.iml
  14. 0 0
      build/jsb-link/frameworks/runtime-src/proj.android-studio/app/.externalNativeBuild/ndkBuild/debug/armeabi-v7a/ndkBuild_build_output.txt
  15. 1 0
      build/jsb-link/frameworks/runtime-src/proj.android-studio/app/.externalNativeBuild/ndkBuild/release/armeabi-v7a/ndkBuild_build_output.txt
  16. 13 0
      build/jsb-link/frameworks/runtime-src/proj.android-studio/app/AndroidManifest.xml
  17. 4 0
      build/jsb-link/frameworks/runtime-src/proj.android-studio/app/build.gradle
  18. 160 0
      build/jsb-link/frameworks/runtime-src/proj.android-studio/app/src/com/aries/ttaxx/wxapi/WXEntryActivity.java
  19. 5 0
      build/jsb-link/frameworks/runtime-src/proj.android-studio/app/src/org/cocos2dx/javascript/AppActivity.java
  20. 26 0
      build/jsb-link/frameworks/runtime-src/proj.android-studio/app/src/org/cocos2dx/javascript/thirdSdk/ThirdSdkMgr.java
  21. 2 0
      build/jsb-link/frameworks/runtime-src/proj.android-studio/build.gradle

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 685 - 125
assets/resources/game/prefab/game.prefab


binární
assets/resources/module/receiptNotice/到账通知.png


+ 0 - 36
assets/resources/module/receiptNotice/到账通知.png.meta

@@ -1,36 +0,0 @@
-{
-  "ver": "2.3.5",
-  "uuid": "5d12289f-517c-4bc7-9e58-3174af57ee24",
-  "type": "sprite",
-  "wrapMode": "clamp",
-  "filterMode": "bilinear",
-  "premultiplyAlpha": false,
-  "genMipmaps": false,
-  "packable": true,
-  "width": 750,
-  "height": 1334,
-  "platformSettings": {},
-  "subMetas": {
-    "到账通知": {
-      "ver": "1.0.4",
-      "uuid": "7fe555ed-39aa-435c-a1ae-c47748d0ff9e",
-      "rawTextureUuid": "5d12289f-517c-4bc7-9e58-3174af57ee24",
-      "trimType": "auto",
-      "trimThreshold": 1,
-      "rotated": false,
-      "offsetX": 0,
-      "offsetY": 0,
-      "trimX": 0,
-      "trimY": 0,
-      "width": 750,
-      "height": 1334,
-      "rawWidth": 750,
-      "rawHeight": 1334,
-      "borderTop": 0,
-      "borderBottom": 0,
-      "borderLeft": 0,
-      "borderRight": 0,
-      "subMetas": {}
-    }
-  }
-}

+ 4 - 0
assets/resources/module/sign/sign.prefab

@@ -1602,6 +1602,7 @@
     "node_panel": {
       "__id__": 1
     },
+    "transition_type": 0,
     "onComplete": [],
     "_id": ""
   },
@@ -1654,6 +1655,9 @@
     "scroll_view": {
       "__id__": 12
     },
+    "node_content": {
+      "__id__": 8
+    },
     "anim_btn": {
       "__id__": 33
     },

+ 15 - 6
assets/script/game/component/TableView.ts

@@ -27,7 +27,7 @@ export default class TableView extends cc.Component {
     /** item预制体组 */
     private item: Array<any> = null;
     /** 滑动列表的内容节点 */
-    private content: any = null;
+    private content: cc.Node = null;
     /** 列表高 */
     private layerHeight: any = null;
     /** ? */
@@ -94,7 +94,7 @@ export default class TableView extends cc.Component {
         // }
         // cc.log(this.testTime(0));// 消耗计时
         this.initItem();
-        this.getItemPos(0);
+        this.initItemPos(0);
         this.scrollView.node.on('scrolling', this.callback, this);
         // cc.log('tableView结束:' + this.testTime());
     }
@@ -107,7 +107,7 @@ export default class TableView extends cc.Component {
 
     }
 
-    private getItemPos(index: number) {
+    private initItemPos(index: number) {
         let item_data_count = this.itemData.length;
         for (let i = index; i < item_data_count; i++) {
             let obj: any = {}
@@ -295,7 +295,7 @@ export default class TableView extends cc.Component {
     }
 
     /** 滚动到底部 */
-    private itemMoveDown(num: number) {
+    public itemMoveDown(num: number) {
         if (num < 0 || this.firstItemIndex - 1 > num || num + 1 > this.itemData.length) {
             return;
         }
@@ -348,6 +348,15 @@ export default class TableView extends cc.Component {
     }
 
     /**
+     * 内容滚动到指定下标位置
+     * @param index 条目index
+     */
+    public contentMoveByIndex(index: number) {
+        let pos_y = this.itemPosMap.get(index).startPos;
+        this.scrollView.scrollToOffset(new cc.Vec2(this.content.x, pos_y), 0.5);
+    }
+
+    /**
      * 得到相关位置的排序index
      * 方法待验证,可能有问题
      * @param pos 坐标
@@ -368,7 +377,7 @@ export default class TableView extends cc.Component {
      */
     public addItem(obj: any) {
         this.itemData.push(obj);
-        this.getItemPos(this.itemData.length - 1);
+        this.initItemPos(this.itemData.length - 1);
         let endPos = this.itemPosMap.get(this.itemData.length - 1).endPos;
         if (endPos - this.layerHeight > 0) {
             let startPos = endPos - this.layerHeight;
@@ -416,7 +425,7 @@ export default class TableView extends cc.Component {
         this.itemData.splice(i, 1);
         const item_data_count = this.itemData.length;
         if (item_data_count <= 0) return;
-        this.getItemPos(item_data_count - 1);
+        this.initItemPos(item_data_count - 1);
 
         //改变this.itemArr的内容
         for (let j = 0; j < this.itemArr.length; j++) {

+ 2 - 0
assets/script/game/data/GameData.ts

@@ -192,6 +192,8 @@ export enum AUDIO_TYPE {
 type PlayerInfoType = {
     /** 自定义不需要校验的数据 */
     gameUserData: object,
+    /** 今日是否有签到 */
+    isSignInToday: boolean,
     /** 存钱罐存款 */
     piggyBank: number,
     /** 存钱罐能否提现 */

+ 36 - 3
assets/script/game/data/module/SignData.ts

@@ -18,15 +18,21 @@ export class SignData extends Data {
                 }
             });
             this.c_sign = gData.gameData.configs.SignIn;
+            this.init_list = true;
         }
         // 服务端数据不对
         // this.sign_last_bar = gData.gameData.gameData.signInDay;
+        // this.sign_can = gData.gameData.gameData.isSignInToday;
+
+        // 客户端测试数据
         this.sign_last_bar = gData.gameData.getProp(GameProp.sign_last_bar);
         // this.sign_can = gData.gameData.getProp(GameProp.sign_can);
     }
 
     /** 标志位:是否需要刷新数据 */
     public init_data: boolean = false;
+    /** 标志位:是否初始化配置列表 */
+    public init_list: boolean = false;
 
     /** 配置数据 签到 */
     private _c_sign: Array<CSignType> = [];
@@ -38,8 +44,8 @@ export class SignData extends Data {
         return this._c_sign;
     }
 
-    // 服务端数据 上次签到天数
     private _sign_last_bar = 0;
+    /** 上次签到天数 */
     set sign_last_bar(value: number) {
         this._sign_last_bar = value;
         this.init_data = true;
@@ -48,8 +54,8 @@ export class SignData extends Data {
         return this._sign_last_bar;
     }
 
-    // 服务端数据 能够签到
     private _sign_can = 1;
+    /** 能够签到 */
     set sign_can(value: number) {
         this._sign_can = value;
         this.init_data = true;
@@ -59,7 +65,7 @@ export class SignData extends Data {
     }
 
     /** 签到列表数据 */
-    public list_data = [];
+    public list_data: Array<Array<CSignType>> = [];
     /** 初始化列表数据 */
     public initListData() {
         // if (!this.c_sign.length) this.c_sign = this.getSignConfig();
@@ -154,6 +160,33 @@ export class SignData extends Data {
         // 获得奖励
     }
 
+    /**
+     * 获取数据列表中第一个可签到条目的index
+     * @returns index
+     */
+    public getItemIndexByCanSign(): number {
+        let index = 0;
+        const l_count = this.list_data.length;
+        for (let i = 0; i < l_count; i++) {
+            const i_count = this.list_data[i].length;
+            for (let j = 0; j < i_count; j++) {
+                let state = this.getStateByDay(this.list_data[i][j].loginDay);
+                if (this.sign_can) {
+                    if (state === RewardState.unlock) {
+                        index = i;
+                        return index
+                    }
+                } else {
+                    if (state === RewardState.lock) {
+                        index = i;
+                        return index
+                    }
+                }
+            }
+        }
+        return index;
+    }
+
 }
 
 export type CSignType = {

+ 1 - 1
assets/script/game/module/module/reward/Reward.ts

@@ -107,7 +107,7 @@ export default class Reward extends cc.Component {
      * 看广告回调:开奖
      */
     private watchVideoCall() {
-        if (!gData.reward.data || gData.reward.data.length) return;
+        if (!gData.reward.data || !gData.reward.data.length) return;
         // 数据排序:多条奖励,只展示红包,把红包放在首位
         const r_count = gData.reward.data.length;
         if (r_count >= 2) {

+ 20 - 2
assets/script/game/module/module/sign/Sign.ts

@@ -1,3 +1,4 @@
+import TableView from "../../../component/TableView";
 import { AdFun } from "../../../data/AdData";
 import { GameProp, RewardState } from "../../../data/GameData";
 
@@ -15,9 +16,13 @@ export default class Sign extends cc.Component {
 
     @property({ type: cc.ScrollView, displayName: '滚动视图' })
     private scroll_view: cc.ScrollView = null!;
+    @property({ type: cc.Node, displayName: '滚动内容容器' })
+    private node_content: cc.Node = null!;
+
     @property({ type: cc.Animation, displayName: '按钮_动画' })
     private anim_btn: cc.Animation = null!;
 
+    private tableview: TableView = null;
     onLoad() {
 
     }
@@ -26,7 +31,6 @@ export default class Sign extends cc.Component {
         // gData.sign.sign_can = gData.gameData.getProp(GameProp.sign_can);
         gData.sign.initListData();
         gData.sign.init_data = true;
-        cc.log(gData.sign.sign_last_bar)
     }
 
     /**
@@ -35,16 +39,24 @@ export default class Sign extends cc.Component {
     private initScollView() {
         let list_data = gData.sign.list_data;
         this.scroll_view.node.emit('srollview-init', list_data)
+        this.tableview = this.scroll_view.node.getComponent('TableView')
+
+        let index = gData.sign.getItemIndexByCanSign();
+        this.tableview.contentMoveByIndex(index)
     }
 
 
     update(dt) {
         if (gData.sign.init_data) {
             gData.sign.init_data = false;
-            this.initScollView();
             this.initBtnStyle();
             return;
         }
+        if (gData.sign.init_list) {
+            gData.sign.init_list = false;
+            this.initScollView();
+            return;
+        }
         if (gData.sign.adData) {
             // 展示奖励
             this.getReward();
@@ -67,7 +79,13 @@ export default class Sign extends cc.Component {
      * 拿奖励
      */
     private getReward() {
+        let index_old = gData.sign.getItemIndexByCanSign();
+        // 完成展示
         gData.sign.signComplete();
+
+        // 指定条目数据刷新
+        this.tableview.resetItemData(index_old, gData.sign.list_data[index_old]);
+
         // 打开奖励界面
         // to do
     }

binární
build/jsb-link/frameworks/runtime-src/proj.android-studio/.idea/caches/build_file_checksums.ser


+ 5 - 0
build/jsb-link/frameworks/runtime-src/proj.android-studio/.idea/jarRepositories.xml

@@ -36,5 +36,10 @@
       <option name="name" value="D:\Android\SDK\extras\android\m2repository" />
       <option name="url" value="file:/D:/Android/SDK/extras/android/m2repository" />
     </remote-repository>
+    <remote-repository>
+      <option name="id" value="MavenRepo" />
+      <option name="name" value="MavenRepo" />
+      <option name="url" value="https://repo.maven.apache.org/maven2/" />
+    </remote-repository>
   </component>
 </project>

+ 2 - 2
build/jsb-link/frameworks/runtime-src/proj.android-studio/.idea/modules/-1746423203/libcocos2dx.iml

@@ -33,10 +33,10 @@
       <sourceFolder url="file://D:/Develop/CocosDashboard_1.0.9/resources/.editors/Creator/2.4.5/resources/cocos2d-x/cocos/platform/android/java/src" isTestSource="false" />
     </content>
     <content url="file://D:/Develop/CocosDashboard_1.0.9/resources/.editors/Creator/2.4.5/resources/cocos2d-x/cocos/platform/android/libcocos2dx">
-      <sourceFolder url="file://D:/Develop/CocosDashboard_1.0.9/resources/.editors/Creator/2.4.5/resources/cocos2d-x/cocos/platform/android/libcocos2dx/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
+      <sourceFolder url="file://D:/Develop/CocosDashboard_1.0.9/resources/.editors/Creator/2.4.5/resources/cocos2d-x/cocos/platform/android/libcocos2dx/build/generated/source/apt/debug" isTestSource="false" generated="true" />
       <sourceFolder url="file://D:/Develop/CocosDashboard_1.0.9/resources/.editors/Creator/2.4.5/resources/cocos2d-x/cocos/platform/android/libcocos2dx/build/generated/source/aidl/debug" isTestSource="false" generated="true" />
+      <sourceFolder url="file://D:/Develop/CocosDashboard_1.0.9/resources/.editors/Creator/2.4.5/resources/cocos2d-x/cocos/platform/android/libcocos2dx/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
       <sourceFolder url="file://D:/Develop/CocosDashboard_1.0.9/resources/.editors/Creator/2.4.5/resources/cocos2d-x/cocos/platform/android/libcocos2dx/build/generated/source/rs/debug" isTestSource="false" generated="true" />
-      <sourceFolder url="file://D:/Develop/CocosDashboard_1.0.9/resources/.editors/Creator/2.4.5/resources/cocos2d-x/cocos/platform/android/libcocos2dx/build/generated/source/apt/debug" isTestSource="false" generated="true" />
       <sourceFolder url="file://D:/Develop/CocosDashboard_1.0.9/resources/.editors/Creator/2.4.5/resources/cocos2d-x/cocos/platform/android/libcocos2dx/build/generated/res/rs/debug" type="java-resource" generated="true" />
       <sourceFolder url="file://D:/Develop/CocosDashboard_1.0.9/resources/.editors/Creator/2.4.5/resources/cocos2d-x/cocos/platform/android/libcocos2dx/build/generated/res/resValues/debug" type="java-resource" generated="true" />
       <sourceFolder url="file://D:/Develop/CocosDashboard_1.0.9/resources/.editors/Creator/2.4.5/resources/cocos2d-x/cocos/platform/android/libcocos2dx/build/generated/source/apt/androidTest/debug" isTestSource="true" generated="true" />

+ 3 - 2
build/jsb-link/frameworks/runtime-src/proj.android-studio/.idea/modules/app/mk_framework.iml

@@ -40,15 +40,15 @@
       <sourceFolder url="file://$MODULE_DIR$/../../../../Classes" isTestSource="false" />
     </content>
     <content url="file://$MODULE_DIR$/../../../app">
+      <sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/source/apt/debug" isTestSource="false" generated="true" />
       <sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/source/aidl/debug" isTestSource="false" generated="true" />
       <sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/source/apt/debug" isTestSource="false" generated="true" />
       <sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/source/rs/debug" isTestSource="false" generated="true" />
       <sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/res/rs/debug" type="java-resource" generated="true" />
       <sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/res/resValues/debug" type="java-resource" generated="true" />
       <sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/source/apt/androidTest/debug" isTestSource="true" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" />
       <sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/source/aidl/androidTest/debug" isTestSource="true" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" />
       <sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/source/rs/androidTest/debug" isTestSource="true" generated="true" />
       <sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/res/rs/androidTest/debug" type="java-test-resource" generated="true" />
       <sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/res/resValues/androidTest/debug" type="java-test-resource" generated="true" />
@@ -268,6 +268,7 @@
     <orderEntry type="library" name="Gradle: ./../../../../../../../Develop/CocosDashboard_1.0.9/resources/.editors/Creator/2.4.5/resources/cocos2d-x/cocos/platform/android/java/libs/com.android.vending.expansion.zipfile.jar" level="project" />
     <orderEntry type="library" name="Gradle: ./../../../../../../../Develop/CocosDashboard_1.0.9/resources/.editors/Creator/2.4.5/resources/cocos2d-x/cocos/platform/android/java/libs/okhttp-3.12.7.jar" level="project" />
     <orderEntry type="library" name="Gradle: ./../../../../../../../Develop/CocosDashboard_1.0.9/resources/.editors/Creator/2.4.5/resources/cocos2d-x/cocos/platform/android/java/libs/okio-1.15.0.jar" level="project" />
+    <orderEntry type="library" name="Gradle: com.tencent.mm.opensdk:wechat-sdk-android-without-mta:6.7.4@aar" level="project" />
     <orderEntry type="module" module-name="libcocos2dx" />
   </component>
 </module>

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
build/jsb-link/frameworks/runtime-src/proj.android-studio/app/.externalNativeBuild/ndkBuild/debug/armeabi-v7a/ndkBuild_build_output.txt


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 0
build/jsb-link/frameworks/runtime-src/proj.android-studio/app/.externalNativeBuild/ndkBuild/release/armeabi-v7a/ndkBuild_build_output.txt


+ 13 - 0
build/jsb-link/frameworks/runtime-src/proj.android-studio/app/AndroidManifest.xml

@@ -5,6 +5,9 @@
 
     <uses-feature android:glEsVersion="0x00020000" />
 
+    <!--WX SDK for mta statistics, not necessary-->
+    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
+
     <uses-permission android:name="android.permission.INTERNET"/>
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
@@ -32,6 +35,16 @@
                 <category android:name="android.intent.category.LAUNCHER" />
             </intent-filter>
         </activity>
+
+        <activity
+            android:name=".wxapi.WXEntryActivity"
+            android:label="@string/app_name"
+            android:theme="@android:style/Theme.Translucent.NoTitleBar"
+            android:exported="true"
+            android:taskAffinity="com.aries.ttaxx"
+            android:launchMode="singleTask">
+        </activity>
+
     </application>
     
 </manifest>

+ 4 - 0
build/jsb-link/frameworks/runtime-src/proj.android-studio/app/build.gradle

@@ -152,4 +152,8 @@ dependencies {
     implementation fileTree(dir: 'libs', include: ['*.jar','*.aar'])
     implementation fileTree(dir: "${System.getenv("COCOSCREATOR_HOME")}/resources/.editors/Creator/2.4.5/resources/cocos2d-x/cocos/platform/android/java/libs", include: ['*.jar'])
     implementation project(':libcocos2dx')
+
+    //微信SDK(登录、分享等)
+    api 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+'
+
 }

+ 160 - 0
build/jsb-link/frameworks/runtime-src/proj.android-studio/app/src/com/aries/ttaxx/wxapi/WXEntryActivity.java

@@ -0,0 +1,160 @@
+package com.aries.ttaxx.wxapi;
+
+import android.app.Activity;
+import android.app.ProgressDialog;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.util.Log;
+import android.widget.Toast;
+
+
+
+//import org.cocos2dx.javascript.thridSdk.ThirdSdkMgr;
+
+import com.aries.ttaxx.BuildConfig;
+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.IWXAPI;
+import com.tencent.mm.opensdk.openapi.IWXAPIEventHandler;
+import com.tencent.mm.opensdk.openapi.WXAPIFactory;
+
+import org.cocos2dx.javascript.AppActivity;
+import org.cocos2dx.javascript.thirdSdk.ThirdSdkMgr;
+
+public class WXEntryActivity extends Activity implements IWXAPIEventHandler {
+
+    //单例模式
+    public static WXEntryActivity mInstance = null;
+
+    public static WXEntryActivity getInstance() {
+        if (null == mInstance) {
+            mInstance = new WXEntryActivity();
+        }
+        return mInstance;
+    }
+
+    //AppId(这边统一调用 BuildConfig)
+    private String AppId_WX = "wx28356dc7c541ea76";
+
+    //日志Tag
+    private  String _tag = "[WXEntryActivity] :";
+
+    private IWXAPI iwxapi;
+    private String unionid;
+    private String openid;
+    private WXEntryActivity mContext;
+    private ProgressDialog mProgressDialog;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        Log.d(this._tag, "onCreate");
+        //可以注释,因为不会自动进入这边的 onCreate() 方法 只不过需要打开该Activty才会进入
+        String APP_ID = BuildConfig.WX_APP_ID;
+        iwxapi = WXAPIFactory.createWXAPI(this, APP_ID, true);
+        handleIntent(getIntent());
+    }
+
+    /** 注册微信
+     *  @param context 调用注册的Activity 一般是AppActivity
+     */
+    public void regToWx(Context context)
+    {
+        String APP_ID = BuildConfig.WX_APP_ID;
+        Log.d(this._tag, "regToWx APP_ID: " + APP_ID);
+        iwxapi = WXAPIFactory.createWXAPI(context, APP_ID, true);
+        iwxapi.registerApp(APP_ID);
+    }
+
+    /** 开始微信授权
+     *  @param context 一般是主Activity 比如 AppActivity
+     */
+    public void startWxAuth(Context context) {
+        Log.d(this._tag, "startWxAuth ");
+        if (!iwxapi.isWXAppInstalled()) {
+            //Toast 是一个 View 视图,快速的为用户显示少量的信息。Toast 在应用程序上浮动显示信息给用户,它永远不会获得焦点,不影响用户的输入等操作,主要用于 一些帮助 / 提示。
+            Toast.makeText(context, "您的设备未安装微信客户端", Toast.LENGTH_SHORT).show();
+        } else {
+            final SendAuth.Req req = new SendAuth.Req();
+            req.scope = "snsapi_userinfo";
+            //req.state = "wechat_sdk_demo_test";
+            req.state = String.valueOf(System.currentTimeMillis());
+            iwxapi.sendReq(req);
+        }
+    }
+
+    @Override
+    protected void onNewIntent(Intent intent) {
+        super.onNewIntent(intent);
+        Log.d(this._tag, "onNewIntent");
+        this.handleIntent(intent);
+    }
+
+    private void handleIntent(Intent intent) {
+        setIntent(intent);
+        iwxapi.handleIntent(intent, this);
+    }
+
+    @Override
+    public void onReq(BaseReq baseReq) {
+
+        Log.d(this._tag, "onReq");
+    }
+
+    //请求回调结果处理
+    @Override
+    public void onResp(BaseResp baseResp) {
+        //登录微信返回回调
+        Log.d(this._tag, "onResp baseResp.errCode: "+baseResp.errCode + "");
+        switch (baseResp.errCode) {
+            case BaseResp.ErrCode.ERR_OK:
+                if (baseResp instanceof SendAuth.Resp) {
+                    String code = ((SendAuth.Resp) baseResp).code;
+//                    ThirdSdkMgr.AccessToken(code);
+                    finish();
+
+                } else {
+                    finish();
+                }
+                break;
+            case BaseResp.ErrCode.ERR_AUTH_DENIED://用户拒绝授权
+                finish();
+                break;
+            case BaseResp.ErrCode.ERR_USER_CANCEL://用户取消
+                finish();
+                break;
+            default:
+                finish();
+                break;
+        }
+    }
+
+
+//    //新写法 分返回code 可以后续借鉴
+//    public void onResp(BaseResp resp) {
+//        if (resp.errCode == BaseResp.ErrCode.ERR_OK) {
+//            if (resp.getType() == ConstantsAPI.COMMAND_SENDAUTH) {
+//                //授权登录成功
+//                String code = ((SendAuth.Resp) resp).code;
+//                String state = ((SendAuth.Resp) resp).state;
+//                Log.d(TAG, "code:===" + code + "state:===" + state);
+//                EventBus.getDefault().post(new ThirdLoginModel(code, state));
+//            } else if (resp.getType() == ConstantsAPI.COMMAND_SENDMESSAGE_TO_WX) {
+//                //分享微信回调
+//                Log.d(TAG, "====返回了====");
+//                String _type = MyWxManager.getInstance().getShareOrigin();
+//                String _target = MyWxManager.getInstance().getShareType();
+//                String _page = MyWxManager.getInstance().getSharePage();
+//                if (!TextUtils.isEmpty(_type) && !TextUtils.isEmpty(_target) && !TextUtils.isEmpty(_page)) {
+//                    MobclickUtil.Share(FrameApplication.getContext(), _type, _target, _page);
+//                }
+//            }
+//            finish();
+//        } else {
+//            finish();
+//        }
+//    }
+}

+ 5 - 0
build/jsb-link/frameworks/runtime-src/proj.android-studio/app/src/org/cocos2dx/javascript/AppActivity.java

@@ -24,6 +24,7 @@ THE SOFTWARE.
 ****************************************************************************/
 package org.cocos2dx.javascript;
 
+import org.cocos2dx.javascript.thirdSdk.ThirdSdkMgr;
 import org.cocos2dx.lib.Cocos2dxActivity;
 import org.cocos2dx.lib.Cocos2dxGLSurfaceView;
 
@@ -49,6 +50,10 @@ public class AppActivity extends Cocos2dxActivity {
         // DO OTHER INITIALIZATION BELOW
         SDKWrapper.getInstance().init(this);
 
+        //赋值方便调用
+        ThirdSdkMgr.appActivity = this;
+        //注册到微信
+        ThirdSdkMgr.regToWx();
     }
 
     @Override

+ 26 - 0
build/jsb-link/frameworks/runtime-src/proj.android-studio/app/src/org/cocos2dx/javascript/thirdSdk/ThirdSdkMgr.java

@@ -0,0 +1,26 @@
+package org.cocos2dx.javascript.thirdSdk;
+
+import android.content.Context;
+import android.util.Log;
+
+import org.cocos2dx.javascript.AppActivity;
+import com.aries.ttaxx.wxapi.WXEntryActivity;
+
+public class ThirdSdkMgr {
+
+    private static String _Tag = "[ThirdMgr]-------:";
+    /**  */
+    public static AppActivity appActivity = null;
+    /** */
+    public static WXEntryActivity wxEntryActivity = null;
+
+    public static void regToWx()
+    {
+        WXEntryActivity.getInstance().regToWx(ThirdSdkMgr.appActivity);
+    }
+
+    public static void WxAuth()
+    {
+        WXEntryActivity.getInstance().startWxAuth(ThirdSdkMgr.appActivity);
+    }
+}

+ 2 - 0
build/jsb-link/frameworks/runtime-src/proj.android-studio/build.gradle

@@ -5,6 +5,7 @@ buildscript {
     repositories {
         google()
         jcenter()
+        mavenCentral()
     }
     dependencies {
         classpath 'com.android.tools.build:gradle:3.2.0'
@@ -19,6 +20,7 @@ allprojects {
     repositories {
         google()
         jcenter()
+        mavenCentral()
         flatDir {
             dirs 'libs'
         }

Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů