| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476 |
- // version: 2.0.0_201807240950
- (function(e, a) { for(var i in a) e[i] = a[i]; }(window, /******/ (function(modules) { // webpackBootstrap
- /******/ // The module cache
- /******/ var installedModules = {};
- /******/
- /******/ // The require function
- /******/ function __webpack_require__(moduleId) {
- /******/
- /******/ // Check if module is in cache
- /******/ if(installedModules[moduleId]) {
- /******/ return installedModules[moduleId].exports;
- /******/ }
- /******/ // Create a new module (and put it into the cache)
- /******/ var module = installedModules[moduleId] = {
- /******/ i: moduleId,
- /******/ l: false,
- /******/ exports: {}
- /******/ };
- /******/
- /******/ // Execute the module function
- /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
- /******/
- /******/ // Flag the module as loaded
- /******/ module.l = true;
- /******/
- /******/ // Return the exports of the module
- /******/ return module.exports;
- /******/ }
- /******/
- /******/
- /******/ // expose the modules object (__webpack_modules__)
- /******/ __webpack_require__.m = modules;
- /******/
- /******/ // expose the module cache
- /******/ __webpack_require__.c = installedModules;
- /******/
- /******/ // define getter function for harmony exports
- /******/ __webpack_require__.d = function(exports, name, getter) {
- /******/ if(!__webpack_require__.o(exports, name)) {
- /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
- /******/ }
- /******/ };
- /******/
- /******/ // define __esModule on exports
- /******/ __webpack_require__.r = function(exports) {
- /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
- /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
- /******/ }
- /******/ Object.defineProperty(exports, '__esModule', { value: true });
- /******/ };
- /******/
- /******/ // create a fake namespace object
- /******/ // mode & 1: value is a module id, require it
- /******/ // mode & 2: merge all properties of value into the ns
- /******/ // mode & 4: return value when already ns object
- /******/ // mode & 8|1: behave like require
- /******/ __webpack_require__.t = function(value, mode) {
- /******/ if(mode & 1) value = __webpack_require__(value);
- /******/ if(mode & 8) return value;
- /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
- /******/ var ns = Object.create(null);
- /******/ __webpack_require__.r(ns);
- /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
- /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
- /******/ return ns;
- /******/ };
- /******/
- /******/ // getDefaultExport function for compatibility with non-harmony modules
- /******/ __webpack_require__.n = function(module) {
- /******/ var getter = module && module.__esModule ?
- /******/ function getDefault() { return module['default']; } :
- /******/ function getModuleExports() { return module; };
- /******/ __webpack_require__.d(getter, 'a', getter);
- /******/ return getter;
- /******/ };
- /******/
- /******/ // Object.prototype.hasOwnProperty.call
- /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
- /******/
- /******/ // __webpack_public_path__
- /******/ __webpack_require__.p = "";
- /******/
- /******/
- /******/ // Load entry module and return exports
- /******/ return __webpack_require__(__webpack_require__.s = "./src/index.js");
- /******/ })
- /************************************************************************/
- /******/ ({
- /***/ "./src/config/development.js":
- /*!***********************************!*\
- !*** ./src/config/development.js ***!
- \***********************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony default export */ __webpack_exports__["default"] = ({
- svr: 'https://test.ngo.minigame.qq.com'
- });
- /***/ }),
- /***/ "./src/config/index.js":
- /*!*****************************!*\
- !*** ./src/config/index.js ***!
- \*****************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony import */ var _development__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./development */ "./src/config/development.js");
- /* harmony import */ var _production__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./production */ "./src/config/production.js");
- /* harmony default export */ __webpack_exports__["default"] = ({
- dev: _development__WEBPACK_IMPORTED_MODULE_0__["default"],
- prod: _production__WEBPACK_IMPORTED_MODULE_1__["default"]
- });
- /***/ }),
- /***/ "./src/config/production.js":
- /*!**********************************!*\
- !*** ./src/config/production.js ***!
- \**********************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony default export */ __webpack_exports__["default"] = ({
- svr: 'https://goplatform.minigame.qq.com'
- });
- /***/ }),
- /***/ "./src/index.js":
- /*!**********************!*\
- !*** ./src/index.js ***!
- \**********************/
- /*! exports provided: Recommender */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Recommender", function() { return Recommender; });
- /* harmony import */ var _platform_wx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./platform/wx */ "./src/platform/wx.js");
- /* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./logger */ "./src/logger/index.js");
- /* harmony import */ var _report__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./report */ "./src/report/index.js");
- /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./config */ "./src/config/index.js");
- const ACTION_CLICK = 101,
- ACTION_EXPOSED = 100;
- var Recommender = function ({ appid, openid, debug = false, env = 'prod' }) {
- _logger__WEBPACK_IMPORTED_MODULE_1__["default"].setAble(debug);
- if (!appid) {
- console.error('请传入当前游戏的appid');
- return;
- }
- if (!openid) {
- console.warn('请传入当前玩家的openid');
- }
- this.appid = appid;
- this.openid = openid;
- this.config = _config__WEBPACK_IMPORTED_MODULE_3__["default"][env];
- this.index = 0;
- this.reporter = new _report__WEBPACK_IMPORTED_MODULE_2__["default"]({
- appid: this.appid,
- openid: this.openid,
- svr: this.config.svr
- });
- this.games = [];
- this.getConfig().then(res => {
- if (res.result == 0) {
- let config = res.data;
- for (let i = 0; i < config.Appids.length; ++i) {
- this.games.push({
- appid: config.Appids[i],
- icon: config.Icons[i]
- });
- }
- this.report(this.games[0], 0, ACTION_EXPOSED);
- _logger__WEBPACK_IMPORTED_MODULE_1__["default"].log('当前插件开关:', config.IsOpen ? '开启' : '关闭');
- if (this.readyHandler) {
- this.readyHandler(config.IsOpen, this.games[this.index]);
- }
- } else {
- _logger__WEBPACK_IMPORTED_MODULE_1__["default"].log('后台错误,插件开关关闭');
- if (this.readyHandler) {
- this.readyHandler(false, null);
- }
- }
- }).catch(e => {
- _logger__WEBPACK_IMPORTED_MODULE_1__["default"].log('网络错误,插件开关关闭:', e);
- if (this.readyHandler) {
- this.readyHandler(false, null);
- }
- });
- this.changeHandler = null;
- };
- Recommender.prototype = {
- getCurrentGame: function () {
- return this.games[this.index];
- },
- jumpToCurrentGame() {
- var game = this.games[this.index];
- this.report(game, this.index, ACTION_CLICK);
- if (wx.navigateToMiniProgram) {
- wx.navigateToMiniProgram({
- appId: game.appid,
- success: function () {
- _logger__WEBPACK_IMPORTED_MODULE_1__["default"].log('游戏跳转成功,appid: ' + game.appid);
- },
- fail: function () {
- _logger__WEBPACK_IMPORTED_MODULE_1__["default"].warn('游戏跳转失败,appid:' + game.appid);
- }
- });
- } else {
- _logger__WEBPACK_IMPORTED_MODULE_1__["default"].warn('当前小游戏库版本不支持跳转功能,请升级基础库到2.2.0以上');
- }
- this.index = (this.index + 1) % this.games.length;
- this.report(this.games[this.index], this.index, ACTION_EXPOSED);
- if (this.changeHandler && typeof this.changeHandler === 'function') {
- this.changeHandler(this.games[this.index]);
- }
- },
- onChange(cb) {
- if (typeof cb !== 'function') {
- _logger__WEBPACK_IMPORTED_MODULE_1__["default"].warn('请传入回调函数');
- return;
- }
- this.changeHandler = cb;
- },
- onReady(cb) {
- if (typeof cb !== 'function') {
- _logger__WEBPACK_IMPORTED_MODULE_1__["default"].warn('请传入回调函数');
- return;
- }
- this.readyHandler = cb;
- },
- getConfig() {
- return new Promise((resolve, reject) => {
- _platform_wx__WEBPACK_IMPORTED_MODULE_0__["platform"].request({
- url: `${this.config.svr}/mgplugin/getconfig?appid=${this.appid}`,
- method: 'GET',
- success: res => {
- resolve(res);
- },
- fail: () => {
- reject();
- }
- });
- });
- },
- report(game, index, action) {
- this.reporter.report({
- iSceneLevel1: 1000001,
- iSceneLevel2: 1,
- iSceneLevel3: index + 1,
- iActionId: action,
- iResourceId1: game.appid
- });
- }
- };
- /***/ }),
- /***/ "./src/logger/index.js":
- /*!*****************************!*\
- !*** ./src/logger/index.js ***!
- \*****************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- const TAG = '[recommender]';
- /* harmony default export */ __webpack_exports__["default"] = ({
- isAble: false,
- setAble(able) {
- this.isAble = able;
- },
- log: function (message, ...optionalParams) {
- if (this.isAble) {
- console.log('', TAG, message, ...optionalParams);
- }
- },
- error: function (message, ...optionalParams) {
- if (this.isAble) {
- console.error('', TAG, message, ...optionalParams);
- }
- },
- warn: function (message, ...optionalParams) {
- if (this.isAble) {
- console.warn('', TAG, message, ...optionalParams);
- }
- }
- });
- /***/ }),
- /***/ "./src/platform/wx.js":
- /*!****************************!*\
- !*** ./src/platform/wx.js ***!
- \****************************/
- /*! exports provided: platform */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "platform", function() { return platform; });
- /* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../logger */ "./src/logger/index.js");
- class Platform {
- request({ url, data, method, success, fail }) {
- _logger__WEBPACK_IMPORTED_MODULE_0__["default"].log('开始请求:', url, '数据:', data || '');
- if (typeof wx === 'undefined') {
- let xhr = new XMLHttpRequest();
- xhr.onreadystatechange = () => {
- if (xhr.readyState == 4) {
- if (xhr.status >= 200 && xhr.status < 400) {
- let res = xhr.responseText;
- try {
- res = JSON.parse(res);
- _logger__WEBPACK_IMPORTED_MODULE_0__["default"].log('请求成功:', url, '回包:', res);
- } catch (e) {
- _logger__WEBPACK_IMPORTED_MODULE_0__["default"].warn('请求失败: ', url);
- fail(e);
- }
- if (success) {
- success(res);
- }
- } else {
- if (fail) {
- fail('server error: ' + xhr.status);
- }
- }
- }
- };
- xhr.open(method, url, true);
- xhr.setRequestHeader('Content-Type', 'application/json');
- xhr.send(data);
- } else {
- wx.request({
- url: url,
- data: data || {},
- header: {
- 'Content-Type': 'application/json'
- },
- method: method,
- success: function (res) {
- _logger__WEBPACK_IMPORTED_MODULE_0__["default"].log('请求成功:', url, '回包:', res);
- success(res.data);
- },
- fail: function (res) {
- _logger__WEBPACK_IMPORTED_MODULE_0__["default"].warn('请求失败: ', url);
- fail(res);
- }
- });
- }
- }
- }
- const platform = new Platform();
- /***/ }),
- /***/ "./src/report/index.js":
- /*!*****************************!*\
- !*** ./src/report/index.js ***!
- \*****************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony import */ var _platform_wx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../platform/wx */ "./src/platform/wx.js");
- /* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../logger */ "./src/logger/index.js");
- const DATA_TEMPLATE = {
- dtLoginTime: -1,
- vQimei: -1,
- vAppVer: -1,
- PlatID: -1,
- vOsType: -1,
- osversion: -1,
- nettype: -1,
- model: -1,
- iActionId: -1,
- iSceneLevel1: -1,
- iSceneLevel2: -1,
- iSceneLevel3: -1,
- iResourceId1: -1,
- iResourceId2: -1,
- iResourceId3: -1,
- iResourceId4: -1,
- iResourceId5: -1,
- iRet: -1,
- vV1: -1,
- vV2: -1,
- vV3: -1,
- vV4: -1,
- vV5: -1,
- vV6: -1,
- vV7: -1,
- vV8: -1,
- vV9: -1,
- vV10: -1
- };
- /* harmony default export */ __webpack_exports__["default"] = (class {
- constructor({ appid, openid, svr }) {
- this.appid = appid;
- this.openid = openid;
- this.svr = svr;
- this.dataTemplate = Object.assign({}, DATA_TEMPLATE, {
- iResourceId2: this.appid
- });
- }
- report(data) {
- return new Promise((resolve, reject) => {
- data = Object.assign({}, this.dataTemplate, data);
- _logger__WEBPACK_IMPORTED_MODULE_1__["default"].log('开始上报:', data);
- let reportData = {
- data: [this.genDataString(data)],
- type: '0',
- openid: this.openid,
- appid: this.appid,
- openid: this.openid
- };
- _platform_wx__WEBPACK_IMPORTED_MODULE_0__["platform"].request({
- url: `${this.svr}/mpreport/reportplugintlog`,
- data: reportData,
- method: 'POST',
- success: () => {
- _logger__WEBPACK_IMPORTED_MODULE_1__["default"].log('上报成功:', data);
- resolve();
- },
- fail: () => {
- _logger__WEBPACK_IMPORTED_MODULE_1__["default"].warn('上报失败:', data);
- }
- });
- });
- }
- genDataString(data) {
- let arr = [];
- Object.keys(data).forEach(key => arr.push(data[key]));
- return arr.join('|');
- }
- });
- /***/ })
- /******/ })));
- //# sourceMappingURL=recommender.js.map
|