适配 wx mini game
This commit is contained in:
parent
b81e03e19b
commit
978ac5242b
|
|
@ -1,4 +1,4 @@
|
||||||
import {genSaltSync, hashSync} from 'bcryptjs';
|
import {genSaltSync, hashSync, setRandomFallback} from 'bcryptjs';
|
||||||
|
|
||||||
export enum TrackingType {
|
export enum TrackingType {
|
||||||
/** 进入游戏 */
|
/** 进入游戏 */
|
||||||
|
|
@ -8,37 +8,53 @@ export enum TrackingType {
|
||||||
/** 三倍积分 */
|
/** 三倍积分 */
|
||||||
TriplePickup = 'triple-pickup',
|
TriplePickup = 'triple-pickup',
|
||||||
/** 恢复 */
|
/** 恢复 */
|
||||||
Recover= 'recover',
|
Recover = 'recover',
|
||||||
/** 免费试用 */
|
/** 免费试用 */
|
||||||
FreeTrial= 'free-trial',
|
FreeTrial = 'free-trial',
|
||||||
}
|
}
|
||||||
|
|
||||||
const KEY = `sssssssssk`;
|
const KEY = `sssssssssk`;
|
||||||
|
|
||||||
|
try {
|
||||||
|
genSaltSync(10);
|
||||||
|
} catch (e) {
|
||||||
|
setRandomFallback(function (bytes) {
|
||||||
|
const randomBytes = new Array(bytes);
|
||||||
|
for (var i = 0; i < bytes; i++) {
|
||||||
|
randomBytes[i] = Math.floor(Math.random() * 256);
|
||||||
|
}
|
||||||
|
return randomBytes;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
export class TrackingManager {
|
export class TrackingManager {
|
||||||
public static async send(type: TrackingType) {
|
public static send(type: TrackingType) {
|
||||||
const salt = genSaltSync(10);
|
const salt = genSaltSync(10);
|
||||||
const hash = hashSync(KEY, salt);
|
const hash = hashSync(KEY, salt);
|
||||||
|
|
||||||
const formData = new FormData();
|
var xhr = new XMLHttpRequest();
|
||||||
formData.append('listener', type);
|
xhr.open("POST", 'https://api.ad.game.06zk.com/app/anchor');
|
||||||
const res = await fetch('https://api.ad.game.06zk.com/app/anchor', {
|
|
||||||
method: "POST",
|
|
||||||
headers: {
|
|
||||||
Key: hash,
|
|
||||||
Href: location.href
|
|
||||||
},
|
|
||||||
body: formData
|
|
||||||
});
|
|
||||||
|
|
||||||
const data = await res.json();
|
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
|
||||||
|
xhr.setRequestHeader("Key", hash);
|
||||||
|
xhr.setRequestHeader("Href", location.href);
|
||||||
|
|
||||||
|
const formData = `listener=${type}`;
|
||||||
|
|
||||||
|
xhr.onreadystatechange = function () {
|
||||||
|
if (xhr.readyState === 4 && xhr.status === 200) {
|
||||||
|
console.log(xhr.responseText);
|
||||||
|
const data = JSON.parse(xhr.responseText);
|
||||||
if (data.code === 200) {
|
if (data.code === 200) {
|
||||||
console.log(`上报${type}成功`);
|
console.log(`上报${type}成功`);
|
||||||
} else {
|
} else {
|
||||||
console.log(`上报${type}失败`);
|
console.log(`上报${type}失败`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
xhr.send(formData);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!CC_EDITOR) {
|
if (!CC_EDITOR) {
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import {genSaltSync, hashSync} from 'bcryptjs';
|
import {genSaltSync, hashSync, setRandomFallback} from 'bcryptjs';
|
||||||
|
|
||||||
export enum TrackingType {
|
export enum TrackingType {
|
||||||
/** 进入游戏 */
|
/** 进入游戏 */
|
||||||
|
|
@ -13,28 +13,44 @@ export enum TrackingType {
|
||||||
|
|
||||||
const KEY = `sssssssssk`;
|
const KEY = `sssssssssk`;
|
||||||
|
|
||||||
|
try {
|
||||||
|
genSaltSync(10);
|
||||||
|
} catch (e) {
|
||||||
|
setRandomFallback(function (bytes) {
|
||||||
|
const randomBytes = new Array(bytes);
|
||||||
|
for (var i = 0; i < bytes; i++) {
|
||||||
|
randomBytes[i] = Math.floor(Math.random() * 256);
|
||||||
|
}
|
||||||
|
return randomBytes;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
export class TrackingManager {
|
export class TrackingManager {
|
||||||
public static async send(type: TrackingType) {
|
public static send(type: TrackingType) {
|
||||||
const salt = genSaltSync(10);
|
const salt = genSaltSync(10);
|
||||||
const hash = hashSync(KEY, salt);
|
const hash = hashSync(KEY, salt);
|
||||||
|
|
||||||
const formData = new FormData();
|
var xhr = new XMLHttpRequest();
|
||||||
formData.append('listener', type);
|
xhr.open("POST", 'https://api.ad.game.06zk.com/app/anchor');
|
||||||
const res = await fetch('https://api.ad.game.06zk.com/app/anchor', {
|
|
||||||
method: "POST",
|
|
||||||
headers: {
|
|
||||||
Key: hash,
|
|
||||||
Href: location.href
|
|
||||||
},
|
|
||||||
body: formData
|
|
||||||
});
|
|
||||||
|
|
||||||
const data = await res.json();
|
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
|
||||||
|
xhr.setRequestHeader("Key", hash);
|
||||||
|
xhr.setRequestHeader("Href", location.href);
|
||||||
|
|
||||||
|
const formData = `listener=${type}`;
|
||||||
|
|
||||||
|
xhr.onreadystatechange = function () {
|
||||||
|
if (xhr.readyState === 4 && xhr.status === 200) {
|
||||||
|
console.log(xhr.responseText);
|
||||||
|
const data = JSON.parse(xhr.responseText);
|
||||||
if (data.code === 200) {
|
if (data.code === 200) {
|
||||||
console.log(`上报${type}成功`);
|
console.log(`上报${type}成功`);
|
||||||
} else {
|
} else {
|
||||||
console.log(`上报${type}失败`);
|
console.log(`上报${type}失败`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
xhr.send(formData);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@
|
||||||
"webOrientation": "portrait",
|
"webOrientation": "portrait",
|
||||||
"inlineSpriteFrames": true,
|
"inlineSpriteFrames": true,
|
||||||
"inlineSpriteFrames_native": true,
|
"inlineSpriteFrames_native": true,
|
||||||
"mainCompressionType": "default",
|
"mainCompressionType": "merge_all_json",
|
||||||
"mainIsRemote": false,
|
"mainIsRemote": false,
|
||||||
"optimizeHotUpdate": false,
|
"optimizeHotUpdate": false,
|
||||||
"md5Cache": true,
|
"md5Cache": true,
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@
|
||||||
"width": 960,
|
"width": 960,
|
||||||
"height": 640
|
"height": 640
|
||||||
},
|
},
|
||||||
"last-module-event-record-time": 1713875646410,
|
"last-module-event-record-time": 1719369333686,
|
||||||
"assets-sort-type": "name",
|
"assets-sort-type": "name",
|
||||||
"facebook": {
|
"facebook": {
|
||||||
"enable": false,
|
"enable": false,
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import {genSaltSync, hashSync} from 'bcryptjs';
|
import {genSaltSync, hashSync, setRandomFallback} from 'bcryptjs';
|
||||||
|
|
||||||
export enum TrackingType {
|
export enum TrackingType {
|
||||||
/** 进入游戏 */
|
/** 进入游戏 */
|
||||||
|
|
@ -19,28 +19,44 @@ export enum TrackingType {
|
||||||
|
|
||||||
const KEY = `sssssssssk`;
|
const KEY = `sssssssssk`;
|
||||||
|
|
||||||
|
try {
|
||||||
|
genSaltSync(10);
|
||||||
|
} catch (e) {
|
||||||
|
setRandomFallback(function (bytes) {
|
||||||
|
const randomBytes = new Array(bytes);
|
||||||
|
for (var i = 0; i < bytes; i++) {
|
||||||
|
randomBytes[i] = Math.floor(Math.random() * 256);
|
||||||
|
}
|
||||||
|
return randomBytes;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
export class TrackingManager {
|
export class TrackingManager {
|
||||||
public static async send(type: TrackingType) {
|
public static send(type: TrackingType) {
|
||||||
const salt = genSaltSync(10);
|
const salt = genSaltSync(10);
|
||||||
const hash = hashSync(KEY, salt);
|
const hash = hashSync(KEY, salt);
|
||||||
|
|
||||||
const formData = new FormData();
|
var xhr = new XMLHttpRequest();
|
||||||
formData.append('listener', type);
|
xhr.open("POST", 'https://api.ad.game.06zk.com/app/anchor');
|
||||||
const res = await fetch('https://api.ad.game.06zk.com/app/anchor', {
|
|
||||||
method: "POST",
|
|
||||||
headers: {
|
|
||||||
Key: hash,
|
|
||||||
Href: location.href
|
|
||||||
},
|
|
||||||
body: formData
|
|
||||||
});
|
|
||||||
|
|
||||||
const data = await res.json();
|
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
|
||||||
|
xhr.setRequestHeader("Key", hash);
|
||||||
|
xhr.setRequestHeader("Href", location.href);
|
||||||
|
|
||||||
|
const formData = `listener=${type}`;
|
||||||
|
|
||||||
|
xhr.onreadystatechange = function () {
|
||||||
|
if (xhr.readyState === 4 && xhr.status === 200) {
|
||||||
|
console.log(xhr.responseText);
|
||||||
|
const data = JSON.parse(xhr.responseText);
|
||||||
if (data.code === 200) {
|
if (data.code === 200) {
|
||||||
console.log(`上报${type}成功`);
|
console.log(`上报${type}成功`);
|
||||||
} else {
|
} else {
|
||||||
console.log(`上报${type}失败`);
|
console.log(`上报${type}失败`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
xhr.send(formData);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
{
|
||||||
|
"name": "ChaoJiJieYaGuan_MaJiang2",
|
||||||
|
"lockfileVersion": 3,
|
||||||
|
"requires": true,
|
||||||
|
"packages": {
|
||||||
|
"": {
|
||||||
|
"dependencies": {
|
||||||
|
"@types/bcryptjs": "^2.4.6",
|
||||||
|
"bcryptjs": "^2.4.3"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@types/bcryptjs": {
|
||||||
|
"version": "2.4.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/bcryptjs/-/bcryptjs-2.4.6.tgz",
|
||||||
|
"integrity": "sha512-9xlo6R2qDs5uixm0bcIqCeMCE6HiQsIyel9KQySStiyqNl2tnj2mP3DX1Nf56MD6KMenNNlBBsy3LJ7gUEQPXQ=="
|
||||||
|
},
|
||||||
|
"node_modules/bcryptjs": {
|
||||||
|
"version": "2.4.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz",
|
||||||
|
"integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import {genSaltSync, hashSync} from 'bcryptjs';
|
import {genSaltSync, getSalt, hashSync, setRandomFallback} from 'bcryptjs';
|
||||||
|
|
||||||
export enum TrackingType {
|
export enum TrackingType {
|
||||||
/** 进入游戏 */
|
/** 进入游戏 */
|
||||||
|
|
@ -15,30 +15,46 @@ export enum TrackingType {
|
||||||
|
|
||||||
const KEY = `sssssssssk`;
|
const KEY = `sssssssssk`;
|
||||||
|
|
||||||
|
try {
|
||||||
|
genSaltSync(10);
|
||||||
|
} catch (e) {
|
||||||
|
setRandomFallback(function (bytes) {
|
||||||
|
const randomBytes = new Array(bytes);
|
||||||
|
for (var i = 0; i < bytes; i++) {
|
||||||
|
randomBytes[i] = Math.floor(Math.random() * 256);
|
||||||
|
}
|
||||||
|
return randomBytes;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
export class TrackingManager {
|
export class TrackingManager {
|
||||||
public static async send(type: TrackingType) {
|
public static send(type: TrackingType) {
|
||||||
const salt = genSaltSync(10);
|
const salt = genSaltSync(10);
|
||||||
const hash = hashSync(KEY, salt);
|
const hash = hashSync(KEY, salt);
|
||||||
|
|
||||||
const formData = new FormData();
|
var xhr = new XMLHttpRequest();
|
||||||
formData.append('listener', type);
|
xhr.open("POST", 'https://api.ad.game.06zk.com/app/anchor');
|
||||||
const res = await fetch('https://api.ad.game.06zk.com/app/anchor', {
|
|
||||||
method: "POST",
|
|
||||||
headers: {
|
|
||||||
Key: hash,
|
|
||||||
Href: location.href
|
|
||||||
},
|
|
||||||
body: formData
|
|
||||||
});
|
|
||||||
|
|
||||||
const data = await res.json();
|
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
|
||||||
|
xhr.setRequestHeader("Key", hash);
|
||||||
|
xhr.setRequestHeader("Href", location.href);
|
||||||
|
|
||||||
|
const formData = `listener=${type}`;
|
||||||
|
|
||||||
|
xhr.onreadystatechange = function () {
|
||||||
|
if (xhr.readyState === 4 && xhr.status === 200) {
|
||||||
|
console.log(xhr.responseText);
|
||||||
|
const data = JSON.parse(xhr.responseText);
|
||||||
if (data.code === 200) {
|
if (data.code === 200) {
|
||||||
console.log(`上报${type}成功`);
|
console.log(`上报${type}成功`);
|
||||||
} else {
|
} else {
|
||||||
console.log(`上报${type}失败`);
|
console.log(`上报${type}失败`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
xhr.send(formData);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!CC_EDITOR) {
|
if (!CC_EDITOR) {
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import {genSaltSync, hashSync} from 'bcryptjs';
|
import {genSaltSync, hashSync, setRandomFallback} from 'bcryptjs';
|
||||||
|
|
||||||
export enum TrackingType {
|
export enum TrackingType {
|
||||||
/** 进入游戏 */
|
/** 进入游戏 */
|
||||||
|
|
@ -13,30 +13,46 @@ export enum TrackingType {
|
||||||
|
|
||||||
const KEY = `sssssssssk`;
|
const KEY = `sssssssssk`;
|
||||||
|
|
||||||
|
try {
|
||||||
|
genSaltSync(10);
|
||||||
|
} catch (e) {
|
||||||
|
setRandomFallback(function (bytes) {
|
||||||
|
const randomBytes = new Array(bytes);
|
||||||
|
for (var i = 0; i < bytes; i++) {
|
||||||
|
randomBytes[i] = Math.floor(Math.random() * 256);
|
||||||
|
}
|
||||||
|
return randomBytes;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
export class TrackingManager {
|
export class TrackingManager {
|
||||||
public static async send(type: TrackingType) {
|
public static send(type: TrackingType) {
|
||||||
const salt = genSaltSync(10);
|
const salt = genSaltSync(10);
|
||||||
const hash = hashSync(KEY, salt);
|
const hash = hashSync(KEY, salt);
|
||||||
|
|
||||||
const formData = new FormData();
|
var xhr = new XMLHttpRequest();
|
||||||
formData.append('listener', type);
|
xhr.open("POST", 'https://api.ad.game.06zk.com/app/anchor');
|
||||||
const res = await fetch('https://api.ad.game.06zk.com/app/anchor', {
|
|
||||||
method: "POST",
|
|
||||||
headers: {
|
|
||||||
Key: hash,
|
|
||||||
Href: location.href
|
|
||||||
},
|
|
||||||
body: formData
|
|
||||||
});
|
|
||||||
|
|
||||||
const data = await res.json();
|
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
|
||||||
|
xhr.setRequestHeader("Key", hash);
|
||||||
|
xhr.setRequestHeader("Href", location.href);
|
||||||
|
|
||||||
|
const formData = `listener=${type}`;
|
||||||
|
|
||||||
|
xhr.onreadystatechange = function () {
|
||||||
|
if (xhr.readyState === 4 && xhr.status === 200) {
|
||||||
|
console.log(xhr.responseText);
|
||||||
|
const data = JSON.parse(xhr.responseText);
|
||||||
if (data.code === 200) {
|
if (data.code === 200) {
|
||||||
console.log(`上报${type}成功`);
|
console.log(`上报${type}成功`);
|
||||||
} else {
|
} else {
|
||||||
console.log(`上报${type}失败`);
|
console.log(`上报${type}失败`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
xhr.send(formData);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!CC_EDITOR) {
|
if (!CC_EDITOR) {
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import {genSaltSync, hashSync} from 'bcryptjs';
|
import {genSaltSync, hashSync, setRandomFallback} from 'bcryptjs';
|
||||||
|
|
||||||
export enum TrackingType {
|
export enum TrackingType {
|
||||||
/** 进入游戏 */
|
/** 进入游戏 */
|
||||||
|
|
@ -13,30 +13,46 @@ export enum TrackingType {
|
||||||
|
|
||||||
const KEY = `sssssssssk`;
|
const KEY = `sssssssssk`;
|
||||||
|
|
||||||
|
try {
|
||||||
|
genSaltSync(10);
|
||||||
|
} catch (e) {
|
||||||
|
setRandomFallback(function (bytes) {
|
||||||
|
const randomBytes = new Array(bytes);
|
||||||
|
for (var i = 0; i < bytes; i++) {
|
||||||
|
randomBytes[i] = Math.floor(Math.random() * 256);
|
||||||
|
}
|
||||||
|
return randomBytes;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
export class TrackingManager {
|
export class TrackingManager {
|
||||||
public static async send(type: TrackingType) {
|
public static send(type: TrackingType) {
|
||||||
const salt = genSaltSync(10);
|
const salt = genSaltSync(10);
|
||||||
const hash = hashSync(KEY, salt);
|
const hash = hashSync(KEY, salt);
|
||||||
|
|
||||||
const formData = new FormData();
|
var xhr = new XMLHttpRequest();
|
||||||
formData.append('listener', type);
|
xhr.open("POST", 'https://api.ad.game.06zk.com/app/anchor');
|
||||||
const res = await fetch('https://api.ad.game.06zk.com/app/anchor', {
|
|
||||||
method: "POST",
|
|
||||||
headers: {
|
|
||||||
Key: hash,
|
|
||||||
Href: location.href
|
|
||||||
},
|
|
||||||
body: formData
|
|
||||||
});
|
|
||||||
|
|
||||||
const data = await res.json();
|
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
|
||||||
|
xhr.setRequestHeader("Key", hash);
|
||||||
|
xhr.setRequestHeader("Href", location.href);
|
||||||
|
|
||||||
|
const formData = `listener=${type}`;
|
||||||
|
|
||||||
|
xhr.onreadystatechange = function () {
|
||||||
|
if (xhr.readyState === 4 && xhr.status === 200) {
|
||||||
|
console.log(xhr.responseText);
|
||||||
|
const data = JSON.parse(xhr.responseText);
|
||||||
if (data.code === 200) {
|
if (data.code === 200) {
|
||||||
console.log(`上报${type}成功`);
|
console.log(`上报${type}成功`);
|
||||||
} else {
|
} else {
|
||||||
console.log(`上报${type}失败`);
|
console.log(`上报${type}失败`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
xhr.send(formData);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!CC_EDITOR) {
|
if (!CC_EDITOR) {
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,8 @@
|
||||||
"pathPattern": "",
|
"pathPattern": "",
|
||||||
"recordPath": "",
|
"recordPath": "",
|
||||||
"scheme": "https",
|
"scheme": "https",
|
||||||
"skipRecord": false
|
"skipRecord": false,
|
||||||
|
"packageName": "org.cocos2d.demo"
|
||||||
},
|
},
|
||||||
"appBundle": false,
|
"appBundle": false,
|
||||||
"baidugame": {
|
"baidugame": {
|
||||||
|
|
@ -20,7 +21,7 @@
|
||||||
"includeSDKBox": false,
|
"includeSDKBox": false,
|
||||||
"inlineSpriteFrames": true,
|
"inlineSpriteFrames": true,
|
||||||
"inlineSpriteFrames_native": true,
|
"inlineSpriteFrames_native": true,
|
||||||
"md5Cache": false,
|
"md5Cache": true,
|
||||||
"mergeStartScene": false,
|
"mergeStartScene": false,
|
||||||
"optimizeHotUpdate": false,
|
"optimizeHotUpdate": false,
|
||||||
"orientation": {
|
"orientation": {
|
||||||
|
|
@ -46,5 +47,29 @@
|
||||||
"subContext": "open"
|
"subContext": "open"
|
||||||
},
|
},
|
||||||
"xxteaKey": "a9d0135f-0d6f-4f",
|
"xxteaKey": "a9d0135f-0d6f-4f",
|
||||||
"zipCompressJs": true
|
"zipCompressJs": true,
|
||||||
|
"mainCompressionType": "default",
|
||||||
|
"mainIsRemote": false,
|
||||||
|
"nativeMd5Cache": true,
|
||||||
|
"android": {
|
||||||
|
"packageName": "org.cocos2d.demo",
|
||||||
|
"REMOTE_SERVER_ROOT": ""
|
||||||
|
},
|
||||||
|
"ios": {
|
||||||
|
"packageName": "org.cocos2d.demo",
|
||||||
|
"REMOTE_SERVER_ROOT": "",
|
||||||
|
"ios_enable_jit": true
|
||||||
|
},
|
||||||
|
"mac": {
|
||||||
|
"packageName": "org.cocos2d.demo",
|
||||||
|
"REMOTE_SERVER_ROOT": "",
|
||||||
|
"width": 1280,
|
||||||
|
"height": 720
|
||||||
|
},
|
||||||
|
"win32": {
|
||||||
|
"REMOTE_SERVER_ROOT": "",
|
||||||
|
"width": 1280,
|
||||||
|
"height": 720
|
||||||
|
},
|
||||||
|
"agreements": {}
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue