Commit 5f469bc7 authored by haiyoucuv's avatar haiyoucuv

GuideLayer

parent df6be5b9
This diff is collapsed.
......@@ -85,7 +85,7 @@ export class HTMLRichText extends Component {
}
onDestroy() {
this.imgAssets.destroy();
this.imgAssets?.destroy();
this.t2d.destroy();
this.sf.destroy();
}
......
import { sendWebNet, sendWebNetWithToken, WebNetName } from "./Utils/WebNet/WebNet";
import { sendWebNet, WebNetName } from "./Utils/WebNet/WebNet";
import { hideWaiting, showWaiting } from "db://assets/Module/UIFast";
import { AESDecrypt, AESEncrypt } from "./Utils/Crypto";
import store from "./store/store";
......@@ -34,7 +34,7 @@ export default class GameMgr {
* 开始游戏
*/
async start() {
const {success, data} = await sendWebNetWithToken(WebNetName.start);
const {success, data} = await sendWebNet(WebNetName.start);
store.updateIndex();
if (!success) {
return false;
......@@ -74,9 +74,11 @@ export default class GameMgr {
const encrypt = AESEncrypt(JSON.stringify(params), "FDF817451A60EB8F", "cDOiBC1n2QrkAY2P");
const res = await sendWebNetWithToken(WebNetName.submit, {
const res = await sendWebNet(WebNetName.submit, {
param: encrypt,
}, null, false);
}, {
isGet: true,
});
hideWaiting();
......
......@@ -2,47 +2,60 @@ import { ajax, jsonp } from "./web/ajax";
import { getUrlParams } from "./web/webTools";
import { showToast } from "db://assets/Module/UIFast";
import { PREVIEW } from 'cc/env';
import { getUrlParam } from "../Utils";
// import { isFromShare, newUser } from 'duiba-utils';
import CryptoJS from "crypto-js";
let mergeData = {
// user_type: newUser ? '0' : '1',
// is_from_share: isFromShare ? '0' : '1',
// channel: getUrlParams('channel'),
export const randomStr = (length = 16) => {
let str = '';
const strPol = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz";
const max = strPol.length;
for (let i = 0; i < length; i++) {
str += strPol[Math.floor(Math.random() * max)]
}
return str
}
export const DEFAULF_ERROR = '网络异常,请稍后重试';
//////////////星速台接口方法集成
/**
* web接口枚举,mock 文件名类似aaa/homeInfo.do
*/
export enum WebNetName {
const app_secret = 'duiba123123';
getFrontVariable = 'coop_frontVariable.query',
buriedPoint = 'buriedPoint',
function getSign(data) {
const timestamp = new Date().getTime();
const nonceStr = randomStr(20);
/**
* 首页
*/
index = "game/index.do",
let signStr = '';
if (data) {
signStr = `${app_secret}${JSON.stringify(data)}${nonceStr}${timestamp}`;
} else {
signStr = `${app_secret}${nonceStr}${timestamp}`;
}
/**
* 开始游戏
*/
start = "game/start.do",
const sign = CryptoJS.MD5(signStr).toString();
if (!data) {
data = {};
}
/**
* 提交游戏
*/
submit = "game/submit.do",
data.sign = CryptoJS.MD5(`${app_secret}${nonceStr}${timestamp}`).toString();
data.nonceStr = nonceStr;
data.timestamp = timestamp;
return data;
}
/**
* completeGuide
*/
guide = "game/guide.do",
//////////////星速台接口方法集成
/**
* web接口枚举
*/
export enum WebNetName {
getFrontVariable = 'coop_frontVariable.query',
autologin = "/app/login/autologin",
index = "/app/game/index",
start = "/app/game/start",
submit = "/app/game/submit",
stepNewGuide = "/app/game/stepNewGuide",
rankInfo = "/app/game/rankInfo",
/**
* 获取规则
......@@ -91,13 +104,6 @@ export const ERR_MESSAGE = {
// "300003": "今日复活次数已经达到上限\n明天再来吧!",
}
let tempCookieId = "";
export function setCookieId(cookieId) {
tempCookieId = cookieId;
}
//返回数据类型
interface dataOut {
success: boolean,
......@@ -112,63 +118,54 @@ let dataRecord: {
[name: string]: any
} = {};
let paramJson = null;
if (getUrlParam("params")) {
const params = decodeURIComponent(getUrlParam("params"));
const paramArr = params.split("&");
const paramObj = {};
paramArr.forEach(item => {
const arr = item.split("=");
paramObj[arr[0]] = arr[1];
});
paramJson = encodeURIComponent(JSON.stringify(paramObj));
}
interface IWebConfig {
callback?: (success: boolean, res?: dataOut) => void,
hideMsg?: boolean,
isGet?: boolean,//这两个参数基本不设置,放后面吧
headers?: any,
}
/**
* 发送接口
* @param netName
* @param parameter
* @param callback
* @param hideMsg
* @param isGet
* @param headers
* @param config
*/
export function sendWebNet(
netName: WebNetName | string,
parameter?: any,
callback?: (success: boolean, res?: dataOut) => void,
hideMsg: boolean = false,
isGet: boolean = true,//这两个参数基本不设置,放后面吧
headers = {},
config: IWebConfig = {}
): Promise<dataOut> {
//处理下参数
// 统一加上渠道参数
const channel = getUrlParams("channel");
if (channel) {
parameter = {
...(parameter || {}),
...{channel}
};
}
let {
callback,
hideMsg = false,
isGet = true,//这两个参数基本不设置,放后面吧
headers = {},
} = config;
return new Promise(async (resolve, reject) => {
const success = (data) => {
parameter = getSign(parameter);
const success = (res) => {
//发现有些接口成功了,但是response为空
data = data || {}
res = res || {}
//记录数据
dataRecord[netName] = data;
dataRecord[netName] = res;
//统一错误信息提示,
if (!data.success) {
if(!hideMsg) {
showToast(ERR_MESSAGE[data.code] || data.message || "网络异常,请稍后再试~");
const success = res.success || res.ok;
if (!success) {
if (!hideMsg) {
showToast(ERR_MESSAGE[res.code] || res.message || "网络异常,请稍后再试~");
}
}
callback && callback(data.success, data);
resolve(data);
callback && callback(success, res);
resolve(res);
console.log(
`\n%c[ request ]\n`
+ `NAME : ${netName} \n`
......@@ -176,17 +173,16 @@ export function sendWebNet(
+ `TIME : %o \n`
+ `PARAM : %o \n`
+ `%cDATA : %o \n`
, `${data.success ? 'color:green' : 'color:red'}`
, data.success
, data.timeStamp
, `${success ? 'color:green' : 'color:red'}`
, success
, res.timeStamp || res.timestamp
, parameter
, `${data.success ? 'color:green' : 'color:red'}`
, data
, `${success ? 'color:green' : 'color:red'}`
, res
);
}
const fail = () => {
//本地模拟下网络未链接或mock数据未创建
if (!hideMsg) showToast("网络异常,请稍后再试~");
callback && callback(false);
resolve({success: false});
......@@ -194,39 +190,19 @@ export function sendWebNet(
return {success: false};
}
if (PREVIEW) {//window.location.port == "8080";考虑按端口判断TODO
let path = netName.split('/')[1];//后缀名字之前的是文件夹,mock里结构
if (netName.indexOf('/') <= -1) path = `projectX/${netName}`;
else path = netName
const url = "mock/" + path + ".json";
fetchAsync(url)
.then(success, fail)
return;
}
let url = netName;
// const duibaTempCookieId = localStorage.getItem("db_zheshang_cookie");
// const duibaTempCookieId = tempCookieId || localStorage.getItem("db_zheshang_cookie");
//
// if (duibaTempCookieId) {
// localStorage.removeItem("db_zheshang_cookie");
// tempCookieId = "";
//
// const res = await sendWebNet("userLogin.check")
// .catch(async () => {
// await resetBackCookie(duibaTempCookieId);
// });
// if (!res || !res.success) {
// await resetBackCookie(duibaTempCookieId);
// }
// }
if (paramJson) {
headers["identityKey"] = paramJson;
if (PREVIEW) {
// let path = netName.split('/')[1];//后缀名字之前的是文件夹,mock里结构
// if (netName.indexOf('/') <= -1) path = `projectX/${netName}`;
// else path = netName
// const url = "mock/" + path + ".json";
url = netName + ".json";
}
//网络请求
ajax({
url: netName, //请求地址
$.ajax({
url, //请求地址
type: isGet ? 'GET' : "POST", //请求方式
data: parameter || {}, //请求参数
dataType: "json", // 返回值类型的设定,暂时只有json
......@@ -241,22 +217,26 @@ export function sendWebNet(
export function sendWebNetWithToken(
netName: WebNetName,
parameter?: any,
callback?: (success: boolean, res?: dataOut) => void,
hideMsg: boolean = false,
isGet: boolean = true,//这两个参数基本不设置,放后面吧
headers?: any,
config?: IWebConfig,
): Promise<dataOut> {
return new Promise(async r => {
const token = await getPxTokenSave();
// getPxToken(async (msg, token) => {
if (!token) {
showToast(DEFAULF_ERROR);
r({success: false})
return;
try {
const token = await getPxTokenSave();
if (!token) {
showToast('网络异常,请稍后重试');
r({success: false})
return;
}
const res = await sendWebNet(
netName,
{token, ...parameter},
config
);
r(res);
} catch (e) {
showToast('网络异常,请稍后重试');
r({success: false});
}
const res = await sendWebNet(netName, {token, ...parameter}, callback, hideMsg, isGet, headers);
r(res);
// })
});
}
......@@ -341,7 +321,7 @@ export function getPxTokenSave() {
return
}
//只重试一次,刷新tokenKey
var suc = await new Promise((r) => {
const suc = await new Promise((r) => {
refreshPxTokenKey(r);
});
//刷新失败,返回空
......
/**
* 到时放到Loader里,增加open类型、headers、参数、等等
* @param options
* @param options
*/
export function ajax(options: ajaxParameterInt) {
/**
* 默认为GET请求
*/
options.type = options.type || "GET";
/**
* 返回值类型默认为json
*/
options.dataType = options.dataType || 'json';
const {
type = "GET",
dataType = "json",
data = {},
headers = {},
url,
} = options;
/**
* 默认为异步请求
*/
options.async = options.async === false ? false : true;
/**
* 对需要传入的参数的处理
*/
var params = getParams(options.data);
var xhr: XMLHttpRequest;
const isAsync = options.async !== false;
const mHeaders = {
'Content-Type': 'application/x-www-form-urlencoded',
...headers,
};
let xhr: XMLHttpRequest;
/**
* 创建一个 ajax请求
* W3C标准和IE标准
......@@ -34,12 +39,13 @@ export function ajax(options: ajaxParameterInt) {
console.error("当前浏览器不支持XHR请求")
return
}
//返回类型
xhr.responseType = options.dataType;
xhr.responseType = dataType;
xhr.onreadystatechange = function () {
if (xhr.readyState == 4) {
var status = xhr.status;
const status = xhr.status;
if ((status >= 200 && status < 300) ||//2XX表示有效响应,其实不加括号不影响判断
status == 304//304意味着是从缓存读取
) {
......@@ -59,40 +65,32 @@ export function ajax(options: ajaxParameterInt) {
// }
// };
if (options.type == 'GET') {
xhr.open("GET", options.url + '?' + params, options.async);
//get请求也会需要设置请求头的情况
if (options.headers) {
for (let key in options.headers) {
xhr.setRequestHeader(key, options.headers[key]);
}
}
xhr.send(null)
} else if (options.type == 'POST') {
/**
*打开请求
*/
xhr.open('POST', options.url, options.async);//待测试,post请求
/**
* POST请求设置请求头
*/
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
if (options.headers) {
for (let key in options.headers) {
xhr.setRequestHeader(key, options.headers[key]);
}
}
/**
* 发送请求参数
*/
xhr.send(params);
const isGet = type.toUpperCase() === 'GET';
const queryStr = obj2query(data);
if (isGet) {
const openUrl = urlJoin(url, queryStr);
xhr.open("GET", openUrl, isAsync);
} else if (type == 'POST') {
xhr.open('POST', url, isAsync);
}
for (let key in mHeaders) {
xhr.setRequestHeader(key, mHeaders[key]);
}
if (isGet) {
xhr.send();
} else {
xhr.send(queryStr);
}
}
/**
* jsonp模拟,不考虑回调
* @param url
* @param params
* @param url
* @param params
*/
export function jsonp(url: string, params: any) {
const src = url + '?' + getParams(params);
......@@ -108,6 +106,33 @@ export function jsonp(url: string, params: any) {
}
/**
* 对象转query字符串
* @param obj
*/
export function obj2query(obj: any): string {
if(!obj) {
return '';
}
let arr: string[] = [];
for(let key in obj) {
arr.push(key + (key ? '=' : '') + obj[key]);
}
return arr.join('&');
}
export function urlJoin(url, query) {
if (query) {
url += url.indexOf('?') < 0 ? '?' : '';
url += url[url.length - 1] === '?' ? '' : '&';
return url + query;
} else {
return url;
}
}
/**
* 对象参数的处理
* @param data
......@@ -123,6 +148,7 @@ function getParams(data): string {
arr.push('_=' + Date.now());
return arr.join('&');
}
//基本没用到过cache,先不加
interface ajaxParameterInt {
url: string,
......
/**
* Created by rockyl on 2020/12/8.
*/
(function autoStart() {
let visibilityChange;
if (typeof document.hidden !== 'undefined') {
......
import {
_decorator,
assetManager,
Component, game, Label,
lerp,
Node,
Prefab,
profiler,
ProgressBar,
resources,
} from 'cc';
import { _decorator, assetManager, Component, Label, Node, Prefab, profiler, ProgressBar, resources, } from 'cc';
import { PREVIEW } from 'cc/env';
import { UIMgr } from "../Module/UIMgr";
import { changeScene, showToast } from "db://assets/Module/UIFast";
import { HomeScene } from "db://assets/Scripts/Scenes/HomeScene";
import store from "../Scripts/store/store";
import { sendWebNet, WebNetName } from "../Scripts/Utils/WebNet/WebNet";
const {ccclass, property} = _decorator;
......@@ -46,7 +37,7 @@ export class Start extends Component {
UIMgr.ins.setup(this.uiPrefab);
store.updateFrontVariable();
sendWebNet(WebNetName.autologin);
}
......
This diff is collapsed.
{
"ver": "4.0.24",
"importer": "javascript",
"imported": true,
"uuid": "1d27b179-3781-4e3f-be6b-04435d78c6ad",
"files": [
".js"
],
"subMetas": {},
"userData": {
"loadPluginInEditor": true,
"loadPluginInWeb": true,
"loadPluginInNative": true,
"loadPluginInMiniGame": true,
"isPlugin": true
}
}
{
"ver": "1.2.0",
"importer": "directory",
"imported": true,
"uuid": "e077ed8c-7f00-488b-9e90-639e52f2ed78",
"files": [],
"subMetas": {},
"userData": {}
}
This diff is collapsed.
{
"ver": "1.1.50",
"importer": "prefab",
"imported": true,
"uuid": "495c8ea9-3bb7-409e-bba5-859014d33bee",
"files": [
".json"
],
"subMetas": {},
"userData": {
"syncNodeName": "PrizeItem"
}
}
This diff is collapsed.
{"ver":"1.1.50","importer":"scene","imported":true,"uuid":"71137713-52f1-434f-a1c7-cc6e8d58a82a","files":[".json"],"subMetas":{},"userData":{}}
{
"ver": "1.2.0",
"importer": "directory",
"imported": true,
"uuid": "030d5c56-1ec4-400d-9d01-7278b7dfc5be",
"files": [],
"subMetas": {},
"userData": {}
}
{
"ver": "1.2.0",
"importer": "directory",
"imported": true,
"uuid": "098d432a-d83c-4927-a435-118cde608fd4",
"files": [],
"subMetas": {},
"userData": {}
}
{
"ver": "1.0.8",
"importer": "auto-atlas",
"imported": true,
"uuid": "3764f43f-8947-446d-809f-7fc481436b0e",
"files": [
".json"
],
"subMetas": {},
"userData": {
"maxWidth": 2048,
"maxHeight": 2048,
"padding": 2,
"allowRotation": true,
"forceSquared": false,
"powerOfTwo": false,
"algorithm": "MaxRects",
"format": "png",
"quality": 80,
"contourBleed": true,
"paddingBleed": true,
"filterUnused": false,
"removeTextureInBundle": false,
"removeImageInBundle": false,
"removeSpriteAtlasInBundle": false,
"compressSettings": {},
"textureSetting": {
"wrapModeS": "repeat",
"wrapModeT": "repeat",
"minfilter": "linear",
"magfilter": "linear",
"mipfilter": "none",
"anisotropy": 0
}
}
}
{
"ver": "1.0.27",
"importer": "image",
"imported": true,
"uuid": "15359d41-fe7c-4a41-a0ba-8006adf753c0",
"files": [
".json",
".png"
],
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "15359d41-fe7c-4a41-a0ba-8006adf753c0@6c48a",
"displayName": "back",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"imageUuidOrDatabaseUri": "15359d41-fe7c-4a41-a0ba-8006adf753c0",
"isUuid": true,
"visible": false,
"minfilter": "linear",
"magfilter": "linear",
"mipfilter": "none",
"anisotropy": 0
},
"ver": "1.0.22",
"imported": true,
"files": [
".json"
],
"subMetas": {}
},
"f9941": {
"importer": "sprite-frame",
"uuid": "15359d41-fe7c-4a41-a0ba-8006adf753c0@f9941",
"displayName": "back",
"id": "f9941",
"name": "spriteFrame",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 60,
"height": 60,
"rawWidth": 60,
"rawHeight": 60,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [
-30,
-30,
0,
30,
-30,
0,
-30,
30,
0,
30,
30,
0
],
"indexes": [
0,
1,
2,
2,
1,
3
],
"uv": [
0,
60,
60,
60,
0,
0,
60,
0
],
"nuv": [
0,
0,
1,
0,
0,
1,
1,
1
],
"minPos": [
-30,
-30,
0
],
"maxPos": [
30,
30,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "15359d41-fe7c-4a41-a0ba-8006adf753c0@6c48a",
"atlasUuid": ""
},
"ver": "1.0.12",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {
"type": "sprite-frame",
"hasAlpha": true,
"fixAlphaTransparencyArtifacts": false,
"redirect": "15359d41-fe7c-4a41-a0ba-8006adf753c0@6c48a"
}
}
{
"ver": "1.0.27",
"importer": "image",
"imported": true,
"uuid": "d0497cb3-d3a4-4452-9638-4f1005f22eb7",
"files": [
".json",
".png"
],
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "d0497cb3-d3a4-4452-9638-4f1005f22eb7@6c48a",
"displayName": "itemBg",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"imageUuidOrDatabaseUri": "d0497cb3-d3a4-4452-9638-4f1005f22eb7",
"isUuid": true,
"visible": false,
"minfilter": "linear",
"magfilter": "linear",
"mipfilter": "none",
"anisotropy": 0
},
"ver": "1.0.22",
"imported": true,
"files": [
".json"
],
"subMetas": {}
},
"f9941": {
"importer": "sprite-frame",
"uuid": "d0497cb3-d3a4-4452-9638-4f1005f22eb7@f9941",
"displayName": "itemBg",
"id": "f9941",
"name": "spriteFrame",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 676,
"height": 132,
"rawWidth": 676,
"rawHeight": 132,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [
-338,
-66,
0,
338,
-66,
0,
-338,
66,
0,
338,
66,
0
],
"indexes": [
0,
1,
2,
2,
1,
3
],
"uv": [
0,
132,
676,
132,
0,
0,
676,
0
],
"nuv": [
0,
0,
1,
0,
0,
1,
1,
1
],
"minPos": [
-338,
-66,
0
],
"maxPos": [
338,
66,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "d0497cb3-d3a4-4452-9638-4f1005f22eb7@6c48a",
"atlasUuid": ""
},
"ver": "1.0.12",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {
"type": "sprite-frame",
"hasAlpha": true,
"fixAlphaTransparencyArtifacts": false,
"redirect": "d0497cb3-d3a4-4452-9638-4f1005f22eb7@6c48a"
}
}
{
"ver": "1.0.27",
"importer": "image",
"imported": true,
"uuid": "6e10e87a-999a-49c2-9755-ae19571386c7",
"files": [
".json",
".png"
],
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "6e10e87a-999a-49c2-9755-ae19571386c7@6c48a",
"displayName": "我的奖品",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"imageUuidOrDatabaseUri": "6e10e87a-999a-49c2-9755-ae19571386c7",
"isUuid": true,
"visible": false,
"minfilter": "linear",
"magfilter": "linear",
"mipfilter": "none",
"anisotropy": 0
},
"ver": "1.0.22",
"imported": true,
"files": [
".json"
],
"subMetas": {}
},
"f9941": {
"importer": "sprite-frame",
"uuid": "6e10e87a-999a-49c2-9755-ae19571386c7@f9941",
"displayName": "我的奖品",
"id": "f9941",
"name": "spriteFrame",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 156,
"height": 38,
"rawWidth": 156,
"rawHeight": 38,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [
-78,
-19,
0,
78,
-19,
0,
-78,
19,
0,
78,
19,
0
],
"indexes": [
0,
1,
2,
2,
1,
3
],
"uv": [
0,
38,
156,
38,
0,
0,
156,
0
],
"nuv": [
0,
0,
1,
0,
0,
1,
1,
1
],
"minPos": [
-78,
-19,
0
],
"maxPos": [
78,
19,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "6e10e87a-999a-49c2-9755-ae19571386c7@6c48a",
"atlasUuid": ""
},
"ver": "1.0.12",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {
"type": "sprite-frame",
"hasAlpha": true,
"fixAlphaTransparencyArtifacts": false,
"redirect": "6e10e87a-999a-49c2-9755-ae19571386c7@6c48a"
}
}
......@@ -13,9 +13,9 @@
},
"dependencies": {
"@types/crypto-js": "^4.2.2",
"@types/zepto": "^1.0.36",
"crypto-js": "^4.2.0",
"html-to-image": "^1.11.11",
"html2canvas": "^1.4.1",
"mobx": "^6.12.3"
}
}
{
"ok": true,
"msg": "ok",
"code": 0,
"data": {
"activityRule": "<p>123123123123123</p>",
"alreadyGuideSteps": 0,
"allGuideSteps": 4
},
"timestamp": 1724379274542
}
\ No newline at end of file
{
"code": null,
"data": {
"rankList": [
{
"avatar": "dolore",
"rank": 92722844.69924021,
"nickname": "ea",
"score": -50832442.888204634
},
{
"avatar": "ea cillum laboris ut incididunt",
"rank": -41130068.17999749,
"nickname": "ad magna sint",
"score": -84257028.9026809
},
{
"avatar": "amet exercitation",
"rank": 69473490.00986582,
"nickname": "in sit velit sunt",
"score": -93971040.1518981
},
{
"avatar": "id",
"rank": 15066454.993176356,
"nickname": "reprehenderit anim dolore velit",
"score": 78887143.90644768
},
{
"avatar": "qui in magna labore nulla",
"rank": 10639463.957747847,
"nickname": "amet",
"score": 37277051.38616058
}
],
"myRank": {
"avatar": "sint mollit ullamco",
"rank": "veniam esse eu incididunt mollit",
"nickname": "commodo",
"score": -57722682.325879626
}
},
"message": "consectetur in exercitation",
"success": true
}
\ No newline at end of file
{
"ok": true,
"msg": "ok",
"code": 0,
"data": {
"recordId": "recordId"
},
"timestamp": 1724379274542
}
\ No newline at end of file
{
"ok": true,
"msg": "ok",
"code": 0,
"data": {
"alreadyGuideSteps": 0,
"allGuideSteps": 4
},
"timestamp": 1724379274542
}
\ No newline at end of file
{
"ok": true,
"msg": "ok",
"code": 0,
"data": {
"prizeVO": {
"optionName": "optionName",
"optionImg": "optionImg"
},
"historyMaxScore": 9999
},
"timestamp": 1724379274542
}
\ No newline at end of file
{
"ok": true,
"msg": "ok",
"code": 0,
"data": null,
"timestamp": 1724379274542
}
\ No newline at end of file
......@@ -7,51 +7,22 @@
resolved "http://npm.dui88.com:80/@types%2fcrypto-js/-/crypto-js-4.2.2.tgz"
integrity sha512-sDOLlVbHhXpAUAL0YHDUUwDZf3iN4Bwi4W6a0W0b+QcAezUbRtH4FVb+9J4h+XFPW7l/gQ9F8qC7P+Ec4k8QVQ==
base64-arraybuffer@^1.0.2:
version "1.0.2"
resolved "http://npm.dui88.com:80/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz#1c37589a7c4b0746e34bd1feb951da2df01c1bdc"
integrity sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==
"@types/zepto@^1.0.36":
version "1.0.36"
resolved "http://npm.dui88.com:80/@types%2fzepto/-/zepto-1.0.36.tgz#dbc9d2868f928feb860ee40d261def7ef47aeef4"
integrity sha512-CKFmXsmv4fNYh2yWIT/t/X3hBj8zkNNuYp/9WWTZq9dXQ6pAUq5D7r329i+O+kXXYPwBVmCJh/simxepxIJNDw==
crypto-js@^4.2.0:
version "4.2.0"
resolved "http://npm.dui88.com:80/crypto-js/-/crypto-js-4.2.0.tgz"
integrity sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==
css-line-break@^2.1.0:
version "2.1.0"
resolved "http://npm.dui88.com:80/css-line-break/-/css-line-break-2.1.0.tgz#bfef660dfa6f5397ea54116bb3cb4873edbc4fa0"
integrity sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==
dependencies:
utrie "^1.0.2"
html-to-image@^1.11.11:
version "1.11.11"
resolved "http://npm.dui88.com:80/html-to-image/-/html-to-image-1.11.11.tgz#c0f8a34dc9e4b97b93ff7ea286eb8562642ebbea"
integrity sha512-9gux8QhvjRO/erSnDPv28noDZcPZmYE7e1vFsBLKLlRlKDSqNJYebj6Qz1TGd5lsRV+X+xYyjCKjuZdABinWjA==
html2canvas@^1.4.1:
version "1.4.1"
resolved "http://npm.dui88.com:80/html2canvas/-/html2canvas-1.4.1.tgz#7cef1888311b5011d507794a066041b14669a543"
integrity sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==
dependencies:
css-line-break "^2.1.0"
text-segmentation "^1.0.3"
mobx@^6.12.3:
version "6.12.3"
resolved "http://npm.dui88.com:80/mobx/-/mobx-6.12.3.tgz"
integrity sha512-c8NKkO4R2lShkSXZ2Ongj1ycjugjzFFo/UswHBnS62y07DMcTc9Rvo03/3nRyszIvwPNljlkd4S828zIBv/piw==
text-segmentation@^1.0.3:
version "1.0.3"
resolved "http://npm.dui88.com:80/text-segmentation/-/text-segmentation-1.0.3.tgz#52a388159efffe746b24a63ba311b6ac9f2d7943"
integrity sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==
dependencies:
utrie "^1.0.2"
utrie@^1.0.2:
version "1.0.2"
resolved "http://npm.dui88.com:80/utrie/-/utrie-1.0.2.tgz#d42fe44de9bc0119c25de7f564a6ed1b2c87a645"
integrity sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==
dependencies:
base64-arraybuffer "^1.0.2"
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment