var GV = {}; var isBrowser = false; var Promise; var GoUseCallback; var GoUse = function (cb) { GoUseCallback = "with(this){(" + cb.toString() + ")()}"; }; var net = { request: function (c) { var url = c["url"]; var data = c["data"]; var header = c["header"]; var method = c["method"]; var dataType = c["dataType"]; var timeout = c["timeout"]; var success = c["success"]; var fail = c["fail"]; var complete = c["complete"]; var isHost = url.indexOf("http://") > -1 || url.indexOf("https://") > -1; var isAbs = (url[0] == '/'); if (!isHost) { if (!isAbs) { url = location.pathname + "/" + url } url = location.host + "/" + url; for (; url.indexOf("//") > -1;) { url = url.replace("//", "/") } url = location.protocol + "//" + url } if (data) { if (method == "GET") { url = $.param.querystring(url, data); data = "" } else { if (typeof (data) == "object") { if (header["Content-Type"].indexOf("application/json") > -1 || header["content-type"].indexOf("application/json") > -1) { data = JSON.stringify(data); } else { data = $.param(data); } } } } var resp = GoRequest({ url: url, data: data, method: method, header: header, timeout: timeout }); resp = JSON.parse(resp); var statusCode = resp["statusCode"]; var result = resp["data"]; if (dataType == "json") { result = JSON.parse(result) } if (statusCode == 200) { success && success({ data: result, statusCode: statusCode + "", }); } else { fail && fail({ data: result, statusCode: statusCode + "", }) } } }; var axiosUse = function (ctx) { var buildURL = ctx.require('axios/lib/helpers/buildURL'); var buildFullPath = ctx.require('axios/lib/core/buildFullPath'); var settle = ctx.require('axios/lib/core/settle'); var createError = ctx.require('axios/lib/core/createError'); function transformResponse(mpResponse, config, mpRequestOption) { var headers = mpResponse.header || mpResponse.headers; var status = mpResponse.statusCode || mpResponse.status; var statusText = ''; if (status === 200) { statusText = 'OK'; } else if (status === 400) { statusText = 'Bad Request'; } var response = { data: mpResponse.data, status: status, statusText: statusText, headers: headers, config: config, request: mpRequestOption }; return response; } ctx.axios.defaults.adapter = function (config) { return new Promise(function (resolve, reject) { var mpRequestOption = { url: buildURL(buildFullPath(config.baseURL, config.url), config.params, config.paramsSerializer), method: config["method"] ? config["method"].toUpperCase() : "get", data: config["data"], header: config["headers"], timeout: config["timeout"], success: function (mpResponse) { var response = transformResponse(mpResponse, config, mpRequestOption); settle(resolve, reject, response); }, fail: function (error) { reject(createError(error.data)); }, }; net.request(mpRequestOption) }) }; } var GetGoVueTemplate = function (raw) { var tagStart = ""; var tagEnd = ""; var start = raw.indexOf(tagStart); if (start < 0) { return } var end = raw.indexOf(tagEnd); if (end < 0) { throw "注释未闭合"; return } var content = raw.substring(start + tagStart.length, end); var template = raw.substring(0, start) + "\n{{{GoVueTemplate}}}\n{{{GoVueData}}}" + raw.substr(end + tagEnd.length); return { template: template, content: content, } }; var GetGoVueTemplateInlineJs = function (raw) { var tagStart = ""; var tagEnd = ""; var start = raw.indexOf(tagStart); if (start < 0) { return } var end = raw.indexOf(tagEnd); if (end < 0) { throw "js注释未闭合"; return } var content = raw.substring(start + tagStart.length, end); var template = raw.substring(0, start) + "" + raw.substr(end + tagEnd.length); return { template: template, content: content, } }; var GetGoVueJsCode = function (htmlparser2, raw) { var codes = []; var flag = false; var parser = new htmlparser2.Parser( { onopentag: function (name, attribs) { flag = (name === "script" && (attribs["gv-src"] || attribs["gv-src"] === "")) if (flag) { if (attribs.src) { codes.push(GoReadFile(attribs.src)) }else{ codes.push("") } } // console.log("name", name, attribs["gv-src"]); }, ontext: function (text) { if (flag && text && text !== "") { codes[codes.length - 1] += text } // console.log("-->", text); }, }, {decodeEntities: true} ); parser.write(raw) parser.end(); return codes; }