| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608 |
- cc.Class({
- extends: cc.Component,
- properties: {
- content: cc.Node,
- prefab: cc.Prefab,
- GoldBG: cc.SpriteFrame,
- GoldMedal: cc.SpriteFrame,
- SilverMedal: cc.SpriteFrame,
- BronzeMedal: cc.SpriteFrame,
- },
- onLoad() {
- this.nodes = [];
- this.ranklist = cc.find("Canvas/ranklist");
- this.info = cc.find("Canvas/info");
- },
- finished: function () {
- // console.log("动画回调了吗",this.Transcendnode);
- if (this.Transcendnode != null) {
- this.Transcendnode.active = false;
- }
- },
- getFriend: function () {
- this.removeAll();
- if (cc.sys.platform === cc.sys.WECHAT_GAME) {
- wx.getFriendCloudStorage({
- keyList: ['score'],
- success: function (res) {
- //添加排行榜为 自己的条目在下面
- this.testListView(this.initData(res.data));
- this.addMyItem();
- }.bind(this),
- fail: function (res) {
- console.error(res);
- }.bind(this)
- });
- } else {
- this.testListView(this.initData(null));
- //添加排行榜为 自己的条目在下面
- this.addMyItem();
- }
- },
- removeAll: function () {
- for (var i = 0; i < this.nodes.length; i++) {
- if (this.nodes[i] != null) {
- this.nodes[i].destroy();
- }
- }
- this.nodes = [];
- },
- //获取到当前名字
- getRanking: function (callback) {
- if (cc.sys.platform === cc.sys.WECHAT_GAME) {
- wx.getFriendCloudStorage({
- keyList: ['score'],
- success: function (res) {
- this.initData(res.data, callback);
- }.bind(this),
- fail: function (res) {
- console.error(res);
- }.bind(this)
- });
- } else {
- this.initData(null, callback);
- }
- },
- initData: function (data, callback) {
- var list = [
- {
- name: "汉堡店",
- id: 9527,
- Price: 100,
- Fluctuate: "15%",
- TotalPossession: 3500
- },
- {
- name: "汉堡店1",
- id: 9527,
- Price: 100,
- Fluctuate: "15%",
- TotalPossession: 3500
- },
- {
- name: "汉堡店3",
- id: 9527,
- Price: 100,
- Fluctuate: "15%",
- TotalPossession: 3500
- },
- ];
- var listdata = [
- {
- id: 2,
- name: "22",
- avatarUrl: "https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=607947196,2238683854&fm=26&gp=0.jpg",
- listData: list,
- openId: "oGxOa5bd61v9jI_indIdQtI2T5P8",
- // num : 0
- },
- {
- id: 6,
- name: "22",
- avatarUrl: "https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=607947196,2238683854&fm=26&gp=0.jpg",
- listData: list,
- openId: "oGxOa5bjKLaCSbkPev09yVze0WSA",
- // num : 1
- },
- {
- id: 3,
- name: "22",
- avatarUrl: "https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=607947196,2238683854&fm=26&gp=0.jpg",
- listData: list,
- openId: "oGxOa5bjKLaCSbkPev09yVze0WSA",
- // num : 2
- },
- {
- id: 3,
- name: "22",
- avatarUrl: "https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=607947196,2238683854&fm=26&gp=0.jpg",
- listData: list,
- openId: "oGxOa5bjKLaCSbkPev09yVze0WSA",
- // num : 3
- },
- {
- id: 7,
- name: "汪汪333",
- avatarUrl: "https://wx.qlogo.cn/mmopen/vi_32/DYAIOgq83eohXLEIOV99ic2JosrQDgIgL4cU4ZlmmvkWzGpygkNV9aEJ6nCC2mVf4kYBDHogNOHgXo2wZhv85jA/132?aa=a.jpg",
- listData: list,
- openId: "oGxOa5SQ1ltBWWsVRirUvXUBGRRY",
- // num : 4
- },
- {
- id: 8,
- name: "汪汪",
- avatarUrl: "https://wx.qlogo.cn/mmopen/vi_32/DYAIOgq83eohXLEIOV99ic2JosrQDgIgL4cU4ZlmmvkWzGpygkNV9aEJ6nCC2mVf4kYBDHogNOHgXo2wZhv85jA/132?aa=a.jpg",
- listData: list,
- openId: "11",
- // num : 4
- },
- {
- id: 9,
- name: "汪汪",
- avatarUrl: "https://wx.qlogo.cn/mmopen/vi_32/DYAIOgq83eohXLEIOV99ic2JosrQDgIgL4cU4ZlmmvkWzGpygkNV9aEJ6nCC2mVf4kYBDHogNOHgXo2wZhv85jA/132?aa=a.jpg",
- listData: list,
- openId: "11",
- // num : 4
- },
- {
- id: 10,
- name: "汪汪",
- avatarUrl: "https://wx.qlogo.cn/mmopen/vi_32/DYAIOgq83eohXLEIOV99ic2JosrQDgIgL4cU4ZlmmvkWzGpygkNV9aEJ6nCC2mVf4kYBDHogNOHgXo2wZhv85jA/132?aa=a.jpg",
- listData: list,
- openId: "11",
- // num : 4
- },
- ]
- if (data != null) {
- listdata = [];
- for (let i = 0; i < data.length; i++) {
- let friendInfo = data[i];
- let nickName = friendInfo.nickname;
- let avatarUrl = friendInfo.avatarUrl + "?aa=a.jpg";
- let ScoreValue = friendInfo.KVDataList[0].value;
- var d = {}
- d.id = parseInt(ScoreValue);
- d.name = nickName;
- d.openId = friendInfo.openid;
- d.avatarUrl = avatarUrl;
- d.listData = list;
- // d.num = i;
- // console.log("每条",d);
- listdata.push(d);
- // if (friendInfo.openid == userData.openId) {
- // userData.httpData.data.avatarUrl = avatarUrl + "?aa=a.jpg";
- // userData.httpData.data.nickName = nickName;
- // userData.httpData.data.id = d.id;
- // // userData.httpData.data.num = d.num;
- // console.log('1111=', userData.httpData.data.avatarUrl);
- // }
- }
- }
- var lists = this.getSortArr(listdata);
- //获取自己的排名信息
- for (let index = 0; index < lists.length; index++) {
- const element = lists[index];
- if (element.openId == userData.openId) {
- userData.ranking = index + 1;
- userData.httpData.data.avatarUrl = element.avatarUrl;
- userData.httpData.data.nickName = element.name;
- userData.httpData.data.id = element.id;
- // console.log( element.avatarUrl,'==333=', userData.httpData.data.avatarUrl);
- break;
- }
- }
- if (callback != null) {
- callback(lists);
- }
- return lists;
- },
- getSortArr: function (arr) {
- return arr.sort(this.sortNumberfunction);
- },
- sortNumberfunction: function (a, b) {
- return b.id - a.id;
- },
- addMyItem: function () {
- if (userData.httpData.data.avatarUrl == "")
- return;
- let node = cc.instantiate(this.prefab);
- node.parent = this.node;
- node.y -= 340;
- this.nodes.push(node);
- // // getUserInfo will return the nickName, getFriendCloudStorage will return the nickname.
- let nickName = userData.httpData.data.nickName;
- let avatarUrl = userData.httpData.data.avatarUrl;
- let ScoreValue = userData.httpData.data.id;
- // // console.log("ScoreValue="+ScoreValue);
- let userName = node.getChildByName('userName').getComponent(cc.Label);
- let userIcon = node.getChildByName('mask').getChildByName('userIcon').getComponent(cc.Sprite);
- let Scorelabel = node.getChildByName('Score').getComponent(cc.Label);
- node.getChildByName('ranking').getChildByName('RankText').getComponent(cc.Label).string = userData.ranking;
- console.log('1111=', avatarUrl);
- userName.string = nickName;
- Scorelabel.string = ScoreValue;
- cc.loader.load({ url: avatarUrl, type: 'png' }, (err, texture) => {
- if (err) console.error(err);
- // userIcon.spriteFrame = new cc.SpriteFrame(texture);
- this.setsprite(userIcon, new cc.SpriteFrame(texture));
- });
- },
- setsprite(targetSprite, texture) {
- targetSprite.spriteFrame = texture;
- },
- testListView: function (listdata) {
- for (let i = 0; i < listdata.length; i++) {
- let friendInfo = listdata[i];
- this.createtest(friendInfo, i);
- }
- this.setOnClickItem(function (index) {
- // console.log("条目点击",listdata[index],"点了索引了",index);
- UtilsPrefabs
- .init(this.node.parent)
- .addPrefabs(UtilsPrefabs.PrefabsName[5], null, function (node) {
- this.initcreateUserInfo(listdata[index], node);
- var PCloseButton = UtilsPrefabs.getNode("PCloseButton", node);
- UtilsPrefabs.setOff(PCloseButton);
- UtilsPrefabs.setOn(PCloseButton, function () {
- UtilsPrefabs.removePrefabs(this.node.parent, node.name);
- }.bind(this))
- }.bind(this));
- }.bind(this));
- },
- createtest(user, index) {
- let node = this.createPrefab(index);
- // getUserInfo will return the nickName, getFriendCloudStorage will return the nickname.
- let nickName = user.name;
- let avatarUrl = user.avatarUrl;
- let ScoreValue = user.id;
- // console.log("ScoreValue="+ScoreValue);
- let userName = node.getChildByName('userName').getComponent(cc.Label);
- let userIcon = node.getChildByName('mask').getChildByName('userIcon').getComponent(cc.Sprite);
- let Scorelabel = node.getChildByName('Score').getComponent(cc.Label);
- node.__itemID = index;
- if (userName != null) {
- userName.string = nickName;
- }
- if (Scorelabel != null) {
- Scorelabel.string = ScoreValue;
- }
- console.log('avatarUrl=', avatarUrl);
- // console.log(nickName + '\'s info has been getten.');
- cc.loader.load({
- url: avatarUrl, type: 'png'
- }, (err, texture) => {
- if (err) console.error(err);
- userIcon.spriteFrame = new cc.SpriteFrame(texture);
- });
- },
- Transcendfun: function (a, b) {
- this.Transcendnode = UtilsPrefabs.getNode("Transcend", cc.find("Canvas"));
- this.Transcendnode.active = true;
- this.animCtrl = this.Transcendnode.getComponent("cc.Animation");
- if (a != null && b != null) {
- this.setItemDataA(a);
- this.setItemDataB(b);
- }
- if (this.animCtrl != null) {
- this.animCtrl.play('Transcend');
- this.animCtrl.on('finished', this.finished, this);
- }
- },
- getCurrs: function (x, lists) {
- // console.log("近来数据全不全",x,lists);
- this.ranklist.active = true;
- if (x == null && lists == null) {
- this.initData(null, function (list) {
- var listdata = [];
- for (var i = 0; i < list.length; i++) {
- if (list[i].openId == userData.openId) {
- // console.log("我 前面",list[i-1]);
- // console.log("我 ",list[i]);
- // console.log("我 后面",list[i+1]);
- if (list[i - 1] != null) {
- list[i - 1].num = i;
- }
- if (list[i] != null) {
- list[i].num = i + 1;
- }
- if (list[i + 1] != null) {
- list[i + 1].num = i + 2;
- }
- listdata.push(list[i - 1]);
- listdata.push(list[i]);
- listdata.push(list[i + 1]);
- this.setleftmidrightRankListData(listdata);
- }
- }
- }.bind(this))
- } else {
- // console.log("我在统计数组4",lists);
- var listdata = [];
- for (var i = 0; i < lists.length; i++) {
- if (lists[i].openId == userData.openId) {
- // console.log("我 前面",lists[i-1]);
- // console.log("我 ",lists[i]);
- // console.log("我 后面",lists[i+1]);
- if (lists[i - 1] != null) {
- lists[i - 1].num = i;
- }
- if (lists[i] != null) {
- lists[i].num = i + 1;
- }
- if (lists[i + 1] != null) {
- lists[i + 1].num = i + 2;
- }
- listdata.push(lists[i - 1]);
- listdata.push(lists[i]);
- listdata.push(lists[i + 1]);
- this.setleftmidrightRankListData(listdata);
- }
- }
- }
- },
- curr: function (data) {
- this.info.active = true;
- let layou = UtilsPrefabs.getNode("layou", this.info);
- let ic = layou.children[1];
- let name = layou.children[2];
- let money = layou.children[3];
- name.getComponent(cc.Label).string = data.name;
- money.getComponent(cc.Label).string = data.id;
- cc.loader.load({
- url: data.avatarUrl, type: 'png'
- }, (err, texture) => {
- if (err) console.error(err);
- ic.getComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame(texture);
- });
- setTimeout(function () {
- this.info.active = false;
- }.bind(this), 4000)
- },
- setleftmidrightRankListData: function (listdata) {
- // console.log("进来的数据是",listdata);
- this.closeRanklist();
- // console.log("我在统计数组5",listdata);
- this.ranklist.active = true;
- for (var i = 0; i < listdata.length; i++) {
- if (listdata[i] != null) {
- var bg = this.ranklist.getChildByName("bg");
- bg.children[i].active = true;
- let num = UtilsPrefabs.getNode("num", bg.children[i]);
- let ic = UtilsPrefabs.getNode("ic", bg.children[i]);
- let name = UtilsPrefabs.getNode("name", bg.children[i]);
- let money = UtilsPrefabs.getNode("money", bg.children[i]);
- num.getComponent(cc.Label).string = listdata[i].num + "名";
- name.getComponent(cc.Label).string = listdata[i].name;
- money.getComponent(cc.Label).string = listdata[i].id;
- cc.loader.load({
- url: listdata[i].avatarUrl, type: 'png'
- }, (err, texture) => {
- if (err) console.error(err);
- ic.getComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame(texture);
- });
- }
- }
- this.ranklist.getChildByName("sub").on(cc.Node.EventType.TOUCH_END, function (event) {
- this.closeRanklist();
- }.bind(this));
- setTimeout(function () {
- this.closeRanklist();
- }.bind(this), 5000)
- },
- closeRanklist: function () {
- for (var i = 0; i < this.ranklist.getChildByName("bg").children.length; i++) {
- this.ranklist.getChildByName("bg").children[i].active = false;
- }
- this.ranklist.getChildByName("sub").off(cc.Node.EventType.TOUCH_END);
- this.ranklist.active = false;
- },
- setItemDataA: function (a) {
- let nickName = a.name;
- let avatarUrl = a.avatarUrl;
- let ScoreValue = a.id;
- // console.log("ScoreValue="+ScoreValue);i
- this.Transcendnode = UtilsPrefabs.getNode("Transcend", cc.find("Canvas"));
- this.Other = UtilsPrefabs.getNode("i", this.Transcendnode);
- var block = UtilsPrefabs.getNode("block", this.Other);
- let userName = block.getChildByName('userName').getComponent(cc.Label);
- let userIcon = block.getChildByName('mask').children[0].getComponent(cc.Sprite);
- let Scorelabel = block.getChildByName('Score').getComponent(cc.Label);
- userName.string = nickName;
- Scorelabel.string = ScoreValue;
- // console.log(nickName + '\'s info has been getten.');
- cc.loader.load({
- url: avatarUrl, type: 'png'
- }, (err, texture) => {
- if (err) console.error(err);
- userIcon.spriteFrame = new cc.SpriteFrame(texture);
- });
- },
- setItemDataB: function (b) {
- let nickName = b.name;
- let avatarUrl = b.avatarUrl;
- let ScoreValue = b.id;
- // console.log("ScoreValue="+ScoreValue);
- this.Transcendnode = UtilsPrefabs.getNode("Transcend", cc.find("Canvas"));
- var Other = UtilsPrefabs.getNode("Other", this.Transcendnode);
- var block = UtilsPrefabs.getNode("block", Other);
- let userName = block.getChildByName('userName').getComponent(cc.Label);
- let userIcon = block.getChildByName('mask').children[0].getComponent(cc.Sprite);
- let Scorelabel = block.getChildByName('Score').getComponent(cc.Label);
- userName.string = nickName;
- Scorelabel.string = ScoreValue;
- // console.log(nickName + '\'s info has been getten.');
- cc.loader.load({
- url: avatarUrl, type: 'png'
- }, (err, texture) => {
- if (err) console.error(err);
- userIcon.spriteFrame = new cc.SpriteFrame(texture);
- });
- },
- onClickItem: function () {
- },
- setOnClickItem: function (onClickItem) {
- this.onClickItem = onClickItem;
- },
- createUserBlock(user, index) {
- let node = this.createPrefab(index);
- // getUserInfo will return the nickName, getFriendCloudStorage will return the nickname.
- let nickName = user.nickName ? user.nickName : user.nickname;
- let avatarUrl = user.avatarUrl;
- let ScoreValue = (user.KVDataList)[0].value;
- // console.log("ScoreValue="+ScoreValue);
- let userName = node.getChildByName('userName').getComponent(cc.Label);
- let userIcon = node.getChildByName('mask').children[0].getComponent(cc.Sprite);
- let Scorelabel = node.getChildByName('Score').getComponent(cc.Label);
- userName.string = nickName;
- Scorelabel.string = ScoreValue;
- // console.log(nickName + '\'s info has been getten.');
- cc.loader.load({
- url: avatarUrl, type: 'png'
- }, (err, texture) => {
- if (err) console.error(err);
- userIcon.spriteFrame = new cc.SpriteFrame(texture);
- });
- },
- createPrefab(index) {
- let node = cc.instantiate(this.prefab);
- node.parent = this.content;
- this.nodes.push(node);
- switch (index) {
- case 0:
- node.getComponent(cc.Sprite).spriteFrame = this.GoldBG;
- node.getChildByName('ranking').getChildByName('RankIcon').getComponent(cc.Sprite).spriteFrame = this.GoldMedal;
- break;
- case 1:
- node.getChildByName('ranking').getChildByName('RankIcon').getComponent(cc.Sprite).spriteFrame = this.SilverMedal;
- break;
- case 2:
- node.getChildByName('ranking').getChildByName('RankIcon').getComponent(cc.Sprite).spriteFrame = this.BronzeMedal;
- break;
- default:
- node.getChildByName('ranking').getChildByName('RankText').getComponent(cc.Label).string = index + 1;
- }
- return node;
- },
- initcreateUserInfo: function (listdata, node) {
- cc.loader.loadRes(UtilsPrefabs.PrefabsName[6], function (err, texture) {
- this.itemprefab = cc.instantiate(texture);
- for (let i = 0; i < listdata.listData.length; i++) {
- let info = listdata.listData[i];
- var StockSort = UtilsPrefabs.getNode("StockSort", node);
- var ScrollView = UtilsPrefabs.getNode("ScrollView", StockSort);
- var view = UtilsPrefabs.getNode("view", ScrollView);
- var content = UtilsPrefabs.getNode("content", view);
- this.createUserInfo(info, i, content);
- }
- }.bind(this));
- },
- createUserInfo(user, index, nodes) {
- var itemnode = cc.instantiate(this.itemprefab);
- nodes.addChild(itemnode);
- var Layout = UtilsPrefabs.getNode("Layout", itemnode);
- var Name = UtilsPrefabs.getNode("Name", Layout);
- var Code = UtilsPrefabs.getNode("Code", Layout);
- var Price = UtilsPrefabs.getNode("Price", Layout);
- var Fluctuate = UtilsPrefabs.getNode("Fluctuate", Layout);
- var TotalPossession = UtilsPrefabs.getNode("TotalPossession", Layout);
- Name.getComponent(cc.Label).string = user.name;
- Code.getComponent(cc.Label).string = user.id;
- Price.getComponent(cc.Label).string = user.Price;
- Fluctuate.getComponent(cc.Label).string = user.Fluctuate;
- TotalPossession.getComponent(cc.Label).string = user.TotalPossession;
- // console.log("来了吗",user,index,nodes);
- },
- });
|