123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498 |
- System.register(["cc"], function (_export, _context) {
- "use strict";
- var _cclegacy, __checkObsolete__, __checkObsoleteInNamespace__, size, view, UITransform, screen, ImageAsset, SpriteFrame, Texture2D, sys, assetManager, ch_util, _crd;
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
- function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
- return {
- setters: [function (_cc) {
- _cclegacy = _cc.cclegacy;
- __checkObsolete__ = _cc.__checkObsolete__;
- __checkObsoleteInNamespace__ = _cc.__checkObsoleteInNamespace__;
- size = _cc.size;
- view = _cc.view;
- UITransform = _cc.UITransform;
- screen = _cc.screen;
- ImageAsset = _cc.ImageAsset;
- SpriteFrame = _cc.SpriteFrame;
- Texture2D = _cc.Texture2D;
- sys = _cc.sys;
- assetManager = _cc.assetManager;
- }],
- execute: function () {
- _crd = true;
- _cclegacy._RF.push({}, "1badftMxAdA7p5/bxrvSF8o", "ch_util", undefined);
- /**工具*/
- __checkObsolete__(['size', 'view', 'Node', 'UITransform', 'screen', 'ImageAsset', 'SpriteFrame', 'Texture2D', 'sys', 'assetManager']);
- ch_util = class ch_util {
- constructor() {
- this._k = 1000;
- this._k_sizes_en = ['', 'K', 'M', 'G', 'T', 'P', 'E'];
- this._k_sizes_cn = ['', '千', '百万', '十亿', '万亿', '拍(千万亿)', '艾(十亿亿)'];
- this._w = 10000;
- this._w_sizes_en = ['', 'W', 'M', 'B', 'T'];
- this._w_sizes_cn = ['', '万', '亿', '万亿'];
- this._url_data = null;
- }
- static getInstance() {
- if (!this._instance) this._instance = new ch_util();
- return this._instance;
- }
- /**
- * 随机数 (包含min,不包含max)
- * @param min
- * @param max
- * @param isInt
- * @return {*}
- */
- getRandom(min, max) {
- if (min === void 0) {
- min = 0;
- }
- if (max === void 0) {
- max = 1;
- }
- if (min == null) min = 0;
- if (max == null) max = 1;
- if (min === max) return min;
- return min + Math.random() * (max - min);
- }
- /**
- * 随机整数-不包含最大值
- * @param min
- * @param max
- * @return {*}
- */
- getRandomInt(min, max) {
- min = Math.ceil(min);
- max = Math.ceil(max);
- return Math.floor(Math.random() * (max - min)) + min;
- }
- /** 生成随机整数 -1 或 1*/
- getRandomDir() {
- return Math.floor(Math.random() * 2) === 0 ? -1 : 1;
- }
- /**
- * 在指定数组中随机取出N个不重复的数据
- * @param resArr
- * @param ranNum
- * @returns {Array}
- */
- getRandomDiffValueFromArr(resArr, ranNum) {
- var arr = new Array();
- var result = new Array();
- if (!resArr || resArr.length <= 0 || ranNum <= 0) {
- return result;
- }
- for (var i = 0; i < resArr.length; i++) {
- arr.push(resArr[i]);
- }
- if (ranNum >= arr.length) return arr;
- ranNum = Math.min(ranNum, arr.length - 1);
- for (var _i = 0; _i < ranNum; _i++) {
- var ran = this.getRandomInt(0, arr.length - 1);
- result.push(arr.splice(ran, 1)[0]);
- }
- return result;
- }
- /**
- * 取小数位
- * @param decimal 小数
- * @param places 位数
- * @return {number}
- */
- numberToDecimal(decimal, places) {
- var round = Math.pow(10, places);
- return Math.round(decimal * round) / round;
- }
- parse(text, reciver) {
- try {
- return JSON.parse(text, reciver);
- } catch (error) {
- //ch_log.error(error);
- return null;
- }
- }
- stringify(value, replacer, space) {
- try {
- return JSON.stringify(value, replacer, space);
- } catch (error) {
- return null;
- }
- }
- /**
- * 判断字符是否为双字节字符(如中文字符)
- * @param string 原字符串
- */
- str_isDoubleWord(string) {
- return /[^\x00-\xff]/.test(string);
- }
- /**
- * 是否为空
- * @param str
- */
- str_isEmpty(str) {
- if (str == null || str == undefined || str.length == 0) {
- return true;
- }
- return false;
- }
- /**
- * 转美式计数字符串
- * @param value 数字
- * @example
- * 123456789 = 123,456,789
- */
- numberTotPermil(value) {
- return value.toLocaleString();
- }
- /**
- * 通用单位转换方法
- */
- convertNumber(value, base, sizes, fixed) {
- if (value < base) return value.toString();
- var i = Math.floor(Math.log(value) / Math.log(base));
- var r = value / Math.pow(base, i);
- if (i >= sizes.length) return value.toString();
- return "" + r.toFixed(fixed) + sizes[i];
- }
- /**
- * 转单位计数(默认英文)
- * @param value 数字
- * @param fixed 保留小数位数
- * @param isEn 是否英文
- * @example
- * 12345 = 12.35K
- */
- numberToThousand(value, fixed, isEn) {
- if (fixed === void 0) {
- fixed = 2;
- }
- if (isEn === void 0) {
- isEn = true;
- }
- var sizes = isEn ? this._k_sizes_en : this._k_sizes_cn;
- return this.convertNumber(value, this._k, sizes, fixed);
- }
- /**
- * 转单位计数(默认中文)
- * @param value 数字
- * @param fixed 保留小数位数
- * @param isEn 是否英文
- * @example
- * 12345 = 1.23万
- */
- numberToTenThousand(value, fixed, isEn) {
- if (fixed === void 0) {
- fixed = 2;
- }
- if (isEn === void 0) {
- isEn = false;
- }
- var sizes = isEn ? this._w_sizes_en : this._w_sizes_cn;
- return this.convertNumber(value, this._w, sizes, fixed);
- }
- /**获取一个唯一标识的字符串 */
- guid() {
- var guid = Math.random().toString(36).substring(2);
- return guid;
- }
- /**排序一个json Object*/
- obj_sort(obj) {
- var sorted_keys = Object.keys(obj).sort();
- var new_obj = {};
- for (var i = 0; i < sorted_keys.length; i++) {
- var _key = sorted_keys[i];
- var _value = obj[_key];
- var t = this.obj_get_value_type(_value);
- new_obj[_key] = t == 'object' ? this.obj_sort(_value) : _value;
- }
- return new_obj;
- }
- /**获取一个josn值的类型*/
- obj_get_value_type(value) {
- var type;
- if (value === null) {
- type = 'null';
- } else {
- type = typeof value;
- } // 如果是对象或数组,还可以进一步判断
- if (type === 'object') {
- if (Array.isArray(value)) {
- type = 'array';
- } //else if (value instanceof Date) { type = 'date'; }
- }
- return type;
- }
- /**
- * 判断指定的值是否为对象
- * @param value 值
- */
- valueIsObject(value) {
- return Object.prototype.toString.call(value) === '[object Object]';
- }
- /**
- * 深拷贝
- * @param target 目标
- */
- /** 克隆对象 */
- obj_clone(target_, record_set) {
- if (record_set === void 0) {
- record_set = new Set();
- }
- var result;
- switch (typeof target_) {
- case "object":
- {
- // 数组:遍历拷贝
- if (Array.isArray(target_)) {
- if (record_set.has(target_)) {
- return target_;
- }
- record_set.add(target_);
- result = [];
- for (var k_n = 0; k_n < target_.length; ++k_n) {
- // 递归克隆数组中的每一项
- result.push(this.obj_clone(target_[k_n], record_set));
- }
- } // null:直接赋值
- else if (target_ === null) {
- result = null;
- } // RegExp:直接赋值
- else if (target_.constructor === RegExp) {
- result = target_;
- } // 普通对象:循环递归赋值对象的所有值
- else {
- if (record_set.has(target_)) {
- return target_;
- }
- record_set.add(target_);
- result = {};
- for (var k_s in target_) {
- result[k_s] = this.obj_clone(target_[k_s], record_set);
- }
- }
- break;
- }
- case "function":
- {
- result = target_.bind({});
- break;
- }
- default:
- {
- result = target_;
- }
- }
- return result;
- }
- /**
- * 拷贝对象
- * @param target 目标
- */
- copy(target) {
- return this.parse(this.stringify(target));
- } //请求相关--------------------------------------------
- getReqId() {
- return Date.now() + "_" + Math.ceil(1e3 * Math.random());
- }
- /**获取链接中传入的某个值*/
- getUrlData(key) {
- if (!this._url_data) {
- this._url_data = this.parseUrl();
- }
- var value = this._url_data[key];
- if (value === undefined) return null;
- if (typeof value === 'string') {
- var numberValue = parseFloat(value);
- if (!isNaN(numberValue)) return numberValue;
- return value;
- }
- return null;
- }
- parseUrl() {
- if (!sys.isBrowser || typeof window !== "object" || !window.document) return {};
- var url = window.document.location.href;
- var queryString = url.split("?")[1];
- if (!queryString) return {};
- return queryString.split("&").reduce((acc, param) => {
- var [key, value] = param.split("=");
- if (key) acc[decodeURIComponent(key)] = value ? decodeURIComponent(value) : '';
- return acc;
- }, {});
- }
- /**获到node的坐标和范围用于平台在对应位置创建按纽*/
- getBtnOp(btnNode) {
- var btnNodeUiTransform = btnNode.getComponent(UITransform);
- var btnSize = size(btnNodeUiTransform.width + 0, btnNodeUiTransform.height + 0); //let frameWidth = screen.windowSize.width / screen.devicePixelRatio
- var frameHeight = screen.windowSize.height / screen.devicePixelRatio; //const winSize = screen.windowSize;
- //const designSize = view.getDesignResolutionSize();
- //console.log('designSize', designSize);
- //console.log('winSize:', winSize);
- //console.log('frameSize:', frameWidth,frameHeight);
- //适配不同机型来创建微信授权按钮
- var rect = btnNodeUiTransform.getBoundingBoxToWorld();
- var ratio = screen.devicePixelRatio;
- var scale = view.getScaleX();
- var factor = scale / ratio;
- var offsetX = 0;
- var offsetY = 0;
- var top = frameHeight - (rect.y + rect.height) * factor - offsetY;
- var left = rect.x * factor + offsetX;
- var width = btnSize.width * factor;
- var height = btnSize.height * factor;
- return {
- left: left,
- top: top,
- width: width,
- height: height
- };
- }
- /**远程加载图片*/
- loadImage(url) {
- var _this = this;
- return _asyncToGenerator(function* () {
- if (chsdk.get_pf() == chsdk.pf.web) {
- return yield _this.loadRemoteSprite(url);
- } else {
- var idata = yield chsdk.loadImage(url);
- return _this.getSpriteFrame(idata);
- }
- })();
- }
- /**cocos加载远程图片*/
- loadRemoteSprite(remoteUrl, ext) {
- if (ext === void 0) {
- ext = '.png';
- }
- return new Promise(resolve => {
- assetManager.loadRemote(remoteUrl, {
- ext: ext
- }, function (err, imageAsset) {
- var spriteFrame = new SpriteFrame();
- var texture = new Texture2D();
- texture.image = imageAsset;
- spriteFrame.texture = texture;
- resolve(spriteFrame);
- });
- });
- }
- /**远程加载的图片数据转成spriteFrame*/
- getSpriteFrame(img) {
- if (!img) return null;
- try {
- var spriteFrame = new SpriteFrame();
- var texture = new Texture2D();
- texture.image = img instanceof ImageAsset ? img : new ImageAsset(img);
- spriteFrame.texture = texture;
- return spriteFrame;
- } catch (error) {
- //ch_log.warn(error);
- return null;
- }
- }
- };
- ch_util._instance = void 0;
- _export("default", ch_util.getInstance());
- _cclegacy._RF.pop();
- _crd = false;
- }
- };
- });
- //# sourceMappingURL=d6ec18d6ea05ecc84f5191004e3fcc26f59079b4.js.map
|