diff --git a/src/cloudfunctions/ARDemo/README.md b/src/cloudfunctions/ARDemo/README.md new file mode 100644 index 0000000..52302ce --- /dev/null +++ b/src/cloudfunctions/ARDemo/README.md @@ -0,0 +1,26 @@ +# 三维识别与重建云服务 + +## proto更新 + +### 依赖安装 + +``` +// ARModel 下 +tnpm install --save-dev @tencent/cloud-functions-tools@latest +``` + +### 基于 proto 文件生成脚本逻辑 +``` +// ARModel 下 +npm run svrkit +``` + +## 服务更新 + +``` +1. 安装 ARModel 下本地 npm 依赖 + +2. 云函数环境切为 test环境 + +3. ARModel 右键上传所有文件(由于有@tencent的子包) +``` \ No newline at end of file diff --git a/src/cloudfunctions/ARDemo/cloud-functions-tools/bin/svrkit-utils b/src/cloudfunctions/ARDemo/cloud-functions-tools/bin/svrkit-utils new file mode 100644 index 0000000..1616bbf --- /dev/null +++ b/src/cloudfunctions/ARDemo/cloud-functions-tools/bin/svrkit-utils @@ -0,0 +1,23 @@ +#!/usr/bin/env node +const path = require('path') +const yargs = require('yargs') + +yargs + .usage('Usage: $0 -c [config] -o [output]') + .example('$0 -c ./svrkit.config.js -o ./svrkit-utils.js') + .alias('c', 'config') + .describe('c', 'svrkit config js file path') + .alias('o', 'output') + .describe('o', 'svrkit-utils output file path, defaults to svrkit-utils.js under the same folder of svrkit config file') + .describe('--keep-case', 'keeps field casing instead of converting to camcel case') + .demandOption(['c']) + .help('h') + .alias('h', 'help') + .argv + +const cli = require(path.join(__dirname, '../cli/svrkit-utils.js')) +const ret = cli.main(process.argv.slice(2)) + +if (typeof ret === 'number') { + process.exit(ret) +} diff --git a/src/cloudfunctions/ARDemo/cloud-functions-tools/cli/svrkit-utils-template.js b/src/cloudfunctions/ARDemo/cloud-functions-tools/cli/svrkit-utils-template.js new file mode 100644 index 0000000..21a4a14 --- /dev/null +++ b/src/cloudfunctions/ARDemo/cloud-functions-tools/cli/svrkit-utils-template.js @@ -0,0 +1,114 @@ + +function generate(options) { + if (!options) { + throw new Error('options must be provided') + } + + const { serviceName, funcName, data } = options + + const serviceConfig = config.find(c => c.serviceName === serviceName) + if (!serviceConfig) { + throw new Error('service not found') + } + + if (!serviceConfig.functions[funcName]) { + throw new Error('function not found') + } + + const reqProtoName = serviceConfig.functions[funcName].req + const reqProto = proto[reqProtoName] + + if (!reqProto) { + throw new Error('request proto not found') + } + + const resProtoName = serviceConfig.functions[funcName].res + const resProto = resProtoName && proto[resProtoName] + + const reqProtoVerifyErr = reqProto.verify(data) + if (reqProtoVerifyErr) { + throw new Error(`verify proto data error: ${reqProtoVerifyErr}`) + } + + const reqProtoJSON = protoJSON.nested[reqProtoName] + + if (reqProtoJSON && reqProtoJSON.fields) { + if (Object.prototype.toString.call(data).slice(8, -1) === 'Object') { + for (const key in data) { + if (!reqProtoJSON.fields[key]) { + throw new Error(`'${key}' doesn't exist in '${reqProtoName}' proto, valid keys are ${Object.keys(reqProtoJSON.fields)}`) + } + } + } else { + throw new Error('data must be object') + } + } + + return { + data: { + serviceName, + funcName, + magic: serviceConfig.magic, + cmdid: serviceConfig.functions[funcName].cmdid, + existResp: Boolean(resProto), + reqBodyBuffer: reqProto.encode(data).finish(), + }, + reqProto, + resProto, + decode: buf => resProto && resProto.decode(buf) + } +} + +function generateV2(options) { + if (!options) { + throw new Error('options must be provided') + } + + const { apiName, data } = options + + const apiConfig = config.find(c => c.apiName === apiName) + + const reqProtoName = apiConfig.req + const reqProto = proto[reqProtoName] + + if (!reqProto) { + throw new Error('request proto not found') + } + + const resProtoName = apiConfig.res + const resProto = proto[resProtoName] + + const reqProtoVerifyErr = reqProto.verify(data) + if (reqProtoVerifyErr) { + throw new Error(`verify proto data error: ${reqProtoVerifyErr}`) + } + + const reqProtoJSON = protoJSON.nested[reqProtoName] + + if (reqProtoJSON && reqProtoJSON.fields) { + if (Object.prototype.toString.call(data).slice(8, -1) === 'Object') { + for (const key in data) { + if (!reqProtoJSON.fields[key]) { + throw new Error(`'${key}' doesn't exist in '${reqProtoName}' proto, valid keys are ${Object.keys(reqProtoJSON.fields)}`) + } + } + } else { + throw new Error('data must be object') + } + } + + return { + data: { + apiName, + reqBodyBuffer: reqProto.encode(data).finish(), + }, + reqProto, + resProto, + decode: buf => resProto && resProto.decode(buf) + } +} + +module.exports = { + generate, + generateV2, +} diff --git a/src/cloudfunctions/ARDemo/cloud-functions-tools/cli/svrkit-utils.js b/src/cloudfunctions/ARDemo/cloud-functions-tools/cli/svrkit-utils.js new file mode 100644 index 0000000..a1f33a6 --- /dev/null +++ b/src/cloudfunctions/ARDemo/cloud-functions-tools/cli/svrkit-utils.js @@ -0,0 +1,98 @@ +const fs = require('fs') +const path = require('path') +const yargs = require('yargs') +const chalk = require('chalk') +const debug = require('debug')('cli') +const pbjs = require("protobufjs/cli/pbjs") + +const log = (...msg) => { + console.log(chalk.blue('svrkit-utils'), ...msg) +} + +function main() { + debug('process.cwd', process.cwd()) + debug('yargs.argv', yargs.argv) + + if (yargs.argv.config) { + const configPath = path.resolve(process.cwd(), yargs.argv.config) + const config = require(configPath) + + const protos = config.map(c => path.resolve(path.dirname(configPath), c.proto)) + + if (yargs.argv.output) { + if (!yargs.argv.output.endsWith('.js')) { + throw new Error('output file name must ends with .js') + } + } + + const outputDest = yargs.argv.output || path.resolve(path.dirname(configPath), 'svrkit-utils.js') + const outputFileName = path.basename(outputDest) + const outputFilePath = path.resolve(process.cwd(), outputDest) + + debug('outputDest', outputDest) + debug('outputFilePath', outputFilePath) + + const staticModuleFileName = `${outputFileName.slice(0, -3)}.static.js` + const staticModuleFilePath = path.resolve(path.dirname(outputFilePath), staticModuleFileName) + + const staticJsonFileName = `${outputFileName.slice(0, -3)}.static.json` + const staticJsonFilePath = path.resolve(path.dirname(outputFilePath), staticJsonFileName) + + log('generating static module') + const pbjsArgs = ['-t', 'static-module', '-w', 'commonjs', '-l', 'eslint-disable', '-o', staticModuleFilePath, ...protos] + + if (yargs.argv.keepCase) { + pbjsArgs.unshift('--keep-case') + } + + pbjs.main(pbjsArgs, (err, out) => { + if (err) { + throw err + } + + let staticModuleContent = fs.readFileSync(staticModuleFilePath, 'utf8') + fs.writeFileSync(staticModuleFilePath, `// #lizard forgives +${staticModuleContent}`, 'utf8') + + log('static module generated') + + log('generating json descriptors') + pbjs.main(['-t', 'json', '-o', staticJsonFilePath, ...protos], (err, out) => { + if (err) { + throw err + } + + log('json descriptors generated') + + try { + const protoUtils = fs.readFileSync(path.join(__dirname, './svrkit-utils-template.js'), 'utf8') + + let svrkitConfigRelativePath = path.relative(path.dirname(outputDest), configPath) + if (!svrkitConfigRelativePath.startsWith('.')) { + svrkitConfigRelativePath = `./${svrkitConfigRelativePath}` + } + + const output = ` +const config = require('${svrkitConfigRelativePath}') +const proto = require('./${staticModuleFileName}') +const protoJSON = require('./${staticJsonFileName}') +${protoUtils} +` + + fs.writeFileSync(outputFilePath, output, 'utf8') + + log(`${outputFileName} generated`) + } catch (err) { + throw err + } + }) + }) + } else { + throw new Error('config file must be provided') + } +} + +module.exports = { + main, +} + diff --git a/src/cloudfunctions/ARDemo/cloud-functions-tools/package.json b/src/cloudfunctions/ARDemo/cloud-functions-tools/package.json new file mode 100644 index 0000000..62a0207 --- /dev/null +++ b/src/cloudfunctions/ARDemo/cloud-functions-tools/package.json @@ -0,0 +1,20 @@ +{ + "name": "@tencent/cloud-functions-tools", + "version": "1.5.1", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "alankldeng", + "license": "ISC", + "bin": { + "svrkit-utils": "bin/svrkit-utils" + }, + "dependencies": { + "chalk": "^2.4.1", + "debug": "^4.1.0", + "protobufjs": "^6.8.8", + "yargs": "^12.0.5" + } +} diff --git a/src/cloudfunctions/ARDemo/cloud-functions-tools/test/svrkit-utils/example/bundle.js b/src/cloudfunctions/ARDemo/cloud-functions-tools/test/svrkit-utils/example/bundle.js new file mode 100644 index 0000000..f0247d6 --- /dev/null +++ b/src/cloudfunctions/ARDemo/cloud-functions-tools/test/svrkit-utils/example/bundle.js @@ -0,0 +1,1191 @@ +/*eslint-disable block-scoped-var, id-length, no-control-regex, no-magic-numbers, no-prototype-builtins, no-redeclare, no-shadow, no-var, sort-vars*/ +"use strict"; + +var $protobuf = require("protobufjs/minimal"); + +// Common aliases +var $Reader = $protobuf.Reader, $Writer = $protobuf.Writer, $util = $protobuf.util; + +// Exported root namespace +var $root = $protobuf.roots["default"] || ($protobuf.roots["default"] = {}); + +$root.GenWxaCloudTmpCodeReq = (function() { + + /** + * Properties of a GenWxaCloudTmpCodeReq. + * @exports IGenWxaCloudTmpCodeReq + * @interface IGenWxaCloudTmpCodeReq + * @property {number|null} [CloudPlatform] GenWxaCloudTmpCodeReq CloudPlatform + * @property {number|null} [AppUin] GenWxaCloudTmpCodeReq AppUin + * @property {number|null} [UserUin] GenWxaCloudTmpCodeReq UserUin + */ + + /** + * Constructs a new GenWxaCloudTmpCodeReq. + * @exports GenWxaCloudTmpCodeReq + * @classdesc Represents a GenWxaCloudTmpCodeReq. + * @implements IGenWxaCloudTmpCodeReq + * @constructor + * @param {IGenWxaCloudTmpCodeReq=} [properties] Properties to set + */ + function GenWxaCloudTmpCodeReq(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GenWxaCloudTmpCodeReq CloudPlatform. + * @member {number} CloudPlatform + * @memberof GenWxaCloudTmpCodeReq + * @instance + */ + GenWxaCloudTmpCodeReq.prototype.CloudPlatform = 0; + + /** + * GenWxaCloudTmpCodeReq AppUin. + * @member {number} AppUin + * @memberof GenWxaCloudTmpCodeReq + * @instance + */ + GenWxaCloudTmpCodeReq.prototype.AppUin = 0; + + /** + * GenWxaCloudTmpCodeReq UserUin. + * @member {number} UserUin + * @memberof GenWxaCloudTmpCodeReq + * @instance + */ + GenWxaCloudTmpCodeReq.prototype.UserUin = 0; + + /** + * Creates a new GenWxaCloudTmpCodeReq instance using the specified properties. + * @function create + * @memberof GenWxaCloudTmpCodeReq + * @static + * @param {IGenWxaCloudTmpCodeReq=} [properties] Properties to set + * @returns {GenWxaCloudTmpCodeReq} GenWxaCloudTmpCodeReq instance + */ + GenWxaCloudTmpCodeReq.create = function create(properties) { + return new GenWxaCloudTmpCodeReq(properties); + }; + + /** + * Encodes the specified GenWxaCloudTmpCodeReq message. Does not implicitly {@link GenWxaCloudTmpCodeReq.verify|verify} messages. + * @function encode + * @memberof GenWxaCloudTmpCodeReq + * @static + * @param {IGenWxaCloudTmpCodeReq} message GenWxaCloudTmpCodeReq message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GenWxaCloudTmpCodeReq.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.CloudPlatform != null && message.hasOwnProperty("CloudPlatform")) + writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.CloudPlatform); + if (message.AppUin != null && message.hasOwnProperty("AppUin")) + writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.AppUin); + if (message.UserUin != null && message.hasOwnProperty("UserUin")) + writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.UserUin); + return writer; + }; + + /** + * Encodes the specified GenWxaCloudTmpCodeReq message, length delimited. Does not implicitly {@link GenWxaCloudTmpCodeReq.verify|verify} messages. + * @function encodeDelimited + * @memberof GenWxaCloudTmpCodeReq + * @static + * @param {IGenWxaCloudTmpCodeReq} message GenWxaCloudTmpCodeReq message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GenWxaCloudTmpCodeReq.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GenWxaCloudTmpCodeReq message from the specified reader or buffer. + * @function decode + * @memberof GenWxaCloudTmpCodeReq + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {GenWxaCloudTmpCodeReq} GenWxaCloudTmpCodeReq + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GenWxaCloudTmpCodeReq.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.GenWxaCloudTmpCodeReq(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.CloudPlatform = reader.uint32(); + break; + case 2: + message.AppUin = reader.uint32(); + break; + case 3: + message.UserUin = reader.uint32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GenWxaCloudTmpCodeReq message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof GenWxaCloudTmpCodeReq + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {GenWxaCloudTmpCodeReq} GenWxaCloudTmpCodeReq + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GenWxaCloudTmpCodeReq.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GenWxaCloudTmpCodeReq message. + * @function verify + * @memberof GenWxaCloudTmpCodeReq + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GenWxaCloudTmpCodeReq.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.CloudPlatform != null && message.hasOwnProperty("CloudPlatform")) + if (!$util.isInteger(message.CloudPlatform)) + return "CloudPlatform: integer expected"; + if (message.AppUin != null && message.hasOwnProperty("AppUin")) + if (!$util.isInteger(message.AppUin)) + return "AppUin: integer expected"; + if (message.UserUin != null && message.hasOwnProperty("UserUin")) + if (!$util.isInteger(message.UserUin)) + return "UserUin: integer expected"; + return null; + }; + + /** + * Creates a GenWxaCloudTmpCodeReq message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof GenWxaCloudTmpCodeReq + * @static + * @param {Object.} object Plain object + * @returns {GenWxaCloudTmpCodeReq} GenWxaCloudTmpCodeReq + */ + GenWxaCloudTmpCodeReq.fromObject = function fromObject(object) { + if (object instanceof $root.GenWxaCloudTmpCodeReq) + return object; + var message = new $root.GenWxaCloudTmpCodeReq(); + if (object.CloudPlatform != null) + message.CloudPlatform = object.CloudPlatform >>> 0; + if (object.AppUin != null) + message.AppUin = object.AppUin >>> 0; + if (object.UserUin != null) + message.UserUin = object.UserUin >>> 0; + return message; + }; + + /** + * Creates a plain object from a GenWxaCloudTmpCodeReq message. Also converts values to other types if specified. + * @function toObject + * @memberof GenWxaCloudTmpCodeReq + * @static + * @param {GenWxaCloudTmpCodeReq} message GenWxaCloudTmpCodeReq + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GenWxaCloudTmpCodeReq.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.CloudPlatform = 0; + object.AppUin = 0; + object.UserUin = 0; + } + if (message.CloudPlatform != null && message.hasOwnProperty("CloudPlatform")) + object.CloudPlatform = message.CloudPlatform; + if (message.AppUin != null && message.hasOwnProperty("AppUin")) + object.AppUin = message.AppUin; + if (message.UserUin != null && message.hasOwnProperty("UserUin")) + object.UserUin = message.UserUin; + return object; + }; + + /** + * Converts this GenWxaCloudTmpCodeReq to JSON. + * @function toJSON + * @memberof GenWxaCloudTmpCodeReq + * @instance + * @returns {Object.} JSON object + */ + GenWxaCloudTmpCodeReq.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GenWxaCloudTmpCodeReq; +})(); + +$root.GenWxaCloudTmpCodeResp = (function() { + + /** + * Properties of a GenWxaCloudTmpCodeResp. + * @exports IGenWxaCloudTmpCodeResp + * @interface IGenWxaCloudTmpCodeResp + * @property {string|null} [TmpCode] GenWxaCloudTmpCodeResp TmpCode + */ + + /** + * Constructs a new GenWxaCloudTmpCodeResp. + * @exports GenWxaCloudTmpCodeResp + * @classdesc Represents a GenWxaCloudTmpCodeResp. + * @implements IGenWxaCloudTmpCodeResp + * @constructor + * @param {IGenWxaCloudTmpCodeResp=} [properties] Properties to set + */ + function GenWxaCloudTmpCodeResp(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GenWxaCloudTmpCodeResp TmpCode. + * @member {string} TmpCode + * @memberof GenWxaCloudTmpCodeResp + * @instance + */ + GenWxaCloudTmpCodeResp.prototype.TmpCode = ""; + + /** + * Creates a new GenWxaCloudTmpCodeResp instance using the specified properties. + * @function create + * @memberof GenWxaCloudTmpCodeResp + * @static + * @param {IGenWxaCloudTmpCodeResp=} [properties] Properties to set + * @returns {GenWxaCloudTmpCodeResp} GenWxaCloudTmpCodeResp instance + */ + GenWxaCloudTmpCodeResp.create = function create(properties) { + return new GenWxaCloudTmpCodeResp(properties); + }; + + /** + * Encodes the specified GenWxaCloudTmpCodeResp message. Does not implicitly {@link GenWxaCloudTmpCodeResp.verify|verify} messages. + * @function encode + * @memberof GenWxaCloudTmpCodeResp + * @static + * @param {IGenWxaCloudTmpCodeResp} message GenWxaCloudTmpCodeResp message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GenWxaCloudTmpCodeResp.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.TmpCode != null && message.hasOwnProperty("TmpCode")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.TmpCode); + return writer; + }; + + /** + * Encodes the specified GenWxaCloudTmpCodeResp message, length delimited. Does not implicitly {@link GenWxaCloudTmpCodeResp.verify|verify} messages. + * @function encodeDelimited + * @memberof GenWxaCloudTmpCodeResp + * @static + * @param {IGenWxaCloudTmpCodeResp} message GenWxaCloudTmpCodeResp message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GenWxaCloudTmpCodeResp.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GenWxaCloudTmpCodeResp message from the specified reader or buffer. + * @function decode + * @memberof GenWxaCloudTmpCodeResp + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {GenWxaCloudTmpCodeResp} GenWxaCloudTmpCodeResp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GenWxaCloudTmpCodeResp.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.GenWxaCloudTmpCodeResp(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.TmpCode = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GenWxaCloudTmpCodeResp message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof GenWxaCloudTmpCodeResp + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {GenWxaCloudTmpCodeResp} GenWxaCloudTmpCodeResp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GenWxaCloudTmpCodeResp.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GenWxaCloudTmpCodeResp message. + * @function verify + * @memberof GenWxaCloudTmpCodeResp + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GenWxaCloudTmpCodeResp.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.TmpCode != null && message.hasOwnProperty("TmpCode")) + if (!$util.isString(message.TmpCode)) + return "TmpCode: string expected"; + return null; + }; + + /** + * Creates a GenWxaCloudTmpCodeResp message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof GenWxaCloudTmpCodeResp + * @static + * @param {Object.} object Plain object + * @returns {GenWxaCloudTmpCodeResp} GenWxaCloudTmpCodeResp + */ + GenWxaCloudTmpCodeResp.fromObject = function fromObject(object) { + if (object instanceof $root.GenWxaCloudTmpCodeResp) + return object; + var message = new $root.GenWxaCloudTmpCodeResp(); + if (object.TmpCode != null) + message.TmpCode = String(object.TmpCode); + return message; + }; + + /** + * Creates a plain object from a GenWxaCloudTmpCodeResp message. Also converts values to other types if specified. + * @function toObject + * @memberof GenWxaCloudTmpCodeResp + * @static + * @param {GenWxaCloudTmpCodeResp} message GenWxaCloudTmpCodeResp + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GenWxaCloudTmpCodeResp.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.TmpCode = ""; + if (message.TmpCode != null && message.hasOwnProperty("TmpCode")) + object.TmpCode = message.TmpCode; + return object; + }; + + /** + * Converts this GenWxaCloudTmpCodeResp to JSON. + * @function toJSON + * @memberof GenWxaCloudTmpCodeResp + * @instance + * @returns {Object.} JSON object + */ + GenWxaCloudTmpCodeResp.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GenWxaCloudTmpCodeResp; +})(); + +$root.GetWeAppMemberByUserReq = (function() { + + /** + * Properties of a GetWeAppMemberByUserReq. + * @exports IGetWeAppMemberByUserReq + * @interface IGetWeAppMemberByUserReq + * @property {number|null} [useruin] GetWeAppMemberByUserReq useruin + * @property {number|null} [type] GetWeAppMemberByUserReq type + * @property {number|null} [status] GetWeAppMemberByUserReq status + */ + + /** + * Constructs a new GetWeAppMemberByUserReq. + * @exports GetWeAppMemberByUserReq + * @classdesc Represents a GetWeAppMemberByUserReq. + * @implements IGetWeAppMemberByUserReq + * @constructor + * @param {IGetWeAppMemberByUserReq=} [properties] Properties to set + */ + function GetWeAppMemberByUserReq(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetWeAppMemberByUserReq useruin. + * @member {number} useruin + * @memberof GetWeAppMemberByUserReq + * @instance + */ + GetWeAppMemberByUserReq.prototype.useruin = 0; + + /** + * GetWeAppMemberByUserReq type. + * @member {number} type + * @memberof GetWeAppMemberByUserReq + * @instance + */ + GetWeAppMemberByUserReq.prototype.type = 0; + + /** + * GetWeAppMemberByUserReq status. + * @member {number} status + * @memberof GetWeAppMemberByUserReq + * @instance + */ + GetWeAppMemberByUserReq.prototype.status = 0; + + /** + * Creates a new GetWeAppMemberByUserReq instance using the specified properties. + * @function create + * @memberof GetWeAppMemberByUserReq + * @static + * @param {IGetWeAppMemberByUserReq=} [properties] Properties to set + * @returns {GetWeAppMemberByUserReq} GetWeAppMemberByUserReq instance + */ + GetWeAppMemberByUserReq.create = function create(properties) { + return new GetWeAppMemberByUserReq(properties); + }; + + /** + * Encodes the specified GetWeAppMemberByUserReq message. Does not implicitly {@link GetWeAppMemberByUserReq.verify|verify} messages. + * @function encode + * @memberof GetWeAppMemberByUserReq + * @static + * @param {IGetWeAppMemberByUserReq} message GetWeAppMemberByUserReq message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetWeAppMemberByUserReq.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.useruin != null && message.hasOwnProperty("useruin")) + writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.useruin); + if (message.type != null && message.hasOwnProperty("type")) + writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.type); + if (message.status != null && message.hasOwnProperty("status")) + writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.status); + return writer; + }; + + /** + * Encodes the specified GetWeAppMemberByUserReq message, length delimited. Does not implicitly {@link GetWeAppMemberByUserReq.verify|verify} messages. + * @function encodeDelimited + * @memberof GetWeAppMemberByUserReq + * @static + * @param {IGetWeAppMemberByUserReq} message GetWeAppMemberByUserReq message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetWeAppMemberByUserReq.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetWeAppMemberByUserReq message from the specified reader or buffer. + * @function decode + * @memberof GetWeAppMemberByUserReq + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {GetWeAppMemberByUserReq} GetWeAppMemberByUserReq + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetWeAppMemberByUserReq.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.GetWeAppMemberByUserReq(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.useruin = reader.uint32(); + break; + case 2: + message.type = reader.uint32(); + break; + case 3: + message.status = reader.uint32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetWeAppMemberByUserReq message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof GetWeAppMemberByUserReq + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {GetWeAppMemberByUserReq} GetWeAppMemberByUserReq + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetWeAppMemberByUserReq.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetWeAppMemberByUserReq message. + * @function verify + * @memberof GetWeAppMemberByUserReq + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetWeAppMemberByUserReq.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.useruin != null && message.hasOwnProperty("useruin")) + if (!$util.isInteger(message.useruin)) + return "useruin: integer expected"; + if (message.type != null && message.hasOwnProperty("type")) + if (!$util.isInteger(message.type)) + return "type: integer expected"; + if (message.status != null && message.hasOwnProperty("status")) + if (!$util.isInteger(message.status)) + return "status: integer expected"; + return null; + }; + + /** + * Creates a GetWeAppMemberByUserReq message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof GetWeAppMemberByUserReq + * @static + * @param {Object.} object Plain object + * @returns {GetWeAppMemberByUserReq} GetWeAppMemberByUserReq + */ + GetWeAppMemberByUserReq.fromObject = function fromObject(object) { + if (object instanceof $root.GetWeAppMemberByUserReq) + return object; + var message = new $root.GetWeAppMemberByUserReq(); + if (object.useruin != null) + message.useruin = object.useruin >>> 0; + if (object.type != null) + message.type = object.type >>> 0; + if (object.status != null) + message.status = object.status >>> 0; + return message; + }; + + /** + * Creates a plain object from a GetWeAppMemberByUserReq message. Also converts values to other types if specified. + * @function toObject + * @memberof GetWeAppMemberByUserReq + * @static + * @param {GetWeAppMemberByUserReq} message GetWeAppMemberByUserReq + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetWeAppMemberByUserReq.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.useruin = 0; + object.type = 0; + object.status = 0; + } + if (message.useruin != null && message.hasOwnProperty("useruin")) + object.useruin = message.useruin; + if (message.type != null && message.hasOwnProperty("type")) + object.type = message.type; + if (message.status != null && message.hasOwnProperty("status")) + object.status = message.status; + return object; + }; + + /** + * Converts this GetWeAppMemberByUserReq to JSON. + * @function toJSON + * @memberof GetWeAppMemberByUserReq + * @instance + * @returns {Object.} JSON object + */ + GetWeAppMemberByUserReq.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetWeAppMemberByUserReq; +})(); + +$root.WeAppMemberInfo = (function() { + + /** + * Properties of a WeAppMemberInfo. + * @exports IWeAppMemberInfo + * @interface IWeAppMemberInfo + * @property {number|null} [type] WeAppMemberInfo type + * @property {number|null} [weappuin] WeAppMemberInfo weappuin + * @property {number|null} [useruin] WeAppMemberInfo useruin + * @property {number|null} [status] WeAppMemberInfo status + * @property {number|null} [createtime] WeAppMemberInfo createtime + * @property {number|null} [updatetime] WeAppMemberInfo updatetime + * @property {string|null} [ticket] WeAppMemberInfo ticket + */ + + /** + * Constructs a new WeAppMemberInfo. + * @exports WeAppMemberInfo + * @classdesc Represents a WeAppMemberInfo. + * @implements IWeAppMemberInfo + * @constructor + * @param {IWeAppMemberInfo=} [properties] Properties to set + */ + function WeAppMemberInfo(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * WeAppMemberInfo type. + * @member {number} type + * @memberof WeAppMemberInfo + * @instance + */ + WeAppMemberInfo.prototype.type = 0; + + /** + * WeAppMemberInfo weappuin. + * @member {number} weappuin + * @memberof WeAppMemberInfo + * @instance + */ + WeAppMemberInfo.prototype.weappuin = 0; + + /** + * WeAppMemberInfo useruin. + * @member {number} useruin + * @memberof WeAppMemberInfo + * @instance + */ + WeAppMemberInfo.prototype.useruin = 0; + + /** + * WeAppMemberInfo status. + * @member {number} status + * @memberof WeAppMemberInfo + * @instance + */ + WeAppMemberInfo.prototype.status = 0; + + /** + * WeAppMemberInfo createtime. + * @member {number} createtime + * @memberof WeAppMemberInfo + * @instance + */ + WeAppMemberInfo.prototype.createtime = 0; + + /** + * WeAppMemberInfo updatetime. + * @member {number} updatetime + * @memberof WeAppMemberInfo + * @instance + */ + WeAppMemberInfo.prototype.updatetime = 0; + + /** + * WeAppMemberInfo ticket. + * @member {string} ticket + * @memberof WeAppMemberInfo + * @instance + */ + WeAppMemberInfo.prototype.ticket = ""; + + /** + * Creates a new WeAppMemberInfo instance using the specified properties. + * @function create + * @memberof WeAppMemberInfo + * @static + * @param {IWeAppMemberInfo=} [properties] Properties to set + * @returns {WeAppMemberInfo} WeAppMemberInfo instance + */ + WeAppMemberInfo.create = function create(properties) { + return new WeAppMemberInfo(properties); + }; + + /** + * Encodes the specified WeAppMemberInfo message. Does not implicitly {@link WeAppMemberInfo.verify|verify} messages. + * @function encode + * @memberof WeAppMemberInfo + * @static + * @param {IWeAppMemberInfo} message WeAppMemberInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WeAppMemberInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && message.hasOwnProperty("type")) + writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.type); + if (message.weappuin != null && message.hasOwnProperty("weappuin")) + writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.weappuin); + if (message.useruin != null && message.hasOwnProperty("useruin")) + writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.useruin); + if (message.status != null && message.hasOwnProperty("status")) + writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.status); + if (message.createtime != null && message.hasOwnProperty("createtime")) + writer.uint32(/* id 5, wireType 0 =*/40).uint32(message.createtime); + if (message.updatetime != null && message.hasOwnProperty("updatetime")) + writer.uint32(/* id 6, wireType 0 =*/48).uint32(message.updatetime); + if (message.ticket != null && message.hasOwnProperty("ticket")) + writer.uint32(/* id 7, wireType 2 =*/58).string(message.ticket); + return writer; + }; + + /** + * Encodes the specified WeAppMemberInfo message, length delimited. Does not implicitly {@link WeAppMemberInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof WeAppMemberInfo + * @static + * @param {IWeAppMemberInfo} message WeAppMemberInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WeAppMemberInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WeAppMemberInfo message from the specified reader or buffer. + * @function decode + * @memberof WeAppMemberInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {WeAppMemberInfo} WeAppMemberInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WeAppMemberInfo.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.WeAppMemberInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.type = reader.uint32(); + break; + case 2: + message.weappuin = reader.uint32(); + break; + case 3: + message.useruin = reader.uint32(); + break; + case 4: + message.status = reader.uint32(); + break; + case 5: + message.createtime = reader.uint32(); + break; + case 6: + message.updatetime = reader.uint32(); + break; + case 7: + message.ticket = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WeAppMemberInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof WeAppMemberInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {WeAppMemberInfo} WeAppMemberInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WeAppMemberInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WeAppMemberInfo message. + * @function verify + * @memberof WeAppMemberInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WeAppMemberInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.type != null && message.hasOwnProperty("type")) + if (!$util.isInteger(message.type)) + return "type: integer expected"; + if (message.weappuin != null && message.hasOwnProperty("weappuin")) + if (!$util.isInteger(message.weappuin)) + return "weappuin: integer expected"; + if (message.useruin != null && message.hasOwnProperty("useruin")) + if (!$util.isInteger(message.useruin)) + return "useruin: integer expected"; + if (message.status != null && message.hasOwnProperty("status")) + if (!$util.isInteger(message.status)) + return "status: integer expected"; + if (message.createtime != null && message.hasOwnProperty("createtime")) + if (!$util.isInteger(message.createtime)) + return "createtime: integer expected"; + if (message.updatetime != null && message.hasOwnProperty("updatetime")) + if (!$util.isInteger(message.updatetime)) + return "updatetime: integer expected"; + if (message.ticket != null && message.hasOwnProperty("ticket")) + if (!$util.isString(message.ticket)) + return "ticket: string expected"; + return null; + }; + + /** + * Creates a WeAppMemberInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof WeAppMemberInfo + * @static + * @param {Object.} object Plain object + * @returns {WeAppMemberInfo} WeAppMemberInfo + */ + WeAppMemberInfo.fromObject = function fromObject(object) { + if (object instanceof $root.WeAppMemberInfo) + return object; + var message = new $root.WeAppMemberInfo(); + if (object.type != null) + message.type = object.type >>> 0; + if (object.weappuin != null) + message.weappuin = object.weappuin >>> 0; + if (object.useruin != null) + message.useruin = object.useruin >>> 0; + if (object.status != null) + message.status = object.status >>> 0; + if (object.createtime != null) + message.createtime = object.createtime >>> 0; + if (object.updatetime != null) + message.updatetime = object.updatetime >>> 0; + if (object.ticket != null) + message.ticket = String(object.ticket); + return message; + }; + + /** + * Creates a plain object from a WeAppMemberInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof WeAppMemberInfo + * @static + * @param {WeAppMemberInfo} message WeAppMemberInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WeAppMemberInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.type = 0; + object.weappuin = 0; + object.useruin = 0; + object.status = 0; + object.createtime = 0; + object.updatetime = 0; + object.ticket = ""; + } + if (message.type != null && message.hasOwnProperty("type")) + object.type = message.type; + if (message.weappuin != null && message.hasOwnProperty("weappuin")) + object.weappuin = message.weappuin; + if (message.useruin != null && message.hasOwnProperty("useruin")) + object.useruin = message.useruin; + if (message.status != null && message.hasOwnProperty("status")) + object.status = message.status; + if (message.createtime != null && message.hasOwnProperty("createtime")) + object.createtime = message.createtime; + if (message.updatetime != null && message.hasOwnProperty("updatetime")) + object.updatetime = message.updatetime; + if (message.ticket != null && message.hasOwnProperty("ticket")) + object.ticket = message.ticket; + return object; + }; + + /** + * Converts this WeAppMemberInfo to JSON. + * @function toJSON + * @memberof WeAppMemberInfo + * @instance + * @returns {Object.} JSON object + */ + WeAppMemberInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return WeAppMemberInfo; +})(); + +$root.WeAppMemberInfoList = (function() { + + /** + * Properties of a WeAppMemberInfoList. + * @exports IWeAppMemberInfoList + * @interface IWeAppMemberInfoList + * @property {Array.|null} [infos] WeAppMemberInfoList infos + */ + + /** + * Constructs a new WeAppMemberInfoList. + * @exports WeAppMemberInfoList + * @classdesc Represents a WeAppMemberInfoList. + * @implements IWeAppMemberInfoList + * @constructor + * @param {IWeAppMemberInfoList=} [properties] Properties to set + */ + function WeAppMemberInfoList(properties) { + this.infos = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * WeAppMemberInfoList infos. + * @member {Array.} infos + * @memberof WeAppMemberInfoList + * @instance + */ + WeAppMemberInfoList.prototype.infos = $util.emptyArray; + + /** + * Creates a new WeAppMemberInfoList instance using the specified properties. + * @function create + * @memberof WeAppMemberInfoList + * @static + * @param {IWeAppMemberInfoList=} [properties] Properties to set + * @returns {WeAppMemberInfoList} WeAppMemberInfoList instance + */ + WeAppMemberInfoList.create = function create(properties) { + return new WeAppMemberInfoList(properties); + }; + + /** + * Encodes the specified WeAppMemberInfoList message. Does not implicitly {@link WeAppMemberInfoList.verify|verify} messages. + * @function encode + * @memberof WeAppMemberInfoList + * @static + * @param {IWeAppMemberInfoList} message WeAppMemberInfoList message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WeAppMemberInfoList.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.infos != null && message.infos.length) + for (var i = 0; i < message.infos.length; ++i) + $root.WeAppMemberInfo.encode(message.infos[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified WeAppMemberInfoList message, length delimited. Does not implicitly {@link WeAppMemberInfoList.verify|verify} messages. + * @function encodeDelimited + * @memberof WeAppMemberInfoList + * @static + * @param {IWeAppMemberInfoList} message WeAppMemberInfoList message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WeAppMemberInfoList.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WeAppMemberInfoList message from the specified reader or buffer. + * @function decode + * @memberof WeAppMemberInfoList + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {WeAppMemberInfoList} WeAppMemberInfoList + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WeAppMemberInfoList.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.WeAppMemberInfoList(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.infos && message.infos.length)) + message.infos = []; + message.infos.push($root.WeAppMemberInfo.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WeAppMemberInfoList message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof WeAppMemberInfoList + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {WeAppMemberInfoList} WeAppMemberInfoList + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WeAppMemberInfoList.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WeAppMemberInfoList message. + * @function verify + * @memberof WeAppMemberInfoList + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WeAppMemberInfoList.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.infos != null && message.hasOwnProperty("infos")) { + if (!Array.isArray(message.infos)) + return "infos: array expected"; + for (var i = 0; i < message.infos.length; ++i) { + var error = $root.WeAppMemberInfo.verify(message.infos[i]); + if (error) + return "infos." + error; + } + } + return null; + }; + + /** + * Creates a WeAppMemberInfoList message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof WeAppMemberInfoList + * @static + * @param {Object.} object Plain object + * @returns {WeAppMemberInfoList} WeAppMemberInfoList + */ + WeAppMemberInfoList.fromObject = function fromObject(object) { + if (object instanceof $root.WeAppMemberInfoList) + return object; + var message = new $root.WeAppMemberInfoList(); + if (object.infos) { + if (!Array.isArray(object.infos)) + throw TypeError(".WeAppMemberInfoList.infos: array expected"); + message.infos = []; + for (var i = 0; i < object.infos.length; ++i) { + if (typeof object.infos[i] !== "object") + throw TypeError(".WeAppMemberInfoList.infos: object expected"); + message.infos[i] = $root.WeAppMemberInfo.fromObject(object.infos[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a WeAppMemberInfoList message. Also converts values to other types if specified. + * @function toObject + * @memberof WeAppMemberInfoList + * @static + * @param {WeAppMemberInfoList} message WeAppMemberInfoList + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WeAppMemberInfoList.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.infos = []; + if (message.infos && message.infos.length) { + object.infos = []; + for (var j = 0; j < message.infos.length; ++j) + object.infos[j] = $root.WeAppMemberInfo.toObject(message.infos[j], options); + } + return object; + }; + + /** + * Converts this WeAppMemberInfoList to JSON. + * @function toJSON + * @memberof WeAppMemberInfoList + * @instance + * @returns {Object.} JSON object + */ + WeAppMemberInfoList.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return WeAppMemberInfoList; +})(); + +module.exports = $root; diff --git a/src/cloudfunctions/ARDemo/cloud-functions-tools/test/svrkit-utils/example/proto-utils.js b/src/cloudfunctions/ARDemo/cloud-functions-tools/test/svrkit-utils/example/proto-utils.js new file mode 100644 index 0000000..3ffcfc2 --- /dev/null +++ b/src/cloudfunctions/ARDemo/cloud-functions-tools/test/svrkit-utils/example/proto-utils.js @@ -0,0 +1,38 @@ +const config = require('./svrkit.config.js') +const proto = require('./bundle.js') + +function generate(options) { + if (!options) { + throw new Error('options must be provided') + } + + const { serviceName, funcName, data } = options + + const serviceConfig = config.find(c => c.serviceName === serviceName) + if (!serviceConfig) { + throw new Error('service not found') + } + + if (!serviceConfig.functions[funcName]) { + throw new Error('function not found') + } + + const reqProto = proto[serviceConfig.functions[funcName].req] + const resProto = proto[serviceConfig.functions[funcName].res] + + return { + data: { + serviceName, + funcName, + magic: serviceConfig.magic, + cmdid: serviceConfig.functions[funcName].cmdid, + existResp: serviceConfig.functions[funcName].existResp, + reqBodyBuffer: reqProto.encode(data), + }, + decode: buf => resProto.decode(resProto) + } +} + +module.exports = { + generate, +} diff --git a/src/cloudfunctions/ARDemo/cloud-functions-tools/test/svrkit-utils/example/proto/demo.proto b/src/cloudfunctions/ARDemo/cloud-functions-tools/test/svrkit-utils/example/proto/demo.proto new file mode 100644 index 0000000..bc35788 --- /dev/null +++ b/src/cloudfunctions/ARDemo/cloud-functions-tools/test/svrkit-utils/example/proto/demo.proto @@ -0,0 +1,9 @@ +message ApiDemoReq +{ + optional string str = 2; +} + +message ApiDemoResp +{ + optional string str = 2; +} \ No newline at end of file diff --git a/src/cloudfunctions/ARDemo/cloud-functions-tools/test/svrkit-utils/example/proto/mmbizsafecenter.proto b/src/cloudfunctions/ARDemo/cloud-functions-tools/test/svrkit-utils/example/proto/mmbizsafecenter.proto new file mode 100644 index 0000000..cebc502 --- /dev/null +++ b/src/cloudfunctions/ARDemo/cloud-functions-tools/test/svrkit-utils/example/proto/mmbizsafecenter.proto @@ -0,0 +1,20 @@ +message GetWeAppMemberByUserReq +{ + optional uint32 useruin = 1; + optional uint32 type = 2; //1:管理员 2:运营者 3:开发人员 4:体验者 + optional uint32 status = 3; //SAFECENTER_WEAPP_STATUS_XXX +} +message WeAppMemberInfo +{ + optional uint32 type = 1; + optional uint32 weappuin = 2; + optional uint32 useruin = 3; + optional uint32 status = 4; + optional uint32 createtime = 5; + optional uint32 updatetime = 6; + optional string ticket = 7; +} +message WeAppMemberInfoList +{ + repeated WeAppMemberInfo infos = 1; +} \ No newline at end of file diff --git a/src/cloudfunctions/ARDemo/cloud-functions-tools/test/svrkit-utils/example/proto/mmbizwxatmpcode.proto b/src/cloudfunctions/ARDemo/cloud-functions-tools/test/svrkit-utils/example/proto/mmbizwxatmpcode.proto new file mode 100644 index 0000000..a8f2cbb --- /dev/null +++ b/src/cloudfunctions/ARDemo/cloud-functions-tools/test/svrkit-utils/example/proto/mmbizwxatmpcode.proto @@ -0,0 +1,11 @@ +message GenWxaCloudTmpCodeReq +{ + optional uint32 CloudPlatform = 1; + optional uint32 AppUin = 2; + optional uint32 UserUin = 3; +} + +message GenWxaCloudTmpCodeResp +{ + optional string TmpCode = 1; +} \ No newline at end of file diff --git a/src/cloudfunctions/ARDemo/cloud-functions-tools/test/svrkit-utils/example/svrkit-utils.js b/src/cloudfunctions/ARDemo/cloud-functions-tools/test/svrkit-utils/example/svrkit-utils.js new file mode 100644 index 0000000..19eb07d --- /dev/null +++ b/src/cloudfunctions/ARDemo/cloud-functions-tools/test/svrkit-utils/example/svrkit-utils.js @@ -0,0 +1,119 @@ + +const config = require('./svrkit.config.js') +const proto = require('./svrkit-utils.static.js') +const protoJSON = require('./svrkit-utils.static.json') + +function generate(options) { + if (!options) { + throw new Error('options must be provided') + } + + const { serviceName, funcName, data } = options + + const serviceConfig = config.find(c => c.serviceName === serviceName) + if (!serviceConfig) { + throw new Error('service not found') + } + + if (!serviceConfig.functions[funcName]) { + throw new Error('function not found') + } + + const reqProtoName = serviceConfig.functions[funcName].req + const reqProto = proto[reqProtoName] + + if (!reqProto) { + throw new Error('request proto not found') + } + + const resProtoName = serviceConfig.functions[funcName].res + const resProto = resProtoName && proto[resProtoName] + + const reqProtoVerifyErr = reqProto.verify(data) + if (reqProtoVerifyErr) { + throw new Error(`verify proto data error: ${reqProtoVerifyErr}`) + } + + const reqProtoJSON = protoJSON.nested[reqProtoName] + + if (reqProtoJSON && reqProtoJSON.fields) { + if (Object.prototype.toString.call(data).slice(8, -1) === 'Object') { + for (const key in data) { + if (!reqProtoJSON.fields[key]) { + throw new Error(`'${key}' doesn't exist in '${reqProtoName}' proto, valid keys are ${Object.keys(reqProtoJSON.fields)}`) + } + } + } else { + throw new Error('data must be object') + } + } + + return { + data: { + serviceName, + funcName, + magic: serviceConfig.magic, + cmdid: serviceConfig.functions[funcName].cmdid, + existResp: Boolean(resProto), + reqBodyBuffer: reqProto.encode(data).finish(), + }, + reqProto, + resProto, + decode: buf => resProto && resProto.decode(buf) + } +} + +function generateV2(options) { + if (!options) { + throw new Error('options must be provided') + } + + const { apiName, data } = options + + const apiConfig = config.find(c => c.apiName === apiName) + + const reqProtoName = apiConfig.req + const reqProto = proto[reqProtoName] + + if (!reqProto) { + throw new Error('request proto not found') + } + + const resProtoName = apiConfig.res + const resProto = proto[resProtoName] + + const reqProtoVerifyErr = reqProto.verify(data) + if (reqProtoVerifyErr) { + throw new Error(`verify proto data error: ${reqProtoVerifyErr}`) + } + + const reqProtoJSON = protoJSON.nested[reqProtoName] + + if (reqProtoJSON && reqProtoJSON.fields) { + if (Object.prototype.toString.call(data).slice(8, -1) === 'Object') { + for (const key in data) { + if (!reqProtoJSON.fields[key]) { + throw new Error(`'${key}' doesn't exist in '${reqProtoName}' proto, valid keys are ${Object.keys(reqProtoJSON.fields)}`) + } + } + } else { + throw new Error('data must be object') + } + } + + return { + data: { + apiName, + reqBodyBuffer: reqProto.encode(data).finish(), + }, + reqProto, + resProto, + decode: buf => resProto && resProto.decode(buf) + } +} + +module.exports = { + generate, + generateV2, +} + diff --git a/src/cloudfunctions/ARDemo/cloud-functions-tools/test/svrkit-utils/example/svrkit-utils.static.js b/src/cloudfunctions/ARDemo/cloud-functions-tools/test/svrkit-utils/example/svrkit-utils.static.js new file mode 100644 index 0000000..9c69f7e --- /dev/null +++ b/src/cloudfunctions/ARDemo/cloud-functions-tools/test/svrkit-utils/example/svrkit-utils.static.js @@ -0,0 +1,1566 @@ +// #lizard forgives +/*eslint-disable*/ +"use strict"; + +var $protobuf = require("protobufjs/minimal"); + +// Common aliases +var $Reader = $protobuf.Reader, $Writer = $protobuf.Writer, $util = $protobuf.util; + +// Exported root namespace +var $root = $protobuf.roots["default"] || ($protobuf.roots["default"] = {}); + +$root.ApiDemoReq = (function() { + + /** + * Properties of an ApiDemoReq. + * @exports IApiDemoReq + * @interface IApiDemoReq + * @property {string|null} [str] ApiDemoReq str + */ + + /** + * Constructs a new ApiDemoReq. + * @exports ApiDemoReq + * @classdesc Represents an ApiDemoReq. + * @implements IApiDemoReq + * @constructor + * @param {IApiDemoReq=} [properties] Properties to set + */ + function ApiDemoReq(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ApiDemoReq str. + * @member {string} str + * @memberof ApiDemoReq + * @instance + */ + ApiDemoReq.prototype.str = ""; + + /** + * Creates a new ApiDemoReq instance using the specified properties. + * @function create + * @memberof ApiDemoReq + * @static + * @param {IApiDemoReq=} [properties] Properties to set + * @returns {ApiDemoReq} ApiDemoReq instance + */ + ApiDemoReq.create = function create(properties) { + return new ApiDemoReq(properties); + }; + + /** + * Encodes the specified ApiDemoReq message. Does not implicitly {@link ApiDemoReq.verify|verify} messages. + * @function encode + * @memberof ApiDemoReq + * @static + * @param {IApiDemoReq} message ApiDemoReq message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ApiDemoReq.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.str != null && message.hasOwnProperty("str")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.str); + return writer; + }; + + /** + * Encodes the specified ApiDemoReq message, length delimited. Does not implicitly {@link ApiDemoReq.verify|verify} messages. + * @function encodeDelimited + * @memberof ApiDemoReq + * @static + * @param {IApiDemoReq} message ApiDemoReq message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ApiDemoReq.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ApiDemoReq message from the specified reader or buffer. + * @function decode + * @memberof ApiDemoReq + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {ApiDemoReq} ApiDemoReq + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ApiDemoReq.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.ApiDemoReq(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 2: + message.str = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ApiDemoReq message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof ApiDemoReq + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {ApiDemoReq} ApiDemoReq + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ApiDemoReq.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ApiDemoReq message. + * @function verify + * @memberof ApiDemoReq + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ApiDemoReq.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.str != null && message.hasOwnProperty("str")) + if (!$util.isString(message.str)) + return "str: string expected"; + return null; + }; + + /** + * Creates an ApiDemoReq message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof ApiDemoReq + * @static + * @param {Object.} object Plain object + * @returns {ApiDemoReq} ApiDemoReq + */ + ApiDemoReq.fromObject = function fromObject(object) { + if (object instanceof $root.ApiDemoReq) + return object; + var message = new $root.ApiDemoReq(); + if (object.str != null) + message.str = String(object.str); + return message; + }; + + /** + * Creates a plain object from an ApiDemoReq message. Also converts values to other types if specified. + * @function toObject + * @memberof ApiDemoReq + * @static + * @param {ApiDemoReq} message ApiDemoReq + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ApiDemoReq.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.str = ""; + if (message.str != null && message.hasOwnProperty("str")) + object.str = message.str; + return object; + }; + + /** + * Converts this ApiDemoReq to JSON. + * @function toJSON + * @memberof ApiDemoReq + * @instance + * @returns {Object.} JSON object + */ + ApiDemoReq.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ApiDemoReq; +})(); + +$root.ApiDemoResp = (function() { + + /** + * Properties of an ApiDemoResp. + * @exports IApiDemoResp + * @interface IApiDemoResp + * @property {string|null} [str] ApiDemoResp str + */ + + /** + * Constructs a new ApiDemoResp. + * @exports ApiDemoResp + * @classdesc Represents an ApiDemoResp. + * @implements IApiDemoResp + * @constructor + * @param {IApiDemoResp=} [properties] Properties to set + */ + function ApiDemoResp(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ApiDemoResp str. + * @member {string} str + * @memberof ApiDemoResp + * @instance + */ + ApiDemoResp.prototype.str = ""; + + /** + * Creates a new ApiDemoResp instance using the specified properties. + * @function create + * @memberof ApiDemoResp + * @static + * @param {IApiDemoResp=} [properties] Properties to set + * @returns {ApiDemoResp} ApiDemoResp instance + */ + ApiDemoResp.create = function create(properties) { + return new ApiDemoResp(properties); + }; + + /** + * Encodes the specified ApiDemoResp message. Does not implicitly {@link ApiDemoResp.verify|verify} messages. + * @function encode + * @memberof ApiDemoResp + * @static + * @param {IApiDemoResp} message ApiDemoResp message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ApiDemoResp.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.str != null && message.hasOwnProperty("str")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.str); + return writer; + }; + + /** + * Encodes the specified ApiDemoResp message, length delimited. Does not implicitly {@link ApiDemoResp.verify|verify} messages. + * @function encodeDelimited + * @memberof ApiDemoResp + * @static + * @param {IApiDemoResp} message ApiDemoResp message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ApiDemoResp.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ApiDemoResp message from the specified reader or buffer. + * @function decode + * @memberof ApiDemoResp + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {ApiDemoResp} ApiDemoResp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ApiDemoResp.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.ApiDemoResp(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 2: + message.str = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ApiDemoResp message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof ApiDemoResp + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {ApiDemoResp} ApiDemoResp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ApiDemoResp.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ApiDemoResp message. + * @function verify + * @memberof ApiDemoResp + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ApiDemoResp.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.str != null && message.hasOwnProperty("str")) + if (!$util.isString(message.str)) + return "str: string expected"; + return null; + }; + + /** + * Creates an ApiDemoResp message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof ApiDemoResp + * @static + * @param {Object.} object Plain object + * @returns {ApiDemoResp} ApiDemoResp + */ + ApiDemoResp.fromObject = function fromObject(object) { + if (object instanceof $root.ApiDemoResp) + return object; + var message = new $root.ApiDemoResp(); + if (object.str != null) + message.str = String(object.str); + return message; + }; + + /** + * Creates a plain object from an ApiDemoResp message. Also converts values to other types if specified. + * @function toObject + * @memberof ApiDemoResp + * @static + * @param {ApiDemoResp} message ApiDemoResp + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ApiDemoResp.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.str = ""; + if (message.str != null && message.hasOwnProperty("str")) + object.str = message.str; + return object; + }; + + /** + * Converts this ApiDemoResp to JSON. + * @function toJSON + * @memberof ApiDemoResp + * @instance + * @returns {Object.} JSON object + */ + ApiDemoResp.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ApiDemoResp; +})(); + +$root.GenWxaCloudTmpCodeReq = (function() { + + /** + * Properties of a GenWxaCloudTmpCodeReq. + * @exports IGenWxaCloudTmpCodeReq + * @interface IGenWxaCloudTmpCodeReq + * @property {number|null} [CloudPlatform] GenWxaCloudTmpCodeReq CloudPlatform + * @property {number|null} [AppUin] GenWxaCloudTmpCodeReq AppUin + * @property {number|null} [UserUin] GenWxaCloudTmpCodeReq UserUin + */ + + /** + * Constructs a new GenWxaCloudTmpCodeReq. + * @exports GenWxaCloudTmpCodeReq + * @classdesc Represents a GenWxaCloudTmpCodeReq. + * @implements IGenWxaCloudTmpCodeReq + * @constructor + * @param {IGenWxaCloudTmpCodeReq=} [properties] Properties to set + */ + function GenWxaCloudTmpCodeReq(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GenWxaCloudTmpCodeReq CloudPlatform. + * @member {number} CloudPlatform + * @memberof GenWxaCloudTmpCodeReq + * @instance + */ + GenWxaCloudTmpCodeReq.prototype.CloudPlatform = 0; + + /** + * GenWxaCloudTmpCodeReq AppUin. + * @member {number} AppUin + * @memberof GenWxaCloudTmpCodeReq + * @instance + */ + GenWxaCloudTmpCodeReq.prototype.AppUin = 0; + + /** + * GenWxaCloudTmpCodeReq UserUin. + * @member {number} UserUin + * @memberof GenWxaCloudTmpCodeReq + * @instance + */ + GenWxaCloudTmpCodeReq.prototype.UserUin = 0; + + /** + * Creates a new GenWxaCloudTmpCodeReq instance using the specified properties. + * @function create + * @memberof GenWxaCloudTmpCodeReq + * @static + * @param {IGenWxaCloudTmpCodeReq=} [properties] Properties to set + * @returns {GenWxaCloudTmpCodeReq} GenWxaCloudTmpCodeReq instance + */ + GenWxaCloudTmpCodeReq.create = function create(properties) { + return new GenWxaCloudTmpCodeReq(properties); + }; + + /** + * Encodes the specified GenWxaCloudTmpCodeReq message. Does not implicitly {@link GenWxaCloudTmpCodeReq.verify|verify} messages. + * @function encode + * @memberof GenWxaCloudTmpCodeReq + * @static + * @param {IGenWxaCloudTmpCodeReq} message GenWxaCloudTmpCodeReq message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GenWxaCloudTmpCodeReq.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.CloudPlatform != null && message.hasOwnProperty("CloudPlatform")) + writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.CloudPlatform); + if (message.AppUin != null && message.hasOwnProperty("AppUin")) + writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.AppUin); + if (message.UserUin != null && message.hasOwnProperty("UserUin")) + writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.UserUin); + return writer; + }; + + /** + * Encodes the specified GenWxaCloudTmpCodeReq message, length delimited. Does not implicitly {@link GenWxaCloudTmpCodeReq.verify|verify} messages. + * @function encodeDelimited + * @memberof GenWxaCloudTmpCodeReq + * @static + * @param {IGenWxaCloudTmpCodeReq} message GenWxaCloudTmpCodeReq message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GenWxaCloudTmpCodeReq.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GenWxaCloudTmpCodeReq message from the specified reader or buffer. + * @function decode + * @memberof GenWxaCloudTmpCodeReq + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {GenWxaCloudTmpCodeReq} GenWxaCloudTmpCodeReq + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GenWxaCloudTmpCodeReq.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.GenWxaCloudTmpCodeReq(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.CloudPlatform = reader.uint32(); + break; + case 2: + message.AppUin = reader.uint32(); + break; + case 3: + message.UserUin = reader.uint32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GenWxaCloudTmpCodeReq message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof GenWxaCloudTmpCodeReq + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {GenWxaCloudTmpCodeReq} GenWxaCloudTmpCodeReq + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GenWxaCloudTmpCodeReq.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GenWxaCloudTmpCodeReq message. + * @function verify + * @memberof GenWxaCloudTmpCodeReq + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GenWxaCloudTmpCodeReq.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.CloudPlatform != null && message.hasOwnProperty("CloudPlatform")) + if (!$util.isInteger(message.CloudPlatform)) + return "CloudPlatform: integer expected"; + if (message.AppUin != null && message.hasOwnProperty("AppUin")) + if (!$util.isInteger(message.AppUin)) + return "AppUin: integer expected"; + if (message.UserUin != null && message.hasOwnProperty("UserUin")) + if (!$util.isInteger(message.UserUin)) + return "UserUin: integer expected"; + return null; + }; + + /** + * Creates a GenWxaCloudTmpCodeReq message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof GenWxaCloudTmpCodeReq + * @static + * @param {Object.} object Plain object + * @returns {GenWxaCloudTmpCodeReq} GenWxaCloudTmpCodeReq + */ + GenWxaCloudTmpCodeReq.fromObject = function fromObject(object) { + if (object instanceof $root.GenWxaCloudTmpCodeReq) + return object; + var message = new $root.GenWxaCloudTmpCodeReq(); + if (object.CloudPlatform != null) + message.CloudPlatform = object.CloudPlatform >>> 0; + if (object.AppUin != null) + message.AppUin = object.AppUin >>> 0; + if (object.UserUin != null) + message.UserUin = object.UserUin >>> 0; + return message; + }; + + /** + * Creates a plain object from a GenWxaCloudTmpCodeReq message. Also converts values to other types if specified. + * @function toObject + * @memberof GenWxaCloudTmpCodeReq + * @static + * @param {GenWxaCloudTmpCodeReq} message GenWxaCloudTmpCodeReq + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GenWxaCloudTmpCodeReq.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.CloudPlatform = 0; + object.AppUin = 0; + object.UserUin = 0; + } + if (message.CloudPlatform != null && message.hasOwnProperty("CloudPlatform")) + object.CloudPlatform = message.CloudPlatform; + if (message.AppUin != null && message.hasOwnProperty("AppUin")) + object.AppUin = message.AppUin; + if (message.UserUin != null && message.hasOwnProperty("UserUin")) + object.UserUin = message.UserUin; + return object; + }; + + /** + * Converts this GenWxaCloudTmpCodeReq to JSON. + * @function toJSON + * @memberof GenWxaCloudTmpCodeReq + * @instance + * @returns {Object.} JSON object + */ + GenWxaCloudTmpCodeReq.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GenWxaCloudTmpCodeReq; +})(); + +$root.GenWxaCloudTmpCodeResp = (function() { + + /** + * Properties of a GenWxaCloudTmpCodeResp. + * @exports IGenWxaCloudTmpCodeResp + * @interface IGenWxaCloudTmpCodeResp + * @property {string|null} [TmpCode] GenWxaCloudTmpCodeResp TmpCode + */ + + /** + * Constructs a new GenWxaCloudTmpCodeResp. + * @exports GenWxaCloudTmpCodeResp + * @classdesc Represents a GenWxaCloudTmpCodeResp. + * @implements IGenWxaCloudTmpCodeResp + * @constructor + * @param {IGenWxaCloudTmpCodeResp=} [properties] Properties to set + */ + function GenWxaCloudTmpCodeResp(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GenWxaCloudTmpCodeResp TmpCode. + * @member {string} TmpCode + * @memberof GenWxaCloudTmpCodeResp + * @instance + */ + GenWxaCloudTmpCodeResp.prototype.TmpCode = ""; + + /** + * Creates a new GenWxaCloudTmpCodeResp instance using the specified properties. + * @function create + * @memberof GenWxaCloudTmpCodeResp + * @static + * @param {IGenWxaCloudTmpCodeResp=} [properties] Properties to set + * @returns {GenWxaCloudTmpCodeResp} GenWxaCloudTmpCodeResp instance + */ + GenWxaCloudTmpCodeResp.create = function create(properties) { + return new GenWxaCloudTmpCodeResp(properties); + }; + + /** + * Encodes the specified GenWxaCloudTmpCodeResp message. Does not implicitly {@link GenWxaCloudTmpCodeResp.verify|verify} messages. + * @function encode + * @memberof GenWxaCloudTmpCodeResp + * @static + * @param {IGenWxaCloudTmpCodeResp} message GenWxaCloudTmpCodeResp message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GenWxaCloudTmpCodeResp.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.TmpCode != null && message.hasOwnProperty("TmpCode")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.TmpCode); + return writer; + }; + + /** + * Encodes the specified GenWxaCloudTmpCodeResp message, length delimited. Does not implicitly {@link GenWxaCloudTmpCodeResp.verify|verify} messages. + * @function encodeDelimited + * @memberof GenWxaCloudTmpCodeResp + * @static + * @param {IGenWxaCloudTmpCodeResp} message GenWxaCloudTmpCodeResp message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GenWxaCloudTmpCodeResp.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GenWxaCloudTmpCodeResp message from the specified reader or buffer. + * @function decode + * @memberof GenWxaCloudTmpCodeResp + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {GenWxaCloudTmpCodeResp} GenWxaCloudTmpCodeResp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GenWxaCloudTmpCodeResp.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.GenWxaCloudTmpCodeResp(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.TmpCode = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GenWxaCloudTmpCodeResp message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof GenWxaCloudTmpCodeResp + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {GenWxaCloudTmpCodeResp} GenWxaCloudTmpCodeResp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GenWxaCloudTmpCodeResp.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GenWxaCloudTmpCodeResp message. + * @function verify + * @memberof GenWxaCloudTmpCodeResp + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GenWxaCloudTmpCodeResp.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.TmpCode != null && message.hasOwnProperty("TmpCode")) + if (!$util.isString(message.TmpCode)) + return "TmpCode: string expected"; + return null; + }; + + /** + * Creates a GenWxaCloudTmpCodeResp message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof GenWxaCloudTmpCodeResp + * @static + * @param {Object.} object Plain object + * @returns {GenWxaCloudTmpCodeResp} GenWxaCloudTmpCodeResp + */ + GenWxaCloudTmpCodeResp.fromObject = function fromObject(object) { + if (object instanceof $root.GenWxaCloudTmpCodeResp) + return object; + var message = new $root.GenWxaCloudTmpCodeResp(); + if (object.TmpCode != null) + message.TmpCode = String(object.TmpCode); + return message; + }; + + /** + * Creates a plain object from a GenWxaCloudTmpCodeResp message. Also converts values to other types if specified. + * @function toObject + * @memberof GenWxaCloudTmpCodeResp + * @static + * @param {GenWxaCloudTmpCodeResp} message GenWxaCloudTmpCodeResp + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GenWxaCloudTmpCodeResp.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.TmpCode = ""; + if (message.TmpCode != null && message.hasOwnProperty("TmpCode")) + object.TmpCode = message.TmpCode; + return object; + }; + + /** + * Converts this GenWxaCloudTmpCodeResp to JSON. + * @function toJSON + * @memberof GenWxaCloudTmpCodeResp + * @instance + * @returns {Object.} JSON object + */ + GenWxaCloudTmpCodeResp.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GenWxaCloudTmpCodeResp; +})(); + +$root.GetWeAppMemberByUserReq = (function() { + + /** + * Properties of a GetWeAppMemberByUserReq. + * @exports IGetWeAppMemberByUserReq + * @interface IGetWeAppMemberByUserReq + * @property {number|null} [useruin] GetWeAppMemberByUserReq useruin + * @property {number|null} [type] GetWeAppMemberByUserReq type + * @property {number|null} [status] GetWeAppMemberByUserReq status + */ + + /** + * Constructs a new GetWeAppMemberByUserReq. + * @exports GetWeAppMemberByUserReq + * @classdesc Represents a GetWeAppMemberByUserReq. + * @implements IGetWeAppMemberByUserReq + * @constructor + * @param {IGetWeAppMemberByUserReq=} [properties] Properties to set + */ + function GetWeAppMemberByUserReq(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetWeAppMemberByUserReq useruin. + * @member {number} useruin + * @memberof GetWeAppMemberByUserReq + * @instance + */ + GetWeAppMemberByUserReq.prototype.useruin = 0; + + /** + * GetWeAppMemberByUserReq type. + * @member {number} type + * @memberof GetWeAppMemberByUserReq + * @instance + */ + GetWeAppMemberByUserReq.prototype.type = 0; + + /** + * GetWeAppMemberByUserReq status. + * @member {number} status + * @memberof GetWeAppMemberByUserReq + * @instance + */ + GetWeAppMemberByUserReq.prototype.status = 0; + + /** + * Creates a new GetWeAppMemberByUserReq instance using the specified properties. + * @function create + * @memberof GetWeAppMemberByUserReq + * @static + * @param {IGetWeAppMemberByUserReq=} [properties] Properties to set + * @returns {GetWeAppMemberByUserReq} GetWeAppMemberByUserReq instance + */ + GetWeAppMemberByUserReq.create = function create(properties) { + return new GetWeAppMemberByUserReq(properties); + }; + + /** + * Encodes the specified GetWeAppMemberByUserReq message. Does not implicitly {@link GetWeAppMemberByUserReq.verify|verify} messages. + * @function encode + * @memberof GetWeAppMemberByUserReq + * @static + * @param {IGetWeAppMemberByUserReq} message GetWeAppMemberByUserReq message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetWeAppMemberByUserReq.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.useruin != null && message.hasOwnProperty("useruin")) + writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.useruin); + if (message.type != null && message.hasOwnProperty("type")) + writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.type); + if (message.status != null && message.hasOwnProperty("status")) + writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.status); + return writer; + }; + + /** + * Encodes the specified GetWeAppMemberByUserReq message, length delimited. Does not implicitly {@link GetWeAppMemberByUserReq.verify|verify} messages. + * @function encodeDelimited + * @memberof GetWeAppMemberByUserReq + * @static + * @param {IGetWeAppMemberByUserReq} message GetWeAppMemberByUserReq message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetWeAppMemberByUserReq.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetWeAppMemberByUserReq message from the specified reader or buffer. + * @function decode + * @memberof GetWeAppMemberByUserReq + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {GetWeAppMemberByUserReq} GetWeAppMemberByUserReq + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetWeAppMemberByUserReq.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.GetWeAppMemberByUserReq(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.useruin = reader.uint32(); + break; + case 2: + message.type = reader.uint32(); + break; + case 3: + message.status = reader.uint32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetWeAppMemberByUserReq message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof GetWeAppMemberByUserReq + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {GetWeAppMemberByUserReq} GetWeAppMemberByUserReq + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetWeAppMemberByUserReq.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetWeAppMemberByUserReq message. + * @function verify + * @memberof GetWeAppMemberByUserReq + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetWeAppMemberByUserReq.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.useruin != null && message.hasOwnProperty("useruin")) + if (!$util.isInteger(message.useruin)) + return "useruin: integer expected"; + if (message.type != null && message.hasOwnProperty("type")) + if (!$util.isInteger(message.type)) + return "type: integer expected"; + if (message.status != null && message.hasOwnProperty("status")) + if (!$util.isInteger(message.status)) + return "status: integer expected"; + return null; + }; + + /** + * Creates a GetWeAppMemberByUserReq message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof GetWeAppMemberByUserReq + * @static + * @param {Object.} object Plain object + * @returns {GetWeAppMemberByUserReq} GetWeAppMemberByUserReq + */ + GetWeAppMemberByUserReq.fromObject = function fromObject(object) { + if (object instanceof $root.GetWeAppMemberByUserReq) + return object; + var message = new $root.GetWeAppMemberByUserReq(); + if (object.useruin != null) + message.useruin = object.useruin >>> 0; + if (object.type != null) + message.type = object.type >>> 0; + if (object.status != null) + message.status = object.status >>> 0; + return message; + }; + + /** + * Creates a plain object from a GetWeAppMemberByUserReq message. Also converts values to other types if specified. + * @function toObject + * @memberof GetWeAppMemberByUserReq + * @static + * @param {GetWeAppMemberByUserReq} message GetWeAppMemberByUserReq + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetWeAppMemberByUserReq.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.useruin = 0; + object.type = 0; + object.status = 0; + } + if (message.useruin != null && message.hasOwnProperty("useruin")) + object.useruin = message.useruin; + if (message.type != null && message.hasOwnProperty("type")) + object.type = message.type; + if (message.status != null && message.hasOwnProperty("status")) + object.status = message.status; + return object; + }; + + /** + * Converts this GetWeAppMemberByUserReq to JSON. + * @function toJSON + * @memberof GetWeAppMemberByUserReq + * @instance + * @returns {Object.} JSON object + */ + GetWeAppMemberByUserReq.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetWeAppMemberByUserReq; +})(); + +$root.WeAppMemberInfo = (function() { + + /** + * Properties of a WeAppMemberInfo. + * @exports IWeAppMemberInfo + * @interface IWeAppMemberInfo + * @property {number|null} [type] WeAppMemberInfo type + * @property {number|null} [weappuin] WeAppMemberInfo weappuin + * @property {number|null} [useruin] WeAppMemberInfo useruin + * @property {number|null} [status] WeAppMemberInfo status + * @property {number|null} [createtime] WeAppMemberInfo createtime + * @property {number|null} [updatetime] WeAppMemberInfo updatetime + * @property {string|null} [ticket] WeAppMemberInfo ticket + */ + + /** + * Constructs a new WeAppMemberInfo. + * @exports WeAppMemberInfo + * @classdesc Represents a WeAppMemberInfo. + * @implements IWeAppMemberInfo + * @constructor + * @param {IWeAppMemberInfo=} [properties] Properties to set + */ + function WeAppMemberInfo(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * WeAppMemberInfo type. + * @member {number} type + * @memberof WeAppMemberInfo + * @instance + */ + WeAppMemberInfo.prototype.type = 0; + + /** + * WeAppMemberInfo weappuin. + * @member {number} weappuin + * @memberof WeAppMemberInfo + * @instance + */ + WeAppMemberInfo.prototype.weappuin = 0; + + /** + * WeAppMemberInfo useruin. + * @member {number} useruin + * @memberof WeAppMemberInfo + * @instance + */ + WeAppMemberInfo.prototype.useruin = 0; + + /** + * WeAppMemberInfo status. + * @member {number} status + * @memberof WeAppMemberInfo + * @instance + */ + WeAppMemberInfo.prototype.status = 0; + + /** + * WeAppMemberInfo createtime. + * @member {number} createtime + * @memberof WeAppMemberInfo + * @instance + */ + WeAppMemberInfo.prototype.createtime = 0; + + /** + * WeAppMemberInfo updatetime. + * @member {number} updatetime + * @memberof WeAppMemberInfo + * @instance + */ + WeAppMemberInfo.prototype.updatetime = 0; + + /** + * WeAppMemberInfo ticket. + * @member {string} ticket + * @memberof WeAppMemberInfo + * @instance + */ + WeAppMemberInfo.prototype.ticket = ""; + + /** + * Creates a new WeAppMemberInfo instance using the specified properties. + * @function create + * @memberof WeAppMemberInfo + * @static + * @param {IWeAppMemberInfo=} [properties] Properties to set + * @returns {WeAppMemberInfo} WeAppMemberInfo instance + */ + WeAppMemberInfo.create = function create(properties) { + return new WeAppMemberInfo(properties); + }; + + /** + * Encodes the specified WeAppMemberInfo message. Does not implicitly {@link WeAppMemberInfo.verify|verify} messages. + * @function encode + * @memberof WeAppMemberInfo + * @static + * @param {IWeAppMemberInfo} message WeAppMemberInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WeAppMemberInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && message.hasOwnProperty("type")) + writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.type); + if (message.weappuin != null && message.hasOwnProperty("weappuin")) + writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.weappuin); + if (message.useruin != null && message.hasOwnProperty("useruin")) + writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.useruin); + if (message.status != null && message.hasOwnProperty("status")) + writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.status); + if (message.createtime != null && message.hasOwnProperty("createtime")) + writer.uint32(/* id 5, wireType 0 =*/40).uint32(message.createtime); + if (message.updatetime != null && message.hasOwnProperty("updatetime")) + writer.uint32(/* id 6, wireType 0 =*/48).uint32(message.updatetime); + if (message.ticket != null && message.hasOwnProperty("ticket")) + writer.uint32(/* id 7, wireType 2 =*/58).string(message.ticket); + return writer; + }; + + /** + * Encodes the specified WeAppMemberInfo message, length delimited. Does not implicitly {@link WeAppMemberInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof WeAppMemberInfo + * @static + * @param {IWeAppMemberInfo} message WeAppMemberInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WeAppMemberInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WeAppMemberInfo message from the specified reader or buffer. + * @function decode + * @memberof WeAppMemberInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {WeAppMemberInfo} WeAppMemberInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WeAppMemberInfo.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.WeAppMemberInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.type = reader.uint32(); + break; + case 2: + message.weappuin = reader.uint32(); + break; + case 3: + message.useruin = reader.uint32(); + break; + case 4: + message.status = reader.uint32(); + break; + case 5: + message.createtime = reader.uint32(); + break; + case 6: + message.updatetime = reader.uint32(); + break; + case 7: + message.ticket = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WeAppMemberInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof WeAppMemberInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {WeAppMemberInfo} WeAppMemberInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WeAppMemberInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WeAppMemberInfo message. + * @function verify + * @memberof WeAppMemberInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WeAppMemberInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.type != null && message.hasOwnProperty("type")) + if (!$util.isInteger(message.type)) + return "type: integer expected"; + if (message.weappuin != null && message.hasOwnProperty("weappuin")) + if (!$util.isInteger(message.weappuin)) + return "weappuin: integer expected"; + if (message.useruin != null && message.hasOwnProperty("useruin")) + if (!$util.isInteger(message.useruin)) + return "useruin: integer expected"; + if (message.status != null && message.hasOwnProperty("status")) + if (!$util.isInteger(message.status)) + return "status: integer expected"; + if (message.createtime != null && message.hasOwnProperty("createtime")) + if (!$util.isInteger(message.createtime)) + return "createtime: integer expected"; + if (message.updatetime != null && message.hasOwnProperty("updatetime")) + if (!$util.isInteger(message.updatetime)) + return "updatetime: integer expected"; + if (message.ticket != null && message.hasOwnProperty("ticket")) + if (!$util.isString(message.ticket)) + return "ticket: string expected"; + return null; + }; + + /** + * Creates a WeAppMemberInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof WeAppMemberInfo + * @static + * @param {Object.} object Plain object + * @returns {WeAppMemberInfo} WeAppMemberInfo + */ + WeAppMemberInfo.fromObject = function fromObject(object) { + if (object instanceof $root.WeAppMemberInfo) + return object; + var message = new $root.WeAppMemberInfo(); + if (object.type != null) + message.type = object.type >>> 0; + if (object.weappuin != null) + message.weappuin = object.weappuin >>> 0; + if (object.useruin != null) + message.useruin = object.useruin >>> 0; + if (object.status != null) + message.status = object.status >>> 0; + if (object.createtime != null) + message.createtime = object.createtime >>> 0; + if (object.updatetime != null) + message.updatetime = object.updatetime >>> 0; + if (object.ticket != null) + message.ticket = String(object.ticket); + return message; + }; + + /** + * Creates a plain object from a WeAppMemberInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof WeAppMemberInfo + * @static + * @param {WeAppMemberInfo} message WeAppMemberInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WeAppMemberInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.type = 0; + object.weappuin = 0; + object.useruin = 0; + object.status = 0; + object.createtime = 0; + object.updatetime = 0; + object.ticket = ""; + } + if (message.type != null && message.hasOwnProperty("type")) + object.type = message.type; + if (message.weappuin != null && message.hasOwnProperty("weappuin")) + object.weappuin = message.weappuin; + if (message.useruin != null && message.hasOwnProperty("useruin")) + object.useruin = message.useruin; + if (message.status != null && message.hasOwnProperty("status")) + object.status = message.status; + if (message.createtime != null && message.hasOwnProperty("createtime")) + object.createtime = message.createtime; + if (message.updatetime != null && message.hasOwnProperty("updatetime")) + object.updatetime = message.updatetime; + if (message.ticket != null && message.hasOwnProperty("ticket")) + object.ticket = message.ticket; + return object; + }; + + /** + * Converts this WeAppMemberInfo to JSON. + * @function toJSON + * @memberof WeAppMemberInfo + * @instance + * @returns {Object.} JSON object + */ + WeAppMemberInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return WeAppMemberInfo; +})(); + +$root.WeAppMemberInfoList = (function() { + + /** + * Properties of a WeAppMemberInfoList. + * @exports IWeAppMemberInfoList + * @interface IWeAppMemberInfoList + * @property {Array.|null} [infos] WeAppMemberInfoList infos + */ + + /** + * Constructs a new WeAppMemberInfoList. + * @exports WeAppMemberInfoList + * @classdesc Represents a WeAppMemberInfoList. + * @implements IWeAppMemberInfoList + * @constructor + * @param {IWeAppMemberInfoList=} [properties] Properties to set + */ + function WeAppMemberInfoList(properties) { + this.infos = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * WeAppMemberInfoList infos. + * @member {Array.} infos + * @memberof WeAppMemberInfoList + * @instance + */ + WeAppMemberInfoList.prototype.infos = $util.emptyArray; + + /** + * Creates a new WeAppMemberInfoList instance using the specified properties. + * @function create + * @memberof WeAppMemberInfoList + * @static + * @param {IWeAppMemberInfoList=} [properties] Properties to set + * @returns {WeAppMemberInfoList} WeAppMemberInfoList instance + */ + WeAppMemberInfoList.create = function create(properties) { + return new WeAppMemberInfoList(properties); + }; + + /** + * Encodes the specified WeAppMemberInfoList message. Does not implicitly {@link WeAppMemberInfoList.verify|verify} messages. + * @function encode + * @memberof WeAppMemberInfoList + * @static + * @param {IWeAppMemberInfoList} message WeAppMemberInfoList message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WeAppMemberInfoList.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.infos != null && message.infos.length) + for (var i = 0; i < message.infos.length; ++i) + $root.WeAppMemberInfo.encode(message.infos[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified WeAppMemberInfoList message, length delimited. Does not implicitly {@link WeAppMemberInfoList.verify|verify} messages. + * @function encodeDelimited + * @memberof WeAppMemberInfoList + * @static + * @param {IWeAppMemberInfoList} message WeAppMemberInfoList message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WeAppMemberInfoList.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WeAppMemberInfoList message from the specified reader or buffer. + * @function decode + * @memberof WeAppMemberInfoList + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {WeAppMemberInfoList} WeAppMemberInfoList + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WeAppMemberInfoList.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.WeAppMemberInfoList(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.infos && message.infos.length)) + message.infos = []; + message.infos.push($root.WeAppMemberInfo.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WeAppMemberInfoList message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof WeAppMemberInfoList + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {WeAppMemberInfoList} WeAppMemberInfoList + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WeAppMemberInfoList.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WeAppMemberInfoList message. + * @function verify + * @memberof WeAppMemberInfoList + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WeAppMemberInfoList.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.infos != null && message.hasOwnProperty("infos")) { + if (!Array.isArray(message.infos)) + return "infos: array expected"; + for (var i = 0; i < message.infos.length; ++i) { + var error = $root.WeAppMemberInfo.verify(message.infos[i]); + if (error) + return "infos." + error; + } + } + return null; + }; + + /** + * Creates a WeAppMemberInfoList message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof WeAppMemberInfoList + * @static + * @param {Object.} object Plain object + * @returns {WeAppMemberInfoList} WeAppMemberInfoList + */ + WeAppMemberInfoList.fromObject = function fromObject(object) { + if (object instanceof $root.WeAppMemberInfoList) + return object; + var message = new $root.WeAppMemberInfoList(); + if (object.infos) { + if (!Array.isArray(object.infos)) + throw TypeError(".WeAppMemberInfoList.infos: array expected"); + message.infos = []; + for (var i = 0; i < object.infos.length; ++i) { + if (typeof object.infos[i] !== "object") + throw TypeError(".WeAppMemberInfoList.infos: object expected"); + message.infos[i] = $root.WeAppMemberInfo.fromObject(object.infos[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a WeAppMemberInfoList message. Also converts values to other types if specified. + * @function toObject + * @memberof WeAppMemberInfoList + * @static + * @param {WeAppMemberInfoList} message WeAppMemberInfoList + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WeAppMemberInfoList.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.infos = []; + if (message.infos && message.infos.length) { + object.infos = []; + for (var j = 0; j < message.infos.length; ++j) + object.infos[j] = $root.WeAppMemberInfo.toObject(message.infos[j], options); + } + return object; + }; + + /** + * Converts this WeAppMemberInfoList to JSON. + * @function toJSON + * @memberof WeAppMemberInfoList + * @instance + * @returns {Object.} JSON object + */ + WeAppMemberInfoList.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return WeAppMemberInfoList; +})(); + +module.exports = $root; diff --git a/src/cloudfunctions/ARDemo/cloud-functions-tools/test/svrkit-utils/example/svrkit-utils.static.json b/src/cloudfunctions/ARDemo/cloud-functions-tools/test/svrkit-utils/example/svrkit-utils.static.json new file mode 100644 index 0000000..86291ad --- /dev/null +++ b/src/cloudfunctions/ARDemo/cloud-functions-tools/test/svrkit-utils/example/svrkit-utils.static.json @@ -0,0 +1,101 @@ +{ + "nested": { + "ApiDemoReq": { + "fields": { + "str": { + "type": "string", + "id": 2 + } + } + }, + "ApiDemoResp": { + "fields": { + "str": { + "type": "string", + "id": 2 + } + } + }, + "GenWxaCloudTmpCodeReq": { + "fields": { + "CloudPlatform": { + "type": "uint32", + "id": 1 + }, + "AppUin": { + "type": "uint32", + "id": 2 + }, + "UserUin": { + "type": "uint32", + "id": 3 + } + } + }, + "GenWxaCloudTmpCodeResp": { + "fields": { + "TmpCode": { + "type": "string", + "id": 1 + } + } + }, + "GetWeAppMemberByUserReq": { + "fields": { + "useruin": { + "type": "uint32", + "id": 1 + }, + "type": { + "type": "uint32", + "id": 2 + }, + "status": { + "type": "uint32", + "id": 3 + } + } + }, + "WeAppMemberInfo": { + "fields": { + "type": { + "type": "uint32", + "id": 1 + }, + "weappuin": { + "type": "uint32", + "id": 2 + }, + "useruin": { + "type": "uint32", + "id": 3 + }, + "status": { + "type": "uint32", + "id": 4 + }, + "createtime": { + "type": "uint32", + "id": 5 + }, + "updatetime": { + "type": "uint32", + "id": 6 + }, + "ticket": { + "type": "string", + "id": 7 + } + } + }, + "WeAppMemberInfoList": { + "fields": { + "infos": { + "rule": "repeated", + "type": "WeAppMemberInfo", + "id": 1 + } + } + } + } +} \ No newline at end of file diff --git a/src/cloudfunctions/ARDemo/cloud-functions-tools/test/svrkit-utils/example/svrkit.config.js b/src/cloudfunctions/ARDemo/cloud-functions-tools/test/svrkit-utils/example/svrkit.config.js new file mode 100644 index 0000000..c509bd2 --- /dev/null +++ b/src/cloudfunctions/ARDemo/cloud-functions-tools/test/svrkit-utils/example/svrkit.config.js @@ -0,0 +1,32 @@ +module.exports = [ + { + proto: './proto/demo.proto', + apiName: 'demo', + req: 'ApiDemoReq', + res: 'ApiDemoResp' + }, + { + proto: './proto/mmbizwxatmpcode.proto', + serviceName: 'MMBizWxaCloud', + magic: 13299, + functions: { + GenWxaCloudTmpCode: { + cmdid: 3, + req: 'GenWxaCloudTmpCodeReq', + res: 'GenWxaCloudTmpCodeResp', + }, + } + }, + { + proto: './proto/mmbizsafecenter.proto', + serviceName: 'mmbizsafecenter', + magic: 12085, + functions: { + GetWeAppMemberByUser: { + cmdid: 73, + req: 'GetWeAppMemberByUserReq', + res: 'WeAppMemberInfoList', + }, + } + }, +] \ No newline at end of file diff --git a/src/cloudfunctions/ARDemo/config.json b/src/cloudfunctions/ARDemo/config.json new file mode 100644 index 0000000..5ecc33e --- /dev/null +++ b/src/cloudfunctions/ARDemo/config.json @@ -0,0 +1,6 @@ +{ + "permissions": { + "openapi": [ + ] + } +} \ No newline at end of file diff --git a/src/cloudfunctions/ARDemo/index.js b/src/cloudfunctions/ARDemo/index.js new file mode 100644 index 0000000..a1c4129 --- /dev/null +++ b/src/cloudfunctions/ARDemo/index.js @@ -0,0 +1,62 @@ +// 云函数入口文件 +const cloud = require('wx-server-sdk') +const wxgService = require('./wx-server-sdk-wxg-service') +const svrkitUtils = require('./svrkit-utils.js') + +cloud.registerService(wxgService) +cloud.init() + +// 云函数入口函数 +exports.main = async (event, context) => { + const wxContext = cloud.getWXContext() + const bizuin = wxContext.APPUIN + switch (event.type) { + case "GenerateARModel": + return await cloud.callWXSvrkit({ + pbInstance: svrkitUtils.generate({ + serviceName: "Mmbizwxaintpar", + funcName: "GenerateARModel", + data: { + bizuin: bizuin, + name: event.name, + url: event.url, + algoType: event.algoType, + getmesh: event.getMesh, + gettexture: event.getTexture + }, + }), + timeout: 30000, + }); + case "GetARModel": + return await cloud.callWXSvrkit({ + pbInstance: svrkitUtils.generate({ + serviceName: "Mmbizwxaintpar", + funcName: "GetARModel", + data: { + bizuin: bizuin, + cosid: event.cosid, + modelType: event.modelType, + needData: event.needData, + useIntranet: event.useIntranet, + expireTime: event.expireTime + }, + }), + timeout: 30000, + }); + // GetARModelList 废弃,完全依赖本地缓存 + // case "GetARModelList": + // return await cloud.callWXSvrkit({ + // pbInstance: svrkitUtils.generate({ + // serviceName: "Mmbizwxaintpar", + // funcName: "GetARModelList", + // data: { + // bizuin: bizuin, + // modelStatus: event.modelStatus, + // algoType: event.algoType + // }, + // }), + // timeout: 30000, + // }); + } + +} \ No newline at end of file diff --git a/src/cloudfunctions/ARDemo/package.json b/src/cloudfunctions/ARDemo/package.json new file mode 100644 index 0000000..af40edd --- /dev/null +++ b/src/cloudfunctions/ARDemo/package.json @@ -0,0 +1,18 @@ +{ + "name": "ARDemo", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "svrkit": "svrkit-utils --config ./svrkit.config.js --output ./svrkit-utils.js" + }, + "author": "", + "license": "ISC", + "dependencies": { + "wx-server-sdk": "^2.6.3" + }, + "devDependencies": { + "@tencent/cloud-functions-tools": "^1.7.0" + } +} diff --git a/src/cloudfunctions/ARDemo/proto/mmbizwxaintparDemo.proto b/src/cloudfunctions/ARDemo/proto/mmbizwxaintparDemo.proto new file mode 100644 index 0000000..ff8bf73 --- /dev/null +++ b/src/cloudfunctions/ARDemo/proto/mmbizwxaintparDemo.proto @@ -0,0 +1,115 @@ +enum enARModelStatus +{ + ARModel_Status_Default = 0; + ARModel_Status_Init = 1; + ARModel_Status_Sparse_Finished = 2; + ARModel_Status_3d_Finished = 3; + ARModel_Status_Object_Finished = 4; + ARModel_Status_Marker_Finished = 5; + ARModel_Status_Fail = 100; +} + +enum enARAlgorithmType +{ + Algorithm_Type_3D_Object = 1; + Algorithm_Type_3D_Marker = 2; +} + +enum enARModelType +{ + ARModel_Type_Sparse = 1; + ARModel_Type_3D = 2; + ARModel_Type_Marker = 3; +} + +message ModelCos +{ + message ModelCosId + { + optional enARModelType model_type = 1; + optional string model_cosid = 2; + optional string errmsg = 3; + } + repeated ModelCosId model_list = 1; +} + +message ARModel +{ + //option(mmbizintpkv.KvTableID) = 493; + option(mmbizintpkv.KvTableTestID) = 916; + optional string cosid = 1; // 原始文件的cosid + optional uint32 bizuin = 2; + optional string name = 3; // 原始文件的名称 + optional uint32 upload_time = 4; + optional enARModelStatus model_status = 5; + optional enARAlgorithmType algo_type = 6; + optional ModelCos model_cos = 7; +} + +message GetARModelListReq +{ + optional uint32 bizuin = 1; + optional uint32 model_status = 2; // enARModelStatus + optional uint32 start_time = 3; + optional uint32 end_time = 4; + optional uint32 offset = 5; + optional uint32 limit = 6; + optional uint32 algo_type = 7; // enARAlgorithmType +} + +message GetARModelListResp +{ + repeated ARModel model_list = 1; +} + + +message GenerateARModelReq +{ + optional uint32 bizuin = 1; + optional string name = 2; + optional bytes buffer = 3; + optional string url = 4; + optional enARAlgorithmType algo_type = 5; + optional uint32 lod = 6[default=0]; // 重建模型精度, 最高精度为0, 取1,2,3时精度依次下降 + optional bool getmesh = 7[default=false]; + optional bool gettexture = 8[default=false]; +} + +message GenerateARModelResp +{ + optional string url = 1; + optional string host = 2; + optional string cosid = 3; + optional uint32 lod = 4[default=0]; + optional bool getmesh = 5[default=false]; + optional bool gettexture = 6[default=false]; +} + +message ARModelData +{ + optional bytes mesh_model = 1; // 文本(点面信息) + optional bytes texture_model = 2; // 图像png + optional bytes preview = 3; + optional bytes mesh_blob = 4; // obj二进制, getmesh = true时返回 + optional bytes texture_blob = 5; // 纹理二进制, gettexture = true时返回 +} + +message GetARModelReq +{ + optional uint32 bizuin = 1; + optional string cosid = 2; + optional uint32 model_type = 3; // 1:稀疏点云 2:3d模型 + optional uint32 need_data = 4[default=1]; // 0:不需要数据 1:需要数据 + optional uint32 use_intranet = 5[default=0]; // 当need_data为0时生效 0:生成外网链接 1:内网链接 + optional uint32 expire_time = 6; // url过期时间,默认5分钟,单位为秒 +} + +message GetARModelResp +{ + optional ARModelData model_data = 1; + optional string url = 2; + optional string host = 3; + optional string errMsg = 4; + optional uint32 expire_time = 5; + optional uint32 status = 6; // 0 创建中 1 成功 2 失败 +} diff --git a/src/cloudfunctions/ARDemo/svrkit-utils.js b/src/cloudfunctions/ARDemo/svrkit-utils.js new file mode 100644 index 0000000..941b984 --- /dev/null +++ b/src/cloudfunctions/ARDemo/svrkit-utils.js @@ -0,0 +1,136 @@ + +const config = require('./svrkit.config.js') +const proto = require('./svrkit-utils.static.js') +const protoJSON = require('./svrkit-utils.static.json') +function getProto(proto, serviceName, protoName) { + if (proto[protoName]) { + return proto[protoName]; + } + + if (proto[serviceName] && proto[serviceName][protoName]) { + return proto[serviceName][protoName]; + } + + /** 处理 mmpayolcirclemodel.QueryActivityReq 的形式*/ + const [realServiceName, realProtoName] = protoName.split('.') + if (proto[realServiceName]) { + return proto[realServiceName][realProtoName] + } + + return undefined; +} + +function generate(options) { + if (!options) { + throw new Error('options must be provided') + } + + const { serviceName, funcName, data } = options + + const serviceConfig = config.find(c => c.serviceName === serviceName) + if (!serviceConfig) { + throw new Error('service not found') + } + + if (!serviceConfig.functions[funcName]) { + throw new Error('function not found') + } + + const reqProtoName = serviceConfig.functions[funcName].req + const reqProto = getProto(proto, serviceName, reqProtoName); + + if (!reqProto) { + throw new Error('request proto not found') + } + + const resProtoName = serviceConfig.functions[funcName].res + const resProto = resProtoName && getProto(proto, serviceName, resProtoName); + + const reqProtoVerifyErr = reqProto.verify(data) + if (reqProtoVerifyErr) { + throw new Error(`verify proto data error: ${reqProtoVerifyErr}`) + } + + const reqProtoJSON = protoJSON.nested[reqProtoName] + + if (reqProtoJSON && reqProtoJSON.fields) { + if (Object.prototype.toString.call(data).slice(8, -1) === 'Object') { + for (const key in data) { + if (!reqProtoJSON.fields[key]) { + throw new Error(`'${key}' doesn't exist in '${reqProtoName}' proto, valid keys are ${Object.keys(reqProtoJSON.fields)}`) + } + } + } else { + throw new Error('data must be object') + } + } + + return { + data: { + serviceName, + funcName, + magic: serviceConfig.magic, + cmdid: serviceConfig.functions[funcName].cmdid, + existResp: Boolean(resProto), + reqBodyBuffer: reqProto.encode(data).finish(), + }, + reqProto, + resProto, + decode: buf => resProto && resProto.decode(buf) + } +} + +function generateV2(options) { + if (!options) { + throw new Error('options must be provided') + } + + const { apiName, data } = options + + const apiConfig = config.find(c => c.apiName === apiName) + + const reqProtoName = apiConfig.req + const reqProto = proto[reqProtoName] + + if (!reqProto) { + throw new Error('request proto not found') + } + + const resProtoName = apiConfig.res + const resProto = proto[resProtoName] + + const reqProtoVerifyErr = reqProto.verify(data) + if (reqProtoVerifyErr) { + throw new Error(`verify proto data error: ${reqProtoVerifyErr}`) + } + + const reqProtoJSON = protoJSON.nested[reqProtoName] + + if (reqProtoJSON && reqProtoJSON.fields) { + if (Object.prototype.toString.call(data).slice(8, -1) === 'Object') { + for (const key in data) { + if (!reqProtoJSON.fields[key]) { + throw new Error(`'${key}' doesn't exist in '${reqProtoName}' proto, valid keys are ${Object.keys(reqProtoJSON.fields)}`) + } + } + } else { + throw new Error('data must be object') + } + } + + return { + data: { + apiName, + reqBodyBuffer: reqProto.encode(data).finish(), + }, + reqProto, + resProto, + decode: buf => resProto && resProto.decode(buf) + } +} + +module.exports = { + generate, + generateV2, +} + diff --git a/src/cloudfunctions/ARDemo/svrkit-utils.static.js b/src/cloudfunctions/ARDemo/svrkit-utils.static.js new file mode 100644 index 0000000..14c0390 --- /dev/null +++ b/src/cloudfunctions/ARDemo/svrkit-utils.static.js @@ -0,0 +1,3013 @@ +// #lizard forgives +/*eslint-disable*/ +"use strict"; + +var $protobuf = require("protobufjs/minimal"); + +// Common aliases +var $Reader = $protobuf.Reader, $Writer = $protobuf.Writer, $util = $protobuf.util; + +// Exported root namespace +var $root = $protobuf.roots["default"] || ($protobuf.roots["default"] = {}); + +/** + * enARModelStatus enum. + * @exports enARModelStatus + * @enum {number} + * @property {number} ARModel_Status_Default=0 ARModel_Status_Default value + * @property {number} ARModel_Status_Init=1 ARModel_Status_Init value + * @property {number} ARModel_Status_Sparse_Finished=2 ARModel_Status_Sparse_Finished value + * @property {number} ARModel_Status_3d_Finished=3 ARModel_Status_3d_Finished value + * @property {number} ARModel_Status_Object_Finished=4 ARModel_Status_Object_Finished value + * @property {number} ARModel_Status_Marker_Finished=5 ARModel_Status_Marker_Finished value + * @property {number} ARModel_Status_Fail=100 ARModel_Status_Fail value + */ +$root.enARModelStatus = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "ARModel_Status_Default"] = 0; + values[valuesById[1] = "ARModel_Status_Init"] = 1; + values[valuesById[2] = "ARModel_Status_Sparse_Finished"] = 2; + values[valuesById[3] = "ARModel_Status_3d_Finished"] = 3; + values[valuesById[4] = "ARModel_Status_Object_Finished"] = 4; + values[valuesById[5] = "ARModel_Status_Marker_Finished"] = 5; + values[valuesById[100] = "ARModel_Status_Fail"] = 100; + return values; +})(); + +/** + * enARAlgorithmType enum. + * @exports enARAlgorithmType + * @enum {number} + * @property {number} Algorithm_Type_3D_Object=1 Algorithm_Type_3D_Object value + * @property {number} Algorithm_Type_3D_Marker=2 Algorithm_Type_3D_Marker value + */ +$root.enARAlgorithmType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[1] = "Algorithm_Type_3D_Object"] = 1; + values[valuesById[2] = "Algorithm_Type_3D_Marker"] = 2; + return values; +})(); + +/** + * enARModelType enum. + * @exports enARModelType + * @enum {number} + * @property {number} ARModel_Type_Sparse=1 ARModel_Type_Sparse value + * @property {number} ARModel_Type_3D=2 ARModel_Type_3D value + * @property {number} ARModel_Type_Marker=3 ARModel_Type_Marker value + */ +$root.enARModelType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[1] = "ARModel_Type_Sparse"] = 1; + values[valuesById[2] = "ARModel_Type_3D"] = 2; + values[valuesById[3] = "ARModel_Type_Marker"] = 3; + return values; +})(); + +$root.ModelCos = (function() { + + /** + * Properties of a ModelCos. + * @exports IModelCos + * @interface IModelCos + * @property {Array.|null} [modelList] ModelCos modelList + */ + + /** + * Constructs a new ModelCos. + * @exports ModelCos + * @classdesc Represents a ModelCos. + * @implements IModelCos + * @constructor + * @param {IModelCos=} [properties] Properties to set + */ + function ModelCos(properties) { + this.modelList = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ModelCos modelList. + * @member {Array.} modelList + * @memberof ModelCos + * @instance + */ + ModelCos.prototype.modelList = $util.emptyArray; + + /** + * Creates a new ModelCos instance using the specified properties. + * @function create + * @memberof ModelCos + * @static + * @param {IModelCos=} [properties] Properties to set + * @returns {ModelCos} ModelCos instance + */ + ModelCos.create = function create(properties) { + return new ModelCos(properties); + }; + + /** + * Encodes the specified ModelCos message. Does not implicitly {@link ModelCos.verify|verify} messages. + * @function encode + * @memberof ModelCos + * @static + * @param {IModelCos} message ModelCos message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ModelCos.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.modelList != null && message.modelList.length) + for (var i = 0; i < message.modelList.length; ++i) + $root.ModelCos.ModelCosId.encode(message.modelList[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ModelCos message, length delimited. Does not implicitly {@link ModelCos.verify|verify} messages. + * @function encodeDelimited + * @memberof ModelCos + * @static + * @param {IModelCos} message ModelCos message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ModelCos.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ModelCos message from the specified reader or buffer. + * @function decode + * @memberof ModelCos + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {ModelCos} ModelCos + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ModelCos.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.ModelCos(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.modelList && message.modelList.length)) + message.modelList = []; + message.modelList.push($root.ModelCos.ModelCosId.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ModelCos message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof ModelCos + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {ModelCos} ModelCos + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ModelCos.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ModelCos message. + * @function verify + * @memberof ModelCos + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ModelCos.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.modelList != null && message.hasOwnProperty("modelList")) { + if (!Array.isArray(message.modelList)) + return "modelList: array expected"; + for (var i = 0; i < message.modelList.length; ++i) { + var error = $root.ModelCos.ModelCosId.verify(message.modelList[i]); + if (error) + return "modelList." + error; + } + } + return null; + }; + + /** + * Creates a ModelCos message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof ModelCos + * @static + * @param {Object.} object Plain object + * @returns {ModelCos} ModelCos + */ + ModelCos.fromObject = function fromObject(object) { + if (object instanceof $root.ModelCos) + return object; + var message = new $root.ModelCos(); + if (object.modelList) { + if (!Array.isArray(object.modelList)) + throw TypeError(".ModelCos.modelList: array expected"); + message.modelList = []; + for (var i = 0; i < object.modelList.length; ++i) { + if (typeof object.modelList[i] !== "object") + throw TypeError(".ModelCos.modelList: object expected"); + message.modelList[i] = $root.ModelCos.ModelCosId.fromObject(object.modelList[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a ModelCos message. Also converts values to other types if specified. + * @function toObject + * @memberof ModelCos + * @static + * @param {ModelCos} message ModelCos + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ModelCos.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.modelList = []; + if (message.modelList && message.modelList.length) { + object.modelList = []; + for (var j = 0; j < message.modelList.length; ++j) + object.modelList[j] = $root.ModelCos.ModelCosId.toObject(message.modelList[j], options); + } + return object; + }; + + /** + * Converts this ModelCos to JSON. + * @function toJSON + * @memberof ModelCos + * @instance + * @returns {Object.} JSON object + */ + ModelCos.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + ModelCos.ModelCosId = (function() { + + /** + * Properties of a ModelCosId. + * @memberof ModelCos + * @interface IModelCosId + * @property {enARModelType|null} [modelType] ModelCosId modelType + * @property {string|null} [modelCosid] ModelCosId modelCosid + * @property {string|null} [errmsg] ModelCosId errmsg + */ + + /** + * Constructs a new ModelCosId. + * @memberof ModelCos + * @classdesc Represents a ModelCosId. + * @implements IModelCosId + * @constructor + * @param {ModelCos.IModelCosId=} [properties] Properties to set + */ + function ModelCosId(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ModelCosId modelType. + * @member {enARModelType} modelType + * @memberof ModelCos.ModelCosId + * @instance + */ + ModelCosId.prototype.modelType = 1; + + /** + * ModelCosId modelCosid. + * @member {string} modelCosid + * @memberof ModelCos.ModelCosId + * @instance + */ + ModelCosId.prototype.modelCosid = ""; + + /** + * ModelCosId errmsg. + * @member {string} errmsg + * @memberof ModelCos.ModelCosId + * @instance + */ + ModelCosId.prototype.errmsg = ""; + + /** + * Creates a new ModelCosId instance using the specified properties. + * @function create + * @memberof ModelCos.ModelCosId + * @static + * @param {ModelCos.IModelCosId=} [properties] Properties to set + * @returns {ModelCos.ModelCosId} ModelCosId instance + */ + ModelCosId.create = function create(properties) { + return new ModelCosId(properties); + }; + + /** + * Encodes the specified ModelCosId message. Does not implicitly {@link ModelCos.ModelCosId.verify|verify} messages. + * @function encode + * @memberof ModelCos.ModelCosId + * @static + * @param {ModelCos.IModelCosId} message ModelCosId message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ModelCosId.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.modelType != null && Object.hasOwnProperty.call(message, "modelType")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.modelType); + if (message.modelCosid != null && Object.hasOwnProperty.call(message, "modelCosid")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.modelCosid); + if (message.errmsg != null && Object.hasOwnProperty.call(message, "errmsg")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.errmsg); + return writer; + }; + + /** + * Encodes the specified ModelCosId message, length delimited. Does not implicitly {@link ModelCos.ModelCosId.verify|verify} messages. + * @function encodeDelimited + * @memberof ModelCos.ModelCosId + * @static + * @param {ModelCos.IModelCosId} message ModelCosId message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ModelCosId.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ModelCosId message from the specified reader or buffer. + * @function decode + * @memberof ModelCos.ModelCosId + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {ModelCos.ModelCosId} ModelCosId + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ModelCosId.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.ModelCos.ModelCosId(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.modelType = reader.int32(); + break; + case 2: + message.modelCosid = reader.string(); + break; + case 3: + message.errmsg = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ModelCosId message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof ModelCos.ModelCosId + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {ModelCos.ModelCosId} ModelCosId + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ModelCosId.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ModelCosId message. + * @function verify + * @memberof ModelCos.ModelCosId + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ModelCosId.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.modelType != null && message.hasOwnProperty("modelType")) + switch (message.modelType) { + default: + return "modelType: enum value expected"; + case 1: + case 2: + case 3: + break; + } + if (message.modelCosid != null && message.hasOwnProperty("modelCosid")) + if (!$util.isString(message.modelCosid)) + return "modelCosid: string expected"; + if (message.errmsg != null && message.hasOwnProperty("errmsg")) + if (!$util.isString(message.errmsg)) + return "errmsg: string expected"; + return null; + }; + + /** + * Creates a ModelCosId message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof ModelCos.ModelCosId + * @static + * @param {Object.} object Plain object + * @returns {ModelCos.ModelCosId} ModelCosId + */ + ModelCosId.fromObject = function fromObject(object) { + if (object instanceof $root.ModelCos.ModelCosId) + return object; + var message = new $root.ModelCos.ModelCosId(); + switch (object.modelType) { + case "ARModel_Type_Sparse": + case 1: + message.modelType = 1; + break; + case "ARModel_Type_3D": + case 2: + message.modelType = 2; + break; + case "ARModel_Type_Marker": + case 3: + message.modelType = 3; + break; + } + if (object.modelCosid != null) + message.modelCosid = String(object.modelCosid); + if (object.errmsg != null) + message.errmsg = String(object.errmsg); + return message; + }; + + /** + * Creates a plain object from a ModelCosId message. Also converts values to other types if specified. + * @function toObject + * @memberof ModelCos.ModelCosId + * @static + * @param {ModelCos.ModelCosId} message ModelCosId + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ModelCosId.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.modelType = options.enums === String ? "ARModel_Type_Sparse" : 1; + object.modelCosid = ""; + object.errmsg = ""; + } + if (message.modelType != null && message.hasOwnProperty("modelType")) + object.modelType = options.enums === String ? $root.enARModelType[message.modelType] : message.modelType; + if (message.modelCosid != null && message.hasOwnProperty("modelCosid")) + object.modelCosid = message.modelCosid; + if (message.errmsg != null && message.hasOwnProperty("errmsg")) + object.errmsg = message.errmsg; + return object; + }; + + /** + * Converts this ModelCosId to JSON. + * @function toJSON + * @memberof ModelCos.ModelCosId + * @instance + * @returns {Object.} JSON object + */ + ModelCosId.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ModelCosId; + })(); + + return ModelCos; +})(); + +$root.ARModel = (function() { + + /** + * Properties of a ARModel. + * @exports IARModel + * @interface IARModel + * @property {string|null} [cosid] ARModel cosid + * @property {number|null} [bizuin] ARModel bizuin + * @property {string|null} [name] ARModel name + * @property {number|null} [uploadTime] ARModel uploadTime + * @property {enARModelStatus|null} [modelStatus] ARModel modelStatus + * @property {enARAlgorithmType|null} [algoType] ARModel algoType + * @property {IModelCos|null} [modelCos] ARModel modelCos + */ + + /** + * Constructs a new ARModel. + * @exports ARModel + * @classdesc Represents a ARModel. + * @implements IARModel + * @constructor + * @param {IARModel=} [properties] Properties to set + */ + function ARModel(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ARModel cosid. + * @member {string} cosid + * @memberof ARModel + * @instance + */ + ARModel.prototype.cosid = ""; + + /** + * ARModel bizuin. + * @member {number} bizuin + * @memberof ARModel + * @instance + */ + ARModel.prototype.bizuin = 0; + + /** + * ARModel name. + * @member {string} name + * @memberof ARModel + * @instance + */ + ARModel.prototype.name = ""; + + /** + * ARModel uploadTime. + * @member {number} uploadTime + * @memberof ARModel + * @instance + */ + ARModel.prototype.uploadTime = 0; + + /** + * ARModel modelStatus. + * @member {enARModelStatus} modelStatus + * @memberof ARModel + * @instance + */ + ARModel.prototype.modelStatus = 0; + + /** + * ARModel algoType. + * @member {enARAlgorithmType} algoType + * @memberof ARModel + * @instance + */ + ARModel.prototype.algoType = 1; + + /** + * ARModel modelCos. + * @member {IModelCos|null|undefined} modelCos + * @memberof ARModel + * @instance + */ + ARModel.prototype.modelCos = null; + + /** + * Creates a new ARModel instance using the specified properties. + * @function create + * @memberof ARModel + * @static + * @param {IARModel=} [properties] Properties to set + * @returns {ARModel} ARModel instance + */ + ARModel.create = function create(properties) { + return new ARModel(properties); + }; + + /** + * Encodes the specified ARModel message. Does not implicitly {@link ARModel.verify|verify} messages. + * @function encode + * @memberof ARModel + * @static + * @param {IARModel} message ARModel message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ARModel.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.cosid != null && Object.hasOwnProperty.call(message, "cosid")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.cosid); + if (message.bizuin != null && Object.hasOwnProperty.call(message, "bizuin")) + writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.bizuin); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.name); + if (message.uploadTime != null && Object.hasOwnProperty.call(message, "uploadTime")) + writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.uploadTime); + if (message.modelStatus != null && Object.hasOwnProperty.call(message, "modelStatus")) + writer.uint32(/* id 5, wireType 0 =*/40).int32(message.modelStatus); + if (message.algoType != null && Object.hasOwnProperty.call(message, "algoType")) + writer.uint32(/* id 6, wireType 0 =*/48).int32(message.algoType); + if (message.modelCos != null && Object.hasOwnProperty.call(message, "modelCos")) + $root.ModelCos.encode(message.modelCos, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ARModel message, length delimited. Does not implicitly {@link ARModel.verify|verify} messages. + * @function encodeDelimited + * @memberof ARModel + * @static + * @param {IARModel} message ARModel message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ARModel.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ARModel message from the specified reader or buffer. + * @function decode + * @memberof ARModel + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {ARModel} ARModel + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ARModel.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.ARModel(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.cosid = reader.string(); + break; + case 2: + message.bizuin = reader.uint32(); + break; + case 3: + message.name = reader.string(); + break; + case 4: + message.uploadTime = reader.uint32(); + break; + case 5: + message.modelStatus = reader.int32(); + break; + case 6: + message.algoType = reader.int32(); + break; + case 7: + message.modelCos = $root.ModelCos.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ARModel message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof ARModel + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {ARModel} ARModel + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ARModel.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ARModel message. + * @function verify + * @memberof ARModel + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ARModel.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.cosid != null && message.hasOwnProperty("cosid")) + if (!$util.isString(message.cosid)) + return "cosid: string expected"; + if (message.bizuin != null && message.hasOwnProperty("bizuin")) + if (!$util.isInteger(message.bizuin)) + return "bizuin: integer expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.uploadTime != null && message.hasOwnProperty("uploadTime")) + if (!$util.isInteger(message.uploadTime)) + return "uploadTime: integer expected"; + if (message.modelStatus != null && message.hasOwnProperty("modelStatus")) + switch (message.modelStatus) { + default: + return "modelStatus: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 100: + break; + } + if (message.algoType != null && message.hasOwnProperty("algoType")) + switch (message.algoType) { + default: + return "algoType: enum value expected"; + case 1: + case 2: + break; + } + if (message.modelCos != null && message.hasOwnProperty("modelCos")) { + var error = $root.ModelCos.verify(message.modelCos); + if (error) + return "modelCos." + error; + } + return null; + }; + + /** + * Creates a ARModel message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof ARModel + * @static + * @param {Object.} object Plain object + * @returns {ARModel} ARModel + */ + ARModel.fromObject = function fromObject(object) { + if (object instanceof $root.ARModel) + return object; + var message = new $root.ARModel(); + if (object.cosid != null) + message.cosid = String(object.cosid); + if (object.bizuin != null) + message.bizuin = object.bizuin >>> 0; + if (object.name != null) + message.name = String(object.name); + if (object.uploadTime != null) + message.uploadTime = object.uploadTime >>> 0; + switch (object.modelStatus) { + case "ARModel_Status_Default": + case 0: + message.modelStatus = 0; + break; + case "ARModel_Status_Init": + case 1: + message.modelStatus = 1; + break; + case "ARModel_Status_Sparse_Finished": + case 2: + message.modelStatus = 2; + break; + case "ARModel_Status_3d_Finished": + case 3: + message.modelStatus = 3; + break; + case "ARModel_Status_Object_Finished": + case 4: + message.modelStatus = 4; + break; + case "ARModel_Status_Marker_Finished": + case 5: + message.modelStatus = 5; + break; + case "ARModel_Status_Fail": + case 100: + message.modelStatus = 100; + break; + } + switch (object.algoType) { + case "Algorithm_Type_3D_Object": + case 1: + message.algoType = 1; + break; + case "Algorithm_Type_3D_Marker": + case 2: + message.algoType = 2; + break; + } + if (object.modelCos != null) { + if (typeof object.modelCos !== "object") + throw TypeError(".ARModel.modelCos: object expected"); + message.modelCos = $root.ModelCos.fromObject(object.modelCos); + } + return message; + }; + + /** + * Creates a plain object from a ARModel message. Also converts values to other types if specified. + * @function toObject + * @memberof ARModel + * @static + * @param {ARModel} message ARModel + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ARModel.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.cosid = ""; + object.bizuin = 0; + object.name = ""; + object.uploadTime = 0; + object.modelStatus = options.enums === String ? "ARModel_Status_Default" : 0; + object.algoType = options.enums === String ? "Algorithm_Type_3D_Object" : 1; + object.modelCos = null; + } + if (message.cosid != null && message.hasOwnProperty("cosid")) + object.cosid = message.cosid; + if (message.bizuin != null && message.hasOwnProperty("bizuin")) + object.bizuin = message.bizuin; + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.uploadTime != null && message.hasOwnProperty("uploadTime")) + object.uploadTime = message.uploadTime; + if (message.modelStatus != null && message.hasOwnProperty("modelStatus")) + object.modelStatus = options.enums === String ? $root.enARModelStatus[message.modelStatus] : message.modelStatus; + if (message.algoType != null && message.hasOwnProperty("algoType")) + object.algoType = options.enums === String ? $root.enARAlgorithmType[message.algoType] : message.algoType; + if (message.modelCos != null && message.hasOwnProperty("modelCos")) + object.modelCos = $root.ModelCos.toObject(message.modelCos, options); + return object; + }; + + /** + * Converts this ARModel to JSON. + * @function toJSON + * @memberof ARModel + * @instance + * @returns {Object.} JSON object + */ + ARModel.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ARModel; +})(); + +$root.GetARModelListReq = (function() { + + /** + * Properties of a GetARModelListReq. + * @exports IGetARModelListReq + * @interface IGetARModelListReq + * @property {number|null} [bizuin] GetARModelListReq bizuin + * @property {number|null} [modelStatus] GetARModelListReq modelStatus + * @property {number|null} [startTime] GetARModelListReq startTime + * @property {number|null} [endTime] GetARModelListReq endTime + * @property {number|null} [offset] GetARModelListReq offset + * @property {number|null} [limit] GetARModelListReq limit + * @property {number|null} [algoType] GetARModelListReq algoType + */ + + /** + * Constructs a new GetARModelListReq. + * @exports GetARModelListReq + * @classdesc Represents a GetARModelListReq. + * @implements IGetARModelListReq + * @constructor + * @param {IGetARModelListReq=} [properties] Properties to set + */ + function GetARModelListReq(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetARModelListReq bizuin. + * @member {number} bizuin + * @memberof GetARModelListReq + * @instance + */ + GetARModelListReq.prototype.bizuin = 0; + + /** + * GetARModelListReq modelStatus. + * @member {number} modelStatus + * @memberof GetARModelListReq + * @instance + */ + GetARModelListReq.prototype.modelStatus = 0; + + /** + * GetARModelListReq startTime. + * @member {number} startTime + * @memberof GetARModelListReq + * @instance + */ + GetARModelListReq.prototype.startTime = 0; + + /** + * GetARModelListReq endTime. + * @member {number} endTime + * @memberof GetARModelListReq + * @instance + */ + GetARModelListReq.prototype.endTime = 0; + + /** + * GetARModelListReq offset. + * @member {number} offset + * @memberof GetARModelListReq + * @instance + */ + GetARModelListReq.prototype.offset = 0; + + /** + * GetARModelListReq limit. + * @member {number} limit + * @memberof GetARModelListReq + * @instance + */ + GetARModelListReq.prototype.limit = 0; + + /** + * GetARModelListReq algoType. + * @member {number} algoType + * @memberof GetARModelListReq + * @instance + */ + GetARModelListReq.prototype.algoType = 0; + + /** + * Creates a new GetARModelListReq instance using the specified properties. + * @function create + * @memberof GetARModelListReq + * @static + * @param {IGetARModelListReq=} [properties] Properties to set + * @returns {GetARModelListReq} GetARModelListReq instance + */ + GetARModelListReq.create = function create(properties) { + return new GetARModelListReq(properties); + }; + + /** + * Encodes the specified GetARModelListReq message. Does not implicitly {@link GetARModelListReq.verify|verify} messages. + * @function encode + * @memberof GetARModelListReq + * @static + * @param {IGetARModelListReq} message GetARModelListReq message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetARModelListReq.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.bizuin != null && Object.hasOwnProperty.call(message, "bizuin")) + writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.bizuin); + if (message.modelStatus != null && Object.hasOwnProperty.call(message, "modelStatus")) + writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.modelStatus); + if (message.startTime != null && Object.hasOwnProperty.call(message, "startTime")) + writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.startTime); + if (message.endTime != null && Object.hasOwnProperty.call(message, "endTime")) + writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.endTime); + if (message.offset != null && Object.hasOwnProperty.call(message, "offset")) + writer.uint32(/* id 5, wireType 0 =*/40).uint32(message.offset); + if (message.limit != null && Object.hasOwnProperty.call(message, "limit")) + writer.uint32(/* id 6, wireType 0 =*/48).uint32(message.limit); + if (message.algoType != null && Object.hasOwnProperty.call(message, "algoType")) + writer.uint32(/* id 7, wireType 0 =*/56).uint32(message.algoType); + return writer; + }; + + /** + * Encodes the specified GetARModelListReq message, length delimited. Does not implicitly {@link GetARModelListReq.verify|verify} messages. + * @function encodeDelimited + * @memberof GetARModelListReq + * @static + * @param {IGetARModelListReq} message GetARModelListReq message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetARModelListReq.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetARModelListReq message from the specified reader or buffer. + * @function decode + * @memberof GetARModelListReq + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {GetARModelListReq} GetARModelListReq + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetARModelListReq.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.GetARModelListReq(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.bizuin = reader.uint32(); + break; + case 2: + message.modelStatus = reader.uint32(); + break; + case 3: + message.startTime = reader.uint32(); + break; + case 4: + message.endTime = reader.uint32(); + break; + case 5: + message.offset = reader.uint32(); + break; + case 6: + message.limit = reader.uint32(); + break; + case 7: + message.algoType = reader.uint32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetARModelListReq message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof GetARModelListReq + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {GetARModelListReq} GetARModelListReq + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetARModelListReq.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetARModelListReq message. + * @function verify + * @memberof GetARModelListReq + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetARModelListReq.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.bizuin != null && message.hasOwnProperty("bizuin")) + if (!$util.isInteger(message.bizuin)) + return "bizuin: integer expected"; + if (message.modelStatus != null && message.hasOwnProperty("modelStatus")) + if (!$util.isInteger(message.modelStatus)) + return "modelStatus: integer expected"; + if (message.startTime != null && message.hasOwnProperty("startTime")) + if (!$util.isInteger(message.startTime)) + return "startTime: integer expected"; + if (message.endTime != null && message.hasOwnProperty("endTime")) + if (!$util.isInteger(message.endTime)) + return "endTime: integer expected"; + if (message.offset != null && message.hasOwnProperty("offset")) + if (!$util.isInteger(message.offset)) + return "offset: integer expected"; + if (message.limit != null && message.hasOwnProperty("limit")) + if (!$util.isInteger(message.limit)) + return "limit: integer expected"; + if (message.algoType != null && message.hasOwnProperty("algoType")) + if (!$util.isInteger(message.algoType)) + return "algoType: integer expected"; + return null; + }; + + /** + * Creates a GetARModelListReq message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof GetARModelListReq + * @static + * @param {Object.} object Plain object + * @returns {GetARModelListReq} GetARModelListReq + */ + GetARModelListReq.fromObject = function fromObject(object) { + if (object instanceof $root.GetARModelListReq) + return object; + var message = new $root.GetARModelListReq(); + if (object.bizuin != null) + message.bizuin = object.bizuin >>> 0; + if (object.modelStatus != null) + message.modelStatus = object.modelStatus >>> 0; + if (object.startTime != null) + message.startTime = object.startTime >>> 0; + if (object.endTime != null) + message.endTime = object.endTime >>> 0; + if (object.offset != null) + message.offset = object.offset >>> 0; + if (object.limit != null) + message.limit = object.limit >>> 0; + if (object.algoType != null) + message.algoType = object.algoType >>> 0; + return message; + }; + + /** + * Creates a plain object from a GetARModelListReq message. Also converts values to other types if specified. + * @function toObject + * @memberof GetARModelListReq + * @static + * @param {GetARModelListReq} message GetARModelListReq + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetARModelListReq.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.bizuin = 0; + object.modelStatus = 0; + object.startTime = 0; + object.endTime = 0; + object.offset = 0; + object.limit = 0; + object.algoType = 0; + } + if (message.bizuin != null && message.hasOwnProperty("bizuin")) + object.bizuin = message.bizuin; + if (message.modelStatus != null && message.hasOwnProperty("modelStatus")) + object.modelStatus = message.modelStatus; + if (message.startTime != null && message.hasOwnProperty("startTime")) + object.startTime = message.startTime; + if (message.endTime != null && message.hasOwnProperty("endTime")) + object.endTime = message.endTime; + if (message.offset != null && message.hasOwnProperty("offset")) + object.offset = message.offset; + if (message.limit != null && message.hasOwnProperty("limit")) + object.limit = message.limit; + if (message.algoType != null && message.hasOwnProperty("algoType")) + object.algoType = message.algoType; + return object; + }; + + /** + * Converts this GetARModelListReq to JSON. + * @function toJSON + * @memberof GetARModelListReq + * @instance + * @returns {Object.} JSON object + */ + GetARModelListReq.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetARModelListReq; +})(); + +$root.GetARModelListResp = (function() { + + /** + * Properties of a GetARModelListResp. + * @exports IGetARModelListResp + * @interface IGetARModelListResp + * @property {Array.|null} [modelList] GetARModelListResp modelList + */ + + /** + * Constructs a new GetARModelListResp. + * @exports GetARModelListResp + * @classdesc Represents a GetARModelListResp. + * @implements IGetARModelListResp + * @constructor + * @param {IGetARModelListResp=} [properties] Properties to set + */ + function GetARModelListResp(properties) { + this.modelList = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetARModelListResp modelList. + * @member {Array.} modelList + * @memberof GetARModelListResp + * @instance + */ + GetARModelListResp.prototype.modelList = $util.emptyArray; + + /** + * Creates a new GetARModelListResp instance using the specified properties. + * @function create + * @memberof GetARModelListResp + * @static + * @param {IGetARModelListResp=} [properties] Properties to set + * @returns {GetARModelListResp} GetARModelListResp instance + */ + GetARModelListResp.create = function create(properties) { + return new GetARModelListResp(properties); + }; + + /** + * Encodes the specified GetARModelListResp message. Does not implicitly {@link GetARModelListResp.verify|verify} messages. + * @function encode + * @memberof GetARModelListResp + * @static + * @param {IGetARModelListResp} message GetARModelListResp message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetARModelListResp.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.modelList != null && message.modelList.length) + for (var i = 0; i < message.modelList.length; ++i) + $root.ARModel.encode(message.modelList[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetARModelListResp message, length delimited. Does not implicitly {@link GetARModelListResp.verify|verify} messages. + * @function encodeDelimited + * @memberof GetARModelListResp + * @static + * @param {IGetARModelListResp} message GetARModelListResp message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetARModelListResp.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetARModelListResp message from the specified reader or buffer. + * @function decode + * @memberof GetARModelListResp + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {GetARModelListResp} GetARModelListResp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetARModelListResp.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.GetARModelListResp(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.modelList && message.modelList.length)) + message.modelList = []; + message.modelList.push($root.ARModel.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetARModelListResp message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof GetARModelListResp + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {GetARModelListResp} GetARModelListResp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetARModelListResp.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetARModelListResp message. + * @function verify + * @memberof GetARModelListResp + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetARModelListResp.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.modelList != null && message.hasOwnProperty("modelList")) { + if (!Array.isArray(message.modelList)) + return "modelList: array expected"; + for (var i = 0; i < message.modelList.length; ++i) { + var error = $root.ARModel.verify(message.modelList[i]); + if (error) + return "modelList." + error; + } + } + return null; + }; + + /** + * Creates a GetARModelListResp message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof GetARModelListResp + * @static + * @param {Object.} object Plain object + * @returns {GetARModelListResp} GetARModelListResp + */ + GetARModelListResp.fromObject = function fromObject(object) { + if (object instanceof $root.GetARModelListResp) + return object; + var message = new $root.GetARModelListResp(); + if (object.modelList) { + if (!Array.isArray(object.modelList)) + throw TypeError(".GetARModelListResp.modelList: array expected"); + message.modelList = []; + for (var i = 0; i < object.modelList.length; ++i) { + if (typeof object.modelList[i] !== "object") + throw TypeError(".GetARModelListResp.modelList: object expected"); + message.modelList[i] = $root.ARModel.fromObject(object.modelList[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a GetARModelListResp message. Also converts values to other types if specified. + * @function toObject + * @memberof GetARModelListResp + * @static + * @param {GetARModelListResp} message GetARModelListResp + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetARModelListResp.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.modelList = []; + if (message.modelList && message.modelList.length) { + object.modelList = []; + for (var j = 0; j < message.modelList.length; ++j) + object.modelList[j] = $root.ARModel.toObject(message.modelList[j], options); + } + return object; + }; + + /** + * Converts this GetARModelListResp to JSON. + * @function toJSON + * @memberof GetARModelListResp + * @instance + * @returns {Object.} JSON object + */ + GetARModelListResp.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetARModelListResp; +})(); + +$root.GenerateARModelReq = (function() { + + /** + * Properties of a GenerateARModelReq. + * @exports IGenerateARModelReq + * @interface IGenerateARModelReq + * @property {number|null} [bizuin] GenerateARModelReq bizuin + * @property {string|null} [name] GenerateARModelReq name + * @property {Uint8Array|null} [buffer] GenerateARModelReq buffer + * @property {string|null} [url] GenerateARModelReq url + * @property {enARAlgorithmType|null} [algoType] GenerateARModelReq algoType + * @property {number|null} [lod] GenerateARModelReq lod + * @property {boolean|null} [getmesh] GenerateARModelReq getmesh + * @property {boolean|null} [gettexture] GenerateARModelReq gettexture + */ + + /** + * Constructs a new GenerateARModelReq. + * @exports GenerateARModelReq + * @classdesc Represents a GenerateARModelReq. + * @implements IGenerateARModelReq + * @constructor + * @param {IGenerateARModelReq=} [properties] Properties to set + */ + function GenerateARModelReq(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GenerateARModelReq bizuin. + * @member {number} bizuin + * @memberof GenerateARModelReq + * @instance + */ + GenerateARModelReq.prototype.bizuin = 0; + + /** + * GenerateARModelReq name. + * @member {string} name + * @memberof GenerateARModelReq + * @instance + */ + GenerateARModelReq.prototype.name = ""; + + /** + * GenerateARModelReq buffer. + * @member {Uint8Array} buffer + * @memberof GenerateARModelReq + * @instance + */ + GenerateARModelReq.prototype.buffer = $util.newBuffer([]); + + /** + * GenerateARModelReq url. + * @member {string} url + * @memberof GenerateARModelReq + * @instance + */ + GenerateARModelReq.prototype.url = ""; + + /** + * GenerateARModelReq algoType. + * @member {enARAlgorithmType} algoType + * @memberof GenerateARModelReq + * @instance + */ + GenerateARModelReq.prototype.algoType = 1; + + /** + * GenerateARModelReq lod. + * @member {number} lod + * @memberof GenerateARModelReq + * @instance + */ + GenerateARModelReq.prototype.lod = 0; + + /** + * GenerateARModelReq getmesh. + * @member {boolean} getmesh + * @memberof GenerateARModelReq + * @instance + */ + GenerateARModelReq.prototype.getmesh = false; + + /** + * GenerateARModelReq gettexture. + * @member {boolean} gettexture + * @memberof GenerateARModelReq + * @instance + */ + GenerateARModelReq.prototype.gettexture = false; + + /** + * Creates a new GenerateARModelReq instance using the specified properties. + * @function create + * @memberof GenerateARModelReq + * @static + * @param {IGenerateARModelReq=} [properties] Properties to set + * @returns {GenerateARModelReq} GenerateARModelReq instance + */ + GenerateARModelReq.create = function create(properties) { + return new GenerateARModelReq(properties); + }; + + /** + * Encodes the specified GenerateARModelReq message. Does not implicitly {@link GenerateARModelReq.verify|verify} messages. + * @function encode + * @memberof GenerateARModelReq + * @static + * @param {IGenerateARModelReq} message GenerateARModelReq message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GenerateARModelReq.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.bizuin != null && Object.hasOwnProperty.call(message, "bizuin")) + writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.bizuin); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.name); + if (message.buffer != null && Object.hasOwnProperty.call(message, "buffer")) + writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.buffer); + if (message.url != null && Object.hasOwnProperty.call(message, "url")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.url); + if (message.algoType != null && Object.hasOwnProperty.call(message, "algoType")) + writer.uint32(/* id 5, wireType 0 =*/40).int32(message.algoType); + if (message.lod != null && Object.hasOwnProperty.call(message, "lod")) + writer.uint32(/* id 6, wireType 0 =*/48).uint32(message.lod); + if (message.getmesh != null && Object.hasOwnProperty.call(message, "getmesh")) + writer.uint32(/* id 7, wireType 0 =*/56).bool(message.getmesh); + if (message.gettexture != null && Object.hasOwnProperty.call(message, "gettexture")) + writer.uint32(/* id 8, wireType 0 =*/64).bool(message.gettexture); + return writer; + }; + + /** + * Encodes the specified GenerateARModelReq message, length delimited. Does not implicitly {@link GenerateARModelReq.verify|verify} messages. + * @function encodeDelimited + * @memberof GenerateARModelReq + * @static + * @param {IGenerateARModelReq} message GenerateARModelReq message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GenerateARModelReq.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GenerateARModelReq message from the specified reader or buffer. + * @function decode + * @memberof GenerateARModelReq + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {GenerateARModelReq} GenerateARModelReq + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GenerateARModelReq.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.GenerateARModelReq(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.bizuin = reader.uint32(); + break; + case 2: + message.name = reader.string(); + break; + case 3: + message.buffer = reader.bytes(); + break; + case 4: + message.url = reader.string(); + break; + case 5: + message.algoType = reader.int32(); + break; + case 6: + message.lod = reader.uint32(); + break; + case 7: + message.getmesh = reader.bool(); + break; + case 8: + message.gettexture = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GenerateARModelReq message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof GenerateARModelReq + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {GenerateARModelReq} GenerateARModelReq + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GenerateARModelReq.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GenerateARModelReq message. + * @function verify + * @memberof GenerateARModelReq + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GenerateARModelReq.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.bizuin != null && message.hasOwnProperty("bizuin")) + if (!$util.isInteger(message.bizuin)) + return "bizuin: integer expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.buffer != null && message.hasOwnProperty("buffer")) + if (!(message.buffer && typeof message.buffer.length === "number" || $util.isString(message.buffer))) + return "buffer: buffer expected"; + if (message.url != null && message.hasOwnProperty("url")) + if (!$util.isString(message.url)) + return "url: string expected"; + if (message.algoType != null && message.hasOwnProperty("algoType")) + switch (message.algoType) { + default: + return "algoType: enum value expected"; + case 1: + case 2: + break; + } + if (message.lod != null && message.hasOwnProperty("lod")) + if (!$util.isInteger(message.lod)) + return "lod: integer expected"; + if (message.getmesh != null && message.hasOwnProperty("getmesh")) + if (typeof message.getmesh !== "boolean") + return "getmesh: boolean expected"; + if (message.gettexture != null && message.hasOwnProperty("gettexture")) + if (typeof message.gettexture !== "boolean") + return "gettexture: boolean expected"; + return null; + }; + + /** + * Creates a GenerateARModelReq message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof GenerateARModelReq + * @static + * @param {Object.} object Plain object + * @returns {GenerateARModelReq} GenerateARModelReq + */ + GenerateARModelReq.fromObject = function fromObject(object) { + if (object instanceof $root.GenerateARModelReq) + return object; + var message = new $root.GenerateARModelReq(); + if (object.bizuin != null) + message.bizuin = object.bizuin >>> 0; + if (object.name != null) + message.name = String(object.name); + if (object.buffer != null) + if (typeof object.buffer === "string") + $util.base64.decode(object.buffer, message.buffer = $util.newBuffer($util.base64.length(object.buffer)), 0); + else if (object.buffer.length) + message.buffer = object.buffer; + if (object.url != null) + message.url = String(object.url); + switch (object.algoType) { + case "Algorithm_Type_3D_Object": + case 1: + message.algoType = 1; + break; + case "Algorithm_Type_3D_Marker": + case 2: + message.algoType = 2; + break; + } + if (object.lod != null) + message.lod = object.lod >>> 0; + if (object.getmesh != null) + message.getmesh = Boolean(object.getmesh); + if (object.gettexture != null) + message.gettexture = Boolean(object.gettexture); + return message; + }; + + /** + * Creates a plain object from a GenerateARModelReq message. Also converts values to other types if specified. + * @function toObject + * @memberof GenerateARModelReq + * @static + * @param {GenerateARModelReq} message GenerateARModelReq + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GenerateARModelReq.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.bizuin = 0; + object.name = ""; + if (options.bytes === String) + object.buffer = ""; + else { + object.buffer = []; + if (options.bytes !== Array) + object.buffer = $util.newBuffer(object.buffer); + } + object.url = ""; + object.algoType = options.enums === String ? "Algorithm_Type_3D_Object" : 1; + object.lod = 0; + object.getmesh = false; + object.gettexture = false; + } + if (message.bizuin != null && message.hasOwnProperty("bizuin")) + object.bizuin = message.bizuin; + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.buffer != null && message.hasOwnProperty("buffer")) + object.buffer = options.bytes === String ? $util.base64.encode(message.buffer, 0, message.buffer.length) : options.bytes === Array ? Array.prototype.slice.call(message.buffer) : message.buffer; + if (message.url != null && message.hasOwnProperty("url")) + object.url = message.url; + if (message.algoType != null && message.hasOwnProperty("algoType")) + object.algoType = options.enums === String ? $root.enARAlgorithmType[message.algoType] : message.algoType; + if (message.lod != null && message.hasOwnProperty("lod")) + object.lod = message.lod; + if (message.getmesh != null && message.hasOwnProperty("getmesh")) + object.getmesh = message.getmesh; + if (message.gettexture != null && message.hasOwnProperty("gettexture")) + object.gettexture = message.gettexture; + return object; + }; + + /** + * Converts this GenerateARModelReq to JSON. + * @function toJSON + * @memberof GenerateARModelReq + * @instance + * @returns {Object.} JSON object + */ + GenerateARModelReq.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GenerateARModelReq; +})(); + +$root.GenerateARModelResp = (function() { + + /** + * Properties of a GenerateARModelResp. + * @exports IGenerateARModelResp + * @interface IGenerateARModelResp + * @property {string|null} [url] GenerateARModelResp url + * @property {string|null} [host] GenerateARModelResp host + * @property {string|null} [cosid] GenerateARModelResp cosid + * @property {number|null} [lod] GenerateARModelResp lod + * @property {boolean|null} [getmesh] GenerateARModelResp getmesh + * @property {boolean|null} [gettexture] GenerateARModelResp gettexture + */ + + /** + * Constructs a new GenerateARModelResp. + * @exports GenerateARModelResp + * @classdesc Represents a GenerateARModelResp. + * @implements IGenerateARModelResp + * @constructor + * @param {IGenerateARModelResp=} [properties] Properties to set + */ + function GenerateARModelResp(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GenerateARModelResp url. + * @member {string} url + * @memberof GenerateARModelResp + * @instance + */ + GenerateARModelResp.prototype.url = ""; + + /** + * GenerateARModelResp host. + * @member {string} host + * @memberof GenerateARModelResp + * @instance + */ + GenerateARModelResp.prototype.host = ""; + + /** + * GenerateARModelResp cosid. + * @member {string} cosid + * @memberof GenerateARModelResp + * @instance + */ + GenerateARModelResp.prototype.cosid = ""; + + /** + * GenerateARModelResp lod. + * @member {number} lod + * @memberof GenerateARModelResp + * @instance + */ + GenerateARModelResp.prototype.lod = 0; + + /** + * GenerateARModelResp getmesh. + * @member {boolean} getmesh + * @memberof GenerateARModelResp + * @instance + */ + GenerateARModelResp.prototype.getmesh = false; + + /** + * GenerateARModelResp gettexture. + * @member {boolean} gettexture + * @memberof GenerateARModelResp + * @instance + */ + GenerateARModelResp.prototype.gettexture = false; + + /** + * Creates a new GenerateARModelResp instance using the specified properties. + * @function create + * @memberof GenerateARModelResp + * @static + * @param {IGenerateARModelResp=} [properties] Properties to set + * @returns {GenerateARModelResp} GenerateARModelResp instance + */ + GenerateARModelResp.create = function create(properties) { + return new GenerateARModelResp(properties); + }; + + /** + * Encodes the specified GenerateARModelResp message. Does not implicitly {@link GenerateARModelResp.verify|verify} messages. + * @function encode + * @memberof GenerateARModelResp + * @static + * @param {IGenerateARModelResp} message GenerateARModelResp message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GenerateARModelResp.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.url != null && Object.hasOwnProperty.call(message, "url")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); + if (message.host != null && Object.hasOwnProperty.call(message, "host")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.host); + if (message.cosid != null && Object.hasOwnProperty.call(message, "cosid")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.cosid); + if (message.lod != null && Object.hasOwnProperty.call(message, "lod")) + writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.lod); + if (message.getmesh != null && Object.hasOwnProperty.call(message, "getmesh")) + writer.uint32(/* id 5, wireType 0 =*/40).bool(message.getmesh); + if (message.gettexture != null && Object.hasOwnProperty.call(message, "gettexture")) + writer.uint32(/* id 6, wireType 0 =*/48).bool(message.gettexture); + return writer; + }; + + /** + * Encodes the specified GenerateARModelResp message, length delimited. Does not implicitly {@link GenerateARModelResp.verify|verify} messages. + * @function encodeDelimited + * @memberof GenerateARModelResp + * @static + * @param {IGenerateARModelResp} message GenerateARModelResp message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GenerateARModelResp.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GenerateARModelResp message from the specified reader or buffer. + * @function decode + * @memberof GenerateARModelResp + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {GenerateARModelResp} GenerateARModelResp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GenerateARModelResp.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.GenerateARModelResp(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.url = reader.string(); + break; + case 2: + message.host = reader.string(); + break; + case 3: + message.cosid = reader.string(); + break; + case 4: + message.lod = reader.uint32(); + break; + case 5: + message.getmesh = reader.bool(); + break; + case 6: + message.gettexture = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GenerateARModelResp message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof GenerateARModelResp + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {GenerateARModelResp} GenerateARModelResp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GenerateARModelResp.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GenerateARModelResp message. + * @function verify + * @memberof GenerateARModelResp + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GenerateARModelResp.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.url != null && message.hasOwnProperty("url")) + if (!$util.isString(message.url)) + return "url: string expected"; + if (message.host != null && message.hasOwnProperty("host")) + if (!$util.isString(message.host)) + return "host: string expected"; + if (message.cosid != null && message.hasOwnProperty("cosid")) + if (!$util.isString(message.cosid)) + return "cosid: string expected"; + if (message.lod != null && message.hasOwnProperty("lod")) + if (!$util.isInteger(message.lod)) + return "lod: integer expected"; + if (message.getmesh != null && message.hasOwnProperty("getmesh")) + if (typeof message.getmesh !== "boolean") + return "getmesh: boolean expected"; + if (message.gettexture != null && message.hasOwnProperty("gettexture")) + if (typeof message.gettexture !== "boolean") + return "gettexture: boolean expected"; + return null; + }; + + /** + * Creates a GenerateARModelResp message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof GenerateARModelResp + * @static + * @param {Object.} object Plain object + * @returns {GenerateARModelResp} GenerateARModelResp + */ + GenerateARModelResp.fromObject = function fromObject(object) { + if (object instanceof $root.GenerateARModelResp) + return object; + var message = new $root.GenerateARModelResp(); + if (object.url != null) + message.url = String(object.url); + if (object.host != null) + message.host = String(object.host); + if (object.cosid != null) + message.cosid = String(object.cosid); + if (object.lod != null) + message.lod = object.lod >>> 0; + if (object.getmesh != null) + message.getmesh = Boolean(object.getmesh); + if (object.gettexture != null) + message.gettexture = Boolean(object.gettexture); + return message; + }; + + /** + * Creates a plain object from a GenerateARModelResp message. Also converts values to other types if specified. + * @function toObject + * @memberof GenerateARModelResp + * @static + * @param {GenerateARModelResp} message GenerateARModelResp + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GenerateARModelResp.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.url = ""; + object.host = ""; + object.cosid = ""; + object.lod = 0; + object.getmesh = false; + object.gettexture = false; + } + if (message.url != null && message.hasOwnProperty("url")) + object.url = message.url; + if (message.host != null && message.hasOwnProperty("host")) + object.host = message.host; + if (message.cosid != null && message.hasOwnProperty("cosid")) + object.cosid = message.cosid; + if (message.lod != null && message.hasOwnProperty("lod")) + object.lod = message.lod; + if (message.getmesh != null && message.hasOwnProperty("getmesh")) + object.getmesh = message.getmesh; + if (message.gettexture != null && message.hasOwnProperty("gettexture")) + object.gettexture = message.gettexture; + return object; + }; + + /** + * Converts this GenerateARModelResp to JSON. + * @function toJSON + * @memberof GenerateARModelResp + * @instance + * @returns {Object.} JSON object + */ + GenerateARModelResp.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GenerateARModelResp; +})(); + +$root.ARModelData = (function() { + + /** + * Properties of a ARModelData. + * @exports IARModelData + * @interface IARModelData + * @property {Uint8Array|null} [meshModel] ARModelData meshModel + * @property {Uint8Array|null} [textureModel] ARModelData textureModel + * @property {Uint8Array|null} [preview] ARModelData preview + * @property {Uint8Array|null} [meshBlob] ARModelData meshBlob + * @property {Uint8Array|null} [textureBlob] ARModelData textureBlob + */ + + /** + * Constructs a new ARModelData. + * @exports ARModelData + * @classdesc Represents a ARModelData. + * @implements IARModelData + * @constructor + * @param {IARModelData=} [properties] Properties to set + */ + function ARModelData(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ARModelData meshModel. + * @member {Uint8Array} meshModel + * @memberof ARModelData + * @instance + */ + ARModelData.prototype.meshModel = $util.newBuffer([]); + + /** + * ARModelData textureModel. + * @member {Uint8Array} textureModel + * @memberof ARModelData + * @instance + */ + ARModelData.prototype.textureModel = $util.newBuffer([]); + + /** + * ARModelData preview. + * @member {Uint8Array} preview + * @memberof ARModelData + * @instance + */ + ARModelData.prototype.preview = $util.newBuffer([]); + + /** + * ARModelData meshBlob. + * @member {Uint8Array} meshBlob + * @memberof ARModelData + * @instance + */ + ARModelData.prototype.meshBlob = $util.newBuffer([]); + + /** + * ARModelData textureBlob. + * @member {Uint8Array} textureBlob + * @memberof ARModelData + * @instance + */ + ARModelData.prototype.textureBlob = $util.newBuffer([]); + + /** + * Creates a new ARModelData instance using the specified properties. + * @function create + * @memberof ARModelData + * @static + * @param {IARModelData=} [properties] Properties to set + * @returns {ARModelData} ARModelData instance + */ + ARModelData.create = function create(properties) { + return new ARModelData(properties); + }; + + /** + * Encodes the specified ARModelData message. Does not implicitly {@link ARModelData.verify|verify} messages. + * @function encode + * @memberof ARModelData + * @static + * @param {IARModelData} message ARModelData message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ARModelData.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.meshModel != null && Object.hasOwnProperty.call(message, "meshModel")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.meshModel); + if (message.textureModel != null && Object.hasOwnProperty.call(message, "textureModel")) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.textureModel); + if (message.preview != null && Object.hasOwnProperty.call(message, "preview")) + writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.preview); + if (message.meshBlob != null && Object.hasOwnProperty.call(message, "meshBlob")) + writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.meshBlob); + if (message.textureBlob != null && Object.hasOwnProperty.call(message, "textureBlob")) + writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.textureBlob); + return writer; + }; + + /** + * Encodes the specified ARModelData message, length delimited. Does not implicitly {@link ARModelData.verify|verify} messages. + * @function encodeDelimited + * @memberof ARModelData + * @static + * @param {IARModelData} message ARModelData message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ARModelData.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ARModelData message from the specified reader or buffer. + * @function decode + * @memberof ARModelData + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {ARModelData} ARModelData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ARModelData.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.ARModelData(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.meshModel = reader.bytes(); + break; + case 2: + message.textureModel = reader.bytes(); + break; + case 3: + message.preview = reader.bytes(); + break; + case 4: + message.meshBlob = reader.bytes(); + break; + case 5: + message.textureBlob = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ARModelData message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof ARModelData + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {ARModelData} ARModelData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ARModelData.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ARModelData message. + * @function verify + * @memberof ARModelData + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ARModelData.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.meshModel != null && message.hasOwnProperty("meshModel")) + if (!(message.meshModel && typeof message.meshModel.length === "number" || $util.isString(message.meshModel))) + return "meshModel: buffer expected"; + if (message.textureModel != null && message.hasOwnProperty("textureModel")) + if (!(message.textureModel && typeof message.textureModel.length === "number" || $util.isString(message.textureModel))) + return "textureModel: buffer expected"; + if (message.preview != null && message.hasOwnProperty("preview")) + if (!(message.preview && typeof message.preview.length === "number" || $util.isString(message.preview))) + return "preview: buffer expected"; + if (message.meshBlob != null && message.hasOwnProperty("meshBlob")) + if (!(message.meshBlob && typeof message.meshBlob.length === "number" || $util.isString(message.meshBlob))) + return "meshBlob: buffer expected"; + if (message.textureBlob != null && message.hasOwnProperty("textureBlob")) + if (!(message.textureBlob && typeof message.textureBlob.length === "number" || $util.isString(message.textureBlob))) + return "textureBlob: buffer expected"; + return null; + }; + + /** + * Creates a ARModelData message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof ARModelData + * @static + * @param {Object.} object Plain object + * @returns {ARModelData} ARModelData + */ + ARModelData.fromObject = function fromObject(object) { + if (object instanceof $root.ARModelData) + return object; + var message = new $root.ARModelData(); + if (object.meshModel != null) + if (typeof object.meshModel === "string") + $util.base64.decode(object.meshModel, message.meshModel = $util.newBuffer($util.base64.length(object.meshModel)), 0); + else if (object.meshModel.length) + message.meshModel = object.meshModel; + if (object.textureModel != null) + if (typeof object.textureModel === "string") + $util.base64.decode(object.textureModel, message.textureModel = $util.newBuffer($util.base64.length(object.textureModel)), 0); + else if (object.textureModel.length) + message.textureModel = object.textureModel; + if (object.preview != null) + if (typeof object.preview === "string") + $util.base64.decode(object.preview, message.preview = $util.newBuffer($util.base64.length(object.preview)), 0); + else if (object.preview.length) + message.preview = object.preview; + if (object.meshBlob != null) + if (typeof object.meshBlob === "string") + $util.base64.decode(object.meshBlob, message.meshBlob = $util.newBuffer($util.base64.length(object.meshBlob)), 0); + else if (object.meshBlob.length) + message.meshBlob = object.meshBlob; + if (object.textureBlob != null) + if (typeof object.textureBlob === "string") + $util.base64.decode(object.textureBlob, message.textureBlob = $util.newBuffer($util.base64.length(object.textureBlob)), 0); + else if (object.textureBlob.length) + message.textureBlob = object.textureBlob; + return message; + }; + + /** + * Creates a plain object from a ARModelData message. Also converts values to other types if specified. + * @function toObject + * @memberof ARModelData + * @static + * @param {ARModelData} message ARModelData + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ARModelData.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.meshModel = ""; + else { + object.meshModel = []; + if (options.bytes !== Array) + object.meshModel = $util.newBuffer(object.meshModel); + } + if (options.bytes === String) + object.textureModel = ""; + else { + object.textureModel = []; + if (options.bytes !== Array) + object.textureModel = $util.newBuffer(object.textureModel); + } + if (options.bytes === String) + object.preview = ""; + else { + object.preview = []; + if (options.bytes !== Array) + object.preview = $util.newBuffer(object.preview); + } + if (options.bytes === String) + object.meshBlob = ""; + else { + object.meshBlob = []; + if (options.bytes !== Array) + object.meshBlob = $util.newBuffer(object.meshBlob); + } + if (options.bytes === String) + object.textureBlob = ""; + else { + object.textureBlob = []; + if (options.bytes !== Array) + object.textureBlob = $util.newBuffer(object.textureBlob); + } + } + if (message.meshModel != null && message.hasOwnProperty("meshModel")) + object.meshModel = options.bytes === String ? $util.base64.encode(message.meshModel, 0, message.meshModel.length) : options.bytes === Array ? Array.prototype.slice.call(message.meshModel) : message.meshModel; + if (message.textureModel != null && message.hasOwnProperty("textureModel")) + object.textureModel = options.bytes === String ? $util.base64.encode(message.textureModel, 0, message.textureModel.length) : options.bytes === Array ? Array.prototype.slice.call(message.textureModel) : message.textureModel; + if (message.preview != null && message.hasOwnProperty("preview")) + object.preview = options.bytes === String ? $util.base64.encode(message.preview, 0, message.preview.length) : options.bytes === Array ? Array.prototype.slice.call(message.preview) : message.preview; + if (message.meshBlob != null && message.hasOwnProperty("meshBlob")) + object.meshBlob = options.bytes === String ? $util.base64.encode(message.meshBlob, 0, message.meshBlob.length) : options.bytes === Array ? Array.prototype.slice.call(message.meshBlob) : message.meshBlob; + if (message.textureBlob != null && message.hasOwnProperty("textureBlob")) + object.textureBlob = options.bytes === String ? $util.base64.encode(message.textureBlob, 0, message.textureBlob.length) : options.bytes === Array ? Array.prototype.slice.call(message.textureBlob) : message.textureBlob; + return object; + }; + + /** + * Converts this ARModelData to JSON. + * @function toJSON + * @memberof ARModelData + * @instance + * @returns {Object.} JSON object + */ + ARModelData.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ARModelData; +})(); + +$root.GetARModelReq = (function() { + + /** + * Properties of a GetARModelReq. + * @exports IGetARModelReq + * @interface IGetARModelReq + * @property {number|null} [bizuin] GetARModelReq bizuin + * @property {string|null} [cosid] GetARModelReq cosid + * @property {number|null} [modelType] GetARModelReq modelType + * @property {number|null} [needData] GetARModelReq needData + * @property {number|null} [useIntranet] GetARModelReq useIntranet + * @property {number|null} [expireTime] GetARModelReq expireTime + */ + + /** + * Constructs a new GetARModelReq. + * @exports GetARModelReq + * @classdesc Represents a GetARModelReq. + * @implements IGetARModelReq + * @constructor + * @param {IGetARModelReq=} [properties] Properties to set + */ + function GetARModelReq(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetARModelReq bizuin. + * @member {number} bizuin + * @memberof GetARModelReq + * @instance + */ + GetARModelReq.prototype.bizuin = 0; + + /** + * GetARModelReq cosid. + * @member {string} cosid + * @memberof GetARModelReq + * @instance + */ + GetARModelReq.prototype.cosid = ""; + + /** + * GetARModelReq modelType. + * @member {number} modelType + * @memberof GetARModelReq + * @instance + */ + GetARModelReq.prototype.modelType = 0; + + /** + * GetARModelReq needData. + * @member {number} needData + * @memberof GetARModelReq + * @instance + */ + GetARModelReq.prototype.needData = 1; + + /** + * GetARModelReq useIntranet. + * @member {number} useIntranet + * @memberof GetARModelReq + * @instance + */ + GetARModelReq.prototype.useIntranet = 0; + + /** + * GetARModelReq expireTime. + * @member {number} expireTime + * @memberof GetARModelReq + * @instance + */ + GetARModelReq.prototype.expireTime = 0; + + /** + * Creates a new GetARModelReq instance using the specified properties. + * @function create + * @memberof GetARModelReq + * @static + * @param {IGetARModelReq=} [properties] Properties to set + * @returns {GetARModelReq} GetARModelReq instance + */ + GetARModelReq.create = function create(properties) { + return new GetARModelReq(properties); + }; + + /** + * Encodes the specified GetARModelReq message. Does not implicitly {@link GetARModelReq.verify|verify} messages. + * @function encode + * @memberof GetARModelReq + * @static + * @param {IGetARModelReq} message GetARModelReq message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetARModelReq.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.bizuin != null && Object.hasOwnProperty.call(message, "bizuin")) + writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.bizuin); + if (message.cosid != null && Object.hasOwnProperty.call(message, "cosid")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.cosid); + if (message.modelType != null && Object.hasOwnProperty.call(message, "modelType")) + writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.modelType); + if (message.needData != null && Object.hasOwnProperty.call(message, "needData")) + writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.needData); + if (message.useIntranet != null && Object.hasOwnProperty.call(message, "useIntranet")) + writer.uint32(/* id 5, wireType 0 =*/40).uint32(message.useIntranet); + if (message.expireTime != null && Object.hasOwnProperty.call(message, "expireTime")) + writer.uint32(/* id 6, wireType 0 =*/48).uint32(message.expireTime); + return writer; + }; + + /** + * Encodes the specified GetARModelReq message, length delimited. Does not implicitly {@link GetARModelReq.verify|verify} messages. + * @function encodeDelimited + * @memberof GetARModelReq + * @static + * @param {IGetARModelReq} message GetARModelReq message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetARModelReq.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetARModelReq message from the specified reader or buffer. + * @function decode + * @memberof GetARModelReq + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {GetARModelReq} GetARModelReq + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetARModelReq.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.GetARModelReq(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.bizuin = reader.uint32(); + break; + case 2: + message.cosid = reader.string(); + break; + case 3: + message.modelType = reader.uint32(); + break; + case 4: + message.needData = reader.uint32(); + break; + case 5: + message.useIntranet = reader.uint32(); + break; + case 6: + message.expireTime = reader.uint32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetARModelReq message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof GetARModelReq + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {GetARModelReq} GetARModelReq + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetARModelReq.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetARModelReq message. + * @function verify + * @memberof GetARModelReq + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetARModelReq.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.bizuin != null && message.hasOwnProperty("bizuin")) + if (!$util.isInteger(message.bizuin)) + return "bizuin: integer expected"; + if (message.cosid != null && message.hasOwnProperty("cosid")) + if (!$util.isString(message.cosid)) + return "cosid: string expected"; + if (message.modelType != null && message.hasOwnProperty("modelType")) + if (!$util.isInteger(message.modelType)) + return "modelType: integer expected"; + if (message.needData != null && message.hasOwnProperty("needData")) + if (!$util.isInteger(message.needData)) + return "needData: integer expected"; + if (message.useIntranet != null && message.hasOwnProperty("useIntranet")) + if (!$util.isInteger(message.useIntranet)) + return "useIntranet: integer expected"; + if (message.expireTime != null && message.hasOwnProperty("expireTime")) + if (!$util.isInteger(message.expireTime)) + return "expireTime: integer expected"; + return null; + }; + + /** + * Creates a GetARModelReq message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof GetARModelReq + * @static + * @param {Object.} object Plain object + * @returns {GetARModelReq} GetARModelReq + */ + GetARModelReq.fromObject = function fromObject(object) { + if (object instanceof $root.GetARModelReq) + return object; + var message = new $root.GetARModelReq(); + if (object.bizuin != null) + message.bizuin = object.bizuin >>> 0; + if (object.cosid != null) + message.cosid = String(object.cosid); + if (object.modelType != null) + message.modelType = object.modelType >>> 0; + if (object.needData != null) + message.needData = object.needData >>> 0; + if (object.useIntranet != null) + message.useIntranet = object.useIntranet >>> 0; + if (object.expireTime != null) + message.expireTime = object.expireTime >>> 0; + return message; + }; + + /** + * Creates a plain object from a GetARModelReq message. Also converts values to other types if specified. + * @function toObject + * @memberof GetARModelReq + * @static + * @param {GetARModelReq} message GetARModelReq + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetARModelReq.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.bizuin = 0; + object.cosid = ""; + object.modelType = 0; + object.needData = 1; + object.useIntranet = 0; + object.expireTime = 0; + } + if (message.bizuin != null && message.hasOwnProperty("bizuin")) + object.bizuin = message.bizuin; + if (message.cosid != null && message.hasOwnProperty("cosid")) + object.cosid = message.cosid; + if (message.modelType != null && message.hasOwnProperty("modelType")) + object.modelType = message.modelType; + if (message.needData != null && message.hasOwnProperty("needData")) + object.needData = message.needData; + if (message.useIntranet != null && message.hasOwnProperty("useIntranet")) + object.useIntranet = message.useIntranet; + if (message.expireTime != null && message.hasOwnProperty("expireTime")) + object.expireTime = message.expireTime; + return object; + }; + + /** + * Converts this GetARModelReq to JSON. + * @function toJSON + * @memberof GetARModelReq + * @instance + * @returns {Object.} JSON object + */ + GetARModelReq.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetARModelReq; +})(); + +$root.GetARModelResp = (function() { + + /** + * Properties of a GetARModelResp. + * @exports IGetARModelResp + * @interface IGetARModelResp + * @property {IARModelData|null} [modelData] GetARModelResp modelData + * @property {string|null} [url] GetARModelResp url + * @property {string|null} [host] GetARModelResp host + * @property {string|null} [errMsg] GetARModelResp errMsg + * @property {number|null} [expireTime] GetARModelResp expireTime + * @property {number|null} [status] GetARModelResp status + */ + + /** + * Constructs a new GetARModelResp. + * @exports GetARModelResp + * @classdesc Represents a GetARModelResp. + * @implements IGetARModelResp + * @constructor + * @param {IGetARModelResp=} [properties] Properties to set + */ + function GetARModelResp(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetARModelResp modelData. + * @member {IARModelData|null|undefined} modelData + * @memberof GetARModelResp + * @instance + */ + GetARModelResp.prototype.modelData = null; + + /** + * GetARModelResp url. + * @member {string} url + * @memberof GetARModelResp + * @instance + */ + GetARModelResp.prototype.url = ""; + + /** + * GetARModelResp host. + * @member {string} host + * @memberof GetARModelResp + * @instance + */ + GetARModelResp.prototype.host = ""; + + /** + * GetARModelResp errMsg. + * @member {string} errMsg + * @memberof GetARModelResp + * @instance + */ + GetARModelResp.prototype.errMsg = ""; + + /** + * GetARModelResp expireTime. + * @member {number} expireTime + * @memberof GetARModelResp + * @instance + */ + GetARModelResp.prototype.expireTime = 0; + + /** + * GetARModelResp status. + * @member {number} status + * @memberof GetARModelResp + * @instance + */ + GetARModelResp.prototype.status = 0; + + /** + * Creates a new GetARModelResp instance using the specified properties. + * @function create + * @memberof GetARModelResp + * @static + * @param {IGetARModelResp=} [properties] Properties to set + * @returns {GetARModelResp} GetARModelResp instance + */ + GetARModelResp.create = function create(properties) { + return new GetARModelResp(properties); + }; + + /** + * Encodes the specified GetARModelResp message. Does not implicitly {@link GetARModelResp.verify|verify} messages. + * @function encode + * @memberof GetARModelResp + * @static + * @param {IGetARModelResp} message GetARModelResp message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetARModelResp.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.modelData != null && Object.hasOwnProperty.call(message, "modelData")) + $root.ARModelData.encode(message.modelData, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.url != null && Object.hasOwnProperty.call(message, "url")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.url); + if (message.host != null && Object.hasOwnProperty.call(message, "host")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.host); + if (message.errMsg != null && Object.hasOwnProperty.call(message, "errMsg")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.errMsg); + if (message.expireTime != null && Object.hasOwnProperty.call(message, "expireTime")) + writer.uint32(/* id 5, wireType 0 =*/40).uint32(message.expireTime); + if (message.status != null && Object.hasOwnProperty.call(message, "status")) + writer.uint32(/* id 6, wireType 0 =*/48).uint32(message.status); + return writer; + }; + + /** + * Encodes the specified GetARModelResp message, length delimited. Does not implicitly {@link GetARModelResp.verify|verify} messages. + * @function encodeDelimited + * @memberof GetARModelResp + * @static + * @param {IGetARModelResp} message GetARModelResp message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetARModelResp.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetARModelResp message from the specified reader or buffer. + * @function decode + * @memberof GetARModelResp + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {GetARModelResp} GetARModelResp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetARModelResp.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.GetARModelResp(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.modelData = $root.ARModelData.decode(reader, reader.uint32()); + break; + case 2: + message.url = reader.string(); + break; + case 3: + message.host = reader.string(); + break; + case 4: + message.errMsg = reader.string(); + break; + case 5: + message.expireTime = reader.uint32(); + break; + case 6: + message.status = reader.uint32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetARModelResp message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof GetARModelResp + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {GetARModelResp} GetARModelResp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetARModelResp.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetARModelResp message. + * @function verify + * @memberof GetARModelResp + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetARModelResp.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.modelData != null && message.hasOwnProperty("modelData")) { + var error = $root.ARModelData.verify(message.modelData); + if (error) + return "modelData." + error; + } + if (message.url != null && message.hasOwnProperty("url")) + if (!$util.isString(message.url)) + return "url: string expected"; + if (message.host != null && message.hasOwnProperty("host")) + if (!$util.isString(message.host)) + return "host: string expected"; + if (message.errMsg != null && message.hasOwnProperty("errMsg")) + if (!$util.isString(message.errMsg)) + return "errMsg: string expected"; + if (message.expireTime != null && message.hasOwnProperty("expireTime")) + if (!$util.isInteger(message.expireTime)) + return "expireTime: integer expected"; + if (message.status != null && message.hasOwnProperty("status")) + if (!$util.isInteger(message.status)) + return "status: integer expected"; + return null; + }; + + /** + * Creates a GetARModelResp message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof GetARModelResp + * @static + * @param {Object.} object Plain object + * @returns {GetARModelResp} GetARModelResp + */ + GetARModelResp.fromObject = function fromObject(object) { + if (object instanceof $root.GetARModelResp) + return object; + var message = new $root.GetARModelResp(); + if (object.modelData != null) { + if (typeof object.modelData !== "object") + throw TypeError(".GetARModelResp.modelData: object expected"); + message.modelData = $root.ARModelData.fromObject(object.modelData); + } + if (object.url != null) + message.url = String(object.url); + if (object.host != null) + message.host = String(object.host); + if (object.errMsg != null) + message.errMsg = String(object.errMsg); + if (object.expireTime != null) + message.expireTime = object.expireTime >>> 0; + if (object.status != null) + message.status = object.status >>> 0; + return message; + }; + + /** + * Creates a plain object from a GetARModelResp message. Also converts values to other types if specified. + * @function toObject + * @memberof GetARModelResp + * @static + * @param {GetARModelResp} message GetARModelResp + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetARModelResp.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.modelData = null; + object.url = ""; + object.host = ""; + object.errMsg = ""; + object.expireTime = 0; + object.status = 0; + } + if (message.modelData != null && message.hasOwnProperty("modelData")) + object.modelData = $root.ARModelData.toObject(message.modelData, options); + if (message.url != null && message.hasOwnProperty("url")) + object.url = message.url; + if (message.host != null && message.hasOwnProperty("host")) + object.host = message.host; + if (message.errMsg != null && message.hasOwnProperty("errMsg")) + object.errMsg = message.errMsg; + if (message.expireTime != null && message.hasOwnProperty("expireTime")) + object.expireTime = message.expireTime; + if (message.status != null && message.hasOwnProperty("status")) + object.status = message.status; + return object; + }; + + /** + * Converts this GetARModelResp to JSON. + * @function toJSON + * @memberof GetARModelResp + * @instance + * @returns {Object.} JSON object + */ + GetARModelResp.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetARModelResp; +})(); + +module.exports = $root; diff --git a/src/cloudfunctions/ARDemo/svrkit-utils.static.json b/src/cloudfunctions/ARDemo/svrkit-utils.static.json new file mode 100644 index 0000000..041986a --- /dev/null +++ b/src/cloudfunctions/ARDemo/svrkit-utils.static.json @@ -0,0 +1,299 @@ +{ + "nested": { + "enARModelStatus": { + "values": { + "ARModel_Status_Default": 0, + "ARModel_Status_Init": 1, + "ARModel_Status_Sparse_Finished": 2, + "ARModel_Status_3d_Finished": 3, + "ARModel_Status_Object_Finished": 4, + "ARModel_Status_Marker_Finished": 5, + "ARModel_Status_Fail": 100 + } + }, + "enARAlgorithmType": { + "values": { + "Algorithm_Type_3D_Object": 1, + "Algorithm_Type_3D_Marker": 2 + } + }, + "enARModelType": { + "values": { + "ARModel_Type_Sparse": 1, + "ARModel_Type_3D": 2, + "ARModel_Type_Marker": 3 + } + }, + "ModelCos": { + "fields": { + "modelList": { + "rule": "repeated", + "type": "ModelCosId", + "id": 1 + } + }, + "nested": { + "ModelCosId": { + "fields": { + "modelType": { + "type": "enARModelType", + "id": 1 + }, + "modelCosid": { + "type": "string", + "id": 2 + }, + "errmsg": { + "type": "string", + "id": 3 + } + } + } + } + }, + "ARModel": { + "options": { + "(mmbizintpkv.KvTableTestID)": 916 + }, + "fields": { + "cosid": { + "type": "string", + "id": 1 + }, + "bizuin": { + "type": "uint32", + "id": 2 + }, + "name": { + "type": "string", + "id": 3 + }, + "uploadTime": { + "type": "uint32", + "id": 4 + }, + "modelStatus": { + "type": "enARModelStatus", + "id": 5 + }, + "algoType": { + "type": "enARAlgorithmType", + "id": 6 + }, + "modelCos": { + "type": "ModelCos", + "id": 7 + } + } + }, + "GetARModelListReq": { + "fields": { + "bizuin": { + "type": "uint32", + "id": 1 + }, + "modelStatus": { + "type": "uint32", + "id": 2 + }, + "startTime": { + "type": "uint32", + "id": 3 + }, + "endTime": { + "type": "uint32", + "id": 4 + }, + "offset": { + "type": "uint32", + "id": 5 + }, + "limit": { + "type": "uint32", + "id": 6 + }, + "algoType": { + "type": "uint32", + "id": 7 + } + } + }, + "GetARModelListResp": { + "fields": { + "modelList": { + "rule": "repeated", + "type": "ARModel", + "id": 1 + } + } + }, + "GenerateARModelReq": { + "fields": { + "bizuin": { + "type": "uint32", + "id": 1 + }, + "name": { + "type": "string", + "id": 2 + }, + "buffer": { + "type": "bytes", + "id": 3 + }, + "url": { + "type": "string", + "id": 4 + }, + "algoType": { + "type": "enARAlgorithmType", + "id": 5 + }, + "lod": { + "type": "uint32", + "id": 6, + "options": { + "default": 0 + } + }, + "getmesh": { + "type": "bool", + "id": 7, + "options": { + "default": false + } + }, + "gettexture": { + "type": "bool", + "id": 8, + "options": { + "default": false + } + } + } + }, + "GenerateARModelResp": { + "fields": { + "url": { + "type": "string", + "id": 1 + }, + "host": { + "type": "string", + "id": 2 + }, + "cosid": { + "type": "string", + "id": 3 + }, + "lod": { + "type": "uint32", + "id": 4, + "options": { + "default": 0 + } + }, + "getmesh": { + "type": "bool", + "id": 5, + "options": { + "default": false + } + }, + "gettexture": { + "type": "bool", + "id": 6, + "options": { + "default": false + } + } + } + }, + "ARModelData": { + "fields": { + "meshModel": { + "type": "bytes", + "id": 1 + }, + "textureModel": { + "type": "bytes", + "id": 2 + }, + "preview": { + "type": "bytes", + "id": 3 + }, + "meshBlob": { + "type": "bytes", + "id": 4 + }, + "textureBlob": { + "type": "bytes", + "id": 5 + } + } + }, + "GetARModelReq": { + "fields": { + "bizuin": { + "type": "uint32", + "id": 1 + }, + "cosid": { + "type": "string", + "id": 2 + }, + "modelType": { + "type": "uint32", + "id": 3 + }, + "needData": { + "type": "uint32", + "id": 4, + "options": { + "default": 1 + } + }, + "useIntranet": { + "type": "uint32", + "id": 5, + "options": { + "default": 0 + } + }, + "expireTime": { + "type": "uint32", + "id": 6 + } + } + }, + "GetARModelResp": { + "fields": { + "modelData": { + "type": "ARModelData", + "id": 1 + }, + "url": { + "type": "string", + "id": 2 + }, + "host": { + "type": "string", + "id": 3 + }, + "errMsg": { + "type": "string", + "id": 4 + }, + "expireTime": { + "type": "uint32", + "id": 5 + }, + "status": { + "type": "uint32", + "id": 6 + } + } + } + } +} \ No newline at end of file diff --git a/src/cloudfunctions/ARDemo/svrkit.config.js b/src/cloudfunctions/ARDemo/svrkit.config.js new file mode 100644 index 0000000..962f549 --- /dev/null +++ b/src/cloudfunctions/ARDemo/svrkit.config.js @@ -0,0 +1,34 @@ +// 模块导出一个数组,每个元素是一个模块配置项 +module.exports = [ + { + // 模块对应的 proto 文件相对于该文件的路径 + proto: './proto/mmbizwxaintparDemo.proto', + // 模块 service name + serviceName: 'Mmbizwxaintpar', + // 模块 magic 数字 + magic: 11081, + // 模块导出的接口方法 + functions: { + // 接口名字及其对应的接口调用信息 + GenerateARModel: { + // 接口的 cmdid + cmdid: 1, + // 接口的 request 对应的 protobuf message 名字,需在 proto 文件中定义 + req: 'GenerateARModelReq', + // 接口的 response 对应的 protobuf message 名字,需在 proto 文件中定义 + res: 'GenerateARModelResp', + }, + // 接口的名字及其对应的接口调用信息 + GetARModelList: { + cmdid: 3, + req: 'GetARModelListReq', + res: 'GetARModelListResp', + }, + GetARModel: { + cmdid: 4, + req: 'GetARModelReq', + res: 'GetARModelResp', + } + } + } +] \ No newline at end of file diff --git a/src/cloudfunctions/ARDemo/wx-server-sdk-wxg-service/CHANGELOG.md b/src/cloudfunctions/ARDemo/wx-server-sdk-wxg-service/CHANGELOG.md new file mode 100644 index 0000000..33c14fd --- /dev/null +++ b/src/cloudfunctions/ARDemo/wx-server-sdk-wxg-service/CHANGELOG.md @@ -0,0 +1,12 @@ +## 0.6.0 + +1. `A` 新增 `callWXSvrkit` 支持传入 `headuin` 和 `routeMethod` + +## 0.2.0 + +1. `A` 新增 `callTencentInnerAPI` 内部接口 + +## 0.1.0 + +1. `A` 新增 `callWXSvrkit` 内部接口 +2. `A` 新增 `callWXInnerAPI` 内部接口 diff --git a/src/cloudfunctions/ARDemo/wx-server-sdk-wxg-service/LICENSE b/src/cloudfunctions/ARDemo/wx-server-sdk-wxg-service/LICENSE new file mode 100644 index 0000000..f27a3b5 --- /dev/null +++ b/src/cloudfunctions/ARDemo/wx-server-sdk-wxg-service/LICENSE @@ -0,0 +1,22 @@ + +MIT License + +Copyright (c) 2018 wechat-miniprogram + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/src/cloudfunctions/ARDemo/wx-server-sdk-wxg-service/README.md b/src/cloudfunctions/ARDemo/wx-server-sdk-wxg-service/README.md new file mode 100644 index 0000000..094c39f --- /dev/null +++ b/src/cloudfunctions/ARDemo/wx-server-sdk-wxg-service/README.md @@ -0,0 +1,326 @@ +# WXG Service for Mini Program Server SDK + +## wx-server-sdk 插件使用方式 + +需同时安装依赖 `wx-server-sdk` 和 `@tencent/wx-server-sdk-wxg-service`,后者必须使用 `tnpm` 安装。 + +注册 SDK 插件的示例代码: + +```js +const cloud = require('wx-server-sdk') +const wxgService = require('@tencent/wx-server-sdk-wxg-service') + +// 将 wxg service 注册到 cloud 上,获得 callWXSvrkit, callTencentInnerAPI 等内部接口 +cloud.registerService(wxgService) + +exports.main = async (event, context) => { + // 现在可以使用 callWXSvrkit 等内部接口了 + cloud.callWXSvrkit({ + // .... + }) +} +``` + +## 兼容性说明 + +从 `0.6.1` 起,需搭配 `wx-server-sdk` `2.0.3` 或以上使用。 + +## 接口 + +WXG Service 包含以下接口 + +### callTencentInnerAPI:调用腾讯内部服务 + +```js +const cloud = require('wx-server-sdk') +const wxgService = require('@tencent/wx-server-sdk-wxg-service') + +// 将 wxg service 注册到 cloud 上,获得 callWXSvrkit 接口 +cloud.registerService(wxgService) + +exports.main = async (event, context) => { + const callResult = await cloud.callTencentInnerAPI({ + cmdid: 12345, // 必填 + modid: 67890, // 必填 + path: '/aaa/bbb?xxx=1', // 必填,除域名外 URL 路径。URL 参数选填 + https: false, // 选填,是否使用 https + method: 'post', // 必填,HTTP Method + // 选填,HTTP 头部 + headers: { + 'Content-Type': 'application/json' + }, + // 选填,body 可以是 string 类型或 Buffer 类型 + body: JSON.stringify({ + x: 1, + y: 2, + }), + /** + * autoParse: + * 是否自动 parse 回包包体,如果是,则: + * 在 content-type 为 application/json 时自动 parse JSON + * 在 content-type 为 text/plain 时自动转为 string + * 其余情况不 parse,返回原始包体 buffer + */ + autoParse: true, + }) + + console.log(callResult) + + /** + * callResult: + * { + * errCode: 0, + * errMsg: 'callTencetnInnerAPI:ok', + * contentType: 'application/json', // 回包 content-type + * body: { x: 1 }, // 回包 http response body + * statusCode: 200, // 回包 http status code + * rawHeaders: [ // 回包 http headers + * { + * key: 'content-type', + * value: 'application' + * }, + * // ... + * ] + * } + */ + return callResult +} +``` + +### callWXSvrkit:调用微信 Svrkit 服务 + +供 WXG 内部小程序通过云函数调用微信 svrkit 模块。 + +因为 svrkit 的数据交换协议是 `protobuf`,且 svrkit 的模块调用需要一些模块信息,因此为了简化前端调用方式、省去接口数据处理和调用信息处理(pb 序列化与反序列化、模块信息传入)、我们也提供了一个 `@tencent/cloud-functions-tools` 工具用于将 svrkit 的调用流程配置化、标准化,开发者只需填写配置文件和放置 `proto` 文件,即可用工具生成辅助模块,实际调用时即可传入 `JSON` 对象获取 `JSON` 返回值。 + + +示例云函数已放置在公开的内部 git 仓库,仓库 `cloudfunctions` 目录下有两个子目录分别是 `svrkit-echo` 和 `svrkit-check-developer`这两个示例云函数,仓库地址 :https://git.code.oa.com/mp-public/cloud-demos + + +### Step 1:安装 `@tencent/cloud-functions-tools` + +首先在需要使用该能力的云函数的目录下安装 `@tencent/cloud-functions-tools`: + +```shell +npm install --save-dev @tencent/cloud-functions-tools@latest +``` + +注意,云函数中同时需安装 `wx-server-sdk` 和 `@tencent/wx-server-sdk-wxg-service` + +```bash +npm install --save wx-server-sdk@latest +npm install --save @tencent/wx-server-sdk-wxg-service@latest +``` + + + +### Step 2:配置 + +在云函数目录下建立 `svrkit.config.js` 文件,用于填写 `svrkit` 调用的配置信息,并放置好相应 proto 文件,示例如下(从后台的原始 pb 文件提取模块调用信息的方法参见底部的[svrkit 调用信息提取](#extract_pb_info)): + +```js +// 模块导出一个数组,每个元素是一个模块配置项 +module.exports = [ + { + // 模块对应的 proto 文件相对于该文件的路径 + proto: './proto/mmbizwxaqbasedemo.proto', + // 模块 service name + serviceName: 'MMBizWxaQbaseDemo', + // 模块 magic 数字 + magic: 18501, + // 模块导出的接口方法 + functions: { + // 接口 EchoTest 的名字及其对应的接口调用信息 + EchoTest: { + // 接口的 cmdid + cmdid: 1, + // 接口的 request 对应的 protobuf message 名字,需在 proto 文件中定义 + req: 'EchoTestRequest', + // 接口的 response 对应的 protobuf message 名字,需在 proto 文件中定义 + res: 'EchoTestResponse', + }, + // 接口 CheckWxaDeveloper 的名字及其对应的接口调用信息 + CheckWxaDeveloper: { + cmdid: 2, + req: 'CheckWxaDeveloperRequest', + } + } + } +] +``` + + + +示例的 `./proto/mmbizwxaqbasedemo.proto` 文件: + +``` +message MessageData +{ + optional string Data = 1; +} + +message EchoTestRequest +{ + required bool OpenTime = 1; // 是否需要服务端返回时间戳,required 必填 + + // 以下 optional 字段如果有填,在Resp中返回对应字段 + optional int32 IntData = 2; + optional string StringData = 3; + repeated uint32 UintListData = 4; + optional MessageData MessageData = 5; +} + +message EchoTestResponse +{ + optional uint32 TimeStamp = 1; + + optional int32 IntRespData = 2; + optional string StringRespData = 3; + repeated uint32 UintListRespData = 4; + optional MessageData MessageRespData = 5; +} + +// 校验是否为小程序开发者, 接口返回:0 是,1 否 +message CheckWxaDeveloperRequest +{ + optional uint32 appuin = 1; + optional uint32 useruin = 2; +} +``` + + + +### Step 3:用工具生成辅助类 + +用 `@tencent/cloud-functions-tools` 提供的工具根据 `svrkit.config.js` 生成辅助的 `svrkit-utils.js` 模块: + +```bash +# 在云函数目录执行以下命令,--config (或 -c) 对应的路径如果不同则替换为自己的路径 +./node_modules/.bin/svrkit-utils --config ./svrkit.config.js +# 如需自定义输出文件的路径,可以传入 --output (或 -o) +./node_modules/.bin/svrkit-utils --config ./svrkit.config.js --output ./svrkit-utils.js +``` + +> 注:可用此命令查看 cloud-functions-tools 的用法:./node_modules/.bin/svrkit-utils -h + +可以在 `package.json` 中添加一个 `script` 命令自动化这个流程: + +```json +{ + "scripts": { + "svrkit": "svrkit-utils --config ./svrkit.config.js --output ./svrkit-utils.js" + } +} +``` + +然后之后就可以用如下命令生成 js 模块了: + +```bash +npm run svrkit +``` + + + +### Step 4:发起调用 + + + +用 `callWXSvrkit` 方法配合生成的 `svrkit-utils.js` 模块发起 svrkit 调用 + + + +**callWXSvrkit 接口参数说明** + +| 参数 | 类型 | 必填 | 说明 | +| ---------- | ---- | ---- | --------------------------------------------------- | +| pbInstance | | 是 | 通过 `svrkit-utils.js` 的 `generate` 方法生成的对象 | +| timeout | number | 否 | 超时失败时间 | + +**callWXSvrkit 接口返回值说明** + +| 参数 | 类型 | 说明 | 最低版本 | +| -------------- | ------ | ------------------------------------------------------------ | -------- | +| errMsg | String | 通用返回结果 | | +| ret | Number | svrkit 模块调用结果,0 表示成功调到了目标模块,-306 表示小程序未在内部小程序登记平台登记,-307 表示小程序没有调用目标模块的权限 | | +| result | Number | 目标模块的调用返回码 | | +| respBody | Object | 目标模块返回的最终 JSON 对象 | | +| respBodyBuffer | Buffer | 目标模块返回的 pb buffer,有 respBody 可不用关注 | | + + + +调用代码示例: + +```js +const cloud = require('wx-server-sdk') +const wxgService = require('@tencent/wx-server-sdk-wxg-service') + +cloud.registerService(wxgService) +cloud.init() + +const svrkitUtils = require('./svrkit-utils.js') + +exports.main = async (event, context) => { + + return await cloud.callWXSvrkit({ + pbInstance: svrkitUtils.generate({ + serviceName: 'MMBizWxaQbaseDemo', + funcName: 'EchoTest', + data: { + OpenTime: event.OpenTime || true, + IntData: event.IntData || 10, + StringData: event.StringData || 'default_string', + UintListData: event.UintListData || [1, 2, 3], + MessageData: event.MessageData || { + Data: 'default_data_string' + }, + } + }) + }) + +} +``` + +预期返回: + +```js +{ + "ret": 0, + "result": 0, + "respBodyBuffer": Buffer, + "respBody": { + "TimeStamp": 1543501760, + "IntRespData": 10, + "StringRespData": "default_string", + "UintListRespData": [ + 1, + 2, + 3 + ], + "MessageRespData": { + "Data": "default_data_string" + } + }, + "errMsg": "callWXSvrkit:ok" +} +``` + +调用数据流如图: + +![svrkit 调用数据流](http://km.oa.com/files/photos/pictures//20181130//1543559018_58.png) + + +从后台原始 svrkit pb 信息中提取模块调用信息: + +1. `message` 定义的是 pb 数据接口体的定义,通常即是请求包与回包的定义 +2. `service` 定义的是 svrkit 模块的 `serviceName` +3. `tlvpickle.Magic` 定义的是模块 `magic` +4. `rpc` 后跟的词即是模块暴露的接口方法名,即 `funcName` +5. `rpc` 定义中包含了请求体结构和返回体结构,如 `EchoTest` 方法的请求体结构为 `EchoTestRequest`,返回体结构为 `EchoTestResponse` +6. `tlvpickle.SKBuiltinEmpty_PB` 是特殊的结构体,表示空结构体 + +![svrkit 模块调用信息](http://km.oa.com/files/photos/captures/201812/1543846169_62_w1668_h2228.png) + + +### callSvrkit: 调用微信 Svrkit 服务 + +> 已废弃,请使用 callWXSvrkit diff --git a/src/cloudfunctions/ARDemo/wx-server-sdk-wxg-service/index.js b/src/cloudfunctions/ARDemo/wx-server-sdk-wxg-service/index.js new file mode 100644 index 0000000..0f7b43d --- /dev/null +++ b/src/cloudfunctions/ARDemo/wx-server-sdk-wxg-service/index.js @@ -0,0 +1,5876 @@ +module.exports = +/******/ (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/api/inner/index.ts"); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ "./src/api/inner/api/api.ts": +/*!**********************************!*\ + !*** ./src/api/inner/api/api.ts ***! + \**********************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getAPIs = void 0; +const callWXInnerAPI_1 = __webpack_require__(/*! ./callWXInnerAPI */ "./src/api/inner/api/callWXInnerAPI.ts"); +const callWXSvrkit_1 = __webpack_require__(/*! ./callWXSvrkit */ "./src/api/inner/api/callWXSvrkit.ts"); +const callSvrkit_1 = __webpack_require__(/*! ./callSvrkit */ "./src/api/inner/api/callSvrkit.ts"); +const callTencentInnerAPI_1 = __webpack_require__(/*! ./callTencentInnerAPI */ "./src/api/inner/api/callTencentInnerAPI.ts"); +function getAPIs(cloud) { + return { + callWXInnerAPI: callWXInnerAPI_1.default(cloud), + callWXSvrkit: callWXSvrkit_1.default(cloud), + callSvrkit: callSvrkit_1.default(cloud), + callTencentInnerAPI: callTencentInnerAPI_1.default(cloud), + }; +} +exports.getAPIs = getAPIs; + + +/***/ }), + +/***/ "./src/api/inner/api/callSvrkit.ts": +/*!*****************************************!*\ + !*** ./src/api/inner/api/callSvrkit.ts ***! + \*****************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// @deprecated kainniu api +Object.defineProperty(exports, "__esModule", { value: true }); +const error_1 = __webpack_require__(/*! utils/error */ "./src/utils/error.ts"); +const msg_1 = __webpack_require__(/*! utils/msg */ "./src/utils/msg.ts"); +const openapi_1 = __webpack_require__(/*! ../../../protobuf/openapi */ "./src/protobuf/openapi.js"); +const error_config_1 = __webpack_require__(/*! config/error.config */ "./src/config/error.config.ts"); +const API_NAME = 'callSvrkit'; +function getCallSvrkit(cloud) { + return function callSvrkit(options) { + return new Promise(async (resolve, reject) => { + if (!options) { + return reject(error_1.returnAsFinalCloudSDKError({ + errMsg: 'Params for callSvrkit must be an object instead of ' + typeof options, + }, API_NAME)); + } + try { + if (!options.pbInstance) { + throw new Error('pbInstance must be provided'); + } + } + catch (e) { + return reject(error_1.returnAsFinalCloudSDKError(e, API_NAME)); + } + try { + const svrkitData = { + apiName: options.pbInstance.data.apiName, + reqData: options.pbInstance.data.reqBodyBuffer, + }; + const pbMessage = openapi_1.CommApiData.encode({ + apiType: openapi_1.CommApiData.ApiType.SVRKIT_API, + svrkitData, + }).finish(); + const wxResp = await cloud.provider.api.callWXOpenAPI({ + api: API_NAME, + data: Buffer.from(pbMessage), + }, { + instance: cloud.instance, + }); + let svrkitResponse; + let svrkitResponseBuffer; + let svrkitErrCode = 0; + if (wxResp) { + if (wxResp.errorCode) { + // wx system error, for example: no permission + throw new error_1.CloudSDKError({ + errCode: error_config_1.ERR_CODE[error_config_1.ERR_CODE[wxResp.errorCode]] || wxResp.errorCode, + errMsg: `${error_config_1.ERR_CODE[error_config_1.ERR_CODE.WX_SYSTEM_ERROR]}: error code: ${wxResp.errorCode}` + }); + } + else { + svrkitErrCode = wxResp.svrkitErrorCode; + if (wxResp.svrkitErrorCode !== 0) { + throw { + errCode: error_config_1.ERR_CODE.WX_SYSTEM_ERROR, + errMsg: `internal svrkit error, code ${wxResp.svrkitErrorCode}`, + }; + } + if (!wxResp.respData) { + throw { + errCode: error_config_1.ERR_CODE.WX_SYSTEM_ERROR, + errMsg: `internal svrkit error, empty respData`, + }; + } + svrkitResponseBuffer = wxResp.respData; + const pbRespMsg = options.pbInstance.resProto.decode(wxResp.respData); + if (options.convertResp && options.convertResp.bytes === false) { + if (!options.pbInstance.resProto) { + throw new Error('please ensure \'pbInstance\' is generated using @tencent/cloud-functions-tools whose version is greater or equal to 1.3.0'); + } + svrkitResponse = options.pbInstance.resProto.toObject(pbRespMsg, { + long: String + }); + } + else { + svrkitResponse = pbRespMsg.toJSON(); + } + } + } + resolve({ + svrkitErrCode, + svrkitResponse, + svrkitResponseBuffer, + errMsg: msg_1.apiSuccessMsg(API_NAME), + errCode: 0, + }); + } + catch (e) { + const error = error_1.returnAsFinalCloudSDKError(e, API_NAME); + return reject(error); + } + }); + }; +} +exports.default = getCallSvrkit; + + +/***/ }), + +/***/ "./src/api/inner/api/callTencentInnerAPI.ts": +/*!**************************************************!*\ + !*** ./src/api/inner/api/callTencentInnerAPI.ts ***! + \**************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +const assert_1 = __webpack_require__(/*! utils/assert */ "./src/utils/assert.ts"); +const error_1 = __webpack_require__(/*! utils/error */ "./src/utils/error.ts"); +const msg_1 = __webpack_require__(/*! utils/msg */ "./src/utils/msg.ts"); +const openapi_1 = __webpack_require__(/*! ../../../protobuf/openapi */ "./src/protobuf/openapi.js"); +const error_config_1 = __webpack_require__(/*! config/error.config */ "./src/config/error.config.ts"); +const utils_1 = __webpack_require__(/*! utils/utils */ "./src/utils/utils.ts"); +const getHTTPMethodNumber = (method) => { + switch (method.toLowerCase()) { + case 'get': { + return openapi_1.HTTP_METHODS.HTTP_GET; + } + case 'post': { + return openapi_1.HTTP_METHODS.HTTP_POST; + } + case 'put': { + return openapi_1.HTTP_METHODS.HTTP_PUT; + } + case 'patch': { + return openapi_1.HTTP_METHODS.HTTP_PATCH; + } + case 'head': { + return openapi_1.HTTP_METHODS.HTTP_HEAD; + } + case 'delete': { + return openapi_1.HTTP_METHODS.HTTP_DELETE; + } + default: { + throw new Error(`unsupported HTTP method ${method}`); + } + } +}; +const API_NAME = 'callTencentInnerAPI'; +function getCallTencentInnerAPI(cloud) { + return function callTencentInnerAPI(options) { + const apiName = 'callTencentInnerAPI'; + return new Promise(async (resolve, reject) => { + if (!options) { + return reject(error_1.returnAsFinalCloudSDKError({ + errMsg: 'Params for callTencentInnerAPI must be an object instead of ' + typeof options, + }, apiName)); + } + try { + assert_1.assertType(options, { + modid: 'number', + cmdid: 'number', + path: 'string', + method: 'string', + }); + if (options.headers) { + assert_1.assertType(options, { + headers: 'object', + }); + } + } + catch (e) { + return reject(error_1.returnAsFinalCloudSDKError(e, apiName)); + } + try { + const innerData = { + modid: options.modid, + cmdid: options.cmdid, + url: options.path, + method: getHTTPMethodNumber(options.method), + useHttps: options.https, + headers: [], + }; + if (options.headers) { + for (const key in options.headers) { + innerData.headers.push(`${key.toLowerCase()}: ${options.headers[key]}`); + } + } + if (options.body) { + // @ts-ignore + innerData.body = Buffer.from(options.body); + } + const pbMessage = openapi_1.CommApiData.encode({ + apiType: openapi_1.CommApiData.ApiType.INNER_API, + innerData, + }).finish(); + const wxResp = await cloud.provider.api.callWXOpenAPI({ + api: API_NAME, + data: Buffer.from(pbMessage), + }, { + // this is the new protocol + instance: cloud.instance, + // @deprecated + // the following 2 lines are deprecated, for compatibility only + // to be deleted. + defaultConfig: utils_1.getServiceConfigFromDefaultConfig(cloud.config), + apiConfig: options.config, + // @ts-ignore + version: options.apiVersion || 'v2', + }); + let body; + let contentType = ''; + let statusCode; + let rawHeaders = []; + let err; + if (wxResp) { + if (options.autoParse) { + if (/application\/json/.test(wxResp.contentType)) { + // json response + try { + body = JSON.parse(wxResp.respData.toString()); + } + catch (parseWXRespJSONError) { + // wx server says it's a json but instead it is not a valid json + throw new error_1.CloudSDKError({ + errCode: error_config_1.ERR_CODE.WX_SYSTEM_ERROR, + errMsg: msg_1.apiFailMsg(API_NAME, `response body is not a valid json: ${wxResp.respData.toString()}`) + }); + } + } + else if (/text\/plain/.test(wxResp.contentType)) { + // text response + body = wxResp.respData.toString(); + } + } + if (!body) { + // buffer body + body = wxResp.respData; + } + if (wxResp.contentType) { + contentType = wxResp.contentType.trim(); + } + if (wxResp.httpCode) { + statusCode = wxResp.httpCode; + } + if (wxResp.headers) { + // @ts-ignore + rawHeaders = wxResp.headers; + } + } + else { + throw { + errCode: error_config_1.ERR_CODE.WX_SYSTEM_ERROR, + errMsg: `internal server error, empty resp buffer`, + }; + } + if (err) { + reject(err); + return; + } + resolve({ + body, + contentType, + statusCode, + rawHeaders, + errMsg: msg_1.apiSuccessMsg(API_NAME), + errCode: 0, + }); + } + catch (e) { + const error = error_1.returnAsFinalCloudSDKError(e, apiName); + return reject(error); + } + }); + }; +} +exports.default = getCallTencentInnerAPI; + + +/***/ }), + +/***/ "./src/api/inner/api/callWXInnerAPI.ts": +/*!*********************************************!*\ + !*** ./src/api/inner/api/callWXInnerAPI.ts ***! + \*********************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +const assert_1 = __webpack_require__(/*! utils/assert */ "./src/utils/assert.ts"); +const error_1 = __webpack_require__(/*! utils/error */ "./src/utils/error.ts"); +const msg_1 = __webpack_require__(/*! utils/msg */ "./src/utils/msg.ts"); +function getCallWXInnerAPI(cloud) { + return function callWXInnerAPI(options) { + const apiName = 'callWXInnerAPI'; + return new Promise(async (resolve, reject) => { + if (!options) { + return reject(error_1.returnAsFinalCloudSDKError({ + errMsg: 'Params for callWXInnerAPI must be an object instead of ' + typeof options, + }, apiName)); + } + try { + assert_1.assertType(options, { + cmdid: 'number' + }); + } + catch (e) { + return reject(error_1.returnAsFinalCloudSDKError(e, apiName)); + } + try { + const result = await cloud.getAPIs().callOpenAPI({ + api: '/inner/wxtransfer', + data: { + cmdid: options.cmdid, + req_data: JSON.stringify(options.data || {}), + }, + config: options.config, + }); + let parsedResult = result.result; + try { + if (typeof parsedResult === 'string') { + parsedResult = JSON.parse(parsedResult); + } + } + catch (_) { + // no nothing + } + return resolve({ + result: parsedResult, + errMsg: msg_1.apiSuccessMsg(apiName), + }); + } + catch (e) { + const error = error_1.returnAsFinalCloudSDKError(e, apiName); + return reject(error); + } + }); + }; +} +exports.default = getCallWXInnerAPI; + + +/***/ }), + +/***/ "./src/api/inner/api/callWXSvrkit.ts": +/*!*******************************************!*\ + !*** ./src/api/inner/api/callWXSvrkit.ts ***! + \*******************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +const assert_1 = __webpack_require__(/*! utils/assert */ "./src/utils/assert.ts"); +const error_1 = __webpack_require__(/*! utils/error */ "./src/utils/error.ts"); +const msg_1 = __webpack_require__(/*! utils/msg */ "./src/utils/msg.ts"); +function getCallWXSvrkit(cloud) { + return function callWXSvrkit(options) { + const apiName = 'callWXSvrkit'; + return new Promise(async (resolve, reject) => { + if (!options) { + return reject(error_1.returnAsFinalCloudSDKError({ + errMsg: 'Params for callWXSvrkit must be an object instead of ' + typeof options, + }, apiName)); + } + const pbInstance = options.pbInstance; + if (pbInstance) { + options = Object.assign(Object.assign({}, options), pbInstance.data); + delete options.pbInstance; + } + try { + assert_1.assertType(options, { + serviceName: 'string', + funcName: 'string', + magic: 'number', + cmdid: 'number', + }); + } + catch (e) { + return reject(error_1.returnAsFinalCloudSDKError(e, apiName)); + } + try { + const result = await cloud.getAPIs().callOpenAPI({ + api: '/inner/svrkitclientcall', + data: { + req_body_buffer: options.reqBodyBuffer.toString('base64'), + service_name: options.serviceName, + func_name: options.funcName, + magic: options.magic, + cmdid: options.cmdid, + headuin: options.headuin, + route_method: options.routeMethod, + idc_route_method: options.idcRouteMethod, + exist_resp: options.existResp, + }, + config: options.config, + timeout: options.timeout, + retryOptions: options.retryOptions, + }); + // @ts-ignore + let parsedResult = result.result; + if (parsedResult.baseresponse && parsedResult.baseresponse.errcode !== 0) { + parsedResult.ret = parsedResult.baseresponse.errcode; + } + if (parsedResult.ret === 0) { + parsedResult.respBodyBuffer = Buffer.from(parsedResult.resp_body_buffer, 'base64'); + delete parsedResult.resp_body_buffer; + if (pbInstance && options.existResp) { + const pbRespMsg = pbInstance.decode(parsedResult.respBodyBuffer); + if (options.convertResp && options.convertResp.bytes === false) { + if (!pbInstance.resProto) { + throw new Error('please ensure \'pbInstance\' is generated using @tencent/cloud-functions-tools whose version is greater or equal to 1.3.0'); + } + parsedResult.respBody = pbInstance.resProto.toObject(pbRespMsg, { + long: String + }); + } + else { + parsedResult.respBody = pbRespMsg.toJSON(); + } + } + } + const returnValue = { + ret: parsedResult.ret, + result: parsedResult.result, + respBodyBuffer: parsedResult.respBodyBuffer, + respBody: parsedResult.respBody, + errMsg: msg_1.apiSuccessMsg(apiName), + }; + resolve(returnValue); + } + catch (e) { + const error = error_1.returnAsFinalCloudSDKError(e, apiName); + return reject(error); + } + }); + }; +} +exports.default = getCallWXSvrkit; + + +/***/ }), + +/***/ "./src/api/inner/index.ts": +/*!********************************!*\ + !*** ./src/api/inner/index.ts ***! + \********************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createService = exports.SERVICE_NAME = void 0; +const api_1 = __webpack_require__(/*! ./api/api */ "./src/api/inner/api/api.ts"); +exports.SERVICE_NAME = 'inner'; +function createService(cloud) { + return { + name: exports.SERVICE_NAME, + getAPIs: api_1.getAPIs.bind(null, cloud), + }; +} +exports.createService = createService; +exports.default = createService; + + +/***/ }), + +/***/ "./src/api/utils/api/signature.ts": +/*!****************************************!*\ + !*** ./src/api/utils/api/signature.ts ***! + \****************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MidasSignature = exports.signature = void 0; +const crypto = __webpack_require__(/*! crypto */ "crypto"); +const utils_1 = __webpack_require__(/*! utils/utils */ "./src/utils/utils.ts"); +function signature(options) { + switch (options.type) { + case 'midas': { + return new MidasSignature(options); + } + } +} +exports.signature = signature; +class MidasSignature { + constructor(options) { + this.type = 'midas'; + if (!options.params || !Array.isArray(options.params)) { + throw new Error('options.params must be a string array'); + } + if (!options.secret) { + throw new Error('options.secret must be provided'); + } + this.params = options.params; + this.secret = options.secret; + } + compute(cgiPath, method, secret, paramValues) { + // sort params by ascii + const paramNames = [...this.params].sort().map(name => utils_1.convertCase(name, { + from: 'camelcase', + to: 'snakecase', + })); + // get params string + const paramStr = paramNames.map(paramName => { + if (!paramValues.hasOwnProperty(paramName)) { + throw new Error(`Cannot compute signature: lack of param '${paramName}'`); + } + return `${paramName}=${paramValues[paramName]}`; + }).join('&'); + // concatenate params string, cgi path, and midas secret + const signSource = paramStr + `&org_loc=${cgiPath}&method=${method}&secret=${secret}`; + // sign + const signature = crypto.createHmac('sha256', secret).update(signSource).digest('hex'); + return signature; + } +} +exports.MidasSignature = MidasSignature; +exports.default = signature; + + +/***/ }), + +/***/ "./src/config/error.config.ts": +/*!************************************!*\ + !*** ./src/config/error.config.ts ***! + \************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TCB_ERR_CODE = exports.ERR_CODE = void 0; +exports.ERR_CODE = { + '-1': 'unknown error', + UNKNOWN_ERROR: -1, + // 以 6 开始的是由微信服务器侧产生的错误码 + // 以 5 开始的是由腾讯云侧产生的错误码 + // 以 4 开始的是本地 SDK 产生的错误 + // 接下来两位表示具体业务类型:01通用,02数据库,03文件,04云函数 + // 最后三位表示具体的错误 + // 小程序 SDK 云函数 + '-404001': 'empty call result', + SDK_FUNCTIONS_EMPTY_CALL_RESULT: -404001, + '-404002': 'empty event id', + SDK_FUNCTIONS_EMPTY_EVENT_ID: -404002, + '-404003': 'empty poll url', + SDK_FUNCTIONS_EMPTY_POLL_URL: -404003, + '-404004': 'empty poll result json', + SDK_FUNCTIONS_EMPTY_POLL_RESULT_JSON: -404004, + '-404005': 'exceed max poll retry', + SDK_FUNCTIONS_EXCEED_MAX_POLL_RETRY: -404005, + '-404006': 'empty poll result base resp', + SDK_FUNCTIONS_EMPTY_POLL_RESULT_BASE_RESP: -404006, + '-404007': 'error while polling for the result, poll result base resp ret %s', + SDK_FUNCTIONS_POLL_RESULT_BASE_RESP_RET_ABNORMAL: -404007, + '-404008': 'error while polling for the result, polling server return a status code of %s', + SDK_FUNCTIONS_POLL_RESULT_STATUS_CODE_ERROR: -404008, + '-404009': 'error while polling for the result: %s', + SDK_FUNCTIONS_POLL_ERROR: -404009, + // 微信服务器 + '-601001': 'system error', + WX_SYSTEM_ERROR: -601001, + '-601002': 'system args error', + WX_SYSTEM_ARGS_ERROR: -601002, + '-601003': 'system network error', + WX_SYSTEM_NETWORK_ERROR: -601003, + '-601004': 'api permission denied', + WX_API_PERMISSION_DENIED: -601004, + '-601005': 'invalid cloudID', + WX_INVALID_CLOUDID: -601005, + '-601006': 'cloudID expired', + WX_CLOUDID_EXPIRED: -601006, + '-601007': 'cloudID and calling user does not match', + WX_CLOUDID_USER_NOT_MATCH: -601007, + '-601008': 'server-side request timedout', + WX_SERVER_REQUEST_TIMEOUT: -601008, + '-601009': 'missing mobile phone', + WX_MISSING_MOBILE_PHONE: -601009, + '-601010': 'no write permission', + WX_NO_WRITE_PERMISSION: -601010, + '-601011': 'no privilege permission', + WX_NO_PRIVILEGE_PERMISSION: -601011, + '-601012': 'unauthorized env', + WX_UNAUTHORIZED_ENV: -601012, + '-601013': 'no multiend permission', + WX_NO_MULTIEND_PERMISSION: -601013, + '-601015': 'access denied (cloudfunction cloudbase_auth returns empty errCode)', + WX_CLOUDBASE_AUTH_RETURN_EMPTY_ERRCODE: -601015, + '-601016': 'missing env auth info', + WX_MISSING_ENV_AUTH_INFO: -601016, + '-601017': 'access denied (cloudbase_auth returns non-zero errCode)', + WX_CLOUDBASE_AUTH_RETURN_NON_ZERO_ERRCODE: -601017, + '-602018': 'unauthorized API', + WX_UNAUTHORIZED_API: -601018, + '-602001': 'database query result size exceed limit (1MB)', + WX_DATABASE_QUERY_SIZE_EXCEED_LIMIT: -602001, + '-604001': 'cloudfunction result size exceed limit (1MB)', + WX_CLOUDFUNCTION_RESULT_SIZE_EXCEED_LIMIT: -604001, + '-604100': 'API not found', + WX_FUNCTIONS_SERVER_OPENAPI_NOT_FOUND: -604100, + '-604101': 'function has no permission to call this API', + WX_FUNCTIONS_SERVER_OPENAPI_NO_PERMISSION: -604101, + '-604102': 'call open API timeout', + WX_FUNCTIONS_SERVER_OPENAPI_TIMEOUT: -604102, + '-604103': 'call open API system error', + WX_FUNCTIONS_SERVER_OPENAPI_SYSTEM_ERROR: -604103, + '-604104': 'illegal source of invocation', + WX_FUNCTIONS_SERVER_OPENAPI_ILLEGAL_INVOCATION_SOURCE: -604104, + // 腾讯云通用 + '-501001': 'resource system error', + TCB_RESOURCE_SYSTEM_ERROR: -501001, + '-501002': 'resource server timeout', + TCB_RESOURCE_SERVER_TIMEOUT: -501002, + '-501003': 'exceed request limit', + TCB_EXCEED_REQUEST_LIMIT: -501003, + '-501004': 'exceed concurrent request limit', + TCB_EXCEED_CONCURRENT_REQUEST_LIMIT: -501004, + '-501005': 'invalid env', + TCB_INVALID_ENV: -501005, + '-501006': 'invalid common parameters', + TCB_INVALID_COMMON_PARAM: -501006, + '-501007': 'invalid parameters', + TCB_INVALID_PARAM: -501007, + '-501008': 'invalid request source', + TCB_INVALID_REQUEST_SOURCE: -501008, + '-501009': 'resource not initialized', + TCB_RESOURCE_NOT_INITIALIZED: -501009, + // 腾讯云数据库 + '-502001': 'database request fail', + TCB_DB_REQUEST_FAIL: -502001, + '-502002': 'database invalid command', + TCB_DB_INVALID_COMMAND: -502002, + '-502003': 'database permission denied', + TCB_DB_PERMISSION_DENIED: -502003, + '-502004': 'database exceed collection limit', + TCB_DB_EXCEED_COLLECTION_LIMIT: -502004, + '-502005': 'database collection not exists', + TCB_DB_COLLECTION_NOT_EXISTS: -502005, + // 腾讯云文件管理 + '-503001': 'storage request fail', + TCB_STORAGE_REQUEST_FAIL: -503001, + '-503002': 'storage permission denied', + TCB_STORAGE_PERMISSION_DENIED: -503002, + '-503003': 'storage file not exists', + TCB_STORAGE_FILE_NOT_EXISTS: -503003, + '-503004': 'storage invalid sign parameter', + TCB_STORAGE_INVALID_SIGN_PARAM: -503004, + // 腾讯云云函数 + '-504001': 'functions request fail', + TCB_FUNCTIONS_REQUEST_FAIL: -504001, + '-504002': 'functions execute fail', + TCB_FUNCTIONS_EXEC_FAIL: -504002, +}; +exports.TCB_ERR_CODE = { + // 通用 + SUCCESS: 0, + SYS_ERR: -501001, + SERVER_TIMEOUT: -501002, + EXCEED_REQUEST_LIMIT: -501003, + EXCEED_CONCURRENT_REQUEST_LIMIT: -501004, + INVALIID_ENV: -501005, + INVALID_COMMON_PARAM: -501006, + INVALID_PARAM: -501007, + INVALID_REQUEST_SOURCE: -501008, + RESOURCE_NOT_INITIAL: -501009, + // 数据库 + DATABASE_REQUEST_FAILED: -502001, + DATABASE_INVALID_OPERRATOR: -502002, + DATABASE_PERMISSION_DENIED: -502003, + DATABASE_COLLECTION_EXCEED_LIMIT: -502004, + DATABASE_COLLECTION_NOT_EXIST: -502005, + // 文件 + STORAGE_REQUEST_FAIL: -503001, + STORAGE_EXCEED_AUTHORITY: -503002, + STORAGE_FILE_NONEXIST: -503003, + STORAGE_SIGN_PARAM_INVALID: -503004, + // 云函数 + FUNCTIONS_REQUEST_FAIL: -504001, + FUNCTIONS_EXECUTE_FAIL: -504002, +}; + + +/***/ }), + +/***/ "./src/protobuf/openapi.js": +/*!*********************************!*\ + !*** ./src/protobuf/openapi.js ***! + \*********************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*eslint-disable block-scoped-var, id-length, no-control-regex, no-magic-numbers, no-prototype-builtins, no-redeclare, no-shadow, no-var, sort-vars*/ + + +var $protobuf = __webpack_require__(/*! protobufjs/minimal */ "protobufjs/minimal"); + +// Common aliases +var $Reader = $protobuf.Reader, $Writer = $protobuf.Writer, $util = $protobuf.util; + +// Exported root namespace +var $root = $protobuf.roots["default"] || ($protobuf.roots["default"] = {}); + +$root.KeyValuePair = (function() { + + /** + * Properties of a KeyValuePair. + * @exports IKeyValuePair + * @interface IKeyValuePair + * @property {string|null} [key] KeyValuePair key + * @property {Uint8Array|null} [value] KeyValuePair value + * @property {string|null} [contenttype] KeyValuePair contenttype + * @property {string|null} [filename] KeyValuePair filename + */ + + /** + * Constructs a new KeyValuePair. + * @exports KeyValuePair + * @classdesc Represents a KeyValuePair. + * @implements IKeyValuePair + * @constructor + * @param {IKeyValuePair=} [properties] Properties to set + */ + function KeyValuePair(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * KeyValuePair key. + * @member {string} key + * @memberof KeyValuePair + * @instance + */ + KeyValuePair.prototype.key = ""; + + /** + * KeyValuePair value. + * @member {Uint8Array} value + * @memberof KeyValuePair + * @instance + */ + KeyValuePair.prototype.value = $util.newBuffer([]); + + /** + * KeyValuePair contenttype. + * @member {string} contenttype + * @memberof KeyValuePair + * @instance + */ + KeyValuePair.prototype.contenttype = ""; + + /** + * KeyValuePair filename. + * @member {string} filename + * @memberof KeyValuePair + * @instance + */ + KeyValuePair.prototype.filename = ""; + + /** + * Creates a new KeyValuePair instance using the specified properties. + * @function create + * @memberof KeyValuePair + * @static + * @param {IKeyValuePair=} [properties] Properties to set + * @returns {KeyValuePair} KeyValuePair instance + */ + KeyValuePair.create = function create(properties) { + return new KeyValuePair(properties); + }; + + /** + * Encodes the specified KeyValuePair message. Does not implicitly {@link KeyValuePair.verify|verify} messages. + * @function encode + * @memberof KeyValuePair + * @static + * @param {IKeyValuePair} message KeyValuePair message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + KeyValuePair.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.key != null && message.hasOwnProperty("key")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.key); + if (message.value != null && message.hasOwnProperty("value")) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.value); + if (message.contenttype != null && message.hasOwnProperty("contenttype")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.contenttype); + if (message.filename != null && message.hasOwnProperty("filename")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.filename); + return writer; + }; + + /** + * Encodes the specified KeyValuePair message, length delimited. Does not implicitly {@link KeyValuePair.verify|verify} messages. + * @function encodeDelimited + * @memberof KeyValuePair + * @static + * @param {IKeyValuePair} message KeyValuePair message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + KeyValuePair.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a KeyValuePair message from the specified reader or buffer. + * @function decode + * @memberof KeyValuePair + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {KeyValuePair} KeyValuePair + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + KeyValuePair.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.KeyValuePair(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.key = reader.string(); + break; + case 2: + message.value = reader.bytes(); + break; + case 3: + message.contenttype = reader.string(); + break; + case 4: + message.filename = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a KeyValuePair message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof KeyValuePair + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {KeyValuePair} KeyValuePair + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + KeyValuePair.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a KeyValuePair message. + * @function verify + * @memberof KeyValuePair + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + KeyValuePair.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.key != null && message.hasOwnProperty("key")) + if (!$util.isString(message.key)) + return "key: string expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (!(message.value && typeof message.value.length === "number" || $util.isString(message.value))) + return "value: buffer expected"; + if (message.contenttype != null && message.hasOwnProperty("contenttype")) + if (!$util.isString(message.contenttype)) + return "contenttype: string expected"; + if (message.filename != null && message.hasOwnProperty("filename")) + if (!$util.isString(message.filename)) + return "filename: string expected"; + return null; + }; + + /** + * Creates a KeyValuePair message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof KeyValuePair + * @static + * @param {Object.} object Plain object + * @returns {KeyValuePair} KeyValuePair + */ + KeyValuePair.fromObject = function fromObject(object) { + if (object instanceof $root.KeyValuePair) + return object; + var message = new $root.KeyValuePair(); + if (object.key != null) + message.key = String(object.key); + if (object.value != null) + if (typeof object.value === "string") + $util.base64.decode(object.value, message.value = $util.newBuffer($util.base64.length(object.value)), 0); + else if (object.value.length) + message.value = object.value; + if (object.contenttype != null) + message.contenttype = String(object.contenttype); + if (object.filename != null) + message.filename = String(object.filename); + return message; + }; + + /** + * Creates a plain object from a KeyValuePair message. Also converts values to other types if specified. + * @function toObject + * @memberof KeyValuePair + * @static + * @param {KeyValuePair} message KeyValuePair + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + KeyValuePair.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.key = ""; + if (options.bytes === String) + object.value = ""; + else { + object.value = []; + if (options.bytes !== Array) + object.value = $util.newBuffer(object.value); + } + object.contenttype = ""; + object.filename = ""; + } + if (message.key != null && message.hasOwnProperty("key")) + object.key = message.key; + if (message.value != null && message.hasOwnProperty("value")) + object.value = options.bytes === String ? $util.base64.encode(message.value, 0, message.value.length) : options.bytes === Array ? Array.prototype.slice.call(message.value) : message.value; + if (message.contenttype != null && message.hasOwnProperty("contenttype")) + object.contenttype = message.contenttype; + if (message.filename != null && message.hasOwnProperty("filename")) + object.filename = message.filename; + return object; + }; + + /** + * Converts this KeyValuePair to JSON. + * @function toJSON + * @memberof KeyValuePair + * @instance + * @returns {Object.} JSON object + */ + KeyValuePair.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return KeyValuePair; +})(); + +$root.OpenApiData = (function() { + + /** + * Properties of an OpenApiData. + * @exports IOpenApiData + * @interface IOpenApiData + * @property {Array.|null} [pairs] OpenApiData pairs + */ + + /** + * Constructs a new OpenApiData. + * @exports OpenApiData + * @classdesc Represents an OpenApiData. + * @implements IOpenApiData + * @constructor + * @param {IOpenApiData=} [properties] Properties to set + */ + function OpenApiData(properties) { + this.pairs = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * OpenApiData pairs. + * @member {Array.} pairs + * @memberof OpenApiData + * @instance + */ + OpenApiData.prototype.pairs = $util.emptyArray; + + /** + * Creates a new OpenApiData instance using the specified properties. + * @function create + * @memberof OpenApiData + * @static + * @param {IOpenApiData=} [properties] Properties to set + * @returns {OpenApiData} OpenApiData instance + */ + OpenApiData.create = function create(properties) { + return new OpenApiData(properties); + }; + + /** + * Encodes the specified OpenApiData message. Does not implicitly {@link OpenApiData.verify|verify} messages. + * @function encode + * @memberof OpenApiData + * @static + * @param {IOpenApiData} message OpenApiData message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OpenApiData.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.pairs != null && message.pairs.length) + for (var i = 0; i < message.pairs.length; ++i) + $root.KeyValuePair.encode(message.pairs[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified OpenApiData message, length delimited. Does not implicitly {@link OpenApiData.verify|verify} messages. + * @function encodeDelimited + * @memberof OpenApiData + * @static + * @param {IOpenApiData} message OpenApiData message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OpenApiData.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an OpenApiData message from the specified reader or buffer. + * @function decode + * @memberof OpenApiData + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {OpenApiData} OpenApiData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OpenApiData.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.OpenApiData(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.pairs && message.pairs.length)) + message.pairs = []; + message.pairs.push($root.KeyValuePair.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an OpenApiData message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof OpenApiData + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {OpenApiData} OpenApiData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OpenApiData.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an OpenApiData message. + * @function verify + * @memberof OpenApiData + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + OpenApiData.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.pairs != null && message.hasOwnProperty("pairs")) { + if (!Array.isArray(message.pairs)) + return "pairs: array expected"; + for (var i = 0; i < message.pairs.length; ++i) { + var error = $root.KeyValuePair.verify(message.pairs[i]); + if (error) + return "pairs." + error; + } + } + return null; + }; + + /** + * Creates an OpenApiData message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof OpenApiData + * @static + * @param {Object.} object Plain object + * @returns {OpenApiData} OpenApiData + */ + OpenApiData.fromObject = function fromObject(object) { + if (object instanceof $root.OpenApiData) + return object; + var message = new $root.OpenApiData(); + if (object.pairs) { + if (!Array.isArray(object.pairs)) + throw TypeError(".OpenApiData.pairs: array expected"); + message.pairs = []; + for (var i = 0; i < object.pairs.length; ++i) { + if (typeof object.pairs[i] !== "object") + throw TypeError(".OpenApiData.pairs: object expected"); + message.pairs[i] = $root.KeyValuePair.fromObject(object.pairs[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an OpenApiData message. Also converts values to other types if specified. + * @function toObject + * @memberof OpenApiData + * @static + * @param {OpenApiData} message OpenApiData + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + OpenApiData.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.pairs = []; + if (message.pairs && message.pairs.length) { + object.pairs = []; + for (var j = 0; j < message.pairs.length; ++j) + object.pairs[j] = $root.KeyValuePair.toObject(message.pairs[j], options); + } + return object; + }; + + /** + * Converts this OpenApiData to JSON. + * @function toJSON + * @memberof OpenApiData + * @instance + * @returns {Object.} JSON object + */ + OpenApiData.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return OpenApiData; +})(); + +$root.TokenApiData = (function() { + + /** + * Properties of a TokenApiData. + * @exports ITokenApiData + * @interface ITokenApiData + * @property {string|null} [resourceAppid] TokenApiData resourceAppid + * @property {string|null} [resourceEnv] TokenApiData resourceEnv + */ + + /** + * Constructs a new TokenApiData. + * @exports TokenApiData + * @classdesc Represents a TokenApiData. + * @implements ITokenApiData + * @constructor + * @param {ITokenApiData=} [properties] Properties to set + */ + function TokenApiData(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * TokenApiData resourceAppid. + * @member {string} resourceAppid + * @memberof TokenApiData + * @instance + */ + TokenApiData.prototype.resourceAppid = ""; + + /** + * TokenApiData resourceEnv. + * @member {string} resourceEnv + * @memberof TokenApiData + * @instance + */ + TokenApiData.prototype.resourceEnv = ""; + + /** + * Creates a new TokenApiData instance using the specified properties. + * @function create + * @memberof TokenApiData + * @static + * @param {ITokenApiData=} [properties] Properties to set + * @returns {TokenApiData} TokenApiData instance + */ + TokenApiData.create = function create(properties) { + return new TokenApiData(properties); + }; + + /** + * Encodes the specified TokenApiData message. Does not implicitly {@link TokenApiData.verify|verify} messages. + * @function encode + * @memberof TokenApiData + * @static + * @param {ITokenApiData} message TokenApiData message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TokenApiData.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.resourceAppid != null && message.hasOwnProperty("resourceAppid")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.resourceAppid); + if (message.resourceEnv != null && message.hasOwnProperty("resourceEnv")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.resourceEnv); + return writer; + }; + + /** + * Encodes the specified TokenApiData message, length delimited. Does not implicitly {@link TokenApiData.verify|verify} messages. + * @function encodeDelimited + * @memberof TokenApiData + * @static + * @param {ITokenApiData} message TokenApiData message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TokenApiData.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TokenApiData message from the specified reader or buffer. + * @function decode + * @memberof TokenApiData + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {TokenApiData} TokenApiData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TokenApiData.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TokenApiData(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.resourceAppid = reader.string(); + break; + case 2: + message.resourceEnv = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TokenApiData message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof TokenApiData + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {TokenApiData} TokenApiData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TokenApiData.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TokenApiData message. + * @function verify + * @memberof TokenApiData + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TokenApiData.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.resourceAppid != null && message.hasOwnProperty("resourceAppid")) + if (!$util.isString(message.resourceAppid)) + return "resourceAppid: string expected"; + if (message.resourceEnv != null && message.hasOwnProperty("resourceEnv")) + if (!$util.isString(message.resourceEnv)) + return "resourceEnv: string expected"; + return null; + }; + + /** + * Creates a TokenApiData message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof TokenApiData + * @static + * @param {Object.} object Plain object + * @returns {TokenApiData} TokenApiData + */ + TokenApiData.fromObject = function fromObject(object) { + if (object instanceof $root.TokenApiData) + return object; + var message = new $root.TokenApiData(); + if (object.resourceAppid != null) + message.resourceAppid = String(object.resourceAppid); + if (object.resourceEnv != null) + message.resourceEnv = String(object.resourceEnv); + return message; + }; + + /** + * Creates a plain object from a TokenApiData message. Also converts values to other types if specified. + * @function toObject + * @memberof TokenApiData + * @static + * @param {TokenApiData} message TokenApiData + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TokenApiData.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.resourceAppid = ""; + object.resourceEnv = ""; + } + if (message.resourceAppid != null && message.hasOwnProperty("resourceAppid")) + object.resourceAppid = message.resourceAppid; + if (message.resourceEnv != null && message.hasOwnProperty("resourceEnv")) + object.resourceEnv = message.resourceEnv; + return object; + }; + + /** + * Converts this TokenApiData to JSON. + * @function toJSON + * @memberof TokenApiData + * @instance + * @returns {Object.} JSON object + */ + TokenApiData.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return TokenApiData; +})(); + +$root.CommApiData = (function() { + + /** + * Properties of a CommApiData. + * @exports ICommApiData + * @interface ICommApiData + * @property {CommApiData.ApiType|null} [apiType] CommApiData apiType + * @property {IOpenApiData|null} [openapiData] CommApiData openapiData + * @property {IInnerApiData|null} [innerData] CommApiData innerData + * @property {ISvrkitApiData|null} [svrkitData] CommApiData svrkitData + * @property {ITokenApiData|null} [tokenData] CommApiData tokenData + * @property {string|null} [appid] CommApiData appid + */ + + /** + * Constructs a new CommApiData. + * @exports CommApiData + * @classdesc Represents a CommApiData. + * @implements ICommApiData + * @constructor + * @param {ICommApiData=} [properties] Properties to set + */ + function CommApiData(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CommApiData apiType. + * @member {CommApiData.ApiType} apiType + * @memberof CommApiData + * @instance + */ + CommApiData.prototype.apiType = 0; + + /** + * CommApiData openapiData. + * @member {IOpenApiData|null|undefined} openapiData + * @memberof CommApiData + * @instance + */ + CommApiData.prototype.openapiData = null; + + /** + * CommApiData innerData. + * @member {IInnerApiData|null|undefined} innerData + * @memberof CommApiData + * @instance + */ + CommApiData.prototype.innerData = null; + + /** + * CommApiData svrkitData. + * @member {ISvrkitApiData|null|undefined} svrkitData + * @memberof CommApiData + * @instance + */ + CommApiData.prototype.svrkitData = null; + + /** + * CommApiData tokenData. + * @member {ITokenApiData|null|undefined} tokenData + * @memberof CommApiData + * @instance + */ + CommApiData.prototype.tokenData = null; + + /** + * CommApiData appid. + * @member {string} appid + * @memberof CommApiData + * @instance + */ + CommApiData.prototype.appid = ""; + + /** + * Creates a new CommApiData instance using the specified properties. + * @function create + * @memberof CommApiData + * @static + * @param {ICommApiData=} [properties] Properties to set + * @returns {CommApiData} CommApiData instance + */ + CommApiData.create = function create(properties) { + return new CommApiData(properties); + }; + + /** + * Encodes the specified CommApiData message. Does not implicitly {@link CommApiData.verify|verify} messages. + * @function encode + * @memberof CommApiData + * @static + * @param {ICommApiData} message CommApiData message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CommApiData.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.apiType != null && message.hasOwnProperty("apiType")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.apiType); + if (message.openapiData != null && message.hasOwnProperty("openapiData")) + $root.OpenApiData.encode(message.openapiData, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.innerData != null && message.hasOwnProperty("innerData")) + $root.InnerApiData.encode(message.innerData, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.svrkitData != null && message.hasOwnProperty("svrkitData")) + $root.SvrkitApiData.encode(message.svrkitData, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.tokenData != null && message.hasOwnProperty("tokenData")) + $root.TokenApiData.encode(message.tokenData, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.appid != null && message.hasOwnProperty("appid")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.appid); + return writer; + }; + + /** + * Encodes the specified CommApiData message, length delimited. Does not implicitly {@link CommApiData.verify|verify} messages. + * @function encodeDelimited + * @memberof CommApiData + * @static + * @param {ICommApiData} message CommApiData message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CommApiData.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CommApiData message from the specified reader or buffer. + * @function decode + * @memberof CommApiData + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {CommApiData} CommApiData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CommApiData.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.CommApiData(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.apiType = reader.int32(); + break; + case 2: + message.openapiData = $root.OpenApiData.decode(reader, reader.uint32()); + break; + case 3: + message.innerData = $root.InnerApiData.decode(reader, reader.uint32()); + break; + case 4: + message.svrkitData = $root.SvrkitApiData.decode(reader, reader.uint32()); + break; + case 5: + message.tokenData = $root.TokenApiData.decode(reader, reader.uint32()); + break; + case 6: + message.appid = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CommApiData message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof CommApiData + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {CommApiData} CommApiData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CommApiData.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CommApiData message. + * @function verify + * @memberof CommApiData + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CommApiData.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.apiType != null && message.hasOwnProperty("apiType")) + switch (message.apiType) { + default: + return "apiType: enum value expected"; + case 0: + case 1: + case 2: + case 3: + break; + } + if (message.openapiData != null && message.hasOwnProperty("openapiData")) { + var error = $root.OpenApiData.verify(message.openapiData); + if (error) + return "openapiData." + error; + } + if (message.innerData != null && message.hasOwnProperty("innerData")) { + var error = $root.InnerApiData.verify(message.innerData); + if (error) + return "innerData." + error; + } + if (message.svrkitData != null && message.hasOwnProperty("svrkitData")) { + var error = $root.SvrkitApiData.verify(message.svrkitData); + if (error) + return "svrkitData." + error; + } + if (message.tokenData != null && message.hasOwnProperty("tokenData")) { + var error = $root.TokenApiData.verify(message.tokenData); + if (error) + return "tokenData." + error; + } + if (message.appid != null && message.hasOwnProperty("appid")) + if (!$util.isString(message.appid)) + return "appid: string expected"; + return null; + }; + + /** + * Creates a CommApiData message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof CommApiData + * @static + * @param {Object.} object Plain object + * @returns {CommApiData} CommApiData + */ + CommApiData.fromObject = function fromObject(object) { + if (object instanceof $root.CommApiData) + return object; + var message = new $root.CommApiData(); + switch (object.apiType) { + case "OPEN_API": + case 0: + message.apiType = 0; + break; + case "INNER_API": + case 1: + message.apiType = 1; + break; + case "SVRKIT_API": + case 2: + message.apiType = 2; + break; + case "TOKEN_API": + case 3: + message.apiType = 3; + break; + } + if (object.openapiData != null) { + if (typeof object.openapiData !== "object") + throw TypeError(".CommApiData.openapiData: object expected"); + message.openapiData = $root.OpenApiData.fromObject(object.openapiData); + } + if (object.innerData != null) { + if (typeof object.innerData !== "object") + throw TypeError(".CommApiData.innerData: object expected"); + message.innerData = $root.InnerApiData.fromObject(object.innerData); + } + if (object.svrkitData != null) { + if (typeof object.svrkitData !== "object") + throw TypeError(".CommApiData.svrkitData: object expected"); + message.svrkitData = $root.SvrkitApiData.fromObject(object.svrkitData); + } + if (object.tokenData != null) { + if (typeof object.tokenData !== "object") + throw TypeError(".CommApiData.tokenData: object expected"); + message.tokenData = $root.TokenApiData.fromObject(object.tokenData); + } + if (object.appid != null) + message.appid = String(object.appid); + return message; + }; + + /** + * Creates a plain object from a CommApiData message. Also converts values to other types if specified. + * @function toObject + * @memberof CommApiData + * @static + * @param {CommApiData} message CommApiData + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CommApiData.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.apiType = options.enums === String ? "OPEN_API" : 0; + object.openapiData = null; + object.innerData = null; + object.svrkitData = null; + object.tokenData = null; + object.appid = ""; + } + if (message.apiType != null && message.hasOwnProperty("apiType")) + object.apiType = options.enums === String ? $root.CommApiData.ApiType[message.apiType] : message.apiType; + if (message.openapiData != null && message.hasOwnProperty("openapiData")) + object.openapiData = $root.OpenApiData.toObject(message.openapiData, options); + if (message.innerData != null && message.hasOwnProperty("innerData")) + object.innerData = $root.InnerApiData.toObject(message.innerData, options); + if (message.svrkitData != null && message.hasOwnProperty("svrkitData")) + object.svrkitData = $root.SvrkitApiData.toObject(message.svrkitData, options); + if (message.tokenData != null && message.hasOwnProperty("tokenData")) + object.tokenData = $root.TokenApiData.toObject(message.tokenData, options); + if (message.appid != null && message.hasOwnProperty("appid")) + object.appid = message.appid; + return object; + }; + + /** + * Converts this CommApiData to JSON. + * @function toJSON + * @memberof CommApiData + * @instance + * @returns {Object.} JSON object + */ + CommApiData.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * ApiType enum. + * @name CommApiData.ApiType + * @enum {string} + * @property {number} OPEN_API=0 OPEN_API value + * @property {number} INNER_API=1 INNER_API value + * @property {number} SVRKIT_API=2 SVRKIT_API value + * @property {number} TOKEN_API=3 TOKEN_API value + */ + CommApiData.ApiType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "OPEN_API"] = 0; + values[valuesById[1] = "INNER_API"] = 1; + values[valuesById[2] = "SVRKIT_API"] = 2; + values[valuesById[3] = "TOKEN_API"] = 3; + return values; + })(); + + return CommApiData; +})(); + +$root.CommOpenApiResp = (function() { + + /** + * Properties of a CommOpenApiResp. + * @exports ICommOpenApiResp + * @interface ICommOpenApiResp + * @property {Uint8Array|null} [respData] CommOpenApiResp respData + * @property {string|null} [contentType] CommOpenApiResp contentType + * @property {number|null} [errorCode] CommOpenApiResp errorCode + * @property {number|null} [httpCode] CommOpenApiResp httpCode + * @property {Array.|null} [headers] CommOpenApiResp headers + * @property {number|null} [svrkitErrorCode] CommOpenApiResp svrkitErrorCode + */ + + /** + * Constructs a new CommOpenApiResp. + * @exports CommOpenApiResp + * @classdesc Represents a CommOpenApiResp. + * @implements ICommOpenApiResp + * @constructor + * @param {ICommOpenApiResp=} [properties] Properties to set + */ + function CommOpenApiResp(properties) { + this.headers = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CommOpenApiResp respData. + * @member {Uint8Array} respData + * @memberof CommOpenApiResp + * @instance + */ + CommOpenApiResp.prototype.respData = $util.newBuffer([]); + + /** + * CommOpenApiResp contentType. + * @member {string} contentType + * @memberof CommOpenApiResp + * @instance + */ + CommOpenApiResp.prototype.contentType = ""; + + /** + * CommOpenApiResp errorCode. + * @member {number} errorCode + * @memberof CommOpenApiResp + * @instance + */ + CommOpenApiResp.prototype.errorCode = 0; + + /** + * CommOpenApiResp httpCode. + * @member {number} httpCode + * @memberof CommOpenApiResp + * @instance + */ + CommOpenApiResp.prototype.httpCode = 0; + + /** + * CommOpenApiResp headers. + * @member {Array.} headers + * @memberof CommOpenApiResp + * @instance + */ + CommOpenApiResp.prototype.headers = $util.emptyArray; + + /** + * CommOpenApiResp svrkitErrorCode. + * @member {number} svrkitErrorCode + * @memberof CommOpenApiResp + * @instance + */ + CommOpenApiResp.prototype.svrkitErrorCode = 0; + + /** + * Creates a new CommOpenApiResp instance using the specified properties. + * @function create + * @memberof CommOpenApiResp + * @static + * @param {ICommOpenApiResp=} [properties] Properties to set + * @returns {CommOpenApiResp} CommOpenApiResp instance + */ + CommOpenApiResp.create = function create(properties) { + return new CommOpenApiResp(properties); + }; + + /** + * Encodes the specified CommOpenApiResp message. Does not implicitly {@link CommOpenApiResp.verify|verify} messages. + * @function encode + * @memberof CommOpenApiResp + * @static + * @param {ICommOpenApiResp} message CommOpenApiResp message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CommOpenApiResp.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.respData != null && message.hasOwnProperty("respData")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.respData); + if (message.contentType != null && message.hasOwnProperty("contentType")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.contentType); + if (message.errorCode != null && message.hasOwnProperty("errorCode")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.errorCode); + if (message.httpCode != null && message.hasOwnProperty("httpCode")) + writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.httpCode); + if (message.headers != null && message.headers.length) + for (var i = 0; i < message.headers.length; ++i) + $root.HttpHeader.encode(message.headers[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.svrkitErrorCode != null && message.hasOwnProperty("svrkitErrorCode")) + writer.uint32(/* id 6, wireType 0 =*/48).int32(message.svrkitErrorCode); + return writer; + }; + + /** + * Encodes the specified CommOpenApiResp message, length delimited. Does not implicitly {@link CommOpenApiResp.verify|verify} messages. + * @function encodeDelimited + * @memberof CommOpenApiResp + * @static + * @param {ICommOpenApiResp} message CommOpenApiResp message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CommOpenApiResp.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CommOpenApiResp message from the specified reader or buffer. + * @function decode + * @memberof CommOpenApiResp + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {CommOpenApiResp} CommOpenApiResp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CommOpenApiResp.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.CommOpenApiResp(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.respData = reader.bytes(); + break; + case 2: + message.contentType = reader.string(); + break; + case 3: + message.errorCode = reader.int32(); + break; + case 4: + message.httpCode = reader.uint32(); + break; + case 5: + if (!(message.headers && message.headers.length)) + message.headers = []; + message.headers.push($root.HttpHeader.decode(reader, reader.uint32())); + break; + case 6: + message.svrkitErrorCode = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CommOpenApiResp message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof CommOpenApiResp + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {CommOpenApiResp} CommOpenApiResp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CommOpenApiResp.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CommOpenApiResp message. + * @function verify + * @memberof CommOpenApiResp + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CommOpenApiResp.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.respData != null && message.hasOwnProperty("respData")) + if (!(message.respData && typeof message.respData.length === "number" || $util.isString(message.respData))) + return "respData: buffer expected"; + if (message.contentType != null && message.hasOwnProperty("contentType")) + if (!$util.isString(message.contentType)) + return "contentType: string expected"; + if (message.errorCode != null && message.hasOwnProperty("errorCode")) + if (!$util.isInteger(message.errorCode)) + return "errorCode: integer expected"; + if (message.httpCode != null && message.hasOwnProperty("httpCode")) + if (!$util.isInteger(message.httpCode)) + return "httpCode: integer expected"; + if (message.headers != null && message.hasOwnProperty("headers")) { + if (!Array.isArray(message.headers)) + return "headers: array expected"; + for (var i = 0; i < message.headers.length; ++i) { + var error = $root.HttpHeader.verify(message.headers[i]); + if (error) + return "headers." + error; + } + } + if (message.svrkitErrorCode != null && message.hasOwnProperty("svrkitErrorCode")) + if (!$util.isInteger(message.svrkitErrorCode)) + return "svrkitErrorCode: integer expected"; + return null; + }; + + /** + * Creates a CommOpenApiResp message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof CommOpenApiResp + * @static + * @param {Object.} object Plain object + * @returns {CommOpenApiResp} CommOpenApiResp + */ + CommOpenApiResp.fromObject = function fromObject(object) { + if (object instanceof $root.CommOpenApiResp) + return object; + var message = new $root.CommOpenApiResp(); + if (object.respData != null) + if (typeof object.respData === "string") + $util.base64.decode(object.respData, message.respData = $util.newBuffer($util.base64.length(object.respData)), 0); + else if (object.respData.length) + message.respData = object.respData; + if (object.contentType != null) + message.contentType = String(object.contentType); + if (object.errorCode != null) + message.errorCode = object.errorCode | 0; + if (object.httpCode != null) + message.httpCode = object.httpCode >>> 0; + if (object.headers) { + if (!Array.isArray(object.headers)) + throw TypeError(".CommOpenApiResp.headers: array expected"); + message.headers = []; + for (var i = 0; i < object.headers.length; ++i) { + if (typeof object.headers[i] !== "object") + throw TypeError(".CommOpenApiResp.headers: object expected"); + message.headers[i] = $root.HttpHeader.fromObject(object.headers[i]); + } + } + if (object.svrkitErrorCode != null) + message.svrkitErrorCode = object.svrkitErrorCode | 0; + return message; + }; + + /** + * Creates a plain object from a CommOpenApiResp message. Also converts values to other types if specified. + * @function toObject + * @memberof CommOpenApiResp + * @static + * @param {CommOpenApiResp} message CommOpenApiResp + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CommOpenApiResp.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.headers = []; + if (options.defaults) { + if (options.bytes === String) + object.respData = ""; + else { + object.respData = []; + if (options.bytes !== Array) + object.respData = $util.newBuffer(object.respData); + } + object.contentType = ""; + object.errorCode = 0; + object.httpCode = 0; + object.svrkitErrorCode = 0; + } + if (message.respData != null && message.hasOwnProperty("respData")) + object.respData = options.bytes === String ? $util.base64.encode(message.respData, 0, message.respData.length) : options.bytes === Array ? Array.prototype.slice.call(message.respData) : message.respData; + if (message.contentType != null && message.hasOwnProperty("contentType")) + object.contentType = message.contentType; + if (message.errorCode != null && message.hasOwnProperty("errorCode")) + object.errorCode = message.errorCode; + if (message.httpCode != null && message.hasOwnProperty("httpCode")) + object.httpCode = message.httpCode; + if (message.headers && message.headers.length) { + object.headers = []; + for (var j = 0; j < message.headers.length; ++j) + object.headers[j] = $root.HttpHeader.toObject(message.headers[j], options); + } + if (message.svrkitErrorCode != null && message.hasOwnProperty("svrkitErrorCode")) + object.svrkitErrorCode = message.svrkitErrorCode; + return object; + }; + + /** + * Converts this CommOpenApiResp to JSON. + * @function toJSON + * @memberof CommOpenApiResp + * @instance + * @returns {Object.} JSON object + */ + CommOpenApiResp.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return CommOpenApiResp; +})(); + +$root.InnerApiData = (function() { + + /** + * Properties of an InnerApiData. + * @exports IInnerApiData + * @interface IInnerApiData + * @property {number|null} [modid] InnerApiData modid + * @property {number|null} [cmdid] InnerApiData cmdid + * @property {string|null} [url] InnerApiData url + * @property {boolean|null} [useHttps] InnerApiData useHttps + * @property {HTTP_METHODS|null} [method] InnerApiData method + * @property {Array.|null} [headers] InnerApiData headers + * @property {Uint8Array|null} [body] InnerApiData body + */ + + /** + * Constructs a new InnerApiData. + * @exports InnerApiData + * @classdesc Represents an InnerApiData. + * @implements IInnerApiData + * @constructor + * @param {IInnerApiData=} [properties] Properties to set + */ + function InnerApiData(properties) { + this.headers = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * InnerApiData modid. + * @member {number} modid + * @memberof InnerApiData + * @instance + */ + InnerApiData.prototype.modid = 0; + + /** + * InnerApiData cmdid. + * @member {number} cmdid + * @memberof InnerApiData + * @instance + */ + InnerApiData.prototype.cmdid = 0; + + /** + * InnerApiData url. + * @member {string} url + * @memberof InnerApiData + * @instance + */ + InnerApiData.prototype.url = ""; + + /** + * InnerApiData useHttps. + * @member {boolean} useHttps + * @memberof InnerApiData + * @instance + */ + InnerApiData.prototype.useHttps = false; + + /** + * InnerApiData method. + * @member {HTTP_METHODS} method + * @memberof InnerApiData + * @instance + */ + InnerApiData.prototype.method = 1; + + /** + * InnerApiData headers. + * @member {Array.} headers + * @memberof InnerApiData + * @instance + */ + InnerApiData.prototype.headers = $util.emptyArray; + + /** + * InnerApiData body. + * @member {Uint8Array} body + * @memberof InnerApiData + * @instance + */ + InnerApiData.prototype.body = $util.newBuffer([]); + + /** + * Creates a new InnerApiData instance using the specified properties. + * @function create + * @memberof InnerApiData + * @static + * @param {IInnerApiData=} [properties] Properties to set + * @returns {InnerApiData} InnerApiData instance + */ + InnerApiData.create = function create(properties) { + return new InnerApiData(properties); + }; + + /** + * Encodes the specified InnerApiData message. Does not implicitly {@link InnerApiData.verify|verify} messages. + * @function encode + * @memberof InnerApiData + * @static + * @param {IInnerApiData} message InnerApiData message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + InnerApiData.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.modid != null && message.hasOwnProperty("modid")) + writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.modid); + if (message.cmdid != null && message.hasOwnProperty("cmdid")) + writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.cmdid); + if (message.url != null && message.hasOwnProperty("url")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.url); + if (message.useHttps != null && message.hasOwnProperty("useHttps")) + writer.uint32(/* id 4, wireType 0 =*/32).bool(message.useHttps); + if (message.method != null && message.hasOwnProperty("method")) + writer.uint32(/* id 5, wireType 0 =*/40).int32(message.method); + if (message.headers != null && message.headers.length) + for (var i = 0; i < message.headers.length; ++i) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.headers[i]); + if (message.body != null && message.hasOwnProperty("body")) + writer.uint32(/* id 7, wireType 2 =*/58).bytes(message.body); + return writer; + }; + + /** + * Encodes the specified InnerApiData message, length delimited. Does not implicitly {@link InnerApiData.verify|verify} messages. + * @function encodeDelimited + * @memberof InnerApiData + * @static + * @param {IInnerApiData} message InnerApiData message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + InnerApiData.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an InnerApiData message from the specified reader or buffer. + * @function decode + * @memberof InnerApiData + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {InnerApiData} InnerApiData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + InnerApiData.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.InnerApiData(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.modid = reader.uint32(); + break; + case 2: + message.cmdid = reader.uint32(); + break; + case 3: + message.url = reader.string(); + break; + case 4: + message.useHttps = reader.bool(); + break; + case 5: + message.method = reader.int32(); + break; + case 6: + if (!(message.headers && message.headers.length)) + message.headers = []; + message.headers.push(reader.string()); + break; + case 7: + message.body = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an InnerApiData message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof InnerApiData + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {InnerApiData} InnerApiData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + InnerApiData.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an InnerApiData message. + * @function verify + * @memberof InnerApiData + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + InnerApiData.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.modid != null && message.hasOwnProperty("modid")) + if (!$util.isInteger(message.modid)) + return "modid: integer expected"; + if (message.cmdid != null && message.hasOwnProperty("cmdid")) + if (!$util.isInteger(message.cmdid)) + return "cmdid: integer expected"; + if (message.url != null && message.hasOwnProperty("url")) + if (!$util.isString(message.url)) + return "url: string expected"; + if (message.useHttps != null && message.hasOwnProperty("useHttps")) + if (typeof message.useHttps !== "boolean") + return "useHttps: boolean expected"; + if (message.method != null && message.hasOwnProperty("method")) + switch (message.method) { + default: + return "method: enum value expected"; + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + break; + } + if (message.headers != null && message.hasOwnProperty("headers")) { + if (!Array.isArray(message.headers)) + return "headers: array expected"; + for (var i = 0; i < message.headers.length; ++i) + if (!$util.isString(message.headers[i])) + return "headers: string[] expected"; + } + if (message.body != null && message.hasOwnProperty("body")) + if (!(message.body && typeof message.body.length === "number" || $util.isString(message.body))) + return "body: buffer expected"; + return null; + }; + + /** + * Creates an InnerApiData message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof InnerApiData + * @static + * @param {Object.} object Plain object + * @returns {InnerApiData} InnerApiData + */ + InnerApiData.fromObject = function fromObject(object) { + if (object instanceof $root.InnerApiData) + return object; + var message = new $root.InnerApiData(); + if (object.modid != null) + message.modid = object.modid >>> 0; + if (object.cmdid != null) + message.cmdid = object.cmdid >>> 0; + if (object.url != null) + message.url = String(object.url); + if (object.useHttps != null) + message.useHttps = Boolean(object.useHttps); + switch (object.method) { + case "HTTP_GET": + case 1: + message.method = 1; + break; + case "HTTP_POST": + case 2: + message.method = 2; + break; + case "HTTP_PUT": + case 3: + message.method = 3; + break; + case "HTTP_DELETE": + case 4: + message.method = 4; + break; + case "HTTP_HEAD": + case 5: + message.method = 5; + break; + case "HTTP_PATCH": + case 6: + message.method = 6; + break; + } + if (object.headers) { + if (!Array.isArray(object.headers)) + throw TypeError(".InnerApiData.headers: array expected"); + message.headers = []; + for (var i = 0; i < object.headers.length; ++i) + message.headers[i] = String(object.headers[i]); + } + if (object.body != null) + if (typeof object.body === "string") + $util.base64.decode(object.body, message.body = $util.newBuffer($util.base64.length(object.body)), 0); + else if (object.body.length) + message.body = object.body; + return message; + }; + + /** + * Creates a plain object from an InnerApiData message. Also converts values to other types if specified. + * @function toObject + * @memberof InnerApiData + * @static + * @param {InnerApiData} message InnerApiData + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + InnerApiData.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.headers = []; + if (options.defaults) { + object.modid = 0; + object.cmdid = 0; + object.url = ""; + object.useHttps = false; + object.method = options.enums === String ? "HTTP_GET" : 1; + if (options.bytes === String) + object.body = ""; + else { + object.body = []; + if (options.bytes !== Array) + object.body = $util.newBuffer(object.body); + } + } + if (message.modid != null && message.hasOwnProperty("modid")) + object.modid = message.modid; + if (message.cmdid != null && message.hasOwnProperty("cmdid")) + object.cmdid = message.cmdid; + if (message.url != null && message.hasOwnProperty("url")) + object.url = message.url; + if (message.useHttps != null && message.hasOwnProperty("useHttps")) + object.useHttps = message.useHttps; + if (message.method != null && message.hasOwnProperty("method")) + object.method = options.enums === String ? $root.HTTP_METHODS[message.method] : message.method; + if (message.headers && message.headers.length) { + object.headers = []; + for (var j = 0; j < message.headers.length; ++j) + object.headers[j] = message.headers[j]; + } + if (message.body != null && message.hasOwnProperty("body")) + object.body = options.bytes === String ? $util.base64.encode(message.body, 0, message.body.length) : options.bytes === Array ? Array.prototype.slice.call(message.body) : message.body; + return object; + }; + + /** + * Converts this InnerApiData to JSON. + * @function toJSON + * @memberof InnerApiData + * @instance + * @returns {Object.} JSON object + */ + InnerApiData.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return InnerApiData; +})(); + +$root.SvrkitApiData = (function() { + + /** + * Properties of a SvrkitApiData. + * @exports ISvrkitApiData + * @interface ISvrkitApiData + * @property {string|null} [apiName] SvrkitApiData apiName + * @property {Uint8Array|null} [reqData] SvrkitApiData reqData + */ + + /** + * Constructs a new SvrkitApiData. + * @exports SvrkitApiData + * @classdesc Represents a SvrkitApiData. + * @implements ISvrkitApiData + * @constructor + * @param {ISvrkitApiData=} [properties] Properties to set + */ + function SvrkitApiData(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SvrkitApiData apiName. + * @member {string} apiName + * @memberof SvrkitApiData + * @instance + */ + SvrkitApiData.prototype.apiName = ""; + + /** + * SvrkitApiData reqData. + * @member {Uint8Array} reqData + * @memberof SvrkitApiData + * @instance + */ + SvrkitApiData.prototype.reqData = $util.newBuffer([]); + + /** + * Creates a new SvrkitApiData instance using the specified properties. + * @function create + * @memberof SvrkitApiData + * @static + * @param {ISvrkitApiData=} [properties] Properties to set + * @returns {SvrkitApiData} SvrkitApiData instance + */ + SvrkitApiData.create = function create(properties) { + return new SvrkitApiData(properties); + }; + + /** + * Encodes the specified SvrkitApiData message. Does not implicitly {@link SvrkitApiData.verify|verify} messages. + * @function encode + * @memberof SvrkitApiData + * @static + * @param {ISvrkitApiData} message SvrkitApiData message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SvrkitApiData.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.apiName != null && message.hasOwnProperty("apiName")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.apiName); + if (message.reqData != null && message.hasOwnProperty("reqData")) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.reqData); + return writer; + }; + + /** + * Encodes the specified SvrkitApiData message, length delimited. Does not implicitly {@link SvrkitApiData.verify|verify} messages. + * @function encodeDelimited + * @memberof SvrkitApiData + * @static + * @param {ISvrkitApiData} message SvrkitApiData message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SvrkitApiData.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SvrkitApiData message from the specified reader or buffer. + * @function decode + * @memberof SvrkitApiData + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {SvrkitApiData} SvrkitApiData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SvrkitApiData.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.SvrkitApiData(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.apiName = reader.string(); + break; + case 2: + message.reqData = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SvrkitApiData message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof SvrkitApiData + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {SvrkitApiData} SvrkitApiData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SvrkitApiData.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SvrkitApiData message. + * @function verify + * @memberof SvrkitApiData + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SvrkitApiData.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.apiName != null && message.hasOwnProperty("apiName")) + if (!$util.isString(message.apiName)) + return "apiName: string expected"; + if (message.reqData != null && message.hasOwnProperty("reqData")) + if (!(message.reqData && typeof message.reqData.length === "number" || $util.isString(message.reqData))) + return "reqData: buffer expected"; + return null; + }; + + /** + * Creates a SvrkitApiData message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof SvrkitApiData + * @static + * @param {Object.} object Plain object + * @returns {SvrkitApiData} SvrkitApiData + */ + SvrkitApiData.fromObject = function fromObject(object) { + if (object instanceof $root.SvrkitApiData) + return object; + var message = new $root.SvrkitApiData(); + if (object.apiName != null) + message.apiName = String(object.apiName); + if (object.reqData != null) + if (typeof object.reqData === "string") + $util.base64.decode(object.reqData, message.reqData = $util.newBuffer($util.base64.length(object.reqData)), 0); + else if (object.reqData.length) + message.reqData = object.reqData; + return message; + }; + + /** + * Creates a plain object from a SvrkitApiData message. Also converts values to other types if specified. + * @function toObject + * @memberof SvrkitApiData + * @static + * @param {SvrkitApiData} message SvrkitApiData + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SvrkitApiData.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.apiName = ""; + if (options.bytes === String) + object.reqData = ""; + else { + object.reqData = []; + if (options.bytes !== Array) + object.reqData = $util.newBuffer(object.reqData); + } + } + if (message.apiName != null && message.hasOwnProperty("apiName")) + object.apiName = message.apiName; + if (message.reqData != null && message.hasOwnProperty("reqData")) + object.reqData = options.bytes === String ? $util.base64.encode(message.reqData, 0, message.reqData.length) : options.bytes === Array ? Array.prototype.slice.call(message.reqData) : message.reqData; + return object; + }; + + /** + * Converts this SvrkitApiData to JSON. + * @function toJSON + * @memberof SvrkitApiData + * @instance + * @returns {Object.} JSON object + */ + SvrkitApiData.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return SvrkitApiData; +})(); + +/** + * HTTP_METHODS enum. + * @exports HTTP_METHODS + * @enum {string} + * @property {number} HTTP_GET=1 HTTP_GET value + * @property {number} HTTP_POST=2 HTTP_POST value + * @property {number} HTTP_PUT=3 HTTP_PUT value + * @property {number} HTTP_DELETE=4 HTTP_DELETE value + * @property {number} HTTP_HEAD=5 HTTP_HEAD value + * @property {number} HTTP_PATCH=6 HTTP_PATCH value + */ +$root.HTTP_METHODS = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[1] = "HTTP_GET"] = 1; + values[valuesById[2] = "HTTP_POST"] = 2; + values[valuesById[3] = "HTTP_PUT"] = 3; + values[valuesById[4] = "HTTP_DELETE"] = 4; + values[valuesById[5] = "HTTP_HEAD"] = 5; + values[valuesById[6] = "HTTP_PATCH"] = 6; + return values; +})(); + +$root.HttpHeader = (function() { + + /** + * Properties of a HttpHeader. + * @exports IHttpHeader + * @interface IHttpHeader + * @property {string|null} [key] HttpHeader key + * @property {string|null} [value] HttpHeader value + */ + + /** + * Constructs a new HttpHeader. + * @exports HttpHeader + * @classdesc Represents a HttpHeader. + * @implements IHttpHeader + * @constructor + * @param {IHttpHeader=} [properties] Properties to set + */ + function HttpHeader(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * HttpHeader key. + * @member {string} key + * @memberof HttpHeader + * @instance + */ + HttpHeader.prototype.key = ""; + + /** + * HttpHeader value. + * @member {string} value + * @memberof HttpHeader + * @instance + */ + HttpHeader.prototype.value = ""; + + /** + * Creates a new HttpHeader instance using the specified properties. + * @function create + * @memberof HttpHeader + * @static + * @param {IHttpHeader=} [properties] Properties to set + * @returns {HttpHeader} HttpHeader instance + */ + HttpHeader.create = function create(properties) { + return new HttpHeader(properties); + }; + + /** + * Encodes the specified HttpHeader message. Does not implicitly {@link HttpHeader.verify|verify} messages. + * @function encode + * @memberof HttpHeader + * @static + * @param {IHttpHeader} message HttpHeader message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + HttpHeader.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.key != null && message.hasOwnProperty("key")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.key); + if (message.value != null && message.hasOwnProperty("value")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); + return writer; + }; + + /** + * Encodes the specified HttpHeader message, length delimited. Does not implicitly {@link HttpHeader.verify|verify} messages. + * @function encodeDelimited + * @memberof HttpHeader + * @static + * @param {IHttpHeader} message HttpHeader message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + HttpHeader.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a HttpHeader message from the specified reader or buffer. + * @function decode + * @memberof HttpHeader + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {HttpHeader} HttpHeader + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + HttpHeader.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.HttpHeader(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.key = reader.string(); + break; + case 2: + message.value = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a HttpHeader message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof HttpHeader + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {HttpHeader} HttpHeader + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + HttpHeader.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a HttpHeader message. + * @function verify + * @memberof HttpHeader + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + HttpHeader.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.key != null && message.hasOwnProperty("key")) + if (!$util.isString(message.key)) + return "key: string expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (!$util.isString(message.value)) + return "value: string expected"; + return null; + }; + + /** + * Creates a HttpHeader message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof HttpHeader + * @static + * @param {Object.} object Plain object + * @returns {HttpHeader} HttpHeader + */ + HttpHeader.fromObject = function fromObject(object) { + if (object instanceof $root.HttpHeader) + return object; + var message = new $root.HttpHeader(); + if (object.key != null) + message.key = String(object.key); + if (object.value != null) + message.value = String(object.value); + return message; + }; + + /** + * Creates a plain object from a HttpHeader message. Also converts values to other types if specified. + * @function toObject + * @memberof HttpHeader + * @static + * @param {HttpHeader} message HttpHeader + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + HttpHeader.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.key = ""; + object.value = ""; + } + if (message.key != null && message.hasOwnProperty("key")) + object.key = message.key; + if (message.value != null && message.hasOwnProperty("value")) + object.value = message.value; + return object; + }; + + /** + * Converts this HttpHeader to JSON. + * @function toJSON + * @memberof HttpHeader + * @instance + * @returns {Object.} JSON object + */ + HttpHeader.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return HttpHeader; +})(); + +$root.ApiGetOpenDataByCloudIdReq = (function() { + + /** + * Properties of an ApiGetOpenDataByCloudIdReq. + * @exports IApiGetOpenDataByCloudIdReq + * @interface IApiGetOpenDataByCloudIdReq + * @property {Array.|null} [cloudidList] ApiGetOpenDataByCloudIdReq cloudidList + */ + + /** + * Constructs a new ApiGetOpenDataByCloudIdReq. + * @exports ApiGetOpenDataByCloudIdReq + * @classdesc Represents an ApiGetOpenDataByCloudIdReq. + * @implements IApiGetOpenDataByCloudIdReq + * @constructor + * @param {IApiGetOpenDataByCloudIdReq=} [properties] Properties to set + */ + function ApiGetOpenDataByCloudIdReq(properties) { + this.cloudidList = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ApiGetOpenDataByCloudIdReq cloudidList. + * @member {Array.} cloudidList + * @memberof ApiGetOpenDataByCloudIdReq + * @instance + */ + ApiGetOpenDataByCloudIdReq.prototype.cloudidList = $util.emptyArray; + + /** + * Creates a new ApiGetOpenDataByCloudIdReq instance using the specified properties. + * @function create + * @memberof ApiGetOpenDataByCloudIdReq + * @static + * @param {IApiGetOpenDataByCloudIdReq=} [properties] Properties to set + * @returns {ApiGetOpenDataByCloudIdReq} ApiGetOpenDataByCloudIdReq instance + */ + ApiGetOpenDataByCloudIdReq.create = function create(properties) { + return new ApiGetOpenDataByCloudIdReq(properties); + }; + + /** + * Encodes the specified ApiGetOpenDataByCloudIdReq message. Does not implicitly {@link ApiGetOpenDataByCloudIdReq.verify|verify} messages. + * @function encode + * @memberof ApiGetOpenDataByCloudIdReq + * @static + * @param {IApiGetOpenDataByCloudIdReq} message ApiGetOpenDataByCloudIdReq message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ApiGetOpenDataByCloudIdReq.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.cloudidList != null && message.cloudidList.length) + for (var i = 0; i < message.cloudidList.length; ++i) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.cloudidList[i]); + return writer; + }; + + /** + * Encodes the specified ApiGetOpenDataByCloudIdReq message, length delimited. Does not implicitly {@link ApiGetOpenDataByCloudIdReq.verify|verify} messages. + * @function encodeDelimited + * @memberof ApiGetOpenDataByCloudIdReq + * @static + * @param {IApiGetOpenDataByCloudIdReq} message ApiGetOpenDataByCloudIdReq message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ApiGetOpenDataByCloudIdReq.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ApiGetOpenDataByCloudIdReq message from the specified reader or buffer. + * @function decode + * @memberof ApiGetOpenDataByCloudIdReq + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {ApiGetOpenDataByCloudIdReq} ApiGetOpenDataByCloudIdReq + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ApiGetOpenDataByCloudIdReq.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.ApiGetOpenDataByCloudIdReq(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 2: + if (!(message.cloudidList && message.cloudidList.length)) + message.cloudidList = []; + message.cloudidList.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ApiGetOpenDataByCloudIdReq message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof ApiGetOpenDataByCloudIdReq + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {ApiGetOpenDataByCloudIdReq} ApiGetOpenDataByCloudIdReq + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ApiGetOpenDataByCloudIdReq.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ApiGetOpenDataByCloudIdReq message. + * @function verify + * @memberof ApiGetOpenDataByCloudIdReq + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ApiGetOpenDataByCloudIdReq.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.cloudidList != null && message.hasOwnProperty("cloudidList")) { + if (!Array.isArray(message.cloudidList)) + return "cloudidList: array expected"; + for (var i = 0; i < message.cloudidList.length; ++i) + if (!$util.isString(message.cloudidList[i])) + return "cloudidList: string[] expected"; + } + return null; + }; + + /** + * Creates an ApiGetOpenDataByCloudIdReq message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof ApiGetOpenDataByCloudIdReq + * @static + * @param {Object.} object Plain object + * @returns {ApiGetOpenDataByCloudIdReq} ApiGetOpenDataByCloudIdReq + */ + ApiGetOpenDataByCloudIdReq.fromObject = function fromObject(object) { + if (object instanceof $root.ApiGetOpenDataByCloudIdReq) + return object; + var message = new $root.ApiGetOpenDataByCloudIdReq(); + if (object.cloudidList) { + if (!Array.isArray(object.cloudidList)) + throw TypeError(".ApiGetOpenDataByCloudIdReq.cloudidList: array expected"); + message.cloudidList = []; + for (var i = 0; i < object.cloudidList.length; ++i) + message.cloudidList[i] = String(object.cloudidList[i]); + } + return message; + }; + + /** + * Creates a plain object from an ApiGetOpenDataByCloudIdReq message. Also converts values to other types if specified. + * @function toObject + * @memberof ApiGetOpenDataByCloudIdReq + * @static + * @param {ApiGetOpenDataByCloudIdReq} message ApiGetOpenDataByCloudIdReq + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ApiGetOpenDataByCloudIdReq.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.cloudidList = []; + if (message.cloudidList && message.cloudidList.length) { + object.cloudidList = []; + for (var j = 0; j < message.cloudidList.length; ++j) + object.cloudidList[j] = message.cloudidList[j]; + } + return object; + }; + + /** + * Converts this ApiGetOpenDataByCloudIdReq to JSON. + * @function toJSON + * @memberof ApiGetOpenDataByCloudIdReq + * @instance + * @returns {Object.} JSON object + */ + ApiGetOpenDataByCloudIdReq.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ApiGetOpenDataByCloudIdReq; +})(); + +$root.ApiGetOpenDataByCloudIdResp = (function() { + + /** + * Properties of an ApiGetOpenDataByCloudIdResp. + * @exports IApiGetOpenDataByCloudIdResp + * @interface IApiGetOpenDataByCloudIdResp + * @property {Array.|null} [dataList] ApiGetOpenDataByCloudIdResp dataList + */ + + /** + * Constructs a new ApiGetOpenDataByCloudIdResp. + * @exports ApiGetOpenDataByCloudIdResp + * @classdesc Represents an ApiGetOpenDataByCloudIdResp. + * @implements IApiGetOpenDataByCloudIdResp + * @constructor + * @param {IApiGetOpenDataByCloudIdResp=} [properties] Properties to set + */ + function ApiGetOpenDataByCloudIdResp(properties) { + this.dataList = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ApiGetOpenDataByCloudIdResp dataList. + * @member {Array.} dataList + * @memberof ApiGetOpenDataByCloudIdResp + * @instance + */ + ApiGetOpenDataByCloudIdResp.prototype.dataList = $util.emptyArray; + + /** + * Creates a new ApiGetOpenDataByCloudIdResp instance using the specified properties. + * @function create + * @memberof ApiGetOpenDataByCloudIdResp + * @static + * @param {IApiGetOpenDataByCloudIdResp=} [properties] Properties to set + * @returns {ApiGetOpenDataByCloudIdResp} ApiGetOpenDataByCloudIdResp instance + */ + ApiGetOpenDataByCloudIdResp.create = function create(properties) { + return new ApiGetOpenDataByCloudIdResp(properties); + }; + + /** + * Encodes the specified ApiGetOpenDataByCloudIdResp message. Does not implicitly {@link ApiGetOpenDataByCloudIdResp.verify|verify} messages. + * @function encode + * @memberof ApiGetOpenDataByCloudIdResp + * @static + * @param {IApiGetOpenDataByCloudIdResp} message ApiGetOpenDataByCloudIdResp message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ApiGetOpenDataByCloudIdResp.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.dataList != null && message.dataList.length) + for (var i = 0; i < message.dataList.length; ++i) + $root.ApiGetOpenDataByCloudIdResp.OpDataItem.encode(message.dataList[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ApiGetOpenDataByCloudIdResp message, length delimited. Does not implicitly {@link ApiGetOpenDataByCloudIdResp.verify|verify} messages. + * @function encodeDelimited + * @memberof ApiGetOpenDataByCloudIdResp + * @static + * @param {IApiGetOpenDataByCloudIdResp} message ApiGetOpenDataByCloudIdResp message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ApiGetOpenDataByCloudIdResp.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ApiGetOpenDataByCloudIdResp message from the specified reader or buffer. + * @function decode + * @memberof ApiGetOpenDataByCloudIdResp + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {ApiGetOpenDataByCloudIdResp} ApiGetOpenDataByCloudIdResp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ApiGetOpenDataByCloudIdResp.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.ApiGetOpenDataByCloudIdResp(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.dataList && message.dataList.length)) + message.dataList = []; + message.dataList.push($root.ApiGetOpenDataByCloudIdResp.OpDataItem.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ApiGetOpenDataByCloudIdResp message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof ApiGetOpenDataByCloudIdResp + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {ApiGetOpenDataByCloudIdResp} ApiGetOpenDataByCloudIdResp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ApiGetOpenDataByCloudIdResp.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ApiGetOpenDataByCloudIdResp message. + * @function verify + * @memberof ApiGetOpenDataByCloudIdResp + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ApiGetOpenDataByCloudIdResp.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.dataList != null && message.hasOwnProperty("dataList")) { + if (!Array.isArray(message.dataList)) + return "dataList: array expected"; + for (var i = 0; i < message.dataList.length; ++i) { + var error = $root.ApiGetOpenDataByCloudIdResp.OpDataItem.verify(message.dataList[i]); + if (error) + return "dataList." + error; + } + } + return null; + }; + + /** + * Creates an ApiGetOpenDataByCloudIdResp message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof ApiGetOpenDataByCloudIdResp + * @static + * @param {Object.} object Plain object + * @returns {ApiGetOpenDataByCloudIdResp} ApiGetOpenDataByCloudIdResp + */ + ApiGetOpenDataByCloudIdResp.fromObject = function fromObject(object) { + if (object instanceof $root.ApiGetOpenDataByCloudIdResp) + return object; + var message = new $root.ApiGetOpenDataByCloudIdResp(); + if (object.dataList) { + if (!Array.isArray(object.dataList)) + throw TypeError(".ApiGetOpenDataByCloudIdResp.dataList: array expected"); + message.dataList = []; + for (var i = 0; i < object.dataList.length; ++i) { + if (typeof object.dataList[i] !== "object") + throw TypeError(".ApiGetOpenDataByCloudIdResp.dataList: object expected"); + message.dataList[i] = $root.ApiGetOpenDataByCloudIdResp.OpDataItem.fromObject(object.dataList[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an ApiGetOpenDataByCloudIdResp message. Also converts values to other types if specified. + * @function toObject + * @memberof ApiGetOpenDataByCloudIdResp + * @static + * @param {ApiGetOpenDataByCloudIdResp} message ApiGetOpenDataByCloudIdResp + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ApiGetOpenDataByCloudIdResp.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.dataList = []; + if (message.dataList && message.dataList.length) { + object.dataList = []; + for (var j = 0; j < message.dataList.length; ++j) + object.dataList[j] = $root.ApiGetOpenDataByCloudIdResp.OpDataItem.toObject(message.dataList[j], options); + } + return object; + }; + + /** + * Converts this ApiGetOpenDataByCloudIdResp to JSON. + * @function toJSON + * @memberof ApiGetOpenDataByCloudIdResp + * @instance + * @returns {Object.} JSON object + */ + ApiGetOpenDataByCloudIdResp.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + ApiGetOpenDataByCloudIdResp.OpDataItem = (function() { + + /** + * Properties of an OpDataItem. + * @memberof ApiGetOpenDataByCloudIdResp + * @interface IOpDataItem + * @property {string|null} [cloudId] OpDataItem cloudId + * @property {string|null} [json] OpDataItem json + */ + + /** + * Constructs a new OpDataItem. + * @memberof ApiGetOpenDataByCloudIdResp + * @classdesc Represents an OpDataItem. + * @implements IOpDataItem + * @constructor + * @param {ApiGetOpenDataByCloudIdResp.IOpDataItem=} [properties] Properties to set + */ + function OpDataItem(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * OpDataItem cloudId. + * @member {string} cloudId + * @memberof ApiGetOpenDataByCloudIdResp.OpDataItem + * @instance + */ + OpDataItem.prototype.cloudId = ""; + + /** + * OpDataItem json. + * @member {string} json + * @memberof ApiGetOpenDataByCloudIdResp.OpDataItem + * @instance + */ + OpDataItem.prototype.json = ""; + + /** + * Creates a new OpDataItem instance using the specified properties. + * @function create + * @memberof ApiGetOpenDataByCloudIdResp.OpDataItem + * @static + * @param {ApiGetOpenDataByCloudIdResp.IOpDataItem=} [properties] Properties to set + * @returns {ApiGetOpenDataByCloudIdResp.OpDataItem} OpDataItem instance + */ + OpDataItem.create = function create(properties) { + return new OpDataItem(properties); + }; + + /** + * Encodes the specified OpDataItem message. Does not implicitly {@link ApiGetOpenDataByCloudIdResp.OpDataItem.verify|verify} messages. + * @function encode + * @memberof ApiGetOpenDataByCloudIdResp.OpDataItem + * @static + * @param {ApiGetOpenDataByCloudIdResp.IOpDataItem} message OpDataItem message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OpDataItem.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.cloudId != null && message.hasOwnProperty("cloudId")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.cloudId); + if (message.json != null && message.hasOwnProperty("json")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.json); + return writer; + }; + + /** + * Encodes the specified OpDataItem message, length delimited. Does not implicitly {@link ApiGetOpenDataByCloudIdResp.OpDataItem.verify|verify} messages. + * @function encodeDelimited + * @memberof ApiGetOpenDataByCloudIdResp.OpDataItem + * @static + * @param {ApiGetOpenDataByCloudIdResp.IOpDataItem} message OpDataItem message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OpDataItem.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an OpDataItem message from the specified reader or buffer. + * @function decode + * @memberof ApiGetOpenDataByCloudIdResp.OpDataItem + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {ApiGetOpenDataByCloudIdResp.OpDataItem} OpDataItem + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OpDataItem.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.ApiGetOpenDataByCloudIdResp.OpDataItem(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.cloudId = reader.string(); + break; + case 2: + message.json = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an OpDataItem message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof ApiGetOpenDataByCloudIdResp.OpDataItem + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {ApiGetOpenDataByCloudIdResp.OpDataItem} OpDataItem + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OpDataItem.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an OpDataItem message. + * @function verify + * @memberof ApiGetOpenDataByCloudIdResp.OpDataItem + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + OpDataItem.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.cloudId != null && message.hasOwnProperty("cloudId")) + if (!$util.isString(message.cloudId)) + return "cloudId: string expected"; + if (message.json != null && message.hasOwnProperty("json")) + if (!$util.isString(message.json)) + return "json: string expected"; + return null; + }; + + /** + * Creates an OpDataItem message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof ApiGetOpenDataByCloudIdResp.OpDataItem + * @static + * @param {Object.} object Plain object + * @returns {ApiGetOpenDataByCloudIdResp.OpDataItem} OpDataItem + */ + OpDataItem.fromObject = function fromObject(object) { + if (object instanceof $root.ApiGetOpenDataByCloudIdResp.OpDataItem) + return object; + var message = new $root.ApiGetOpenDataByCloudIdResp.OpDataItem(); + if (object.cloudId != null) + message.cloudId = String(object.cloudId); + if (object.json != null) + message.json = String(object.json); + return message; + }; + + /** + * Creates a plain object from an OpDataItem message. Also converts values to other types if specified. + * @function toObject + * @memberof ApiGetOpenDataByCloudIdResp.OpDataItem + * @static + * @param {ApiGetOpenDataByCloudIdResp.OpDataItem} message OpDataItem + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + OpDataItem.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.cloudId = ""; + object.json = ""; + } + if (message.cloudId != null && message.hasOwnProperty("cloudId")) + object.cloudId = message.cloudId; + if (message.json != null && message.hasOwnProperty("json")) + object.json = message.json; + return object; + }; + + /** + * Converts this OpDataItem to JSON. + * @function toJSON + * @memberof ApiGetOpenDataByCloudIdResp.OpDataItem + * @instance + * @returns {Object.} JSON object + */ + OpDataItem.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return OpDataItem; + })(); + + return ApiGetOpenDataByCloudIdResp; +})(); + +$root.ApiVoipSignReq = (function() { + + /** + * Properties of an ApiVoipSignReq. + * @exports IApiVoipSignReq + * @interface IApiVoipSignReq + * @property {string|null} [groupId] ApiVoipSignReq groupId + * @property {number|null} [timestamp] ApiVoipSignReq timestamp + * @property {string|null} [nonce] ApiVoipSignReq nonce + */ + + /** + * Constructs a new ApiVoipSignReq. + * @exports ApiVoipSignReq + * @classdesc Represents an ApiVoipSignReq. + * @implements IApiVoipSignReq + * @constructor + * @param {IApiVoipSignReq=} [properties] Properties to set + */ + function ApiVoipSignReq(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ApiVoipSignReq groupId. + * @member {string} groupId + * @memberof ApiVoipSignReq + * @instance + */ + ApiVoipSignReq.prototype.groupId = ""; + + /** + * ApiVoipSignReq timestamp. + * @member {number} timestamp + * @memberof ApiVoipSignReq + * @instance + */ + ApiVoipSignReq.prototype.timestamp = 0; + + /** + * ApiVoipSignReq nonce. + * @member {string} nonce + * @memberof ApiVoipSignReq + * @instance + */ + ApiVoipSignReq.prototype.nonce = ""; + + /** + * Creates a new ApiVoipSignReq instance using the specified properties. + * @function create + * @memberof ApiVoipSignReq + * @static + * @param {IApiVoipSignReq=} [properties] Properties to set + * @returns {ApiVoipSignReq} ApiVoipSignReq instance + */ + ApiVoipSignReq.create = function create(properties) { + return new ApiVoipSignReq(properties); + }; + + /** + * Encodes the specified ApiVoipSignReq message. Does not implicitly {@link ApiVoipSignReq.verify|verify} messages. + * @function encode + * @memberof ApiVoipSignReq + * @static + * @param {IApiVoipSignReq} message ApiVoipSignReq message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ApiVoipSignReq.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.groupId != null && message.hasOwnProperty("groupId")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.groupId); + if (message.timestamp != null && message.hasOwnProperty("timestamp")) + writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.timestamp); + if (message.nonce != null && message.hasOwnProperty("nonce")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.nonce); + return writer; + }; + + /** + * Encodes the specified ApiVoipSignReq message, length delimited. Does not implicitly {@link ApiVoipSignReq.verify|verify} messages. + * @function encodeDelimited + * @memberof ApiVoipSignReq + * @static + * @param {IApiVoipSignReq} message ApiVoipSignReq message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ApiVoipSignReq.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ApiVoipSignReq message from the specified reader or buffer. + * @function decode + * @memberof ApiVoipSignReq + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {ApiVoipSignReq} ApiVoipSignReq + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ApiVoipSignReq.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.ApiVoipSignReq(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 2: + message.groupId = reader.string(); + break; + case 3: + message.timestamp = reader.uint32(); + break; + case 4: + message.nonce = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ApiVoipSignReq message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof ApiVoipSignReq + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {ApiVoipSignReq} ApiVoipSignReq + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ApiVoipSignReq.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ApiVoipSignReq message. + * @function verify + * @memberof ApiVoipSignReq + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ApiVoipSignReq.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.groupId != null && message.hasOwnProperty("groupId")) + if (!$util.isString(message.groupId)) + return "groupId: string expected"; + if (message.timestamp != null && message.hasOwnProperty("timestamp")) + if (!$util.isInteger(message.timestamp)) + return "timestamp: integer expected"; + if (message.nonce != null && message.hasOwnProperty("nonce")) + if (!$util.isString(message.nonce)) + return "nonce: string expected"; + return null; + }; + + /** + * Creates an ApiVoipSignReq message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof ApiVoipSignReq + * @static + * @param {Object.} object Plain object + * @returns {ApiVoipSignReq} ApiVoipSignReq + */ + ApiVoipSignReq.fromObject = function fromObject(object) { + if (object instanceof $root.ApiVoipSignReq) + return object; + var message = new $root.ApiVoipSignReq(); + if (object.groupId != null) + message.groupId = String(object.groupId); + if (object.timestamp != null) + message.timestamp = object.timestamp >>> 0; + if (object.nonce != null) + message.nonce = String(object.nonce); + return message; + }; + + /** + * Creates a plain object from an ApiVoipSignReq message. Also converts values to other types if specified. + * @function toObject + * @memberof ApiVoipSignReq + * @static + * @param {ApiVoipSignReq} message ApiVoipSignReq + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ApiVoipSignReq.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.groupId = ""; + object.timestamp = 0; + object.nonce = ""; + } + if (message.groupId != null && message.hasOwnProperty("groupId")) + object.groupId = message.groupId; + if (message.timestamp != null && message.hasOwnProperty("timestamp")) + object.timestamp = message.timestamp; + if (message.nonce != null && message.hasOwnProperty("nonce")) + object.nonce = message.nonce; + return object; + }; + + /** + * Converts this ApiVoipSignReq to JSON. + * @function toJSON + * @memberof ApiVoipSignReq + * @instance + * @returns {Object.} JSON object + */ + ApiVoipSignReq.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ApiVoipSignReq; +})(); + +$root.ApiVoipSignResp = (function() { + + /** + * Properties of an ApiVoipSignResp. + * @exports IApiVoipSignResp + * @interface IApiVoipSignResp + * @property {string|null} [signature] ApiVoipSignResp signature + */ + + /** + * Constructs a new ApiVoipSignResp. + * @exports ApiVoipSignResp + * @classdesc Represents an ApiVoipSignResp. + * @implements IApiVoipSignResp + * @constructor + * @param {IApiVoipSignResp=} [properties] Properties to set + */ + function ApiVoipSignResp(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ApiVoipSignResp signature. + * @member {string} signature + * @memberof ApiVoipSignResp + * @instance + */ + ApiVoipSignResp.prototype.signature = ""; + + /** + * Creates a new ApiVoipSignResp instance using the specified properties. + * @function create + * @memberof ApiVoipSignResp + * @static + * @param {IApiVoipSignResp=} [properties] Properties to set + * @returns {ApiVoipSignResp} ApiVoipSignResp instance + */ + ApiVoipSignResp.create = function create(properties) { + return new ApiVoipSignResp(properties); + }; + + /** + * Encodes the specified ApiVoipSignResp message. Does not implicitly {@link ApiVoipSignResp.verify|verify} messages. + * @function encode + * @memberof ApiVoipSignResp + * @static + * @param {IApiVoipSignResp} message ApiVoipSignResp message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ApiVoipSignResp.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.signature != null && message.hasOwnProperty("signature")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.signature); + return writer; + }; + + /** + * Encodes the specified ApiVoipSignResp message, length delimited. Does not implicitly {@link ApiVoipSignResp.verify|verify} messages. + * @function encodeDelimited + * @memberof ApiVoipSignResp + * @static + * @param {IApiVoipSignResp} message ApiVoipSignResp message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ApiVoipSignResp.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ApiVoipSignResp message from the specified reader or buffer. + * @function decode + * @memberof ApiVoipSignResp + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {ApiVoipSignResp} ApiVoipSignResp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ApiVoipSignResp.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.ApiVoipSignResp(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.signature = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ApiVoipSignResp message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof ApiVoipSignResp + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {ApiVoipSignResp} ApiVoipSignResp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ApiVoipSignResp.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ApiVoipSignResp message. + * @function verify + * @memberof ApiVoipSignResp + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ApiVoipSignResp.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.signature != null && message.hasOwnProperty("signature")) + if (!$util.isString(message.signature)) + return "signature: string expected"; + return null; + }; + + /** + * Creates an ApiVoipSignResp message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof ApiVoipSignResp + * @static + * @param {Object.} object Plain object + * @returns {ApiVoipSignResp} ApiVoipSignResp + */ + ApiVoipSignResp.fromObject = function fromObject(object) { + if (object instanceof $root.ApiVoipSignResp) + return object; + var message = new $root.ApiVoipSignResp(); + if (object.signature != null) + message.signature = String(object.signature); + return message; + }; + + /** + * Creates a plain object from an ApiVoipSignResp message. Also converts values to other types if specified. + * @function toObject + * @memberof ApiVoipSignResp + * @static + * @param {ApiVoipSignResp} message ApiVoipSignResp + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ApiVoipSignResp.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.signature = ""; + if (message.signature != null && message.hasOwnProperty("signature")) + object.signature = message.signature; + return object; + }; + + /** + * Converts this ApiVoipSignResp to JSON. + * @function toJSON + * @memberof ApiVoipSignResp + * @instance + * @returns {Object.} JSON object + */ + ApiVoipSignResp.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ApiVoipSignResp; +})(); + +$root.GetCloudCallSignReq = (function() { + + /** + * Properties of a GetCloudCallSignReq. + * @exports IGetCloudCallSignReq + * @interface IGetCloudCallSignReq + * @property {Array.|null} [parameterList] GetCloudCallSignReq parameterList + */ + + /** + * Constructs a new GetCloudCallSignReq. + * @exports GetCloudCallSignReq + * @classdesc Represents a GetCloudCallSignReq. + * @implements IGetCloudCallSignReq + * @constructor + * @param {IGetCloudCallSignReq=} [properties] Properties to set + */ + function GetCloudCallSignReq(properties) { + this.parameterList = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetCloudCallSignReq parameterList. + * @member {Array.} parameterList + * @memberof GetCloudCallSignReq + * @instance + */ + GetCloudCallSignReq.prototype.parameterList = $util.emptyArray; + + /** + * Creates a new GetCloudCallSignReq instance using the specified properties. + * @function create + * @memberof GetCloudCallSignReq + * @static + * @param {IGetCloudCallSignReq=} [properties] Properties to set + * @returns {GetCloudCallSignReq} GetCloudCallSignReq instance + */ + GetCloudCallSignReq.create = function create(properties) { + return new GetCloudCallSignReq(properties); + }; + + /** + * Encodes the specified GetCloudCallSignReq message. Does not implicitly {@link GetCloudCallSignReq.verify|verify} messages. + * @function encode + * @memberof GetCloudCallSignReq + * @static + * @param {IGetCloudCallSignReq} message GetCloudCallSignReq message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetCloudCallSignReq.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.parameterList != null && message.parameterList.length) + for (var i = 0; i < message.parameterList.length; ++i) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.parameterList[i]); + return writer; + }; + + /** + * Encodes the specified GetCloudCallSignReq message, length delimited. Does not implicitly {@link GetCloudCallSignReq.verify|verify} messages. + * @function encodeDelimited + * @memberof GetCloudCallSignReq + * @static + * @param {IGetCloudCallSignReq} message GetCloudCallSignReq message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetCloudCallSignReq.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetCloudCallSignReq message from the specified reader or buffer. + * @function decode + * @memberof GetCloudCallSignReq + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {GetCloudCallSignReq} GetCloudCallSignReq + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetCloudCallSignReq.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.GetCloudCallSignReq(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 2: + if (!(message.parameterList && message.parameterList.length)) + message.parameterList = []; + message.parameterList.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetCloudCallSignReq message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof GetCloudCallSignReq + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {GetCloudCallSignReq} GetCloudCallSignReq + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetCloudCallSignReq.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetCloudCallSignReq message. + * @function verify + * @memberof GetCloudCallSignReq + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetCloudCallSignReq.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.parameterList != null && message.hasOwnProperty("parameterList")) { + if (!Array.isArray(message.parameterList)) + return "parameterList: array expected"; + for (var i = 0; i < message.parameterList.length; ++i) + if (!$util.isString(message.parameterList[i])) + return "parameterList: string[] expected"; + } + return null; + }; + + /** + * Creates a GetCloudCallSignReq message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof GetCloudCallSignReq + * @static + * @param {Object.} object Plain object + * @returns {GetCloudCallSignReq} GetCloudCallSignReq + */ + GetCloudCallSignReq.fromObject = function fromObject(object) { + if (object instanceof $root.GetCloudCallSignReq) + return object; + var message = new $root.GetCloudCallSignReq(); + if (object.parameterList) { + if (!Array.isArray(object.parameterList)) + throw TypeError(".GetCloudCallSignReq.parameterList: array expected"); + message.parameterList = []; + for (var i = 0; i < object.parameterList.length; ++i) + message.parameterList[i] = String(object.parameterList[i]); + } + return message; + }; + + /** + * Creates a plain object from a GetCloudCallSignReq message. Also converts values to other types if specified. + * @function toObject + * @memberof GetCloudCallSignReq + * @static + * @param {GetCloudCallSignReq} message GetCloudCallSignReq + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetCloudCallSignReq.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.parameterList = []; + if (message.parameterList && message.parameterList.length) { + object.parameterList = []; + for (var j = 0; j < message.parameterList.length; ++j) + object.parameterList[j] = message.parameterList[j]; + } + return object; + }; + + /** + * Converts this GetCloudCallSignReq to JSON. + * @function toJSON + * @memberof GetCloudCallSignReq + * @instance + * @returns {Object.} JSON object + */ + GetCloudCallSignReq.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetCloudCallSignReq; +})(); + +$root.GetCloudCallSignResp = (function() { + + /** + * Properties of a GetCloudCallSignResp. + * @exports IGetCloudCallSignResp + * @interface IGetCloudCallSignResp + * @property {string|null} [signature] GetCloudCallSignResp signature + */ + + /** + * Constructs a new GetCloudCallSignResp. + * @exports GetCloudCallSignResp + * @classdesc Represents a GetCloudCallSignResp. + * @implements IGetCloudCallSignResp + * @constructor + * @param {IGetCloudCallSignResp=} [properties] Properties to set + */ + function GetCloudCallSignResp(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetCloudCallSignResp signature. + * @member {string} signature + * @memberof GetCloudCallSignResp + * @instance + */ + GetCloudCallSignResp.prototype.signature = ""; + + /** + * Creates a new GetCloudCallSignResp instance using the specified properties. + * @function create + * @memberof GetCloudCallSignResp + * @static + * @param {IGetCloudCallSignResp=} [properties] Properties to set + * @returns {GetCloudCallSignResp} GetCloudCallSignResp instance + */ + GetCloudCallSignResp.create = function create(properties) { + return new GetCloudCallSignResp(properties); + }; + + /** + * Encodes the specified GetCloudCallSignResp message. Does not implicitly {@link GetCloudCallSignResp.verify|verify} messages. + * @function encode + * @memberof GetCloudCallSignResp + * @static + * @param {IGetCloudCallSignResp} message GetCloudCallSignResp message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetCloudCallSignResp.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.signature != null && message.hasOwnProperty("signature")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.signature); + return writer; + }; + + /** + * Encodes the specified GetCloudCallSignResp message, length delimited. Does not implicitly {@link GetCloudCallSignResp.verify|verify} messages. + * @function encodeDelimited + * @memberof GetCloudCallSignResp + * @static + * @param {IGetCloudCallSignResp} message GetCloudCallSignResp message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetCloudCallSignResp.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetCloudCallSignResp message from the specified reader or buffer. + * @function decode + * @memberof GetCloudCallSignResp + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {GetCloudCallSignResp} GetCloudCallSignResp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetCloudCallSignResp.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.GetCloudCallSignResp(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.signature = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetCloudCallSignResp message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof GetCloudCallSignResp + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {GetCloudCallSignResp} GetCloudCallSignResp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetCloudCallSignResp.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetCloudCallSignResp message. + * @function verify + * @memberof GetCloudCallSignResp + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetCloudCallSignResp.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.signature != null && message.hasOwnProperty("signature")) + if (!$util.isString(message.signature)) + return "signature: string expected"; + return null; + }; + + /** + * Creates a GetCloudCallSignResp message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof GetCloudCallSignResp + * @static + * @param {Object.} object Plain object + * @returns {GetCloudCallSignResp} GetCloudCallSignResp + */ + GetCloudCallSignResp.fromObject = function fromObject(object) { + if (object instanceof $root.GetCloudCallSignResp) + return object; + var message = new $root.GetCloudCallSignResp(); + if (object.signature != null) + message.signature = String(object.signature); + return message; + }; + + /** + * Creates a plain object from a GetCloudCallSignResp message. Also converts values to other types if specified. + * @function toObject + * @memberof GetCloudCallSignResp + * @static + * @param {GetCloudCallSignResp} message GetCloudCallSignResp + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetCloudCallSignResp.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.signature = ""; + if (message.signature != null && message.hasOwnProperty("signature")) + object.signature = message.signature; + return object; + }; + + /** + * Converts this GetCloudCallSignResp to JSON. + * @function toJSON + * @memberof GetCloudCallSignResp + * @instance + * @returns {Object.} JSON object + */ + GetCloudCallSignResp.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetCloudCallSignResp; +})(); + +$root.AuthorizationInfo = (function() { + + /** + * Properties of an AuthorizationInfo. + * @exports IAuthorizationInfo + * @interface IAuthorizationInfo + * @property {AuthorizationInfo.ITcbCredentials|null} [tcbCredentials] AuthorizationInfo tcbCredentials + * @property {Uint8Array|null} [wxParam] AuthorizationInfo wxParam + */ + + /** + * Constructs a new AuthorizationInfo. + * @exports AuthorizationInfo + * @classdesc Represents an AuthorizationInfo. + * @implements IAuthorizationInfo + * @constructor + * @param {IAuthorizationInfo=} [properties] Properties to set + */ + function AuthorizationInfo(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AuthorizationInfo tcbCredentials. + * @member {AuthorizationInfo.ITcbCredentials|null|undefined} tcbCredentials + * @memberof AuthorizationInfo + * @instance + */ + AuthorizationInfo.prototype.tcbCredentials = null; + + /** + * AuthorizationInfo wxParam. + * @member {Uint8Array} wxParam + * @memberof AuthorizationInfo + * @instance + */ + AuthorizationInfo.prototype.wxParam = $util.newBuffer([]); + + /** + * Creates a new AuthorizationInfo instance using the specified properties. + * @function create + * @memberof AuthorizationInfo + * @static + * @param {IAuthorizationInfo=} [properties] Properties to set + * @returns {AuthorizationInfo} AuthorizationInfo instance + */ + AuthorizationInfo.create = function create(properties) { + return new AuthorizationInfo(properties); + }; + + /** + * Encodes the specified AuthorizationInfo message. Does not implicitly {@link AuthorizationInfo.verify|verify} messages. + * @function encode + * @memberof AuthorizationInfo + * @static + * @param {IAuthorizationInfo} message AuthorizationInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AuthorizationInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.tcbCredentials != null && message.hasOwnProperty("tcbCredentials")) + $root.AuthorizationInfo.TcbCredentials.encode(message.tcbCredentials, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.wxParam != null && message.hasOwnProperty("wxParam")) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.wxParam); + return writer; + }; + + /** + * Encodes the specified AuthorizationInfo message, length delimited. Does not implicitly {@link AuthorizationInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof AuthorizationInfo + * @static + * @param {IAuthorizationInfo} message AuthorizationInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AuthorizationInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AuthorizationInfo message from the specified reader or buffer. + * @function decode + * @memberof AuthorizationInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {AuthorizationInfo} AuthorizationInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AuthorizationInfo.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.AuthorizationInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.tcbCredentials = $root.AuthorizationInfo.TcbCredentials.decode(reader, reader.uint32()); + break; + case 2: + message.wxParam = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AuthorizationInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof AuthorizationInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {AuthorizationInfo} AuthorizationInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AuthorizationInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AuthorizationInfo message. + * @function verify + * @memberof AuthorizationInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AuthorizationInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.tcbCredentials != null && message.hasOwnProperty("tcbCredentials")) { + var error = $root.AuthorizationInfo.TcbCredentials.verify(message.tcbCredentials); + if (error) + return "tcbCredentials." + error; + } + if (message.wxParam != null && message.hasOwnProperty("wxParam")) + if (!(message.wxParam && typeof message.wxParam.length === "number" || $util.isString(message.wxParam))) + return "wxParam: buffer expected"; + return null; + }; + + /** + * Creates an AuthorizationInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof AuthorizationInfo + * @static + * @param {Object.} object Plain object + * @returns {AuthorizationInfo} AuthorizationInfo + */ + AuthorizationInfo.fromObject = function fromObject(object) { + if (object instanceof $root.AuthorizationInfo) + return object; + var message = new $root.AuthorizationInfo(); + if (object.tcbCredentials != null) { + if (typeof object.tcbCredentials !== "object") + throw TypeError(".AuthorizationInfo.tcbCredentials: object expected"); + message.tcbCredentials = $root.AuthorizationInfo.TcbCredentials.fromObject(object.tcbCredentials); + } + if (object.wxParam != null) + if (typeof object.wxParam === "string") + $util.base64.decode(object.wxParam, message.wxParam = $util.newBuffer($util.base64.length(object.wxParam)), 0); + else if (object.wxParam.length) + message.wxParam = object.wxParam; + return message; + }; + + /** + * Creates a plain object from an AuthorizationInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof AuthorizationInfo + * @static + * @param {AuthorizationInfo} message AuthorizationInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AuthorizationInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.tcbCredentials = null; + if (options.bytes === String) + object.wxParam = ""; + else { + object.wxParam = []; + if (options.bytes !== Array) + object.wxParam = $util.newBuffer(object.wxParam); + } + } + if (message.tcbCredentials != null && message.hasOwnProperty("tcbCredentials")) + object.tcbCredentials = $root.AuthorizationInfo.TcbCredentials.toObject(message.tcbCredentials, options); + if (message.wxParam != null && message.hasOwnProperty("wxParam")) + object.wxParam = options.bytes === String ? $util.base64.encode(message.wxParam, 0, message.wxParam.length) : options.bytes === Array ? Array.prototype.slice.call(message.wxParam) : message.wxParam; + return object; + }; + + /** + * Converts this AuthorizationInfo to JSON. + * @function toJSON + * @memberof AuthorizationInfo + * @instance + * @returns {Object.} JSON object + */ + AuthorizationInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + AuthorizationInfo.TcbCredentials = (function() { + + /** + * Properties of a TcbCredentials. + * @memberof AuthorizationInfo + * @interface ITcbCredentials + * @property {string|null} [secretId] TcbCredentials secretId + * @property {string|null} [secretKey] TcbCredentials secretKey + * @property {string|null} [token] TcbCredentials token + */ + + /** + * Constructs a new TcbCredentials. + * @memberof AuthorizationInfo + * @classdesc Represents a TcbCredentials. + * @implements ITcbCredentials + * @constructor + * @param {AuthorizationInfo.ITcbCredentials=} [properties] Properties to set + */ + function TcbCredentials(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * TcbCredentials secretId. + * @member {string} secretId + * @memberof AuthorizationInfo.TcbCredentials + * @instance + */ + TcbCredentials.prototype.secretId = ""; + + /** + * TcbCredentials secretKey. + * @member {string} secretKey + * @memberof AuthorizationInfo.TcbCredentials + * @instance + */ + TcbCredentials.prototype.secretKey = ""; + + /** + * TcbCredentials token. + * @member {string} token + * @memberof AuthorizationInfo.TcbCredentials + * @instance + */ + TcbCredentials.prototype.token = ""; + + /** + * Creates a new TcbCredentials instance using the specified properties. + * @function create + * @memberof AuthorizationInfo.TcbCredentials + * @static + * @param {AuthorizationInfo.ITcbCredentials=} [properties] Properties to set + * @returns {AuthorizationInfo.TcbCredentials} TcbCredentials instance + */ + TcbCredentials.create = function create(properties) { + return new TcbCredentials(properties); + }; + + /** + * Encodes the specified TcbCredentials message. Does not implicitly {@link AuthorizationInfo.TcbCredentials.verify|verify} messages. + * @function encode + * @memberof AuthorizationInfo.TcbCredentials + * @static + * @param {AuthorizationInfo.ITcbCredentials} message TcbCredentials message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TcbCredentials.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.secretId != null && message.hasOwnProperty("secretId")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.secretId); + if (message.secretKey != null && message.hasOwnProperty("secretKey")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.secretKey); + if (message.token != null && message.hasOwnProperty("token")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.token); + return writer; + }; + + /** + * Encodes the specified TcbCredentials message, length delimited. Does not implicitly {@link AuthorizationInfo.TcbCredentials.verify|verify} messages. + * @function encodeDelimited + * @memberof AuthorizationInfo.TcbCredentials + * @static + * @param {AuthorizationInfo.ITcbCredentials} message TcbCredentials message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TcbCredentials.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TcbCredentials message from the specified reader or buffer. + * @function decode + * @memberof AuthorizationInfo.TcbCredentials + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {AuthorizationInfo.TcbCredentials} TcbCredentials + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TcbCredentials.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.AuthorizationInfo.TcbCredentials(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.secretId = reader.string(); + break; + case 2: + message.secretKey = reader.string(); + break; + case 3: + message.token = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TcbCredentials message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof AuthorizationInfo.TcbCredentials + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {AuthorizationInfo.TcbCredentials} TcbCredentials + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TcbCredentials.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TcbCredentials message. + * @function verify + * @memberof AuthorizationInfo.TcbCredentials + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TcbCredentials.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.secretId != null && message.hasOwnProperty("secretId")) + if (!$util.isString(message.secretId)) + return "secretId: string expected"; + if (message.secretKey != null && message.hasOwnProperty("secretKey")) + if (!$util.isString(message.secretKey)) + return "secretKey: string expected"; + if (message.token != null && message.hasOwnProperty("token")) + if (!$util.isString(message.token)) + return "token: string expected"; + return null; + }; + + /** + * Creates a TcbCredentials message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof AuthorizationInfo.TcbCredentials + * @static + * @param {Object.} object Plain object + * @returns {AuthorizationInfo.TcbCredentials} TcbCredentials + */ + TcbCredentials.fromObject = function fromObject(object) { + if (object instanceof $root.AuthorizationInfo.TcbCredentials) + return object; + var message = new $root.AuthorizationInfo.TcbCredentials(); + if (object.secretId != null) + message.secretId = String(object.secretId); + if (object.secretKey != null) + message.secretKey = String(object.secretKey); + if (object.token != null) + message.token = String(object.token); + return message; + }; + + /** + * Creates a plain object from a TcbCredentials message. Also converts values to other types if specified. + * @function toObject + * @memberof AuthorizationInfo.TcbCredentials + * @static + * @param {AuthorizationInfo.TcbCredentials} message TcbCredentials + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TcbCredentials.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.secretId = ""; + object.secretKey = ""; + object.token = ""; + } + if (message.secretId != null && message.hasOwnProperty("secretId")) + object.secretId = message.secretId; + if (message.secretKey != null && message.hasOwnProperty("secretKey")) + object.secretKey = message.secretKey; + if (message.token != null && message.hasOwnProperty("token")) + object.token = message.token; + return object; + }; + + /** + * Converts this TcbCredentials to JSON. + * @function toJSON + * @memberof AuthorizationInfo.TcbCredentials + * @instance + * @returns {Object.} JSON object + */ + TcbCredentials.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return TcbCredentials; + })(); + + AuthorizationInfo.WxParam = (function() { + + /** + * Properties of a WxParam. + * @memberof AuthorizationInfo + * @interface IWxParam + * @property {Uint8Array|null} [qbaseTicket] WxParam qbaseTicket + * @property {string|null} [authUin] WxParam authUin + * @property {string|null} [extJson] WxParam extJson + */ + + /** + * Constructs a new WxParam. + * @memberof AuthorizationInfo + * @classdesc Represents a WxParam. + * @implements IWxParam + * @constructor + * @param {AuthorizationInfo.IWxParam=} [properties] Properties to set + */ + function WxParam(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * WxParam qbaseTicket. + * @member {Uint8Array} qbaseTicket + * @memberof AuthorizationInfo.WxParam + * @instance + */ + WxParam.prototype.qbaseTicket = $util.newBuffer([]); + + /** + * WxParam authUin. + * @member {string} authUin + * @memberof AuthorizationInfo.WxParam + * @instance + */ + WxParam.prototype.authUin = ""; + + /** + * WxParam extJson. + * @member {string} extJson + * @memberof AuthorizationInfo.WxParam + * @instance + */ + WxParam.prototype.extJson = ""; + + /** + * Creates a new WxParam instance using the specified properties. + * @function create + * @memberof AuthorizationInfo.WxParam + * @static + * @param {AuthorizationInfo.IWxParam=} [properties] Properties to set + * @returns {AuthorizationInfo.WxParam} WxParam instance + */ + WxParam.create = function create(properties) { + return new WxParam(properties); + }; + + /** + * Encodes the specified WxParam message. Does not implicitly {@link AuthorizationInfo.WxParam.verify|verify} messages. + * @function encode + * @memberof AuthorizationInfo.WxParam + * @static + * @param {AuthorizationInfo.IWxParam} message WxParam message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WxParam.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.qbaseTicket != null && message.hasOwnProperty("qbaseTicket")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.qbaseTicket); + if (message.authUin != null && message.hasOwnProperty("authUin")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.authUin); + if (message.extJson != null && message.hasOwnProperty("extJson")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.extJson); + return writer; + }; + + /** + * Encodes the specified WxParam message, length delimited. Does not implicitly {@link AuthorizationInfo.WxParam.verify|verify} messages. + * @function encodeDelimited + * @memberof AuthorizationInfo.WxParam + * @static + * @param {AuthorizationInfo.IWxParam} message WxParam message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WxParam.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WxParam message from the specified reader or buffer. + * @function decode + * @memberof AuthorizationInfo.WxParam + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {AuthorizationInfo.WxParam} WxParam + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WxParam.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.AuthorizationInfo.WxParam(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.qbaseTicket = reader.bytes(); + break; + case 2: + message.authUin = reader.string(); + break; + case 3: + message.extJson = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WxParam message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof AuthorizationInfo.WxParam + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {AuthorizationInfo.WxParam} WxParam + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WxParam.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WxParam message. + * @function verify + * @memberof AuthorizationInfo.WxParam + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WxParam.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.qbaseTicket != null && message.hasOwnProperty("qbaseTicket")) + if (!(message.qbaseTicket && typeof message.qbaseTicket.length === "number" || $util.isString(message.qbaseTicket))) + return "qbaseTicket: buffer expected"; + if (message.authUin != null && message.hasOwnProperty("authUin")) + if (!$util.isString(message.authUin)) + return "authUin: string expected"; + if (message.extJson != null && message.hasOwnProperty("extJson")) + if (!$util.isString(message.extJson)) + return "extJson: string expected"; + return null; + }; + + /** + * Creates a WxParam message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof AuthorizationInfo.WxParam + * @static + * @param {Object.} object Plain object + * @returns {AuthorizationInfo.WxParam} WxParam + */ + WxParam.fromObject = function fromObject(object) { + if (object instanceof $root.AuthorizationInfo.WxParam) + return object; + var message = new $root.AuthorizationInfo.WxParam(); + if (object.qbaseTicket != null) + if (typeof object.qbaseTicket === "string") + $util.base64.decode(object.qbaseTicket, message.qbaseTicket = $util.newBuffer($util.base64.length(object.qbaseTicket)), 0); + else if (object.qbaseTicket.length) + message.qbaseTicket = object.qbaseTicket; + if (object.authUin != null) + message.authUin = String(object.authUin); + if (object.extJson != null) + message.extJson = String(object.extJson); + return message; + }; + + /** + * Creates a plain object from a WxParam message. Also converts values to other types if specified. + * @function toObject + * @memberof AuthorizationInfo.WxParam + * @static + * @param {AuthorizationInfo.WxParam} message WxParam + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WxParam.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.qbaseTicket = ""; + else { + object.qbaseTicket = []; + if (options.bytes !== Array) + object.qbaseTicket = $util.newBuffer(object.qbaseTicket); + } + object.authUin = ""; + object.extJson = ""; + } + if (message.qbaseTicket != null && message.hasOwnProperty("qbaseTicket")) + object.qbaseTicket = options.bytes === String ? $util.base64.encode(message.qbaseTicket, 0, message.qbaseTicket.length) : options.bytes === Array ? Array.prototype.slice.call(message.qbaseTicket) : message.qbaseTicket; + if (message.authUin != null && message.hasOwnProperty("authUin")) + object.authUin = message.authUin; + if (message.extJson != null && message.hasOwnProperty("extJson")) + object.extJson = message.extJson; + return object; + }; + + /** + * Converts this WxParam to JSON. + * @function toJSON + * @memberof AuthorizationInfo.WxParam + * @instance + * @returns {Object.} JSON object + */ + WxParam.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return WxParam; + })(); + + return AuthorizationInfo; +})(); + +$root.ApiOptions = (function() { + + /** + * Properties of an ApiOptions. + * @exports IApiOptions + * @interface IApiOptions + * @property {string|null} [appid] ApiOptions appid + */ + + /** + * Constructs a new ApiOptions. + * @exports ApiOptions + * @classdesc Represents an ApiOptions. + * @implements IApiOptions + * @constructor + * @param {IApiOptions=} [properties] Properties to set + */ + function ApiOptions(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ApiOptions appid. + * @member {string} appid + * @memberof ApiOptions + * @instance + */ + ApiOptions.prototype.appid = ""; + + /** + * Creates a new ApiOptions instance using the specified properties. + * @function create + * @memberof ApiOptions + * @static + * @param {IApiOptions=} [properties] Properties to set + * @returns {ApiOptions} ApiOptions instance + */ + ApiOptions.create = function create(properties) { + return new ApiOptions(properties); + }; + + /** + * Encodes the specified ApiOptions message. Does not implicitly {@link ApiOptions.verify|verify} messages. + * @function encode + * @memberof ApiOptions + * @static + * @param {IApiOptions} message ApiOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ApiOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.appid != null && message.hasOwnProperty("appid")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.appid); + return writer; + }; + + /** + * Encodes the specified ApiOptions message, length delimited. Does not implicitly {@link ApiOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof ApiOptions + * @static + * @param {IApiOptions} message ApiOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ApiOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ApiOptions message from the specified reader or buffer. + * @function decode + * @memberof ApiOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {ApiOptions} ApiOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ApiOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.ApiOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.appid = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ApiOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof ApiOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {ApiOptions} ApiOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ApiOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ApiOptions message. + * @function verify + * @memberof ApiOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ApiOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.appid != null && message.hasOwnProperty("appid")) + if (!$util.isString(message.appid)) + return "appid: string expected"; + return null; + }; + + /** + * Creates an ApiOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof ApiOptions + * @static + * @param {Object.} object Plain object + * @returns {ApiOptions} ApiOptions + */ + ApiOptions.fromObject = function fromObject(object) { + if (object instanceof $root.ApiOptions) + return object; + var message = new $root.ApiOptions(); + if (object.appid != null) + message.appid = String(object.appid); + return message; + }; + + /** + * Creates a plain object from an ApiOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof ApiOptions + * @static + * @param {ApiOptions} message ApiOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ApiOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.appid = ""; + if (message.appid != null && message.hasOwnProperty("appid")) + object.appid = message.appid; + return object; + }; + + /** + * Converts this ApiOptions to JSON. + * @function toJSON + * @memberof ApiOptions + * @instance + * @returns {Object.} JSON object + */ + ApiOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ApiOptions; +})(); + +module.exports = $root; + + +/***/ }), + +/***/ "./src/utils/assert.ts": +/*!*****************************!*\ + !*** ./src/utils/assert.ts ***! + \*****************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +exports.assertObjectNotEmpty = exports.assertRequiredParam = exports.assertObjectOptionalType = exports.assertType = exports.validObjectOptionalType = exports.validType = exports.sameType = void 0; +const type_1 = __webpack_require__(/*! ./type */ "./src/utils/type.ts"); +const error_1 = __webpack_require__(/*! ./error */ "./src/utils/error.ts"); +const error_config_1 = __webpack_require__(/*! config/error.config */ "./src/config/error.config.ts"); +function sameType(input, ref, name) { + function sameTypeImpl(input, ref, name) { + const inputType = type_1.getType(input); + const refType = type_1.getType(ref); + if (inputType !== refType) { + return `${name} should be ${refType} instead of ${inputType}; `; + } + let errors = ''; + switch (inputType) { + case 'object': { + for (const key in ref) { + errors += sameTypeImpl(input[key], ref[key], `${name}.${key}`); + } + break; + } + case 'array': { + for (let i = 0; i < ref.length; i++) { + errors += sameTypeImpl(input[i], ref[i], `${name}[${i}]`); + } + break; + } + default: { + break; + } + } + return errors; + } + const error = sameTypeImpl(input, ref, name); + return { + passed: !error, + reason: error, + }; +} +exports.sameType = sameType; +function validType(input, ref, name = 'parameter') { + function validTypeImpl(input, ref, name) { + const inputType = type_1.getType(input); + const refType = type_1.getType(ref); + if (refType === 'string') { + if (inputType !== ref) { + return `${name} should be ${ref} instead of ${inputType};`; + } + return ''; + } + else { + if (inputType !== refType) { + return `${name} should be ${refType} instead of ${inputType}; `; + } + let errors = ''; + switch (inputType) { + case 'object': { + for (const key in ref) { + errors += validTypeImpl(input[key], ref[key], `${name}.${key}`); + } + break; + } + case 'array': { + for (let i = 0; i < ref.length; i++) { + errors += validTypeImpl(input[i], ref[i], `${name}[${i}]`); + } + break; + } + default: { + break; + } + } + return errors; + } + } + const error = validTypeImpl(input, ref, name); + return { + passed: !error, + reason: error, + }; +} +exports.validType = validType; +function validObjectOptionalType(input, ref, name = 'parameter') { + function validImpl(input, ref, name) { + const inputType = type_1.getType(input); + const refType = type_1.getType(ref); + if (refType !== 'object') + return ''; + if (inputType === 'object') { + for (const key in input) { + const val = input[key]; + if (val === undefined || key === null) { + continue; + } + const assertResult = validType(val, ref[key], `${name}.${key}`); + return assertResult.passed ? '' : assertResult.reason; + } + } + else { + return `${name} should be object instead of ${inputType}`; + } + return ''; + } + const error = validImpl(input, ref, name); + return { + passed: !error, + reason: error, + }; +} +exports.validObjectOptionalType = validObjectOptionalType; +function assertType(param, ref, name = 'parameter', ErrorClass = error_1.CloudSDKError) { + // check param validity + let paramCheckResult = validType(param, ref, name); + if (!paramCheckResult.passed) { + throw new ErrorClass({ + errMsg: paramCheckResult.reason, + }); + } +} +exports.assertType = assertType; +function assertObjectOptionalType(param, ref, name = 'parameter', ErrorClass = error_1.CloudSDKError) { + // check param validity + let paramCheckResult = validObjectOptionalType(param, ref, name); + if (!paramCheckResult.passed) { + throw new ErrorClass({ + errMsg: paramCheckResult.reason, + }); + } +} +exports.assertObjectOptionalType = assertObjectOptionalType; +function assertRequiredParam(param, name, funcName, ErrorClass = error_1.CloudSDKError) { + if (param === undefined || param === null) { + throw new ErrorClass({ + errMsg: `parameter ${name} of function ${funcName} must be provided`, + }); + } +} +exports.assertRequiredParam = assertRequiredParam; +function assertObjectNotEmpty({ target, name, ErrorClass = error_1.CloudSDKError }) { + if (Object.keys(target).length === 0) { + throw new ErrorClass({ + errCode: error_config_1.ERR_CODE.SDK_API_PARAMETER_ERROR, + errMsg: `${name} must not be empty` + }); + } +} +exports.assertObjectNotEmpty = assertObjectNotEmpty; +/* +export function constructTypeRef(typeDef: any): any { + + const type = getType(typeDef) + + switch(type) { + case 'string': { + return '' + } + case 'number': { + + } + } + +} +*/ + + +/***/ }), + +/***/ "./src/utils/error.ts": +/*!****************************!*\ + !*** ./src/utils/error.ts ***! + \****************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +exports.toSDKError = exports.returnAsFinalCloudSDKError = exports.returnAsCloudSDKError = exports.isSDKError = exports.createError = exports.CloudSDKError = void 0; +const type_1 = __webpack_require__(/*! ./type */ "./src/utils/type.ts"); +const error_config_1 = __webpack_require__(/*! config/error.config */ "./src/config/error.config.ts"); +/** + * @deprecated + */ +class CloudSDKError extends Error { + constructor(options) { + super(options.errMsg); + this.errCode = -1; + Object.defineProperties(this, { + message: { + get() { + return `errCode: ${this.errCode} ${error_config_1.ERR_CODE[this.errCode] || ''} | errMsg: ` + this.errMsg; + }, + set(msg) { + this.errMsg = msg; + } + } + }); + this.errCode = options.errCode || -1; + this.errMsg = options.errMsg; + } + get message() { + return `errCode: ${this.errCode} | errMsg: ` + this.errMsg; + } + set message(msg) { + this.errMsg = msg; + } +} +exports.CloudSDKError = CloudSDKError; +/** + * @deprecated + */ +function createError({ errCode = 1, errMsg = '', errClass = CloudSDKError, } = {}) { + return new errClass({ + errCode, + errMsg, + }); +} +exports.createError = createError; +function isSDKError(error) { + return error && (error instanceof Error) && type_1.isString(error.errMsg); +} +exports.isSDKError = isSDKError; +/** + * @deprecated + */ +function returnAsCloudSDKError(err, appendMsg = '') { + if (err) { + if (isSDKError(err)) { + if (appendMsg) { + err.errMsg += '; ' + appendMsg; + } + return err; + } + const errCode = err ? err.errCode : undefined; + const errMsg = (err && err.errMsg || err.toString() || 'unknown error') + '; ' + appendMsg; + return new CloudSDKError({ + errCode, + errMsg, + }); + } + return new CloudSDKError({ + errMsg: appendMsg + }); +} +exports.returnAsCloudSDKError = returnAsCloudSDKError; +/** + * @deprecated + */ +function returnAsFinalCloudSDKError(err, apiName) { + return toSDKError(err, apiName); + // if (err && isSDKError(err)) { + // return err + // } + // const e = returnAsCloudSDKError(err, `at ${apiName} api; `) + // e.errMsg = apiFailMsg(apiName, e.errMsg) + // return e +} +exports.returnAsFinalCloudSDKError = returnAsFinalCloudSDKError; +function toSDKError(e, apiName) { + if (e) { + if (isSDKError(e)) { + return e; + } + const prefix = `${apiName}:fail `; + let err; + if (e instanceof Error) { + e.message = `${prefix}${e.message}`; + e.stack = e.stack.slice(0, 7) + prefix + e.stack.slice(7); + err = e; + err.errCode = -1; + } + else if (typeof e === 'string') { + err = new Error(`${prefix}${e}`); + err.errCode = -1; + } + else { + // errCode + errMsg + const errMsg = e.errMsg || ''; + err = new Error(`${apiName}:fail ${e.errCode} ${error_config_1.ERR_CODE[e.errCode] || ''}. ${errMsg}`); + err.errCode = e.errCode || -1; + } + err.errMsg = err.message + ''; + return err; + } + const err = new Error(`${apiName}:fail`); + err.errCode = -1; + err.errMsg = err.message + ''; + return err; +} +exports.toSDKError = toSDKError; + + +/***/ }), + +/***/ "./src/utils/msg.ts": +/*!**************************!*\ + !*** ./src/utils/msg.ts ***! + \**************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +exports.apiFailMsg = exports.apiCancelMsg = exports.apiSuccessMsg = void 0; +function apiSuccessMsg(apiName) { + return `${apiName}:ok`; +} +exports.apiSuccessMsg = apiSuccessMsg; +function apiCancelMsg(apiName, msg) { + return `${apiName}:cancel ${msg}`; +} +exports.apiCancelMsg = apiCancelMsg; +function apiFailMsg(apiName, msg) { + return `${apiName}:fail ${msg}`; +} +exports.apiFailMsg = apiFailMsg; + + +/***/ }), + +/***/ "./src/utils/symbol.ts": +/*!*****************************!*\ + !*** ./src/utils/symbol.ts ***! + \*****************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +exports.InternalSymbol = void 0; +const _symbols = []; +const __internalMark__ = {}; +class HiddenSymbol { + constructor(target) { + Object.defineProperties(this, { + target: { + enumerable: false, + writable: false, + configurable: false, + value: target, + }, + }); + } +} +class InternalSymbol extends HiddenSymbol { + constructor(target, __mark__) { + if (__mark__ !== __internalMark__) { + throw new TypeError('InternalSymbol cannot be constructed with new operator'); + } + super(target); + } + static for(target) { + for (let i = 0, len = _symbols.length; i < len; i++) { + if (_symbols[i].target === target) { + return _symbols[i].instance; + } + } + const symbol = new InternalSymbol(target, __internalMark__); + _symbols.push({ + target, + instance: symbol, + }); + return symbol; + } +} +exports.InternalSymbol = InternalSymbol; +exports.default = InternalSymbol; + + +/***/ }), + +/***/ "./src/utils/type.ts": +/*!***************************!*\ + !*** ./src/utils/type.ts ***! + \***************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isPlainObject = exports.isInternalObject = exports.isBuffer = exports.isDate = exports.isArray = exports.isFunction = exports.isPromise = exports.isNumber = exports.isString = exports.isObject = exports.getType = void 0; +const symbol_1 = __webpack_require__(/*! ./symbol */ "./src/utils/symbol.ts"); +exports.getType = (x) => Object.prototype.toString.call(x).slice(8, -1).toLowerCase(); +exports.isObject = (x) => exports.getType(x) === 'object'; +exports.isString = (x) => exports.getType(x) === 'string'; +exports.isNumber = (x) => exports.getType(x) === 'number'; +exports.isPromise = (x) => exports.getType(x) === 'promise'; +exports.isFunction = (x) => typeof x === 'function'; +exports.isArray = (x) => Array.isArray(x); +exports.isDate = (x) => exports.getType(x) === 'date'; +exports.isBuffer = (x) => Buffer.isBuffer(x); +exports.isInternalObject = (x) => x && (x._internalType instanceof symbol_1.InternalSymbol); +exports.isPlainObject = (obj) => { + if (typeof obj !== 'object' || obj === null) + return false; + let proto = obj; + while (Object.getPrototypeOf(proto) !== null) { + proto = Object.getPrototypeOf(proto); + } + return Object.getPrototypeOf(obj) === proto; +}; + + +/***/ }), + +/***/ "./src/utils/utils.ts": +/*!****************************!*\ + !*** ./src/utils/utils.ts ***! + \****************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getMergedAPIConfig = exports.getServiceConfigFromDefaultConfig = exports.getEnvFromAPIConfig = exports.getEnvFromCloudConfig = exports.isSCFEnvReady = exports.convertCase = void 0; +const type_1 = __webpack_require__(/*! ./type */ "./src/utils/type.ts"); +const signature_1 = __webpack_require__(/*! api/utils/api/signature */ "./src/api/utils/api/signature.ts"); +const ignoreInConvert = (input) => input instanceof signature_1.MidasSignature; +exports.convertCase = (input, options) => { + const { from, to, recursive } = options; + if (type_1.isString(input)) { + if (from === 'camelcase' && to === 'snakecase') { + return input.replace(/[A-Z]/g, (match, ind) => `${ind ? '_' : ''}${match.toLowerCase()}`); + } + else if (from === 'snakecase' && to === 'camelcase') { + return input.replace(/_[a-z]/g, (match, ind) => `${match[1].toUpperCase()}`); + } + } + else if (type_1.isObject(input)) { + return ignoreInConvert(input) ? input : convertObject(input); + } + else if (type_1.isArray(input)) { + const array = []; + for (const item of input) { + if (type_1.isObject(item)) { + array.push(convertObject(item)); + } + else if (type_1.isArray(item)) { + if (options.recursive) { + array.push(exports.convertCase(item, options)); + } + else { + array.push(item); + } + } + else { + array.push(item); + } + } + return array; + } + else + return input; + function convertObject(input) { + const data = Object.assign({}, input); + for (const key in data) { + const val = recursive && (type_1.isObject(data[key]) || type_1.isArray(data[key])) ? exports.convertCase(data[key], options) : data[key]; + const convertedKey = exports.convertCase(key, options); + data[convertedKey] = val; + if (convertedKey !== key) { + delete data[key]; + } + } + return data; + } +}; +exports.isSCFEnvReady = () => Boolean(process.env.TCB_ENV); +exports.getEnvFromCloudConfig = (config, serviceName = 'default') => { + const env = config.env[serviceName] || config.env.default; + return env; +}; +exports.getEnvFromAPIConfig = (apiConfig, cloudConfig, serviceName = 'default') => { + if (apiConfig && apiConfig.env) { + return apiConfig.env; + } + return exports.getEnvFromCloudConfig(cloudConfig, serviceName); +}; +exports.getServiceConfigFromDefaultConfig = (defaultConfig, serviceName = 'default') => { + return Object.assign(Object.assign({}, defaultConfig), { env: exports.getEnvFromCloudConfig(defaultConfig, serviceName) }); +}; +exports.getMergedAPIConfig = (defaultConfig, newConfig, serviceName = 'default') => { + const merged = Object.assign(Object.assign({}, defaultConfig), newConfig); + if (newConfig && newConfig.env) { + merged.env = newConfig.env; + } + else { + merged.env = exports.getEnvFromCloudConfig(defaultConfig, serviceName); + } + return merged; +}; + + +/***/ }), + +/***/ "crypto": +/*!*************************!*\ + !*** external "crypto" ***! + \*************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +module.exports = require("crypto"); + +/***/ }), + +/***/ "protobufjs/minimal": +/*!*************************************!*\ + !*** external "protobufjs/minimal" ***! + \*************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +module.exports = require("protobufjs/minimal"); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/src/cloudfunctions/ARDemo/wx-server-sdk-wxg-service/package.json b/src/cloudfunctions/ARDemo/wx-server-sdk-wxg-service/package.json new file mode 100644 index 0000000..b410fc8 --- /dev/null +++ b/src/cloudfunctions/ARDemo/wx-server-sdk-wxg-service/package.json @@ -0,0 +1,11 @@ +{ + "name": "@tencent/wx-server-sdk-wxg-service", + "version": "0.7.0", + "description": "wxg service plugin for mini program cloud server sdk", + "main": "index.js", + "author": "wechat mini program team", + "license": "MIT", + "dependencies": { + "tslib": "^1.9.3" + } +} diff --git a/src/cloudfunctions/getServerDataDemo/index.js b/src/cloudfunctions/getServerDataDemo/index.js new file mode 100644 index 0000000..065c9cd --- /dev/null +++ b/src/cloudfunctions/getServerDataDemo/index.js @@ -0,0 +1,13 @@ +// 云函数入口文件 +const cloud = require('wx-server-sdk') + +// 云函数入口函数 +exports.main = async () => { + cloud.init({ + env: process.env.TCB_ENV, + }) + const db = cloud.database() + return db.collection('perm4').where({ + _openid: 'server' + }).limit(1).get() +} diff --git a/src/cloudfunctions/getServerDataDemo/package.json b/src/cloudfunctions/getServerDataDemo/package.json new file mode 100644 index 0000000..d282a69 --- /dev/null +++ b/src/cloudfunctions/getServerDataDemo/package.json @@ -0,0 +1,14 @@ +{ + "name": "getServerDataDemo", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "ISC", + "dependencies": { + "wx-server-sdk": "latest" + } +} \ No newline at end of file diff --git a/src/cloudfunctions/getTempFileURL/index.js b/src/cloudfunctions/getTempFileURL/index.js new file mode 100644 index 0000000..ba007f8 --- /dev/null +++ b/src/cloudfunctions/getTempFileURL/index.js @@ -0,0 +1,14 @@ +// 云函数入口文件 +const cloud = require('wx-server-sdk') + +// 云函数入口函数 +exports.main = async (event) => { + cloud.init({ + env: process.env.TCB_ENV, + }) + const fileList = event.fileIdList + const result = await cloud.getTempFileURL({ + fileList, + }) + return result.fileList +} diff --git a/src/cloudfunctions/getTempFileURL/package.json b/src/cloudfunctions/getTempFileURL/package.json new file mode 100644 index 0000000..873cd0a --- /dev/null +++ b/src/cloudfunctions/getTempFileURL/package.json @@ -0,0 +1,14 @@ +{ + "name": "getTempFileURL", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "ISC", + "dependencies": { + "wx-server-sdk": "latest" + } +} \ No newline at end of file diff --git a/src/cloudfunctions/login/index.js b/src/cloudfunctions/login/index.js new file mode 100644 index 0000000..79df6f1 --- /dev/null +++ b/src/cloudfunctions/login/index.js @@ -0,0 +1,3 @@ +exports.main = (event) => ({ + openid: event.userInfo.openId, +}) diff --git a/src/cloudfunctions/login/package.json b/src/cloudfunctions/login/package.json new file mode 100644 index 0000000..0118132 --- /dev/null +++ b/src/cloudfunctions/login/package.json @@ -0,0 +1,14 @@ +{ + "name": "login", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "ISC", + "dependencies": { + "wx-server-sdk": "latest" + } +} \ No newline at end of file diff --git a/src/cloudfunctions/orders/add.js b/src/cloudfunctions/orders/add.js new file mode 100644 index 0000000..50b023a --- /dev/null +++ b/src/cloudfunctions/orders/add.js @@ -0,0 +1,19 @@ +// 云函数入口文件 +const cloud = require('wx-server-sdk') + + +cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) // 使用当前云环境 + +// 云函数入口函数 +exports.main = async (event, context) => { + const wxContext = cloud.getWXContext() + + if (event.op == "") + + return { + event, + openid: wxContext.OPENID, + appid: wxContext.APPID, + unionid: wxContext.UNIONID, + } +} \ No newline at end of file diff --git a/src/cloudfunctions/orders/config.json b/src/cloudfunctions/orders/config.json new file mode 100644 index 0000000..5ecc33e --- /dev/null +++ b/src/cloudfunctions/orders/config.json @@ -0,0 +1,6 @@ +{ + "permissions": { + "openapi": [ + ] + } +} \ No newline at end of file diff --git a/src/cloudfunctions/orders/get.js b/src/cloudfunctions/orders/get.js new file mode 100644 index 0000000..e761278 --- /dev/null +++ b/src/cloudfunctions/orders/get.js @@ -0,0 +1,21 @@ +// 云函数入口文件 +const cloud = require('wx-server-sdk') + +cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) // 使用当前云环境 +const db = wx.cloud.database().collection("orders") +const wxContext = cloud.getWXContext() + +// 云函数入口函数 +exports.main = async () => { + + const result; + db.where({ + _openid: wxContext.OPENID + }).get({ + success: function (res) { + result = res + } + }) + + return result +} \ No newline at end of file diff --git a/src/cloudfunctions/orders/index.js b/src/cloudfunctions/orders/index.js new file mode 100644 index 0000000..17ffb20 --- /dev/null +++ b/src/cloudfunctions/orders/index.js @@ -0,0 +1,20 @@ +// 云函数入口文件 +// const cloud = require('wx-server-sdk') +const get = require("./get") +const add = require("./add") + +// cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) // 使用当前云环境 + +// 云函数入口函数 +exports.main = async (event, context) => { + // const wxContext = cloud.getWXContext() + + if (event.op == "get") { + return await get.main(); + } else if(event.op == "add") { + add() + //TODO add paramas + return + } + return true +} \ No newline at end of file diff --git a/src/cloudfunctions/orders/package.json b/src/cloudfunctions/orders/package.json new file mode 100644 index 0000000..f705eaa --- /dev/null +++ b/src/cloudfunctions/orders/package.json @@ -0,0 +1,14 @@ +{ + "name": "orders", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "ISC", + "dependencies": { + "wx-server-sdk": "~2.6.3" + } +} \ No newline at end of file diff --git a/src/miniprogram/app.js b/src/miniprogram/app.js index 29a697e..dec1d39 100644 --- a/src/miniprogram/app.js +++ b/src/miniprogram/app.js @@ -16,6 +16,40 @@ App({ this.globalData = { // OPENID: wx.cloud.getWXContext().OPENID + OPENID: '', + USERID: '', + ISLOGIN: false }; - } + + //尝试读取本地缓存 + try { + // wx.clearStorage() + // this.globalData.USERID = wx.getStorageSync('user_id') + const avatar = wx.getStorageSync('avatarUrl') + if (!avatar) { + wx.setStorageSync('avatarUrl', "") + } + this.globalData.OPENID = wx.getStorageSync('user_openid') + } catch (e) { + console.error(e); + } + const res = wx.getStorageInfoSync() + // console.log(res); + console.log("[GLOABLE] Cache:",res.keys); + + //检测用户是否首次登录 + if (!this.globalData.OPENID) { + this.globalData.ISLOGIN = false + wx.cloud.callFunction({ + name: "getOpenId", + success: (res) => { + this.globalData.OPENID = res.result.openid; + wx.setStorageSync('user_openid', res.result.openid) + } + }) + } + + //输出全局变量 + console.log("[GLOABLE] User:",this.globalData); + }, }); diff --git a/src/miniprogram/app.json b/src/miniprogram/app.json index 513af99..c586df3 100644 --- a/src/miniprogram/app.json +++ b/src/miniprogram/app.json @@ -1,7 +1,6 @@ { "pages": [ "pages/Main/main", - "pages/msg/msg", "pages/Profile/profile", "pages/Tprofile/Tprofile", "pages/Order/order", @@ -19,21 +18,21 @@ "list": [ { "pagePath": "pages/Main/main", - "text": "main", - "iconPath": "images/main.png", - "selectedIconPath": "images/main_on.png" + "text": "主页", + "iconPath": "images/home.png", + "selectedIconPath": "images/home-fill.png" }, { "pagePath": "pages/Order/order", - "text": "order", - "iconPath": "images/msg.png", - "selectedIconPath": "images/msg_on.png" + "text": "订单", + "iconPath": "images/business-icon-feeds.png", + "selectedIconPath": "images/business-icon-feeds-fill.png" }, { "pagePath": "pages/Profile/profile", - "text": "profile", - "iconPath": "images/profile.png", - "selectedIconPath": "images/profile_on.png" + "text": "我的", + "iconPath": "images/customer.png", + "selectedIconPath": "images/customer-fill.png" } ] }, diff --git a/src/miniprogram/components/grid-tile/index.js b/src/miniprogram/components/grid-tile/index.js new file mode 100644 index 0000000..6e2a688 --- /dev/null +++ b/src/miniprogram/components/grid-tile/index.js @@ -0,0 +1,30 @@ +// components/grid-tile/index.js +Component({ + /** + * 组件的属性列表 + */ + properties: { + height: { + type: Number, + value: 0, + }, + index: { + type: Number, + value: 0, + }, + }, + + /** + * 组件的初始数据 + */ + data: { + + }, + + /** + * 组件的方法列表 + */ + methods: { + + } +}) diff --git a/src/miniprogram/components/grid-tile/index.json b/src/miniprogram/components/grid-tile/index.json new file mode 100644 index 0000000..e8cfaaf --- /dev/null +++ b/src/miniprogram/components/grid-tile/index.json @@ -0,0 +1,4 @@ +{ + "component": true, + "usingComponents": {} +} \ No newline at end of file diff --git a/src/miniprogram/components/grid-tile/index.wxml b/src/miniprogram/components/grid-tile/index.wxml new file mode 100644 index 0000000..f6bd436 --- /dev/null +++ b/src/miniprogram/components/grid-tile/index.wxml @@ -0,0 +1,5 @@ + + + {{index}} + + \ No newline at end of file diff --git a/src/miniprogram/components/grid-tile/index.wxss b/src/miniprogram/components/grid-tile/index.wxss new file mode 100644 index 0000000..16371d8 --- /dev/null +++ b/src/miniprogram/components/grid-tile/index.wxss @@ -0,0 +1,10 @@ +/* components/grid-tile/index.wxss */ +:host { + display: block; +} + +.center { + text-align: center; + align-items: center; + justify-content: center; +} \ No newline at end of file diff --git a/src/miniprogram/components/navigation-bar/index.js b/src/miniprogram/components/navigation-bar/index.js new file mode 100644 index 0000000..1b86caf --- /dev/null +++ b/src/miniprogram/components/navigation-bar/index.js @@ -0,0 +1,70 @@ +Component({ + options: { + multipleSlots: true, // 在组件定义时的选项中启用多slot支持 + }, + /** + * 组件的属性列表 + */ + properties: { + title: { + type: String, + value: '', + }, + background: { + type: String, + value: '', + }, + color: { + type: String, + value: '', + }, + back: { + type: Boolean, + value: true, + }, + loading: { + type: Boolean, + value: false, + }, + // back为true的时候,返回的页面深度 + delta: { + type: Number, + value: 1, + }, + sideWidth: { + type: Number, + value: 0, + }, + }, + + attached() { + const isSupport = !!wx.getMenuButtonBoundingClientRect; + const rect = wx.getMenuButtonBoundingClientRect ? wx.getMenuButtonBoundingClientRect() : null; + wx.getSystemInfo({ + success: (res) => { + const ios = !!(res.system.toLowerCase().search('ios') + 1); + const sideWidth = isSupport ? res.windowWidth - rect.left : 0; + + this.setData({ + ios, + sideWidth: this.data.sideWidth || sideWidth, + statusBarHeight: res.statusBarHeight, + }); + }, + }); + }, + /** + * 组件的方法列表 + */ + methods: { + back() { + const { data } = this; + if (data.delta) { + wx.navigateBack({ + delta: data.delta, + }); + } + this.triggerEvent('back', { delta: data.delta }, {}); + }, + }, +}); diff --git a/src/miniprogram/components/navigation-bar/index.json b/src/miniprogram/components/navigation-bar/index.json new file mode 100644 index 0000000..e8cfaaf --- /dev/null +++ b/src/miniprogram/components/navigation-bar/index.json @@ -0,0 +1,4 @@ +{ + "component": true, + "usingComponents": {} +} \ No newline at end of file diff --git a/src/miniprogram/components/navigation-bar/index.wxml b/src/miniprogram/components/navigation-bar/index.wxml new file mode 100644 index 0000000..04db090 --- /dev/null +++ b/src/miniprogram/components/navigation-bar/index.wxml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + {{title}} + + + + + + + + + \ No newline at end of file diff --git a/src/miniprogram/components/navigation-bar/index.wxss b/src/miniprogram/components/navigation-bar/index.wxss new file mode 100644 index 0000000..2aa1f81 --- /dev/null +++ b/src/miniprogram/components/navigation-bar/index.wxss @@ -0,0 +1,75 @@ +.navigation-bar { + background-color: #f7f7f7; +} + +.navigation-bar .android { + height: 48px; +} + +.navigation-bar__inner { + height: 44px; + display: flex; + flex-direction: row; + align-items: center; +} + +.navigation-bar__inner .navigation-bar__left { + position: relative; + padding-left: 16px; + height: 100%; + display: flex; + flex-direction: row; + align-items: center; +} + +.navigation-bar__inner .navigation-bar__left .navigation-bar__buttons { + height: 100%; + flex-direction: row; + align-items: center; + min-width: 50px; +} + +.navigation-bar__inner .navigation-bar__left .navigation-bar__btn { + display: inline-block; + vertical-align: middle; + background-repeat: no-repeat; + height: 100%; + flex-direction: row; + align-items: center; +} + +.navigation-bar__inner .navigation-bar__left .navigation-bar__btn_goback { + width: 8px; + height: 14px; +} + +.navigation-bar__inner .navigation-bar__center { + font-size: 17px; + text-align: center; + position: relative; + flex: 1; + display: flex; + align-items: center; + justify-content: center; +} + +.navigation-bar__inner .navigation-bar__center.title { + display: inline-block; + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; +} + +.navigation-bar__inner .navigation-bar__loading { + margin-right: 4px; + display: inline-flex; + align-items: center; +} + +.navigation-bar__inner .navigation-bar__loading .loading { + margin-left: 0; +} + +.navigation-bar__inner .navigation-bar__right { + padding-right: 16px; +} diff --git a/src/miniprogram/components/page-scroll/index.js b/src/miniprogram/components/page-scroll/index.js new file mode 100644 index 0000000..a897a25 --- /dev/null +++ b/src/miniprogram/components/page-scroll/index.js @@ -0,0 +1,89 @@ +var globalThis = this, self = this; +module.exports = +require("../../_commons/0.js")([ +{ +"ids": [6], +"modules":{ + +/***/ "./node_modules/@mpflow/webpack-plugin/lib/loaders/page-loader.js?appContext=src&outputPath=components%2Fpage-scroll%2Findex!./src/components/page-scroll/index.ts": +/*!*************************************************************************************************************************************************************************!*\ + !*** ./node_modules/@mpflow/webpack-plugin/lib/loaders/page-loader.js?appContext=src&outputPath=components%2Fpage-scroll%2Findex!./src/components/page-scroll/index.ts ***! + \*************************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +module.exports = __webpack_require__(/*! ./index.ts */ "./src/components/page-scroll/index.ts") + +/***/ }), + +/***/ "./src/components/page-scroll/index.ts": +/*!*********************************************!*\ + !*** ./src/components/page-scroll/index.ts ***! + \*********************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +Component({ + options: { + virtualHost: true + }, + properties: { + refresherEnabled: { + type: Boolean, + value: false + }, + refresherThreshold: { + type: Number, + value: 45 + }, + refresherDefaultStyle: { + type: String, + value: 'black' + }, + refresherBackground: { + type: String, + value: '#FFF' + }, + refresherTriggered: { + type: Boolean, + value: false + }, + lowerThreshold: { + type: Number, + value: 50 + }, + scrollIntoView: { + type: String, + value: '' + } + }, + methods: { + onScroll: function onScroll(e) { + this.triggerEvent('scroll', e.detail); + }, + onScrollToLower: function onScrollToLower(e) { + this.triggerEvent('scrollToLower', e.detail); + }, + onPulling: function onPulling(e) { + this.triggerEvent('pulling', e.detail); + }, + onRefresh: function onRefresh(e) { + this.triggerEvent('refresh', e.detail); + }, + onRestore: function onRestore(e) { + this.triggerEvent('restore', e.detail); + }, + onAbort: function onAbort(e) { + this.triggerEvent('abort', e.detail); + } + } +}); + +/***/ }) + +}, +"entries": [["./node_modules/@mpflow/webpack-plugin/lib/loaders/page-loader.js?appContext=src&outputPath=components%2Fpage-scroll%2Findex!./src/components/page-scroll/index.ts",0]] +}, +]); + +// # sourceMappingURL=index.js.map \ No newline at end of file diff --git a/src/miniprogram/components/page-scroll/index.json b/src/miniprogram/components/page-scroll/index.json new file mode 100644 index 0000000..6245cfa --- /dev/null +++ b/src/miniprogram/components/page-scroll/index.json @@ -0,0 +1,6 @@ +{ + "component": true, + "usingComponents": {}, + "componentFramework": "glass-easel", + "renderer": "skyline" +} diff --git a/src/miniprogram/components/page-scroll/index.wxml b/src/miniprogram/components/page-scroll/index.wxml new file mode 100644 index 0000000..5188eaa --- /dev/null +++ b/src/miniprogram/components/page-scroll/index.wxml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/miniprogram/components/page-scroll/index.wxss b/src/miniprogram/components/page-scroll/index.wxss new file mode 100644 index 0000000..4788e56 --- /dev/null +++ b/src/miniprogram/components/page-scroll/index.wxss @@ -0,0 +1,4 @@ + + + +/* # sourceMappingURL=index.wxss.map */ \ No newline at end of file diff --git a/src/miniprogram/components/popup/index.js b/src/miniprogram/components/popup/index.js new file mode 100644 index 0000000..0c30ad2 --- /dev/null +++ b/src/miniprogram/components/popup/index.js @@ -0,0 +1,38 @@ +Component({ + properties: { + maskClosable: { + type: Boolean, + value: true, + }, + mask: { + // 是否需要 遮罩层 + type: Boolean, + value: true, + }, + maskStyle: { + // 遮罩层的样式 + type: String, + value: '', + }, + show: { + // 是否开启弹窗 + type: Boolean, + value: false, + }, + }, + data: { + enable: true, + }, + methods: { + close() { + const { data } = this; + console.log('@@@ close', data.maskClosable) + if (!data.maskClosable) return; + this.setData({ + enable: !this.data.enable + }); + this.triggerEvent('close', {}, {}); + }, + // stopEvent() {}, + }, +}); diff --git a/src/miniprogram/components/popup/index.json b/src/miniprogram/components/popup/index.json new file mode 100644 index 0000000..e8cfaaf --- /dev/null +++ b/src/miniprogram/components/popup/index.json @@ -0,0 +1,4 @@ +{ + "component": true, + "usingComponents": {} +} \ No newline at end of file diff --git a/src/miniprogram/components/popup/index.wxml b/src/miniprogram/components/popup/index.wxml new file mode 100644 index 0000000..99fad98 --- /dev/null +++ b/src/miniprogram/components/popup/index.wxml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/miniprogram/components/popup/index.wxss b/src/miniprogram/components/popup/index.wxss new file mode 100644 index 0000000..2f6824b --- /dev/null +++ b/src/miniprogram/components/popup/index.wxss @@ -0,0 +1,22 @@ +root-portal { + display: flex; + width: 100%; + height: 100%; +} + +.popup { + position: absolute; + bottom: 0; + z-index: 5000; + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + width: 100vw; + height: 200px; + background: rgba(51, 51, 51, 0.65); + opacity: 1; + transform: scale3d(1, 1, 1); + transition: all .2s ease-in; + pointer-events: auto; +} diff --git a/src/miniprogram/images/business-icon-feeds-fill.png b/src/miniprogram/images/business-icon-feeds-fill.png new file mode 100644 index 0000000..b3fc5fa Binary files /dev/null and b/src/miniprogram/images/business-icon-feeds-fill.png differ diff --git a/src/miniprogram/images/business-icon-feeds.png b/src/miniprogram/images/business-icon-feeds.png new file mode 100644 index 0000000..f114ea0 Binary files /dev/null and b/src/miniprogram/images/business-icon-feeds.png differ diff --git a/src/miniprogram/images/customer-fill.png b/src/miniprogram/images/customer-fill.png new file mode 100644 index 0000000..a3ed5ab Binary files /dev/null and b/src/miniprogram/images/customer-fill.png differ diff --git a/src/miniprogram/images/customer.png b/src/miniprogram/images/customer.png new file mode 100644 index 0000000..49adc48 Binary files /dev/null and b/src/miniprogram/images/customer.png differ diff --git a/src/miniprogram/images/home-fill.png b/src/miniprogram/images/home-fill.png new file mode 100644 index 0000000..338ed9b Binary files /dev/null and b/src/miniprogram/images/home-fill.png differ diff --git a/src/miniprogram/images/home.png b/src/miniprogram/images/home.png new file mode 100644 index 0000000..5975a95 Binary files /dev/null and b/src/miniprogram/images/home.png differ diff --git a/src/miniprogram/pages/Comments/Comments.wxml b/src/miniprogram/pages/Comments/Comments.wxml index 4e5f03f..faf9964 100644 --- a/src/miniprogram/pages/Comments/Comments.wxml +++ b/src/miniprogram/pages/Comments/Comments.wxml @@ -16,6 +16,7 @@ + diff --git a/src/miniprogram/pages/Comments/Comments.wxss b/src/miniprogram/pages/Comments/Comments.wxss index 79b814a..1cdf339 100644 --- a/src/miniprogram/pages/Comments/Comments.wxss +++ b/src/miniprogram/pages/Comments/Comments.wxss @@ -1,6 +1,12 @@ /* pages/Detailed/detailed.wxss */ - +.divLine{ + background: #E0E3DA; + width: 90%; + height: 5rpx; + margin-left: 30rpx; + margin-bottom: 20rpx; + } /* 留言部分 */ .comment-box { @@ -69,6 +75,7 @@ align-items: center; position: fixed; bottom: 0; + border-top: solid 1rpx #E0E3DA; } .pub-left { @@ -80,15 +87,20 @@ .pub-input { padding: 10rpx 20rpx; - width: 500rpx; - background-color: rgb(250, 251, 253); + width: 490rpx; + background-color: #F1F1F1; + border-color: #AAAAAA; + border-style: solid; + border-width: 1px; } .pub-button { - color: #7F7F7F; + background-color: #1AAD19; + text-align: center; + color: #ffffff; border: solid 1rpx #7F7F7F; border-radius: 10rpx; - padding: 10rpx 20rpx; + padding: 10rpx 18rpx; } diff --git a/src/miniprogram/pages/Details/detail.js b/src/miniprogram/pages/Details/detail.js index b34285c..f9b6308 100644 --- a/src/miniprogram/pages/Details/detail.js +++ b/src/miniprogram/pages/Details/detail.js @@ -8,27 +8,35 @@ Page({ */ data:{ avatarUrl: defaultAvatarUrl, + teacher: null }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { - var index = options.index; // 第一个页面传递过来的教师索引 - var teacherInfo = this.data.teacher[index]; + const eventChannel = this.getOpenerEventChannel() + eventChannel.on('acceptDataFromOpenerPage', (data) => { + //对发送过来的数据进行处理 + console.log("[DETAILS]",data) + this.setData({ + teacher: data.data, + avatarUrl: data.data.headPhoto + }) + }) // 使用索引在教师数组中获取对应的教师信息 // var teacherInfo = this.data.teacher[index]; // 继续处理教师信息 // 调用云函数获取教师信息 - wx.cloud.callFunction({ - name: "detailed", - success: (res) => { - this.setData({ - teacher: res.result.data - }) - // console.log(this.data.teacher[1]); - } - }) + // wx.cloud.callFunction({ + // name: "detailed", + // success: (res) => { + // this.setData({ + // teacher: res.result.data + // }) + // // console.log(this.data.teacher[1]); + // } + // }) }, changeTab(e) { @@ -66,5 +74,38 @@ Page({ inputValue: e.detail.value }); }, - + reserve(e){ + wx.showModal({ + title: '预约', + content: '确定预约该老师吗?', + complete: (res) => { + if (res.cancel) { + + } + + if (res.confirm) { + var tmp = this.data.teacher + var state = 0 + console.log("[MAIN] reserve",tmp); + try { + state = wx.getStorageSync(tmp._id) + } catch(e) { + console.log(e); + } + if (state == 1) { + wx.showToast({ + title: '您已经预约!', + icon: "error", + }) + } else { + wx.setStorageSync(tmp._id, 1) + wx.showToast({ + title: '请等待老师确认', + }) + } + // wx.clearStorageSync(tmp._id) + } + } + }) + } }) \ No newline at end of file diff --git a/src/miniprogram/pages/Details/detail.wxml b/src/miniprogram/pages/Details/detail.wxml index 865a2e6..458ee3a 100644 --- a/src/miniprogram/pages/Details/detail.wxml +++ b/src/miniprogram/pages/Details/detail.wxml @@ -3,14 +3,18 @@ - - 姓名: 老师 - 科目: NULL - 空闲时间: NULL - 学历: NULL - 时薪: NULL + + 姓名: {{teacher.name}} + 科目: {{teacher.subject}} + 空闲时间:\n {{teacher.freetime}} + 学历: {{teacher.education}} + 时薪: {{teacher.salary}} + 联系方式:\t{{teacher.phone}} + EMAIL:\t{{teacher.email}} 综合评分: 10.0 + + diff --git a/src/miniprogram/pages/Main/main.js b/src/miniprogram/pages/Main/main.js index ef5c88d..925f942 100644 --- a/src/miniprogram/pages/Main/main.js +++ b/src/miniprogram/pages/Main/main.js @@ -9,10 +9,13 @@ Page({ data: { currentTab: 0, showPopup: false, - teacher: {}, + teacher: [], + recTeacher: [], exist: false, rec: false, selectedIndex: -1, + subject: ['英语','语文','C','Java','Python','高等数学','物理','历史','政治'], + index: 0, }, /** @@ -39,7 +42,18 @@ Page({ this.setData({ teacher: res.result.data }) - // console.log(this.data.teacher[1]); + console.log("[MAIN]",this.data.teacher); + } + }) + }, + onShow() { + wx.cloud.callFunction({ + name: "recommend", + success: (res) => { + this.setData({ + teacher: res.result.data + }) + console.log("[MAIN]",this.data.teacher); } }) }, @@ -47,8 +61,13 @@ Page({ changeTab(e) { const index = e.currentTarget.dataset.index; this.setData({ + rec: false, + recTeacher: null, currentTab: parseInt(index) }); + if (index == 1) { + this.initrec() + } }, onAddButtonTap: function() { this.setData({ @@ -69,38 +88,123 @@ Page({ }); }, - navToComments(e){ - + navToComments: (e) => { wx.navigateTo({ url: '/pages/Comments/comments?id=' + e.currentTarget.dataset.id, }) }, - navToDetails: () => { + navToDetails(e) { + // console.log(e); + // console.log(e.currentTarget.dataset.item); + const tmp = e.currentTarget.dataset.item wx.navigateTo({ - url: '/pages/Details/details', + url: '/pages/Details/detail', success: function(res) { // 通过eventChannel向被打开页面传送数据 - res.eventChannel.emit('acceptDataFromOpenerPage', { data: 'test' }) + res.eventChannel.emit('acceptDataFromOpenerPage', { data: tmp }) } }) }, - // contactTeacher(event) { - // // console.log(event); - // wx.makePhoneCall({ - // phoneNumber: event.currentTarget.dataset.item, - // }) - // } + contactTeacher(event) { + console.log(event); + wx.makePhoneCall({ + phoneNumber: event.currentTarget.dataset.item, + }) + }, inputChange(e) { this.setData({ inputValue: e.detail.value }); }, + bindPickerChange(e) { + var tmplist = [] + for (let i = 0; i < this.data.teacher.length; i++) { + const element = this.data.teacher[i]; + if (element.subject == this.data.subject[this.data.index]) { + tmplist.push(element) + } + } + + this.setData({ + index: e.detail.value, + recTeacher: tmplist + }) + }, + cheackBoxGroupChange(e) { + // console.log(e); + var tmp = e.detail.value + var tmplist = [] + for (let i = 0; i < this.data.teacher.length; i++) { + const element = this.data.teacher[i]; + var freetime = element.freetime + // console.log(this.data.index); + if (freetime != undefined) { + if (element.subject == this.data.subject[this.data.index]) { + if (tmp.every((el) => freetime.includes(el))) { + tmplist.push(element) + } + } + } + } + this.setData({ + recTeacher: tmplist + }) + console.log("[MAIN] rec",tmplist); + console.log(this.data); + }, recommend() { - // TODO this.setData({ - rec: true + rec: true, + // recTeacher: tmplist + }) + console.log("[MAIN] rec",this.data.recTeacher); + }, + initrec() { + const tmplist = [] + for (let i = 0; i < this.data.teacher.length; i++) { + const element = this.data.teacher[i]; + if (element.subject == this.data.subject[this.data.index]) { + tmplist.push(element) + } + } + this.setData({ + recTeacher: tmplist, + rec: false + }) + }, + reserved(e){ + wx.showModal({ + title: '预约', + content: '确定预约该老师吗?', + complete: (res) => { + if (res.cancel) { + + } + + if (res.confirm) { + var tmp = e.currentTarget.dataset.item + var state = 0 + console.log("[MAIN] reserve",tmp); + try { + state = wx.getStorageSync(tmp._id) + } catch(e) { + console.log(e); + } + if (state == 1) { + wx.showToast({ + title: '您已经预约!', + icon: "error", + }) + } else { + wx.setStorageSync(tmp._id, 1) + wx.showToast({ + title: '请等待老师确认', + }) + } + // wx.clearStorageSync(tmp._id) + } + } }) - console.log("rec"); } }) \ No newline at end of file diff --git a/src/miniprogram/pages/Main/main.wxml b/src/miniprogram/pages/Main/main.wxml index cee135e..f60a198 100644 --- a/src/miniprogram/pages/Main/main.wxml +++ b/src/miniprogram/pages/Main/main.wxml @@ -2,21 +2,28 @@ - + - + - + + - 教员列表 - 系统推荐 + + 教员列表 + + + + 系统推荐 + + @@ -34,23 +41,23 @@ - - - + + + + {{item.name}} - - - 电话号码:{{item.phone}} - email:{{item.email}} - 其他信息:null - - + + 科目:{{item.subject}} + 学历:{{item.education}} + 时薪:{{item.salary}} + + - - + + 这里是家教帮平台,再也不用担心孩子的学习了 @@ -60,36 +67,36 @@ - + - 科目:{{array[index]}}当前选择科目 + 科目:{{subject[index]}} - - \ - 周一 - 周一 - 周一 - 周一 - 周一 - 周一 + + 周一 + 周二 + 周三 + 周四 + 周五 + 周六 + 周日 上午 - - - - - - - - 上午 - - - - - - - + + + + + + + + 下午 + + + + + + + @@ -98,16 +105,16 @@ - - - + + + {{item.name}} - 电话号码:{{item.phone}} - email:{{item.email}} - 其他信息:null + 科目:{{item.subject}} + 学历:{{item.education}} + 时薪:{{item.salary}} @@ -115,35 +122,34 @@ - + - - + -