diff --git a/README.md b/README.md index 8bdd9503..53bdd948 100644 --- a/README.md +++ b/README.md @@ -8,10 +8,7 @@ ## 使用 ``` -cd demo -npm i -cd miniprogram -npm i +npm run init ``` 完成上述步骤后,使用微信开发者工具,点击【工具-构建npm】 diff --git a/cloudfunctions/ARDemo/config.json b/cloudfunctions/ARDemo/config.json new file mode 100644 index 00000000..5ecc33e5 --- /dev/null +++ b/cloudfunctions/ARDemo/config.json @@ -0,0 +1,6 @@ +{ + "permissions": { + "openapi": [ + ] + } +} \ No newline at end of file diff --git a/cloudfunctions/ARDemo/index.js b/cloudfunctions/ARDemo/index.js new file mode 100644 index 00000000..08a245ca --- /dev/null +++ b/cloudfunctions/ARDemo/index.js @@ -0,0 +1,58 @@ +// 云函数入口文件 +const cloud = require('wx-server-sdk') +const wxgService = require('@tencent/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 + console.log(bizuin) + console.log(event) + 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 + }, + }) + }); + case "GetARModelList": + return await cloud.callWXSvrkit({ + pbInstance: svrkitUtils.generate({ + serviceName: "Mmbizwxaintpar", + funcName: "GetARModelList", + data:{ + bizuin: bizuin, + modelStatus: event.modelStatus, + algoType: event.algoType + }, + }) + }); + 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 + }, + }) + }); + } + +} \ No newline at end of file diff --git a/cloudfunctions/ARDemo/package.json b/cloudfunctions/ARDemo/package.json new file mode 100644 index 00000000..9b4a2610 --- /dev/null +++ b/cloudfunctions/ARDemo/package.json @@ -0,0 +1,19 @@ +{ + "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": { + "@tencent/wx-server-sdk-wxg-service": "^0.7.0", + "wx-server-sdk": "^2.6.3" + }, + "devDependencies": { + "@tencent/cloud-functions-tools": "^1.5.1" + } +} diff --git a/cloudfunctions/ARDemo/proto/mmbizwxaintparDemo.proto b/cloudfunctions/ARDemo/proto/mmbizwxaintparDemo.proto new file mode 100644 index 00000000..229b25af --- /dev/null +++ b/cloudfunctions/ARDemo/proto/mmbizwxaintparDemo.proto @@ -0,0 +1,102 @@ +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; +} + +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; + } + 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 GenerateARModelReq +{ + optional uint32 bizuin = 1; + optional string name = 2; + optional bytes buffer = 3; + optional string url = 4; + optional enARAlgorithmType algo_type = 5; +} + +message GenerateARModelResp +{ + optional string url = 1; + optional string host = 2; + optional string cosid = 3; +} + +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 ARModelData +{ + optional bytes mesh_model = 1; // 文本(点面信息) + optional bytes texture_model = 2; // 图像png +} + +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; +} diff --git a/cloudfunctions/ARDemo/svrkit-utils.js b/cloudfunctions/ARDemo/svrkit-utils.js new file mode 100644 index 00000000..19eb07da --- /dev/null +++ b/cloudfunctions/ARDemo/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/cloudfunctions/ARDemo/svrkit-utils.static.js b/cloudfunctions/ARDemo/svrkit-utils.static.js new file mode 100644 index 00000000..26c9f568 --- /dev/null +++ b/cloudfunctions/ARDemo/svrkit-utils.static.js @@ -0,0 +1,2693 @@ +// #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 + */ +$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; + 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 + */ + + /** + * 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 = ""; + + /** + * 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); + 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; + 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"; + 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); + 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 = ""; + } + 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; + 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: + 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; + } + 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.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 + */ + + /** + * 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; + + /** + * 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); + 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; + 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; + } + 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; + } + 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; + } + 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; + 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 + */ + + /** + * 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 = ""; + + /** + * 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); + 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; + 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"; + 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); + 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 = ""; + } + 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; + 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.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.ARModelData = (function() { + + /** + * Properties of a ARModelData. + * @exports IARModelData + * @interface IARModelData + * @property {Uint8Array|null} [meshModel] ARModelData meshModel + * @property {Uint8Array|null} [textureModel] ARModelData textureModel + */ + + /** + * 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([]); + + /** + * 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); + 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; + 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"; + 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; + 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 (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; + 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 + */ + + /** + * 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 = ""; + + /** + * 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); + 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; + 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"; + 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); + 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 = ""; + } + 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; + 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/cloudfunctions/ARDemo/svrkit-utils.static.json b/cloudfunctions/ARDemo/svrkit-utils.static.json new file mode 100644 index 00000000..37057992 --- /dev/null +++ b/cloudfunctions/ARDemo/svrkit-utils.static.json @@ -0,0 +1,228 @@ +{ + "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 + } + }, + "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 + } + } + } + } + }, + "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 + } + } + }, + "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 + } + } + }, + "GenerateARModelResp": { + "fields": { + "url": { + "type": "string", + "id": 1 + }, + "host": { + "type": "string", + "id": 2 + }, + "cosid": { + "type": "string", + "id": 3 + } + } + }, + "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 + } + } + }, + "ARModelData": { + "fields": { + "meshModel": { + "type": "bytes", + "id": 1 + }, + "textureModel": { + "type": "bytes", + "id": 2 + } + } + }, + "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 + } + } + } + } +} \ No newline at end of file diff --git a/cloudfunctions/ARDemo/svrkit.config.js b/cloudfunctions/ARDemo/svrkit.config.js new file mode 100644 index 00000000..43c4a7e2 --- /dev/null +++ b/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/cloudfunctions/getServerDataDemo/index.js b/cloudfunctions/getServerDataDemo/index.js deleted file mode 100644 index 065c9cdc..00000000 --- a/cloudfunctions/getServerDataDemo/index.js +++ /dev/null @@ -1,13 +0,0 @@ -// 云函数入口文件 -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/cloudfunctions/getServerDataDemo/package.json b/cloudfunctions/getServerDataDemo/package.json deleted file mode 100644 index d6aeb330..00000000 --- a/cloudfunctions/getServerDataDemo/package.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "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" - } -} diff --git a/cloudfunctions/getTempFileURL/index.js b/cloudfunctions/getTempFileURL/index.js deleted file mode 100644 index ba007f80..00000000 --- a/cloudfunctions/getTempFileURL/index.js +++ /dev/null @@ -1,14 +0,0 @@ -// 云函数入口文件 -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/cloudfunctions/getTempFileURL/package.json b/cloudfunctions/getTempFileURL/package.json deleted file mode 100644 index a22375aa..00000000 --- a/cloudfunctions/getTempFileURL/package.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "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" - } -} diff --git a/cloudfunctions/openapi/config.json b/cloudfunctions/openapi/config.json deleted file mode 100644 index da17794c..00000000 --- a/cloudfunctions/openapi/config.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "permissions": { - "openapi": [ - "wxacode.getUnlimited", - "templateMessage.send", - "templateMessage.addTemplate", - "templateMessage.deleteTemplate", - "templateMessage.getTemplateList", - "templateMessage.getTemplateLibraryById", - "templateMessage.getTemplateLibraryList" - ] - } -} \ No newline at end of file diff --git a/cloudfunctions/openapi/index.js b/cloudfunctions/openapi/index.js deleted file mode 100644 index eb0c1997..00000000 --- a/cloudfunctions/openapi/index.js +++ /dev/null @@ -1,65 +0,0 @@ -// 云函数入口文件 -const cloud = require('wx-server-sdk') - -cloud.init() - -async function sendTemplateMessage(event) { - const {OPENID} = cloud.getWXContext() - - // 接下来将新增模板、发送模板消息、然后删除模板 - // 注意:新增模板然后再删除并不是建议的做法,此处只是为了演示,模板 ID 应在添加后保存起来后续使用 - const addResult = await cloud.openapi.templateMessage.addTemplate({ - id: 'AT0002', - keywordIdList: [3, 4, 5] - }) - - const templateId = addResult.result.templateId - - const sendResult = await cloud.openapi.templateMessage.send({ - touser: OPENID, - templateId, - formId: event.formId, - page: 'page/cloud/pages/scf-openapi/scf-openapi', - data: { - keyword1: { - value: '未名咖啡屋', - }, - keyword2: { - value: '2019 年 1 月 1 日', - }, - keyword3: { - value: '拿铁', - }, - } - }) - - await cloud.openapi.templateMessage.deleteTemplate({ - templateId, - }) - - return sendResult -} - -async function getWXACode() { - const {result} = await cloud.openapi.wxacode.getUnlimited({ - scene: 'x=1', - }) - - // 此处返回 Base64 图片仅作为演示用,在实际开发中, - // 应上传图片至云文件存储,然后在小程序中通过云文件 ID 使用 - return `data:${result.contentType};base64,${result.buffer.toString('base64')}` -} - -// 云函数入口函数 -// eslint-disable-next-line -exports.main = async (event) => { - switch (event.action) { - case 'sendTemplateMessage': { - return sendTemplateMessage(event) - } - case 'getWXACode': { - return getWXACode(event) - } - default: break - } -} diff --git a/cloudfunctions/openapi/package.json b/cloudfunctions/openapi/package.json deleted file mode 100644 index 0a39461f..00000000 --- a/cloudfunctions/openapi/package.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "name": "openapi", - "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" - } -} diff --git a/cloudfunctions/wxContext/index.js b/cloudfunctions/wxContext/index.js deleted file mode 100644 index c48ea750..00000000 --- a/cloudfunctions/wxContext/index.js +++ /dev/null @@ -1,15 +0,0 @@ -// 云函数入口文件 -const cloud = require('wx-server-sdk') - -cloud.init() - -// 云函数入口函数 -exports.main = async () => { - const wxContext = cloud.getWXContext() - - return { - openid: wxContext.OPENID, - appid: wxContext.APPID, - unionid: wxContext.UNIONID, - } -} diff --git a/cloudfunctions/wxContext/package.json b/cloudfunctions/wxContext/package.json deleted file mode 100644 index c53d307f..00000000 --- a/cloudfunctions/wxContext/package.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "name": "wxContext", - "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" - } -} diff --git a/gulpfile.js b/gulpfile.js new file mode 100644 index 00000000..ccd846f6 --- /dev/null +++ b/gulpfile.js @@ -0,0 +1,86 @@ +const fs = require('fs') + +const gulp = require('gulp') +const postcss = require('gulp-postcss') +const cssvars = require('postcss-css-variables') +const rename = require('gulp-rename') +const replace = require('gulp-replace') +const gulpIf = require('gulp-if') +const gulpIgnore = require('gulp-ignore') + +gulp.task('transform-css-vars', () => { + const plugins = [ + cssvars({ + preserve: false, + variables: { + "--weui-BTN-DISABLED-FONT-COLOR": "rgba(0, 0, 0, .2)", + "--weui-BTN-DEFAULT-BG": "#f2f2f2", + "--weui-BTN-DEFAULT-COLOR": "#06ae56", + "--weui-BTN-DEFAULT-ACTIVE-BG": "#e6e6e6", + "--weui-DIALOG-LINE-COLOR": "rgba(0, 0, 0, .1)", + "--weui-BG-0": "#ededed", + "--weui-BG-1": "#f7f7f7", + "--weui-BG-2": "#fff", + "--weui-BG-3": "#f7f7f7", + "--weui-BG-4": "#4c4c4c", + "--weui-BG-5": "#fff", + "--weui-FG-0": "rgba(0, 0, 0, .9)", + "--weui-FG-HALF": "rgba(0, 0, 0, .9)", + "--weui-FG-1": "rgba(0, 0, 0, .5)", + "--weui-FG-2": "rgba(0, 0, 0, .3)", + "--weui-FG-3": "rgba(0, 0, 0, .1)", + "--weui-RED": "#fa5151", + "--weui-ORANGE": "#fa9d3b", + "--weui-YELLOW": "#ffc300", + "--weui-GREEN": "#91d300", + "--weui-LIGHTGREEN": "#95ec69", + "--weui-BRAND": "#07c160", + "--weui-BLUE": "#10aeff", + "--weui-INDIGO": "#1485ee", + "--weui-PURPLE": "#6467f0", + "--weui-WHITE": "#fff", + "--weui-LINK": "#576b95", + "--weui-TEXTGREEN": "#06ae56", + "--weui-FG": "#000", + "--weui-BG": "#fff", + "--weui-TAG-TEXT-ORANGE": "#fa9d3b", + "--weui-TAG-BACKGROUND-ORANGE": "rgba(250, 157, 59, .1)", + "--weui-TAG-TEXT-GREEN": "#06ae56", + "--weui-TAG-BACKGROUND-GREEN": "rgba(6, 174, 86, .1)", + "--weui-TAG-TEXT-BLUE": "#10aeff", + "--weui-TAG-BACKGROUND-BLUE": "rgba(16, 174, 255, .1)", + "--weui-TAG-TEXT-BLACK": "rgba(0, 0, 0, .5)", + "--weui-TAG-BACKGROUND-BLACK": "rgba(0, 0, 0, .05)", + "--weui-BG-COLOR-ACTIVE": "#ececec", + "--height": "44px", + "--right": "95px", + }, + preserveInjectedVariables: false, + }) + ] + return gulp.src([ + './miniprogram/app.wxss', + './miniprogram/common/common.wxss', + './miniprogram/page/common/common.wxss', + './miniprogram/page/common/index.wxss', + './miniprogram/page/component/index.wxss', + './miniprogram/page/cloud/index.wxss', + './miniprogram/page/API/index.wxss', + './miniprogram/page/extend/index.wxss', + './miniprogram/packageComponent/pages/canvas/canvas-2d/canvas-2d.wxss', + ]) + .pipe(gulpIgnore.exclude( + file => { + try { + fs.accessSync(file.path.replace(/\.wxss$/, '-skyline.wxss')) + } catch(e) { + return false + } + return true + })) + .pipe(postcss(plugins)) + .pipe(replace(/\:root ?{}\n/g, '')) + .pipe(gulpIf(file => file.path.includes('miniprogram/page/common'), rename({suffix: '-skyline'}))) + .pipe(gulpIf(file => file.path.includes('miniprogram/common'), rename({suffix: '-skyline'}))) + .pipe(gulp.dest(file => file.base)) +}) diff --git a/miniprogram/app.js b/miniprogram/app.js index 66949172..0f03936f 100644 --- a/miniprogram/app.js +++ b/miniprogram/app.js @@ -1,10 +1,11 @@ const config = require('./config') + const themeListeners = [] global.isDemo = true App({ - + onLaunch(opts, data) { - const that = this; + const that = this const canIUseSetBackgroundFetchToken = wx.canIUse('setBackgroundFetchToken') if (canIUseSetBackgroundFetchToken) { wx.setBackgroundFetchToken({ @@ -15,7 +16,7 @@ App({ wx.getBackgroundFetchData({ fetchType: 'pre', success(res) { - that.globalData.backgroundFetchData = res; + that.globalData.backgroundFetchData = res console.log('读取预拉取数据成功') }, fail() { @@ -46,36 +47,37 @@ App({ } }, - + onShow(opts) { console.log('App Show', opts) + console.log('USER_DATA_PATH', wx.env.USER_DATA_PATH) // console.log(wx.getSystemInfoSync()) }, onHide() { console.log('App Hide') }, - onThemeChange({ theme }) { + onThemeChange({theme}) { this.globalData.theme = theme themeListeners.forEach((listener) => { - listener(theme) + listener(theme) }) }, watchThemeChange(listener) { - if (themeListeners.indexOf(listener) < 0) { - themeListeners.push(listener) - } + if (themeListeners.indexOf(listener) < 0) { + themeListeners.push(listener) + } }, unWatchThemeChange(listener) { - const index = themeListeners.indexOf(listener) - if (index > -1) { - themeListeners.splice(index, 1) - } + const index = themeListeners.indexOf(listener) + if (index > -1) { + themeListeners.splice(index, 1) + } }, globalData: { theme: wx.getSystemInfoSync().theme, hasLogin: false, openid: null, - iconTabbar: '/page/weui/example/images/icon_tabbar.png', + iconTabbar: '/page/extend/images/icon_tabbar.png', }, // lazy loading openid getUserOpenId(callback) { @@ -85,7 +87,7 @@ App({ callback(null, self.globalData.openid) } else { wx.login({ - success(data) { + success() { wx.cloud.callFunction({ name: 'login', data: { @@ -97,8 +99,8 @@ App({ callback(null, self.globalData.openid) }, fail: err => { - console.log('拉取用户openid失败,将无法正常使用开放接口等服务', res) - callback(res) + console.log('拉取用户openid失败,将无法正常使用开放接口等服务', err) + callback(err) } }) }, diff --git a/miniprogram/app.json b/miniprogram/app.json index 6f8f7482..21f43ded 100644 --- a/miniprogram/app.json +++ b/miniprogram/app.json @@ -5,6 +5,9 @@ "page/cloud/index", "page/extend/index" ], + "usingComponents": { + "mp-navigation-bar": "/component/navigation-bar/navigation-bar" + }, "subpackages": [ { "root": "packageComponent", @@ -31,6 +34,8 @@ "pages/form/textarea/textarea", "pages/form/editor/editor", "pages/nav/navigator/navigator", + "pages/nav/navigator/navigate", + "pages/nav/navigator/redirect", "pages/media/image/image", "pages/media/video/video", "pages/media/camera/camera", @@ -42,7 +47,8 @@ "pages/open/ad/ad", "pages/open/open-data/open-data", "pages/open/web-view/web-view", - "pages/obstacle-free/aria-component/aria-component" + "pages/obstacle-free/aria-component/aria-component", + "pages/doc-web-view/doc-web-view" ] }, { @@ -60,6 +66,10 @@ "pages/api/choose-invoice-title/choose-invoice-title", "pages/api/soter-authentication/soter-authentication", "pages/api/setting/setting", + "pages/ar/visionkit-basic/visionkit-basic", + "pages/ar/plane-ar/plane-ar", + "pages/ar/2dmarker-ar/2dmarker-ar", + "pages/ar/osd-ar/osd-ar", "pages/page/set-navigation-bar-title/set-navigation-bar-title", "pages/page/navigation-bar-loading/navigation-bar-loading", "pages/page/navigator/navigator", @@ -158,6 +168,10 @@ "pages/base/preview/preview", "pages/operate/dialog/dialog", "pages/operate/msg/msg", + "pages/operate/msg/msg_success", + "pages/operate/msg/msg_text", + "pages/operate/msg/msg_text_primary", + "pages/operate/msg/msg_fail", "pages/operate/half-screen-dialog/half-screen-dialog", "pages/operate/actionsheet/actionsheet", "pages/operate/toptips/toptips", @@ -268,7 +282,7 @@ "darkmode": true, "resizable": true, "useExtendedLib": { - "weui": true + "weui": "latest" }, "frameset": true, "requiredBackgroundModes": ["audio", "location"], diff --git a/miniprogram/app.wxss b/miniprogram/app.wxss index c97ac767..9dcfddf4 100644 --- a/miniprogram/app.wxss +++ b/miniprogram/app.wxss @@ -1,29 +1,62 @@ -@import "./page/common/lib/weui.wxss"; - - /* reset */ +@import './common/common-skyline.wxss'; + page { - background-color: var(--weui-BG-1); + background-color: #f7f7f7; height: 100%; - /* font-size: 16px; */ font-size: 16px; line-height: 1.6; - color: var(--weui-FG-0); + color: rgba(0, 0, 0, .9); display: flex; - justify-content: center; + flex-direction: column; + justify-content: space-between; + align-items: center; } -page>view { +page > view, page > scroll-view { width: 100vw; max-width: 600px; } -checkbox, radio{ +checkbox, radio { margin-right: 5px; } -button{ - margin-top: 10px; - margin-bottom: 10px; + +canvas { + position: fixed; + top:0; +} + +.info { + position: absolute; + left: 0; + top: 0; + width: 100px; + height: 20px; + line-height: 20px; + background-color: rgb(5, 16, 112); + color: #fff; + padding-left: 10px; + font-size: 12px; + z-index: 1000; +} + +.memory { + top: 20px; +} + +.cpu { + top: 40px; +} + +button { + display: flex; + justify-content: center; + align-items: center; + height: 60px; + font-size: 16px; + line-height: 1.2; } -form{ + +form { width: 100%; } input { @@ -31,10 +64,10 @@ input { } /* lib */ -.strong{ +.strong { font-weight: bold; } -.tc{ +.tc { text-align: center; } @@ -61,22 +94,19 @@ input { } .page-head-line{ margin: 0 auto; - /* width: 75px; - height: 1px; */ width: 75px; height: 1px; - background-color: var(--weui-FG-1); + background-color: rgba(0, 0, 0, .5); } .page-head-desc{ padding-top: 10px; - color: var(--weui-FG-1); + color: rgba(0, 0, 0, .5); font-size: 16px; } .page-body { width: 100%; flex-grow: 1; - /* overflow-x: hidden; */ } .page-body-wrapper { display: flex; @@ -92,7 +122,7 @@ input { display: flex; flex-direction: column; align-items: center; - background-color: var(--weui-BG-2); + background-color: #fff; width: 100%; padding: 25px 0 75px 0; } @@ -103,20 +133,18 @@ input { .page-body-text { font-size: 15px; line-height: 26px; - color: var(--weui-FG-2); + color: rgba(0, 0, 0, .3); } .page-body-text-small { font-size: 12px; - color: var(--weui-FG-0); + color: rgba(0, 0, 0, .9); margin-bottom: 50px; } .page-foot{ - /* margin: 50px 0 0 0; */ margin: 50px 0 0 0; margin-bottom: constant(safe-area-inset-bottom); margin-bottom: env(safe-area-inset-bottom); - /* padding-bottom: 15px; */ padding-bottom: 15px; text-align: center; color: #1aad19; @@ -127,6 +155,7 @@ input { height: 12px; */ width: 76px; height: 12px; + margin: 0 auto; } .page-section{ @@ -150,15 +179,11 @@ input { padding: 0 40px; } .page-section-title{ - /* font-size: 14px; */ font-size: 14px; - color: var(--weui-FG-1); - /* margin-bottom: 5px; - padding-left: 15px; - padding-right: 15px; */ + color: rgba(0, 0, 0, .5); margin-bottom: 5px; padding-left: 15px; - padding-right: 15px; + /* padding-right: 15px; */ } .page-section-gap .page-section-title{ padding-left: 0; @@ -179,21 +204,21 @@ input { .image-plus { width: 75px; height: 75px; - border: 1px solid var(--weui-FG-1); + border: 1px solid rgba(0, 0, 0, .5); position: relative; } .image-plus-nb{ border: 0; } .image-plus-text{ - color: var(--weui-FG-2); + color: rgba(0, 0, 0, .3); font-size: 14px; } .image-plus-horizontal { position: absolute; top: 50%; left: 50%; - background-color: var(--weui-FG-1); + background-color: rgba(0, 0, 0, .5); width: 2px; height: 40px; transform: translate(-50%, -50%); @@ -202,7 +227,7 @@ input { position: absolute; top: 50%; left: 50%; - background-color: var(--weui-FG-1); + background-color: rgba(0, 0, 0, .5); width: 40px; height: 2px; transform: translate(-50%, -50%); @@ -216,13 +241,14 @@ input { color: #FFFFFF; font-size: 18px; } -.demo-text-1:before{ +/* skyline不支持:before */ +/* .demo-text-1:before{ content: 'A'; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); -} +} */ .demo-text-2{ position: relative; align-items: center; @@ -231,13 +257,14 @@ input { color: #FFFFFF; font-size: 18px; } -.demo-text-2:before{ +/* skyline不支持:before */ +/* .demo-text-2:before{ content: 'B'; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); -} +} */ .demo-text-3{ position: relative; align-items: center; @@ -246,10 +273,54 @@ input { color: #353535; font-size: 18px; } -.demo-text-3:before{ +/* skyline不支持:before */ +/* .demo-text-3:before{ content: 'C'; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); +} */ +/* pick from weui */ +.weui-cells__title { + margin-top: 16px; + margin-bottom: 3px; + padding-left: 16px; + padding-right: 16px; + color: rgba(0,0,0,0.5); + font-size: 14px; + line-height: 1.4; +} + +/* skyline 未生效,用 .weui-cells_after-title 代替 */ +.weui-cells__title + .weui-cells { + margin-top: 0; +} +.weui-cells { + margin-top: 8px; + line-height: 1.41176471; + font-size: 17px; + overflow: hidden; + position: relative; + border-top: .5px solid rgba(0,0,0,0.1); + border-bottom: .5px solid rgba(0,0,0,0.1); +} +.weui-cells_after-title { + margin-top: 0; +} +.weui-cell { + padding: 16px; + flex-direction: row; + align-items: center; +} +.weui-cell_before { + left: 16px; + border-top: .5px solid rgba(0, 0, 0, .1); +} +.weui-cell::before { + display: none; +} + +[data-weui-theme=dark] .weui-cell_before { + border-top-color: hsla(0, 0%, 100%, .1); } diff --git a/miniprogram/common/common-skyline.wxss b/miniprogram/common/common-skyline.wxss new file mode 100644 index 00000000..498029a9 --- /dev/null +++ b/miniprogram/common/common-skyline.wxss @@ -0,0 +1,171 @@ +/*! + * WeUI v2.3.0 (https://github.com/weui/weui-wxss) + * Copyright 2020 Tencent, Inc. + * Licensed under the MIT license + */ +/* @import '../components/weui-wxss/dist/style/weui.wxss'; */ + +page { + height: 100%; + display: flex; + justify-content: center; +} + +.page { + height: fit-content; + min-height: 100%; + background-color: #f7f7f7; + color: rgba(0, 0, 0, .9); + font-size: 16px; + font-family: -apple-system-font, Helvetica Neue, Helvetica, sans-serif; + /* max-width: 600px; */ +} + +image { + max-width: 100%; + max-height: 100% +} + +.link { + display: inline; + color: #576b95 +} + +.fadeIn { + -webkit-animation: a .3s forwards; + animation: a .3s forwards +} + +.fadeOut { + -webkit-animation: b .3s forwards; + animation: b .3s forwards +} + +@-webkit-keyframes a { + 0% { + opacity: 0 + } + + to { + opacity: 1 + } +} + +@keyframes a { + 0% { + opacity: 0 + } + + to { + opacity: 1 + } +} + +@-webkit-keyframes b { + 0% { + opacity: 1 + } + + to { + opacity: 0 + } +} + +@keyframes b { + 0% { + opacity: 1 + } + + to { + opacity: 0 + } +} + +.weui-msg__extra-area { + position: static +} + +.page__hd { + padding: 40px +} + +.page__bd { + padding-bottom: 40px +} + +.page__bd_spacing { + padding-left: 15px; + padding-right: 15px +} + +.page__ft { + padding-top: 40px; + padding-bottom: 10px; + padding-bottom: calc(10px + constant(safe-area-inset-bottom)); + padding-bottom: calc(10px + env(safe-area-inset-bottom)); + text-align: center +} + +[data-weui-theme=dark] .page__ft image { + -webkit-filter: invert(100) hue-rotate(180deg); + filter: invert(100) hue-rotate(180deg) +} + +.page__title { + text-align: left; + font-size: 20px; + font-weight: 400 +} + +.page__desc { + margin-top: 5px; + color: rgba(0, 0, 0, .5); + text-align: left; + font-size: 14px +} + +.weui-cell_example:before { + left: 52px +} + +@media (prefers-color-scheme: dark) { + page { + background-color: #1F1F1F; + color: hsla(0, 0%, 100%, .8); + } +} + +[data-weui-theme=dark] .page-head-line{ + background-color: hsla(0, 0%, 100%, .5); +} +[data-weui-theme=dark] .page-head-desc { + background-color: hsla(0, 0%, 100%, .5); +} +[data-weui-theme=dark] .page-body-info { + background-color: #232323; +} +[data-weui-theme=dark] .page-body-text { + color: hsla(0, 0%, 100%, .3); +} +[data-weui-theme=dark] .page-body-text-small { + color: hsla(0, 0%, 100%, .8); +} +[data-weui-theme=dark] .page-section-title { + color: hsla(0, 0%, 100%, .5); +} +[data-weui-theme=dark] .image-plus { + border-color: hsla(0, 0%, 100%, .5); +} +[data-weui-theme=dark] .image-plus-text { + color: hsla(0, 0%, 100%, .3); +} +[data-weui-theme=dark].page { + background-color: #1f1f1f; + color: hsla(0, 0%, 100%, .8); +} +[data-weui-theme=dark] .link { + color: #7d90a9; +} +[data-weui-theme=dark] .page__desc { + color: hsla(0, 0%, 100%, .5); +} diff --git a/miniprogram/common/common.wxss b/miniprogram/common/common.wxss new file mode 100644 index 00000000..95af652c --- /dev/null +++ b/miniprogram/common/common.wxss @@ -0,0 +1,135 @@ +/*! + * WeUI v2.3.0 (https://github.com/weui/weui-wxss) + * Copyright 2020 Tencent, Inc. + * Licensed under the MIT license + */ +/* @import '../components/weui-wxss/dist/style/weui.wxss'; */ + +page { + height: 100%; + display: flex; + justify-content: center; +} + +.page { + height: fit-content; + min-height: 100%; + background-color: var(--weui-BG-1); + color: var(--weui-FG-0); + font-size: 16px; + font-family: -apple-system-font, Helvetica Neue, Helvetica, sans-serif; + max-width: 600px; +} + +image { + max-width: 100%; + max-height: 100% +} + +.link { + display: inline; + color: var(--weui-LINK) +} + +.fadeIn { + -webkit-animation: a .3s forwards; + animation: a .3s forwards +} + +.fadeOut { + -webkit-animation: b .3s forwards; + animation: b .3s forwards +} + +@-webkit-keyframes a { + 0% { + opacity: 0 + } + + to { + opacity: 1 + } +} + +@keyframes a { + 0% { + opacity: 0 + } + + to { + opacity: 1 + } +} + +@-webkit-keyframes b { + 0% { + opacity: 1 + } + + to { + opacity: 0 + } +} + +@keyframes b { + 0% { + opacity: 1 + } + + to { + opacity: 0 + } +} + +.weui-msg__extra-area { + position: static +} + +.page__hd { + padding: 40px +} + +.page__bd { + padding-bottom: 40px +} + +.page__bd_spacing { + padding-left: 15px; + padding-right: 15px +} + +.page__ft { + padding-top: 40px; + padding-bottom: 10px; + padding-bottom: calc(10px + constant(safe-area-inset-bottom)); + padding-bottom: calc(10px + env(safe-area-inset-bottom)); + text-align: center +} + +[data-weui-theme=dark] .page__ft image { + -webkit-filter: invert(100) hue-rotate(180deg); + filter: invert(100) hue-rotate(180deg) +} + +.page__title { + text-align: left; + font-size: 20px; + font-weight: 400 +} + +.page__desc { + margin-top: 5px; + color: var(--weui-FG-1); + text-align: left; + font-size: 14px +} + +.weui-cell_example:before { + left: 52px +} + +@media (prefers-color-scheme: dark) { + page { + background-color: #1F1F1F; + } +} \ No newline at end of file diff --git a/miniprogram/common/foot.wxml b/miniprogram/common/foot.wxml index 2375957b..d1afb2a2 100644 --- a/miniprogram/common/foot.wxml +++ b/miniprogram/common/foot.wxml @@ -1,5 +1,5 @@ \ No newline at end of file diff --git a/miniprogram/common/head.wxml b/miniprogram/common/head.wxml index 73b26e6f..e927a504 100644 --- a/miniprogram/common/head.wxml +++ b/miniprogram/common/head.wxml @@ -1,6 +1,7 @@