123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387 |
- cc.Class({
- /**
- * 收到JNI发上来的事件
- *
- * @author Pyden
- * @date 2020-03-11
- * @param {Object} eventData
- */
- handleEvent (eventData) {
- /* eventData参数:
- * @param {String} sdkName
- * @param {String} eventKey
- * @param {Integer} code
- * @param {String} errorMsg
- * @param {Object} data
- */
- /*
- 设备回调事件,eventKey如下:
- device_exit // 退出游戏
- device_camera // 选择好了头像
- eventData.data.filePath // 头像地址
- */
- let eventKey = eventData.eventKey;
- switch (eventKey) {
- case 'device_exit': {
- cc.game.end();
- break;
- }
- case 'device_camera': {
- cc.game.emit('e_middle_device_camera_result', eventData);
- break;
- }
- case 'device_on_configuration_changed': {
- cc.game.emit('e_middle_device_on_configuration_changed', eventData.data);
- break;
- }
- default:
- break;
- }
- },
- /**
- * 获取设备模块的配置信息
- *
- * @author Pyden
- * @date 2020-03-23
- * @returns {Object}
- * config.sdkName sdk名称
- */
- getConfig () {
- if (!this._config) {
- let gameConfig = G.MiddleMgr.getGameConfig();
- if (gameConfig && gameConfig.device) {
- this._config = gameConfig.device;
- }
- }
- return this._config;
- },
- /**
- * sdk名称。本模块只能有一个SDK
- *
- * @author Pyden
- * @date 2020-03-23
- * @returns {String}
- */
- getSdkName () {
- let config = this.getConfig() || {};
- return config.sdkName;
- },
- /**
- * 判断是否有某个APP device_isApplicationExist
- *
- * @author Pyden
- * @date 2020-03-11
- * @param {String} appPkg 包名
- * @returns {Boolean}
- */
- isApplicationExist (appPkg) {
- return false;
- },
- /**
- * 跳转到应用商店的指定应用页面 device_rateToMarketApp
- *
- * @author Pyden
- * @date 2020-03-11
- * @param {String} appPkg 应用包名
- * @param {String} marketPkg 商店应用包名
- * @returns {Boolean} 返回值表示是否支持跳转
- */
- openMarketApp (appPkg, marketPkg) {
- return false;
- },
- /**
- * 获取版本名称 device_getVersion
- *
- * @author Pyden
- * @date 2020-03-11
- * @returns {String}
- */
- getVersionName () {
- return G.MiddleMgr.sdkConfig.deviceVersion;
- },
- /**
- * 获取版本码 device_getVersionCode
- *
- * @author Pyden
- * @date 2020-03-11
- * @returns {Integer}
- */
- getVersionCode () {
- return G.MiddleMgr.sdkConfig.deviceVersionCode;
- },
- /**
- * 获取运营商信息 device_getOperator
- * 0 = unknown; 1 = 移动; 2 = 联通; 3 = 电信-1 = 无; 0 = 未知; 1 = wifi; 2 = 2g; 3 = 3g; 4 = 4g
- *
- * @author Pyden
- * @date 2020-03-11
- * @returns {Integer}
- */
- getOperator () {
- return 0;
- },
- /**
- * 获取网络状况 device_getApnType
- * -1 = 无; 0 = 未知; 1 = wifi; 2 = 2g; 3 = 3g; 4 = 4g
- *
- * @author Pyden
- * @date 2020-03-11
- * @returns {Integer}
- */
- getApnType () {
- let networkType = cc.sys.getNetworkType();
- if (networkType == 0) {
- networkType = -1;
- }
- return networkType;
- },
- /**
- * 获取设备名称 device_getDeviceName
- *
- * @author Pyden
- * @date 2020-03-11
- * @returns {Stirng}
- */
- getDeviceName () {
- return '默认设备名称';
- },
- /**
- * 获取设备信息 device_getDeviceInfo
- *
- * @author Pyden
- * @date 2020-03-11
- * @returns {Stirng}
- */
- getDeviceInfo () {
- let deviceName = this.getDeviceName();
- let os = cc.sys.os;
- let osVersion = cc.sys.osVersion;
- let windowPixelResolution = cc.sys.windowPixelResolution;
- let info = cc.js.formatStr(
- '%s|%s%s|%s*%s',
- deviceName,
- os,
- osVersion,
- parseInt(windowPixelResolution.width),
- parseInt(windowPixelResolution.height)
- );
- return info;
- },
- /**
- * 获取保存本地数据的文件地址 device_getUserDataSavePath
- *
- * @author Pyden
- * @date 2020-03-11
- */
- getUserDataSavePath () {
- if (!CC_JSB) {
- // 非native平台没有写入路径
- return '';
- }
- return jsb.fileUtils.getWritablePath();
- },
- /**
- * 获取硬件唯一标识 device_getUDID
- *
- * @author Pyden
- * @date 2020-03-11
- * @returns {String}
- */
- getUDID () {
- let writablePath = this.getUserDataSavePath();
- if (!CC_JSB) {
- // 非native平台没有写入路径
- // 需要给一个随机数生成udid并缓存下来
- let randomNumber = cc.sys.localStorage.getItem('RANDOM_NUMBER');
- if (randomNumber) {
- writablePath = randomNumber;
- } else {
- writablePath = Math.random() * new Date().getTime();
- cc.sys.localStorage.setItem('RANDOM_NUMBER', writablePath);
- }
- }
- return MD5.hex(String(writablePath));
- },
- /**
- * 获取IMEI号 device_getIMEI
- *
- * @author Pyden
- * @date 2020-03-11
- * @returns {String}
- */
- getIMEI () {
- return 'simulator';
- },
- /**
- * 获取IDFA源串
- * string.foramt("%s|%s|%s|%s|%s|%s", IMEI, AndroidID, OAID, MAC, IDFA, OpenUUID)
- * 安卓不传 IDFA, OpenUUID
- * iOS不传 IMEI, AndroidID, OAID
- *
- * @author Pyden
- * @date 2020-03-11
- * @returns {String}
- */
- getIDFA () {
- return '';
- },
- /**
- * 获取渠道号 device_getChannelId
- *
- * @author Pyden
- * @date 2020-03-11
- * @returns {Integer}
- */
- getChannelId () {
- return G.ChannelId;
- },
- /**
- * 获取APP名称 device_getAppName
- *
- * @author Pyden
- * @date 2020-03-11
- * @returns {String}
- */
- getAppName () {
- if (G.MiddleMgr.sdkConfig.appName) {
- return G.MiddleMgr.sdkConfig.appName;
- } else {
- return '神手麻将';
- }
- },
- /**
- * 获取APP包名
- *
- * @author Pyden
- * @date 2020-03-11
- * @returns {String}
- */
- getAppPackageName () {
- return 'web';
- },
- /**
- * 设置屏幕方向。1:横屏,2:竖屏,3根据用户朝向 device_setOrientation
- *
- * @author Pyden
- * @date 2020-03-11
- * @param {Integer} orientation
- * @returns {Boolean} 返回值表示是否支持设置屏幕方向
- */
- setOrientation (orientation) {
- return false;
- },
- /**
- * 拨打电话 device_callService
- *
- * @author Pyden
- * @date 2020-03-11
- * @param {Integer} uid
- * @param {Stirng} phoneNumber 电话号码
- * @returns {Boolean} 返回值表示是否支持拨打电话
- */
- callService (uid, phoneNumber) {
- window.location.href = 'tel:' + phoneNumber;
- return true;
- },
- /**
- * 展示toast device_toast
- *
- * @author Pyden
- * @date 2020-03-11
- * @param {String} msg 展示文案
- * @returns {Boolean} 返回值表示是否支持展示toast
- */
- toast (msg) {
- return false;
- },
- /**
- * 拷贝字符串到剪切板 device_copyString
- *
- * @author Pyden
- * @date 2020-03-11
- * @param {String} text
- * @returns {Boolean} 返回值表示是否拷贝成功
- */
- copyString (text) {
- return false;
- },
- /**
- * 获取剪切板的复制内容 device_getPasteString
- *
- * @author Pyden
- * @date 2020-03-11
- * @returns {String} 空字符串表示没有内容
- */
- getPasteString () {
- return '';
- },
- /**
- * 获取中间层持久化数据 device_getPackageInfoStringForKey
- *
- * @author Pyden
- * @date 2020-03-11
- * @param {String} key
- * @param {String} defValue
- * @returns {String}
- */
- getSharedPreferencesForKey (key, defValue) {
- let ret = cc.sys.localStorage.getItem(key);
- if (ret == undefined) {
- ret = defValue;
- }
- return ret;
- },
- /**
- * 设置中间层持久化数据 device_setPackageInfoStringForKey
- *
- * @author Pyden
- * @date 2020-03-11
- * @param {String} key
- * @param {String} value
- */
- setSharedPreferencesForKey (key, value) {
- cc.sys.localStorage.setItem(key, value);
- },
- /**
- * 拍照上传头像 device_camera
- *
- * @author Pyden
- * @date 2020-03-11
- * @param {Integer} imageType 1是相册,2是拍照
- * @returns {Boolean} 返回值表示是否支持
- */
- camera (imageType) {
- return false;
- }
- });
|