瀏覽代碼

新手引导

zouyong 5 年之前
父節點
當前提交
c51ec05ed1

+ 4 - 1
assets/resources/module/guide/guide.prefab

@@ -1202,7 +1202,7 @@
     "asset": {
       "__uuid__": "5f53c125-7a14-4ca0-986a-0e0d2d665268"
     },
-    "fileId": "f9mlOp3ChKlY+khHxIF6IF",
+    "fileId": "a2HoJek5BHspfqhuFy74/k",
     "sync": false
   },
   {
@@ -1296,6 +1296,9 @@
     "node_bg": {
       "__id__": 3
     },
+    "node_dialog": {
+      "__id__": 17
+    },
     "node_finger": {
       "__id__": 15
     },

+ 33 - 33
assets/script/game/data/LoginData.ts

@@ -65,7 +65,7 @@ export class LoginData {
      * @description initApp-->initAd-->connect-->wxLogin-->checkLogin-->getAccountInfo
      */
     public async login() {
-
+        mk.console.logSingle("login...", this.sessionKey + "..." + this.uin);
         //有登录记录直接跳转到登录流程最后一步
         if (this.sessionKey != '' && this.uin != '') {
             console.log("=== login 有登录记录直接跳转到登录流程最后一步");
@@ -97,7 +97,7 @@ export class LoginData {
             return;
         }
         data = mk.encrypt.decrypt(response.encrypt, this.randomKey, gData.appData.appId);
-        console.log("[FC]connectTest decryptData", data);
+        mk.console.logSingle("[FC]connectTest decryptData", data);
         this.tempUin = JSON.parse(data).tmp_uin;
         mk.storage.setStorage(StorageKey.uin, this.tempUin);
         this.wxLogin();
@@ -139,7 +139,7 @@ export class LoginData {
         }
         data = JSON.parse(data);
         this.loginTicket = data.login_ticket;
-        console.log("[FC]wxLoginTest decrypt", data);
+        mk.console.logSingle("[FC]wxLogin decrypt", data);
         mk.storage.setStorage(StorageKey.loginTicket, this.loginTicket);
 
         let isFirstIn = mk.storage.getStorage(StorageKey.isFirstIn);
@@ -193,13 +193,13 @@ export class LoginData {
 
         let parseData = JSON.parse(decryptData);
         this.sessionKey = parseData.session_key;
-        console.log("[FC]checkLogin decrypt", parseData);
+        mk.console.logSingle("[FC]checkLogin decrypt", parseData);
         mk.storage.setStorage(StorageKey.sessionKey, this.sessionKey);
         this.getUserInfo();
     }
 
     private async getUserInfo() {
-        
+
         // if (gData.wechatData.code != null) {
         //     if (this.isNew) {//玩过此游戏并且本地数据是本机的
         //         this.getAccountInfo();
@@ -223,37 +223,37 @@ export class LoginData {
         //     gData.wechatData.nickName = nickname;
         // }
         // else {
-            let aa = {
-                "uin": this.uin,
-                "login_ticket": this.loginTicket
-            };
+        let aa = {
+            "uin": this.uin,
+            "login_ticket": this.loginTicket
+        };
 
-            let data: any = {
-                "uin": this.uin,
-                "encrypt": mk.encrypt.encrypt(JSON.stringify(aa), this.sessionKey, gData.appData.appId)
-            };
+        let data: any = {
+            "uin": this.uin,
+            "encrypt": mk.encrypt.encrypt(JSON.stringify(aa), this.sessionKey, gData.appData.appId)
+        };
 
-            let response = await mk.http.sendRequest('user', 'POST', JSON.stringify(data), false, false);
-            if (response.errcode != 0) {
-                if (response.errcode == -10003 || response.errcode == -20003) {
-                    //清除缓存
-                    this.reload();
-                }
-                return;
-            }
-            response = mk.http.checkData(response, true);
-            data = response.data;
-            mk.console.logSingle("[FC] getAccountInfo decrypt", data);
-            this.isAuth = data.is_auth;
-            if (this.isAuth) {
-                gData.wechatData.nickName = data.nickname;
-                gData.wechatData.avatar = data.headimgurl;
-                gData.wechatData.unionid = this.uin;
-                gData.gameData.init_head = true;
-                mk.storage.setStorage(StorageKey.isAuth, 1);
-                mk.storage.setStorage(StorageKey.nickname, gData.wechatData.nickName, false);
-                mk.storage.setStorage(StorageKey.avatar, gData.wechatData.avatar, false);
+        let response = await mk.http.sendRequest('user', 'POST', JSON.stringify(data), false, false);
+        if (response.errcode != 0) {
+            if (response.errcode == -10003 || response.errcode == -20003) {
+                //清除缓存
+                this.reload();
             }
+            return;
+        }
+        response = mk.http.checkData(response, true);
+        data = response.data;
+        mk.console.logSingle("[FC] getAccountInfo decrypt", data);
+        this.isAuth = data.is_auth;
+        if (this.isAuth) {
+            gData.wechatData.nickName = data.nickname;
+            gData.wechatData.avatar = data.headimgurl;
+            gData.wechatData.unionid = this.uin;
+            gData.gameData.init_head = true;
+            mk.storage.setStorage(StorageKey.isAuth, 1);
+            mk.storage.setStorage(StorageKey.nickname, gData.wechatData.nickName, false);
+            mk.storage.setStorage(StorageKey.avatar, gData.wechatData.avatar, false);
+        }
 
         // }
 

+ 1 - 1
assets/script/game/data/StorageData.ts

@@ -5,7 +5,7 @@
 export class StorageData {
 
     /** 本地缓存key */
-    public storageKey: string = 'wewishyouamerrychristmaswithout996';
+    public storageKey: string = 'mzmNr2s358irB3WQC3AmGaWMFkMx2HQs';
 
     public clear(){
         mk.storage.clear();

+ 3 - 0
assets/script/game/data/module/GuideData.ts

@@ -35,6 +35,9 @@ export class GuideData {
             guide.tr_num = o.tr_num || o.trNum;
             guide.tr_form = o.tr_form || o.trForm;
             guide.dialog = o.dialog;
+            guide.dialog_pos = o.dialog_pos;
+            guide.dialog_pos1 = o.dialog_pos1;
+            guide.dialog_alignment = o.dialog_alignment;
             guide.display_rect = o.display_rect || o.displayRect;
             guide.click_rect = o.click_rect || o.clickRect;
             guide.finger = o.finger || '';

+ 24 - 0
assets/script/game/module/guide/Guide.ts

@@ -15,6 +15,8 @@ export default class Guide extends cc.Component {
     node_click: cc.Node = null;
     @property({ type: cc.Node, displayName: "背景" })
     node_bg: cc.Node = null;
+    @property({ type: cc.Node, displayName: "对话框" })
+    node_dialog: cc.Node = null;
     @property({ type: cc.Sprite, displayName: "手指" })
     node_finger: cc.Sprite = null;
     @property({ type: cc.Sprite, displayName: "头像" })
@@ -31,6 +33,9 @@ export default class Guide extends cc.Component {
     private targetNode: cc.Node;
     private event_name: string;
 
+    /** 对话框对齐方式 上下左右中 */
+    private widgets: string[] = ['top', 'bottom', 'left', 'right', 'verticalCenter', 'horizontalCenter'];
+
     onLoad() {
 
     }
@@ -84,6 +89,25 @@ export default class Guide extends cc.Component {
                 this.node_display.setPosition(pos);
             }
 
+            //对话框位置
+            ////全屏对齐
+            if (this.crtGuide.dialog_pos != null && this.crtGuide.dialog_pos.length > 0) {
+                let arr = this.crtGuide.dialog_pos.split(":");
+                let wedgit = this.node_dialog.getComponent(cc.Widget);
+                for (let i = 0; i < this.widgets.length; i++) {
+                    wedgit[this.widgets[i]] = arr[i] == "" ? null : arr[i];
+                }
+            }
+            else {//显示区域偏移
+                let arr = this.crtGuide.dialog_pos1.split(":");
+                this.node_dialog.x = this.node_display.x + parseInt(arr[0]);
+                this.node_dialog.y = this.node_display.y + parseInt(arr[1]);
+            }
+
+            //对话文字对齐方式
+            let a = this.crtGuide.dialog_alignment;
+            this.rich_dialog.horizontalAlign = a == '0' ? cc.macro.TextAlignment.LEFT : (a == '1' ? cc.macro.TextAlignment.CENTER : cc.macro.TextAlignment.RIGHT);
+
             if (this.crtGuide.finger == "") {
                 this.node_finger.node.active = false;
             }

+ 6 - 0
assets/script/game/module/guide/GuideVO.ts

@@ -11,6 +11,12 @@ export default class GuideVO {
     tr_form: number;
     /** 对话内容 */
     dialog: string;
+    /** 对话框位置--全屏对齐 */
+    dialog_pos: string;
+    /** 对话框位置--显示区域偏移xy */
+    dialog_pos1: string;
+    /** 对话文字对齐方式 0左1中2右 */
+    dialog_alignment:string;
     /** 透明点击区域(与click_node不共存) */
     display_rect: string;
     /** 点击组件名字(必须在代码中预先设置) */