"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = (this && this.__generator) || function (thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (_) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; Object.defineProperty(exports, "__esModule", { value: true }); exports.wxNavigateTo = exports.wxRedirectTo = exports.wxRouter = exports.wxRequestPost = exports.wxRequestGet = exports.wxRequest = exports.wxUploadFile = exports.wxAuthorize = exports.wxStopLocationUpdate = exports.wxStartLocationUpdate = exports.wxStartLocationUpdateBackground = exports.wxOpenSetting = exports.wxDownloadFile = exports.wxPreviewImage = exports.wxPreviewMedia = exports.wxChooseMedia = exports.wxChooseVideo = exports.wxOpenDocument = exports.wxChooseMessageFile = exports.wxScanCode = exports.wxGetLocation = exports.wxShowActionSheet = exports.wxGetUserProfile = exports.wxGetUserInfo = exports.wxGetSetting = exports.wxChooseImage = exports.wxShowToast = exports.wxShowModal = exports.wxLogin = void 0; var config_1 = require("../config/config"); var words_1 = require("../config/words"); var apiMockUrl = "https://nei.netease.com/api/apimock-v2/e3b1d0eb88e905f6c7ee559b2d6bb7ad/"; var promiseWxApi = function (api, params) { return new Promise(function (reslove, reject) { if (typeof wx[api] === "function") { wx[api](__assign(__assign({}, params), { success: function (res) { reslove({ msg: "success", data: res, }); }, fail: function (err) { reslove({ msg: err.errMsg, data: "", }); } })); } else { reject({ msg: "非有效api接口", data: "", }); } }); }; var createWxApi = function (api) { return function (params) { if (params === void 0) { params = {}; } return promiseWxApi(api, params); }; }; exports.default = createWxApi; exports.wxLogin = createWxApi("login"); exports.wxShowModal = createWxApi("showModal"); exports.wxShowToast = createWxApi("showToast"); exports.wxChooseImage = createWxApi("chooseImage"); exports.wxGetSetting = createWxApi("getSetting"); exports.wxGetUserInfo = createWxApi("getUserInfo"); exports.wxGetUserProfile = createWxApi("getUserProfile"); exports.wxShowActionSheet = createWxApi("showActionSheet"); exports.wxGetLocation = createWxApi("getLocation"); exports.wxScanCode = createWxApi("scanCode"); exports.wxChooseMessageFile = createWxApi("chooseMessageFile"); exports.wxOpenDocument = createWxApi("openDocument"); exports.wxChooseVideo = createWxApi("chooseVideo"); exports.wxChooseMedia = createWxApi("chooseMedia"); exports.wxPreviewMedia = createWxApi("previewMedia"); exports.wxPreviewImage = createWxApi("previewImage"); exports.wxDownloadFile = createWxApi("downloadFile"); exports.wxOpenSetting = createWxApi("openSetting"); exports.wxStartLocationUpdateBackground = createWxApi("startLocationUpdateBackground"); exports.wxStartLocationUpdate = createWxApi("startLocationUpdate"); exports.wxStopLocationUpdate = createWxApi("stopLocationUpdate"); exports.wxAuthorize = createWxApi("authorize"); exports.wxUploadFile = function (url, filePath, elseParams, formDataParams) { if (elseParams === void 0) { elseParams = {}; } if (formDataParams === void 0) { formDataParams = {}; } return __awaiter(void 0, void 0, void 0, function () { var isMock, name, type, urlPremix, ret; return __generator(this, function (_a) { switch (_a.label) { case 0: isMock = typeof elseParams.isMock !== "undefined" ? elseParams.isMock : false; name = typeof elseParams.name !== "undefined" ? elseParams.name : "file"; type = typeof elseParams.type !== "undefined" ? elseParams.type : "file"; urlPremix = url.indexOf("://") !== -1 ? "" : isMock ? apiMockUrl : config_1.config.apiUrl; return [4, promiseWxApi("uploadFile", { url: urlPremix + url, filePath: filePath, name: name, formData: __assign({ type: type, name: name }, formDataParams), header: { "content-type": "multipart/form-data", Authorization: getApp().globalData.token, }, })]; case 1: ret = _a.sent(); if (ret.msg === "success") { try { ret.data.data = JSON.parse(ret.data.data); console.log("上传成功", ret.data.data); } catch (err) { console.log("上传返回数据解析json失败", err, ret.data); } } return [2, ret]; } }); }); }; exports.wxRequest = function (method, url, data, elseParams) { if (data === void 0) { data = {}; } if (elseParams === void 0) { elseParams = {}; } return __awaiter(void 0, void 0, void 0, function () { var isMock, isQuiet, header, extraCodes, urlPremix, ret, str; return __generator(this, function (_a) { switch (_a.label) { case 0: isMock = typeof elseParams.isMock !== "undefined" ? elseParams.isMock : false; isQuiet = typeof elseParams.isQuiet !== "undefined" ? elseParams.isQuiet : false; header = typeof elseParams.header !== "undefined" ? elseParams.header : "file"; extraCodes = typeof elseParams.extraCodes !== "undefined" ? elseParams.extraCodes : []; urlPremix = url.indexOf("://") !== -1 ? "" : isMock ? apiMockUrl : config_1.config.apiUrl; console.log("config.apiUrl", config_1.config.apiUrl); return [4, promiseWxApi("request", { url: urlPremix + url, method: method, data: data, header: __assign(__assign({}, header), { Authorization: getApp().globalData.token }), dataType: "json", })]; case 1: ret = _a.sent(); console.log(url, ret); if (ret.msg !== "success") { ret.data = { data: { code: -1, msg: words_1.default.common.networkError, }, }; } if (!isQuiet) { setTimeout(function () { return __awaiter(void 0, void 0, void 0, function () { var _a, code, msg; return __generator(this, function (_b) { if (ret.msg !== "success") { wx.showToast({ title: words_1.default.common.networkError, icon: "none", duration: 1500, }); } else { _a = ret.data.data, code = _a.code, msg = _a.msg; if (extraCodes.indexOf(code) !== -1) { console.log("特殊码,不做常规提示处理"); } else if (code == 10005 || code == 10006 || code == 10007) { console.log("登录失效"); getApp().toGuidePageAfterHint(); } else if (code == 10086) { wx.showModal({ title: "提示", content: msg, success: function (res) { if (res.confirm) { wx.reLaunch({ url: "/pages/main/index", }); } else if (res.cancel) { console.log("用户点击取消"); } }, }); } else if (code < 10000 && code >= 8000) { wx.showToast({ title: msg, icon: "none", duration: 3000, }); } else if (code != 0) { wx.showToast({ title: words_1.default.common.requestFail, icon: "none", duration: 1500, }); } } return [2]; }); }); }, 100); } if (ret.data.data.data) { str = JSON.stringify(ret.data.data.data); ret.data.data.data = JSON.parse(str.replaceAll("http://172.20.46.177/oss/", "https://www.yantai1s.com/oss/")); } return [2, ret]; } }); }); }; exports.wxRequestGet = function (url, data, elseParams) { if (data === void 0) { data = {}; } if (elseParams === void 0) { elseParams = {}; } return exports.wxRequest("get", url, data, elseParams); }; exports.wxRequestPost = function (url, data, elseParams) { if (data === void 0) { data = {}; } if (elseParams === void 0) { elseParams = {}; } return exports.wxRequest("post", url, data, elseParams); }; exports.wxRouter = function (api) { return function (uri, params) { if (params === void 0) { params = {}; } var url = uri; var paramsStr = Object.keys(params) .map(function (k) { return k + "=" + params[k]; }) .join("&"); if (paramsStr !== "") { url += "?" + paramsStr; } var trueApi = api; if (trueApi == "navigateTo" && getCurrentPages().length >= 8) { trueApi = "redirectTo"; } var pages = getCurrentPages(); var index = pages.findIndex(function (item) { return uri.startsWith("/") && "/" + item.route == uri && JSON.stringify(item.options) == JSON.stringify(params); }); if (index !== -1 && index + 1 != pages.length) { return wx.navigateBack({ delta: pages.length - index - 1, }); } else { return createWxApi(trueApi)({ url: url, }); } }; }; exports.wxRedirectTo = exports.wxRouter("redirectTo"); exports.wxNavigateTo = exports.wxRouter("navigateTo");