liyongli 3 anni fa
parent
commit
600156824e
86 ha cambiato i file con 324 aggiunte e 4875 eliminazioni
  1. 0 14
      .gitignore
  2. 0 12
      README.md
  3. 0 6
      cloudfunctions/cloudbase_auth/config.json
  4. 0 28
      cloudfunctions/cloudbase_auth/index.js
  5. 0 14
      cloudfunctions/cloudbase_auth/package.json
  6. 0 15
      cloudfunctions/openapi/config.json
  7. 0 86
      cloudfunctions/openapi/index.js
  8. 0 14
      cloudfunctions/openapi/package.json
  9. 0 48
      cloudfunctions/server/auto/utils.js
  10. 0 6
      cloudfunctions/server/config.json
  11. 0 26
      cloudfunctions/server/index.js
  12. 0 1945
      cloudfunctions/server/package-lock.json
  13. 0 14
      cloudfunctions/server/package.json
  14. 98 0
      index.html
  15. 200 0
      js/entry.js
  16. 0 0
      js/index.js
  17. 0 0
      layui/css/layui.css
  18. 1 0
      layui/css/modules/code.css
  19. 0 0
      layui/css/modules/laydate/default/laydate.css
  20. BIN
      layui/css/modules/layer/default/icon-ext.png
  21. BIN
      layui/css/modules/layer/default/icon.png
  22. 0 0
      layui/css/modules/layer/default/layer.css
  23. BIN
      layui/css/modules/layer/default/loading-0.gif
  24. BIN
      layui/css/modules/layer/default/loading-1.gif
  25. BIN
      layui/css/modules/layer/default/loading-2.gif
  26. BIN
      layui/font/iconfont.eot
  27. 25 0
      layui/font/iconfont.svg
  28. BIN
      layui/font/iconfont.ttf
  29. BIN
      layui/font/iconfont.woff
  30. BIN
      layui/font/iconfont.woff2
  31. 0 0
      layui/layui.js
  32. 0 19
      miniprogram/app.js
  33. 0 22
      miniprogram/app.json
  34. 0 166
      miniprogram/app.wxss
  35. 0 337
      miniprogram/components/chatroom/chatroom.js
  36. 0 4
      miniprogram/components/chatroom/chatroom.json
  37. 0 85
      miniprogram/components/chatroom/chatroom.wxml
  38. 0 161
      miniprogram/components/chatroom/chatroom.wxss
  39. BIN
      miniprogram/images/0.png
  40. BIN
      miniprogram/images/1.png
  41. BIN
      miniprogram/images/2.png
  42. BIN
      miniprogram/images/3.png
  43. BIN
      miniprogram/images/4.png
  44. BIN
      miniprogram/images/5.png
  45. BIN
      miniprogram/images/door_left.jpg
  46. BIN
      miniprogram/images/door_right.jpg
  47. BIN
      miniprogram/images/tabbar_icon_home_active.png
  48. BIN
      miniprogram/images/tabbar_icon_home_default.png
  49. BIN
      miniprogram/images/tabbar_icon_setting_active.png
  50. BIN
      miniprogram/images/tabbar_icon_setting_default.png
  51. BIN
      miniprogram/images/wood.jpg
  52. 0 101
      miniprogram/pages/detail/detail.js
  53. 0 3
      miniprogram/pages/detail/detail.json
  54. 0 9
      miniprogram/pages/detail/detail.wxml
  55. 0 8
      miniprogram/pages/detail/detail.wxss
  56. 0 6
      miniprogram/pages/detail/template/defaultDetail/index.wxml
  57. 0 4
      miniprogram/pages/detail/template/defaultDetail/index.wxss
  58. 0 5
      miniprogram/pages/detail/template/pdfDetail/index.wxml
  59. 0 5
      miniprogram/pages/detail/template/pdfDetail/index.wxss
  60. 0 4
      miniprogram/pages/detail/template/sysDetail/index.wxml
  61. 0 1
      miniprogram/pages/detail/template/sysDetail/index.wxss
  62. 0 104
      miniprogram/pages/home/index.js
  63. 0 5
      miniprogram/pages/home/index.json
  64. 0 72
      miniprogram/pages/home/index.wxml
  65. 0 94
      miniprogram/pages/home/index.wxss
  66. 0 124
      miniprogram/pages/index/index.js
  67. 0 3
      miniprogram/pages/index/index.json
  68. 0 77
      miniprogram/pages/index/index.wxml
  69. 0 161
      miniprogram/pages/index/index.wxss
  70. BIN
      miniprogram/pages/index/user-unlogin.png
  71. 0 111
      miniprogram/pages/interList/interList.js
  72. 0 4
      miniprogram/pages/interList/interList.json
  73. 0 21
      miniprogram/pages/interList/interList.wxml
  74. 0 56
      miniprogram/pages/interList/interList.wxss
  75. 0 72
      miniprogram/pages/marvellous/components/videoAn/index.js
  76. 0 4
      miniprogram/pages/marvellous/components/videoAn/index.json
  77. 0 27
      miniprogram/pages/marvellous/components/videoAn/index.wxml
  78. 0 107
      miniprogram/pages/marvellous/components/videoAn/index.wxss
  79. 0 286
      miniprogram/pages/marvellous/index.js
  80. 0 6
      miniprogram/pages/marvellous/index.json
  81. 0 31
      miniprogram/pages/marvellous/index.wxml
  82. 0 89
      miniprogram/pages/marvellous/index.wxss
  83. 0 7
      miniprogram/sitemap.json
  84. 0 144
      miniprogram/style/guide.wxss
  85. 0 66
      project.config.json
  86. 0 36
      project.private.config.json

+ 0 - 14
.gitignore

@@ -1,14 +0,0 @@
-# Windows
-[Dd]esktop.ini
-Thumbs.db
-$RECYCLE.BIN/
-
-# macOS
-.DS_Store
-.fseventsd
-.Spotlight-V100
-.TemporaryItems
-.Trashes
-
-# Node.js
-node_modules/

+ 0 - 12
README.md

@@ -1,12 +0,0 @@
-# 云开发 quickstart
-
-这是云开发的快速启动指引,其中演示了如何上手使用云开发的三大基础能力:
-
-- 数据库:一个既可在小程序前端操作,也能在云函数中读写的 JSON 文档型数据库
-- 文件存储:在小程序前端直接上传/下载云端文件,在云开发控制台可视化管理
-- 云函数:在云端运行的代码,微信私有协议天然鉴权,开发者只需编写业务逻辑代码
-
-## 参考文档
-
-- [云开发文档](https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html)
-

+ 0 - 6
cloudfunctions/cloudbase_auth/config.json

@@ -1,6 +0,0 @@
-{
-  "permissions": {
-    "openapi": [
-    ]
-  }
-}

+ 0 - 28
cloudfunctions/cloudbase_auth/index.js

@@ -1,28 +0,0 @@
-const cloud = require('wx-server-sdk')
-cloud.init({
-  env: cloud.DYNAMIC_CURRENT_ENV
-})
-
-// 云函数入口函数
-exports.main = async (event, context) => {
-  const wxContext = cloud.getWXContext()
-
-  console.log(event)
-  console.log(wxContext)
-  // 跨账号调用时,由此拿到来源方小程序/公众号 AppID
-  console.log(wxContext.FROM_APPID)
-  // 跨账号调用时,由此拿到来源方小程序/公众号的用户 OpenID
-  console.log(wxContext.FROM_OPENID)
-  // 跨账号调用、且满足 unionid 获取条件时,由此拿到同主体下的用户 UnionID
-  console.log(wxContext.FROM_UNIONID)
-
-  return {
-    errCode: 0,
-    errMsg: '',
-    auth: JSON.stringify({
-      // 自定义安全规则
-      // 在前端访问资源方数据库、云函数等资源时,资源方可以通过
-      // 安全规则的 `auth.custom` 字段获取此对象的内容做校验
-    }),
-  }
-}

+ 0 - 14
cloudfunctions/cloudbase_auth/package.json

@@ -1,14 +0,0 @@
-{
-  "name": "cloudbase_auth",
-  "version": "1.0.0",
-  "description": "",
-  "main": "index.js",
-  "scripts": {
-    "test": "echo \"Error: no test specified\" && exit 1"
-  },
-  "author": "",
-  "license": "ISC",
-  "dependencies": {
-    "wx-server-sdk": "~2.4.0"
-  }
-}

+ 0 - 15
cloudfunctions/openapi/config.json

@@ -1,15 +0,0 @@
-{
-  "permissions": {
-    "openapi": [
-      "wxacode.get",
-      "subscribeMessage.send",
-      "subscribeMessage.addTemplate",
-      "templateMessage.send",
-      "templateMessage.addTemplate",
-      "templateMessage.deleteTemplate",
-      "templateMessage.getTemplateList",
-      "templateMessage.getTemplateLibraryById",
-      "templateMessage.getTemplateLibraryList"
-    ]
-  }
-}

+ 0 - 86
cloudfunctions/openapi/index.js

@@ -1,86 +0,0 @@
-// 云函数入口文件
-const cloud = require('wx-server-sdk')
-
-cloud.init()
-
-// 云函数入口函数
-exports.main = async (event, context) => {
-  console.log(event)
-  switch (event.action) {
-    case 'requestSubscribeMessage': {
-      return requestSubscribeMessage(event)
-    }
-    case 'sendSubscribeMessage': {
-      return sendSubscribeMessage(event)
-    }
-    case 'getWXACode': {
-      return getWXACode(event)
-    }
-    case 'getOpenData': {
-      return getOpenData(event)
-    }
-    default: {
-      return
-    }
-  }
-}
-
-async function requestSubscribeMessage(event) {
-  // 此处为模板 ID,开发者需要到小程序管理后台 - 订阅消息 - 公共模板库中添加模板,
-  // 然后在我的模板中找到对应模板的 ID,填入此处
-  return '请到管理后台申请模板 ID 然后在此替换' // 如 'N_J6F05_bjhqd6zh2h1LHJ9TAv9IpkCiAJEpSw0PrmQ'
-}
-
-async function sendSubscribeMessage(event) {
-  const { OPENID } = cloud.getWXContext()
-
-  const { templateId } = event
-
-  const sendResult = await cloud.openapi.subscribeMessage.send({
-    touser: OPENID,
-    templateId,
-    miniprogram_state: 'developer',
-    page: 'pages/openapi/openapi',
-    // 此处字段应修改为所申请模板所要求的字段
-    data: {
-      thing1: {
-        value: '咖啡',
-      },
-      time3: {
-        value: '2020-01-01 00:00',
-      },
-    }
-  })
-
-  return sendResult
-}
-
-async function getWXACode(event) {
-  // 此处将获取永久有效的小程序码,并将其保存在云文件存储中,最后返回云文件 ID 给前端使用
-
-  const wxacodeResult = await cloud.openapi.wxacode.get({
-    path: 'pages/openapi/openapi',
-  })
-
-  const fileExtensionMatches = wxacodeResult.contentType.match(/\/([^/]+)/)
-  const fileExtension = (fileExtensionMatches && fileExtensionMatches[1]) || 'jpg'
-
-  const uploadResult = await cloud.uploadFile({
-    // 云文件路径,此处为演示采用一个固定名称
-    cloudPath: `wxacode_default_openapi_page.${fileExtension}`,
-    // 要上传的文件内容可直接传入图片 Buffer
-    fileContent: wxacodeResult.buffer,
-  })
-
-  if (!uploadResult.fileID) {
-    throw new Error(`upload failed with empty fileID and storage server status code ${uploadResult.statusCode}`)
-  }
-
-  return uploadResult.fileID
-}
-
-async function getOpenData(event) {
-  return cloud.getOpenData({
-    list: event.openData.list,
-  })
-}

+ 0 - 14
cloudfunctions/openapi/package.json

@@ -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": "~2.4.0"
-  }
-}

+ 0 - 48
cloudfunctions/server/auto/utils.js

@@ -1,48 +0,0 @@
-const cloudbase = require("@cloudbase/node-sdk");
-
-async function checkAuth() {
-  // 获取用户信息
-  // 在云函数中获取用户身份信息
-  const app = cloudbase.init();
-  const { TCB_UUID } = cloudbase.getCloudbaseContext();
-  let { userInfo } = await app.auth().getEndUserInfo(TCB_UUID);
-
-  // 未登录用户
-  if (!userInfo.username && !userInfo.openId) {
-    return {
-      msg: "未登录用户!",
-      result: false
-    }
-  }
-
-  // 校验用户是否为 CMS 的用户
-  // 腾讯云 CMS 用户数据集合为 tcb-ext-cms-users
-  // 微信 CMS 用户数据集合为 wx-ext-cms-users
-  const {
-    data: [userRecord]
-  } = await app
-    .database()
-    .collection("tcb-ext-cms-users")
-    .where({
-      username: userInfo.username
-    })
-    .get();
-
-  // 用户信息不存在
-  if (!userRecord) {
-    return {
-      msg: "用户不存在,请确认登录信息!",
-      result: false
-    }
-  }
-
-  // 校验通过
-  return {
-    msg: "",
-    result: true
-  }
-}
-
-exports.config = {
-  checkAuth
-}

+ 0 - 6
cloudfunctions/server/config.json

@@ -1,6 +0,0 @@
-{
-  "permissions": {
-    "openapi": [
-    ]
-  }
-}

+ 0 - 26
cloudfunctions/server/index.js

@@ -1,26 +0,0 @@
-// 云函数入口文件
-const cloud = require('wx-server-sdk')
-
-const utils = require("./auto/utils")
-
-cloud.init()
-
-// 云函数入口函数
-exports.main = async (event, context) => {
-  let result = await utils.checkAuth();
-  if(!result.result) return {
-    msg: result.msg
-  }
-  console.log(event)
-  switch (event.action) {
-    case 'img': {
-      return upImage(event)
-    }
-    case 'video': {
-      return video(event)
-    }
-    default: {
-      return {}
-    }
-  }
-}

+ 0 - 1945
cloudfunctions/server/package-lock.json

@@ -1,1945 +0,0 @@
-{
-  "name": "server",
-  "version": "1.0.0",
-  "lockfileVersion": 2,
-  "requires": true,
-  "packages": {
-    "": {
-      "version": "1.0.0",
-      "license": "ISC",
-      "dependencies": {
-        "wx-server-sdk": "~2.4.0"
-      }
-    },
-    "node_modules/@cloudbase/database": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npm.taobao.org/@cloudbase/database/download/@cloudbase/database-1.2.2.tgz",
-      "integrity": "sha1-JMyTEJZ8J7wbuPokU19JAonIRAo=",
-      "dependencies": {
-        "bson": "^4.0.3",
-        "lodash.clonedeep": "4.5.0",
-        "lodash.set": "4.3.2",
-        "lodash.unset": "4.5.2"
-      }
-    },
-    "node_modules/@cloudbase/node-sdk": {
-      "version": "2.4.7",
-      "resolved": "https://registry.nlark.com/@cloudbase/node-sdk/download/@cloudbase/node-sdk-2.4.7.tgz?cache=0&sync_timestamp=1622552558340&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40cloudbase%2Fnode-sdk%2Fdownload%2F%40cloudbase%2Fnode-sdk-2.4.7.tgz",
-      "integrity": "sha1-IGpM5swxN89GqTkso3IRe4JD1rM=",
-      "dependencies": {
-        "@cloudbase/database": "1.2.2",
-        "@cloudbase/signature-nodejs": "1.0.0-beta.0",
-        "@types/retry": "^0.12.0",
-        "agentkeepalive": "^4.1.3",
-        "is-regex": "^1.0.4",
-        "jsonwebtoken": "^8.5.1",
-        "lodash.merge": "^4.6.1",
-        "request": "^2.87.0",
-        "request-promise": "^4.2.5",
-        "retry": "^0.12.0",
-        "ts-node": "^8.10.2",
-        "xml2js": "^0.4.19"
-      },
-      "engines": {
-        "node": ">=8.6.0"
-      }
-    },
-    "node_modules/@cloudbase/signature-nodejs": {
-      "version": "1.0.0-beta.0",
-      "resolved": "https://registry.npm.taobao.org/@cloudbase/signature-nodejs/download/@cloudbase/signature-nodejs-1.0.0-beta.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40cloudbase%2Fsignature-nodejs%2Fdownload%2F%40cloudbase%2Fsignature-nodejs-1.0.0-beta.0.tgz",
-      "integrity": "sha1-Ix0F+ZytAbxGT2gjlVfGpbmn56M=",
-      "dependencies": {
-        "@types/clone": "^0.1.30",
-        "clone": "^2.1.2",
-        "is-stream": "^2.0.0",
-        "url": "^0.11.0"
-      }
-    },
-    "node_modules/@protobufjs/aspromise": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npm.taobao.org/@protobufjs/aspromise/download/@protobufjs/aspromise-1.1.2.tgz",
-      "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78="
-    },
-    "node_modules/@protobufjs/base64": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npm.taobao.org/@protobufjs/base64/download/@protobufjs/base64-1.1.2.tgz",
-      "integrity": "sha1-TIVzDlm5ofHzSQR9vyQpYDS7JzU="
-    },
-    "node_modules/@protobufjs/codegen": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npm.taobao.org/@protobufjs/codegen/download/@protobufjs/codegen-2.0.4.tgz",
-      "integrity": "sha1-fvN/DQEPsCitGtWXIuUG2SYoFcs="
-    },
-    "node_modules/@protobufjs/eventemitter": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npm.taobao.org/@protobufjs/eventemitter/download/@protobufjs/eventemitter-1.1.0.tgz",
-      "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A="
-    },
-    "node_modules/@protobufjs/fetch": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npm.taobao.org/@protobufjs/fetch/download/@protobufjs/fetch-1.1.0.tgz",
-      "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=",
-      "dependencies": {
-        "@protobufjs/aspromise": "^1.1.1",
-        "@protobufjs/inquire": "^1.1.0"
-      }
-    },
-    "node_modules/@protobufjs/float": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npm.taobao.org/@protobufjs/float/download/@protobufjs/float-1.0.2.tgz",
-      "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E="
-    },
-    "node_modules/@protobufjs/inquire": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npm.taobao.org/@protobufjs/inquire/download/@protobufjs/inquire-1.1.0.tgz",
-      "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik="
-    },
-    "node_modules/@protobufjs/path": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npm.taobao.org/@protobufjs/path/download/@protobufjs/path-1.1.2.tgz",
-      "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0="
-    },
-    "node_modules/@protobufjs/pool": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npm.taobao.org/@protobufjs/pool/download/@protobufjs/pool-1.1.0.tgz",
-      "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q="
-    },
-    "node_modules/@protobufjs/utf8": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npm.taobao.org/@protobufjs/utf8/download/@protobufjs/utf8-1.1.0.tgz",
-      "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA="
-    },
-    "node_modules/@types/clone": {
-      "version": "0.1.30",
-      "resolved": "https://registry.nlark.com/@types/clone/download/@types/clone-0.1.30.tgz",
-      "integrity": "sha1-5zZWSMG0ITalnH1QQGN7O1yDthQ="
-    },
-    "node_modules/@types/long": {
-      "version": "4.0.1",
-      "resolved": "https://registry.nlark.com/@types/long/download/@types/long-4.0.1.tgz",
-      "integrity": "sha1-RZxl+hhn2v5qjzIsTFFpVmPMVek="
-    },
-    "node_modules/@types/node": {
-      "version": "10.17.60",
-      "resolved": "https://registry.nlark.com/@types/node/download/@types/node-10.17.60.tgz?cache=0&sync_timestamp=1622824508013&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-10.17.60.tgz",
-      "integrity": "sha1-NfPWIT2u2V2n8Pc+dbzGmA6QWXs="
-    },
-    "node_modules/@types/retry": {
-      "version": "0.12.0",
-      "resolved": "https://registry.nlark.com/@types/retry/download/@types/retry-0.12.0.tgz?cache=0&sync_timestamp=1621242656518&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fretry%2Fdownload%2F%40types%2Fretry-0.12.0.tgz",
-      "integrity": "sha1-KzXsz87n04zXKtmSMvvVi/+zyE0="
-    },
-    "node_modules/agentkeepalive": {
-      "version": "4.1.4",
-      "resolved": "https://registry.npm.taobao.org/agentkeepalive/download/agentkeepalive-4.1.4.tgz",
-      "integrity": "sha1-2SgCikhiyxFxjlUieHLoQqRMlFs=",
-      "dependencies": {
-        "debug": "^4.1.0",
-        "depd": "^1.1.2",
-        "humanize-ms": "^1.2.1"
-      },
-      "engines": {
-        "node": ">= 8.0.0"
-      }
-    },
-    "node_modules/ajv": {
-      "version": "6.12.6",
-      "resolved": "https://registry.nlark.com/ajv/download/ajv-6.12.6.tgz",
-      "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=",
-      "dependencies": {
-        "fast-deep-equal": "^3.1.1",
-        "fast-json-stable-stringify": "^2.0.0",
-        "json-schema-traverse": "^0.4.1",
-        "uri-js": "^4.2.2"
-      }
-    },
-    "node_modules/arg": {
-      "version": "4.1.3",
-      "resolved": "https://registry.npm.taobao.org/arg/download/arg-4.1.3.tgz",
-      "integrity": "sha1-Jp/HrVuOQstjyJbVZmAXJhwUQIk="
-    },
-    "node_modules/asn1": {
-      "version": "0.2.4",
-      "resolved": "https://registry.npm.taobao.org/asn1/download/asn1-0.2.4.tgz",
-      "integrity": "sha1-jSR136tVO7M+d7VOWeiAu4ziMTY=",
-      "dependencies": {
-        "safer-buffer": "~2.1.0"
-      }
-    },
-    "node_modules/assert-plus": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz",
-      "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
-      "engines": {
-        "node": ">=0.8"
-      }
-    },
-    "node_modules/asynckit": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz",
-      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
-    },
-    "node_modules/aws-sign2": {
-      "version": "0.7.0",
-      "resolved": "https://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.7.0.tgz",
-      "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/aws4": {
-      "version": "1.11.0",
-      "resolved": "https://registry.npm.taobao.org/aws4/download/aws4-1.11.0.tgz",
-      "integrity": "sha1-1h9G2DslGSUOJ4Ta9bCUeai0HFk="
-    },
-    "node_modules/base64-js": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npm.taobao.org/base64-js/download/base64-js-1.5.1.tgz",
-      "integrity": "sha1-GxtEAWClv3rUC2UPCVljSBkDkwo="
-    },
-    "node_modules/bcrypt-pbkdf": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz",
-      "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
-      "dependencies": {
-        "tweetnacl": "^0.14.3"
-      }
-    },
-    "node_modules/bluebird": {
-      "version": "3.7.2",
-      "resolved": "https://registry.npm.taobao.org/bluebird/download/bluebird-3.7.2.tgz",
-      "integrity": "sha1-nyKcFb4nJFT/qXOs4NvueaGww28="
-    },
-    "node_modules/bson": {
-      "version": "4.4.0",
-      "resolved": "https://registry.nlark.com/bson/download/bson-4.4.0.tgz",
-      "integrity": "sha1-akysfejFzCSpvMBZzUKphS4rrUo=",
-      "dependencies": {
-        "buffer": "^5.6.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/buffer": {
-      "version": "5.7.1",
-      "resolved": "https://registry.npm.taobao.org/buffer/download/buffer-5.7.1.tgz?cache=0&sync_timestamp=1606098078312&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbuffer%2Fdownload%2Fbuffer-5.7.1.tgz",
-      "integrity": "sha1-umLnwTEzBTWCGXFghRqPZI6Z7tA=",
-      "dependencies": {
-        "base64-js": "^1.3.1",
-        "ieee754": "^1.1.13"
-      }
-    },
-    "node_modules/buffer-equal-constant-time": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npm.taobao.org/buffer-equal-constant-time/download/buffer-equal-constant-time-1.0.1.tgz",
-      "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk="
-    },
-    "node_modules/buffer-from": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz",
-      "integrity": "sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8="
-    },
-    "node_modules/call-bind": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npm.taobao.org/call-bind/download/call-bind-1.0.2.tgz?cache=0&sync_timestamp=1610402811207&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcall-bind%2Fdownload%2Fcall-bind-1.0.2.tgz",
-      "integrity": "sha1-sdTonmiBGcPJqQOtMKuy9qkZvjw=",
-      "dependencies": {
-        "function-bind": "^1.1.1",
-        "get-intrinsic": "^1.0.2"
-      }
-    },
-    "node_modules/caseless": {
-      "version": "0.12.0",
-      "resolved": "https://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz",
-      "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
-    },
-    "node_modules/clone": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npm.taobao.org/clone/download/clone-2.1.2.tgz",
-      "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=",
-      "engines": {
-        "node": ">=0.8"
-      }
-    },
-    "node_modules/combined-stream": {
-      "version": "1.0.8",
-      "resolved": "https://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.8.tgz",
-      "integrity": "sha1-w9RaizT9cwYxoRCoolIGgrMdWn8=",
-      "dependencies": {
-        "delayed-stream": "~1.0.0"
-      },
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/core-util-is": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz",
-      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
-    },
-    "node_modules/dashdash": {
-      "version": "1.14.1",
-      "resolved": "https://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz?cache=0&sync_timestamp=1601073714105&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdashdash%2Fdownload%2Fdashdash-1.14.1.tgz",
-      "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
-      "dependencies": {
-        "assert-plus": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10"
-      }
-    },
-    "node_modules/debug": {
-      "version": "4.3.1",
-      "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.3.1.tgz?cache=0&sync_timestamp=1607566548985&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.3.1.tgz",
-      "integrity": "sha1-8NIpxQXgxtjEmsVT0bE9wYP2su4=",
-      "dependencies": {
-        "ms": "2.1.2"
-      },
-      "engines": {
-        "node": ">=6.0"
-      }
-    },
-    "node_modules/delayed-stream": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz",
-      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
-      "engines": {
-        "node": ">=0.4.0"
-      }
-    },
-    "node_modules/depd": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz",
-      "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/diff": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npm.taobao.org/diff/download/diff-4.0.2.tgz",
-      "integrity": "sha1-YPOuy4nV+uUgwRqhnvwruYKq3n0=",
-      "engines": {
-        "node": ">=0.3.1"
-      }
-    },
-    "node_modules/ecc-jsbn": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz",
-      "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
-      "dependencies": {
-        "jsbn": "~0.1.0",
-        "safer-buffer": "^2.1.0"
-      }
-    },
-    "node_modules/ecdsa-sig-formatter": {
-      "version": "1.0.11",
-      "resolved": "https://registry.npm.taobao.org/ecdsa-sig-formatter/download/ecdsa-sig-formatter-1.0.11.tgz",
-      "integrity": "sha1-rg8PothQRe8UqBfao86azQSJ5b8=",
-      "dependencies": {
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "node_modules/extend": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz",
-      "integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo="
-    },
-    "node_modules/extsprintf": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz",
-      "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
-      "engines": [
-        "node >=0.6.0"
-      ]
-    },
-    "node_modules/fast-deep-equal": {
-      "version": "3.1.3",
-      "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz",
-      "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU="
-    },
-    "node_modules/fast-json-stable-stringify": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz",
-      "integrity": "sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM="
-    },
-    "node_modules/forever-agent": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz",
-      "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/form-data": {
-      "version": "2.3.3",
-      "resolved": "https://registry.npm.taobao.org/form-data/download/form-data-2.3.3.tgz?cache=0&sync_timestamp=1613411617006&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fform-data%2Fdownload%2Fform-data-2.3.3.tgz",
-      "integrity": "sha1-3M5SwF9kTymManq5Nr1yTO/786Y=",
-      "dependencies": {
-        "asynckit": "^0.4.0",
-        "combined-stream": "^1.0.6",
-        "mime-types": "^2.1.12"
-      },
-      "engines": {
-        "node": ">= 0.12"
-      }
-    },
-    "node_modules/function-bind": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz",
-      "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0="
-    },
-    "node_modules/get-intrinsic": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npm.taobao.org/get-intrinsic/download/get-intrinsic-1.1.1.tgz",
-      "integrity": "sha1-FfWfN2+FXERpY5SPDSTNNje0q8Y=",
-      "dependencies": {
-        "function-bind": "^1.1.1",
-        "has": "^1.0.3",
-        "has-symbols": "^1.0.1"
-      }
-    },
-    "node_modules/getpass": {
-      "version": "0.1.7",
-      "resolved": "https://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz",
-      "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
-      "dependencies": {
-        "assert-plus": "^1.0.0"
-      }
-    },
-    "node_modules/har-schema": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz",
-      "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/har-validator": {
-      "version": "5.1.5",
-      "resolved": "https://registry.npm.taobao.org/har-validator/download/har-validator-5.1.5.tgz",
-      "integrity": "sha1-HwgDufjLIMD6E4It8ezds2veHv0=",
-      "deprecated": "this library is no longer supported",
-      "dependencies": {
-        "ajv": "^6.12.3",
-        "har-schema": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/has": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz",
-      "integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=",
-      "dependencies": {
-        "function-bind": "^1.1.1"
-      },
-      "engines": {
-        "node": ">= 0.4.0"
-      }
-    },
-    "node_modules/has-symbols": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.2.tgz?cache=0&sync_timestamp=1614443617831&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhas-symbols%2Fdownload%2Fhas-symbols-1.0.2.tgz",
-      "integrity": "sha1-Fl0wcMADCXUqEjakeTMeOsVvFCM=",
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/http-signature": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npm.taobao.org/http-signature/download/http-signature-1.2.0.tgz",
-      "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
-      "dependencies": {
-        "assert-plus": "^1.0.0",
-        "jsprim": "^1.2.2",
-        "sshpk": "^1.7.0"
-      },
-      "engines": {
-        "node": ">=0.8",
-        "npm": ">=1.3.7"
-      }
-    },
-    "node_modules/humanize-ms": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npm.taobao.org/humanize-ms/download/humanize-ms-1.2.1.tgz",
-      "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=",
-      "dependencies": {
-        "ms": "^2.0.0"
-      }
-    },
-    "node_modules/ieee754": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npm.taobao.org/ieee754/download/ieee754-1.2.1.tgz?cache=0&sync_timestamp=1603838235461&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fieee754%2Fdownload%2Fieee754-1.2.1.tgz",
-      "integrity": "sha1-jrehCmP/8l0VpXsAFYbRd9Gw01I="
-    },
-    "node_modules/is-regex": {
-      "version": "1.1.3",
-      "resolved": "https://registry.nlark.com/is-regex/download/is-regex-1.1.3.tgz?cache=0&sync_timestamp=1620452229354&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-regex%2Fdownload%2Fis-regex-1.1.3.tgz",
-      "integrity": "sha1-0Cn5r/ZEi5Prvj8z2scVEf3L758=",
-      "dependencies": {
-        "call-bind": "^1.0.2",
-        "has-symbols": "^1.0.2"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/is-stream": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npm.taobao.org/is-stream/download/is-stream-2.0.0.tgz",
-      "integrity": "sha1-venDJoDW+uBBKdasnZIc54FfeOM=",
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/is-typedarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz",
-      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
-    },
-    "node_modules/isstream": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz",
-      "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
-    },
-    "node_modules/jsbn": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz",
-      "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
-    },
-    "node_modules/json-schema": {
-      "version": "0.2.3",
-      "resolved": "https://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz?cache=0&sync_timestamp=1609553758550&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema%2Fdownload%2Fjson-schema-0.2.3.tgz",
-      "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
-    },
-    "node_modules/json-schema-traverse": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz?cache=0&sync_timestamp=1607998042332&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-0.4.1.tgz",
-      "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA="
-    },
-    "node_modules/json-stringify-safe": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz",
-      "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
-    },
-    "node_modules/jsonwebtoken": {
-      "version": "8.5.1",
-      "resolved": "https://registry.npm.taobao.org/jsonwebtoken/download/jsonwebtoken-8.5.1.tgz?cache=0&sync_timestamp=1586264928256&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsonwebtoken%2Fdownload%2Fjsonwebtoken-8.5.1.tgz",
-      "integrity": "sha1-AOceC431TCEhofJhN98igGc7zA0=",
-      "dependencies": {
-        "jws": "^3.2.2",
-        "lodash.includes": "^4.3.0",
-        "lodash.isboolean": "^3.0.3",
-        "lodash.isinteger": "^4.0.4",
-        "lodash.isnumber": "^3.0.3",
-        "lodash.isplainobject": "^4.0.6",
-        "lodash.isstring": "^4.0.1",
-        "lodash.once": "^4.0.0",
-        "ms": "^2.1.1",
-        "semver": "^5.6.0"
-      },
-      "engines": {
-        "node": ">=4",
-        "npm": ">=1.4.28"
-      }
-    },
-    "node_modules/jsprim": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz",
-      "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
-      "engines": [
-        "node >=0.6.0"
-      ],
-      "dependencies": {
-        "assert-plus": "1.0.0",
-        "extsprintf": "1.3.0",
-        "json-schema": "0.2.3",
-        "verror": "1.10.0"
-      }
-    },
-    "node_modules/jwa": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npm.taobao.org/jwa/download/jwa-1.4.1.tgz",
-      "integrity": "sha1-dDwymFy56YZVUw1TZBtmyGRbA5o=",
-      "dependencies": {
-        "buffer-equal-constant-time": "1.0.1",
-        "ecdsa-sig-formatter": "1.0.11",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "node_modules/jws": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npm.taobao.org/jws/download/jws-3.2.2.tgz",
-      "integrity": "sha1-ABCZ82OUaMlBQADpmZX6UvtHgwQ=",
-      "dependencies": {
-        "jwa": "^1.4.1",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "node_modules/lodash": {
-      "version": "4.17.21",
-      "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.21.tgz",
-      "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw="
-    },
-    "node_modules/lodash.clonedeep": {
-      "version": "4.5.0",
-      "resolved": "https://registry.npm.taobao.org/lodash.clonedeep/download/lodash.clonedeep-4.5.0.tgz",
-      "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8="
-    },
-    "node_modules/lodash.includes": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npm.taobao.org/lodash.includes/download/lodash.includes-4.3.0.tgz",
-      "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8="
-    },
-    "node_modules/lodash.isboolean": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npm.taobao.org/lodash.isboolean/download/lodash.isboolean-3.0.3.tgz",
-      "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY="
-    },
-    "node_modules/lodash.isinteger": {
-      "version": "4.0.4",
-      "resolved": "https://registry.npm.taobao.org/lodash.isinteger/download/lodash.isinteger-4.0.4.tgz",
-      "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M="
-    },
-    "node_modules/lodash.isnumber": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npm.taobao.org/lodash.isnumber/download/lodash.isnumber-3.0.3.tgz",
-      "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w="
-    },
-    "node_modules/lodash.isplainobject": {
-      "version": "4.0.6",
-      "resolved": "https://registry.npm.taobao.org/lodash.isplainobject/download/lodash.isplainobject-4.0.6.tgz",
-      "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs="
-    },
-    "node_modules/lodash.isstring": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npm.taobao.org/lodash.isstring/download/lodash.isstring-4.0.1.tgz",
-      "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE="
-    },
-    "node_modules/lodash.merge": {
-      "version": "4.6.2",
-      "resolved": "https://registry.npm.taobao.org/lodash.merge/download/lodash.merge-4.6.2.tgz",
-      "integrity": "sha1-VYqlO0O2YeGSWgr9+japoQhf5Xo="
-    },
-    "node_modules/lodash.once": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npm.taobao.org/lodash.once/download/lodash.once-4.1.1.tgz",
-      "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w="
-    },
-    "node_modules/lodash.set": {
-      "version": "4.3.2",
-      "resolved": "https://registry.npm.taobao.org/lodash.set/download/lodash.set-4.3.2.tgz",
-      "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM="
-    },
-    "node_modules/lodash.unset": {
-      "version": "4.5.2",
-      "resolved": "https://registry.npm.taobao.org/lodash.unset/download/lodash.unset-4.5.2.tgz",
-      "integrity": "sha1-Nw0dPoW3Kn4bDN8tJyEhMG8j5O0="
-    },
-    "node_modules/long": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npm.taobao.org/long/download/long-4.0.0.tgz",
-      "integrity": "sha1-mntxz7fTYaGU6lVSQckvdGjVvyg="
-    },
-    "node_modules/make-error": {
-      "version": "1.3.6",
-      "resolved": "https://registry.npm.taobao.org/make-error/download/make-error-1.3.6.tgz",
-      "integrity": "sha1-LrLjfqm2fEiR9oShOUeZr0hM96I="
-    },
-    "node_modules/mime-db": {
-      "version": "1.48.0",
-      "resolved": "https://registry.nlark.com/mime-db/download/mime-db-1.48.0.tgz?cache=0&sync_timestamp=1622433567590&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmime-db%2Fdownload%2Fmime-db-1.48.0.tgz",
-      "integrity": "sha1-41sxBF3X6to6qtU37YijOvvvLR0=",
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/mime-types": {
-      "version": "2.1.31",
-      "resolved": "https://registry.nlark.com/mime-types/download/mime-types-2.1.31.tgz?cache=0&sync_timestamp=1622569304088&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmime-types%2Fdownload%2Fmime-types-2.1.31.tgz",
-      "integrity": "sha1-oA12t0MXxh+cLbIhi46fjpxcnms=",
-      "dependencies": {
-        "mime-db": "1.48.0"
-      },
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/ms": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433912031&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
-      "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk="
-    },
-    "node_modules/oauth-sign": {
-      "version": "0.9.0",
-      "resolved": "https://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.9.0.tgz",
-      "integrity": "sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU=",
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/performance-now": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz",
-      "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
-    },
-    "node_modules/protobufjs": {
-      "version": "6.8.8",
-      "resolved": "https://registry.nlark.com/protobufjs/download/protobufjs-6.8.8.tgz",
-      "integrity": "sha1-yLTxKC/XqQ5vWxCe0RyEr4KQjnw=",
-      "dependencies": {
-        "@protobufjs/aspromise": "^1.1.2",
-        "@protobufjs/base64": "^1.1.2",
-        "@protobufjs/codegen": "^2.0.4",
-        "@protobufjs/eventemitter": "^1.1.0",
-        "@protobufjs/fetch": "^1.1.0",
-        "@protobufjs/float": "^1.0.2",
-        "@protobufjs/inquire": "^1.1.0",
-        "@protobufjs/path": "^1.1.2",
-        "@protobufjs/pool": "^1.1.0",
-        "@protobufjs/utf8": "^1.1.0",
-        "@types/long": "^4.0.0",
-        "@types/node": "^10.1.0",
-        "long": "^4.0.0"
-      },
-      "bin": {
-        "pbjs": "bin/pbjs",
-        "pbts": "bin/pbts"
-      }
-    },
-    "node_modules/psl": {
-      "version": "1.8.0",
-      "resolved": "https://registry.npm.taobao.org/psl/download/psl-1.8.0.tgz",
-      "integrity": "sha1-kyb4vPsBOtzABf3/BWrM4CDlHCQ="
-    },
-    "node_modules/punycode": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz",
-      "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=",
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/qs": {
-      "version": "6.5.2",
-      "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz",
-      "integrity": "sha1-yzroBuh0BERYTvFUzo7pjUA/PjY=",
-      "engines": {
-        "node": ">=0.6"
-      }
-    },
-    "node_modules/querystring": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npm.taobao.org/querystring/download/querystring-0.2.0.tgz",
-      "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
-      "engines": {
-        "node": ">=0.4.x"
-      }
-    },
-    "node_modules/request": {
-      "version": "2.88.2",
-      "resolved": "https://registry.npm.taobao.org/request/download/request-2.88.2.tgz",
-      "integrity": "sha1-1zyRhzHLWofaBH4gcjQUb2ZNErM=",
-      "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142",
-      "dependencies": {
-        "aws-sign2": "~0.7.0",
-        "aws4": "^1.8.0",
-        "caseless": "~0.12.0",
-        "combined-stream": "~1.0.6",
-        "extend": "~3.0.2",
-        "forever-agent": "~0.6.1",
-        "form-data": "~2.3.2",
-        "har-validator": "~5.1.3",
-        "http-signature": "~1.2.0",
-        "is-typedarray": "~1.0.0",
-        "isstream": "~0.1.2",
-        "json-stringify-safe": "~5.0.1",
-        "mime-types": "~2.1.19",
-        "oauth-sign": "~0.9.0",
-        "performance-now": "^2.1.0",
-        "qs": "~6.5.2",
-        "safe-buffer": "^5.1.2",
-        "tough-cookie": "~2.5.0",
-        "tunnel-agent": "^0.6.0",
-        "uuid": "^3.3.2"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/request-promise": {
-      "version": "4.2.6",
-      "resolved": "https://registry.npm.taobao.org/request-promise/download/request-promise-4.2.6.tgz",
-      "integrity": "sha1-fn5blXhjDm9ZjjgTwPjrNCon8KI=",
-      "dependencies": {
-        "bluebird": "^3.5.0",
-        "request-promise-core": "1.1.4",
-        "stealthy-require": "^1.1.1",
-        "tough-cookie": "^2.3.3"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      },
-      "peerDependencies": {
-        "request": "^2.34"
-      }
-    },
-    "node_modules/request-promise-core": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npm.taobao.org/request-promise-core/download/request-promise-core-1.1.4.tgz",
-      "integrity": "sha1-Pu3UIjII1BmGe3jOgVFn0QWToi8=",
-      "dependencies": {
-        "lodash": "^4.17.19"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      },
-      "peerDependencies": {
-        "request": "^2.34"
-      }
-    },
-    "node_modules/retry": {
-      "version": "0.12.0",
-      "resolved": "https://registry.npm.taobao.org/retry/download/retry-0.12.0.tgz",
-      "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=",
-      "engines": {
-        "node": ">= 4"
-      }
-    },
-    "node_modules/safe-buffer": {
-      "version": "5.2.1",
-      "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.1.tgz",
-      "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY="
-    },
-    "node_modules/safer-buffer": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz",
-      "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo="
-    },
-    "node_modules/sax": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz",
-      "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk="
-    },
-    "node_modules/semver": {
-      "version": "5.7.1",
-      "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1616463550093&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz",
-      "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=",
-      "bin": {
-        "semver": "bin/semver"
-      }
-    },
-    "node_modules/source-map": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz",
-      "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/source-map-support": {
-      "version": "0.5.19",
-      "resolved": "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.19.tgz",
-      "integrity": "sha1-qYti+G3K9PZzmWSMCFKRq56P7WE=",
-      "dependencies": {
-        "buffer-from": "^1.0.0",
-        "source-map": "^0.6.0"
-      }
-    },
-    "node_modules/sshpk": {
-      "version": "1.16.1",
-      "resolved": "https://registry.npm.taobao.org/sshpk/download/sshpk-1.16.1.tgz",
-      "integrity": "sha1-+2YcC+8ps520B2nuOfpwCT1vaHc=",
-      "dependencies": {
-        "asn1": "~0.2.3",
-        "assert-plus": "^1.0.0",
-        "bcrypt-pbkdf": "^1.0.0",
-        "dashdash": "^1.12.0",
-        "ecc-jsbn": "~0.1.1",
-        "getpass": "^0.1.1",
-        "jsbn": "~0.1.0",
-        "safer-buffer": "^2.0.2",
-        "tweetnacl": "~0.14.0"
-      },
-      "bin": {
-        "sshpk-conv": "bin/sshpk-conv",
-        "sshpk-sign": "bin/sshpk-sign",
-        "sshpk-verify": "bin/sshpk-verify"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/stealthy-require": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npm.taobao.org/stealthy-require/download/stealthy-require-1.1.1.tgz",
-      "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=",
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/tcb-admin-node": {
-      "version": "1.23.0",
-      "resolved": "https://registry.npm.taobao.org/tcb-admin-node/download/tcb-admin-node-1.23.0.tgz",
-      "integrity": "sha1-WISpMd6Ybbex4YwdhzjvZKRZN1g=",
-      "dependencies": {
-        "@cloudbase/database": "0.9.15",
-        "@cloudbase/signature-nodejs": "^1.0.0-beta.0",
-        "is-regex": "^1.0.4",
-        "jsonwebtoken": "^8.5.1",
-        "lodash.merge": "^4.6.1",
-        "request": "^2.87.0",
-        "xml2js": "^0.4.19"
-      },
-      "engines": {
-        "node": ">=8.6.0"
-      }
-    },
-    "node_modules/tcb-admin-node/node_modules/@cloudbase/database": {
-      "version": "0.9.15",
-      "resolved": "https://registry.npm.taobao.org/@cloudbase/database/download/@cloudbase/database-0.9.15.tgz",
-      "integrity": "sha1-Jo6bMSC+bJkpTmZFvBhx24unDTE=",
-      "dependencies": {
-        "bson": "^4.0.2",
-        "lodash.clonedeep": "4.5.0",
-        "lodash.set": "4.3.2",
-        "lodash.unset": "4.5.2"
-      }
-    },
-    "node_modules/tough-cookie": {
-      "version": "2.5.0",
-      "resolved": "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.5.0.tgz",
-      "integrity": "sha1-zZ+yoKodWhK0c72fuW+j3P9lreI=",
-      "dependencies": {
-        "psl": "^1.1.28",
-        "punycode": "^2.1.1"
-      },
-      "engines": {
-        "node": ">=0.8"
-      }
-    },
-    "node_modules/ts-node": {
-      "version": "8.10.2",
-      "resolved": "https://registry.nlark.com/ts-node/download/ts-node-8.10.2.tgz",
-      "integrity": "sha1-7uA3ZGM7EjTd03+NuewQt17H+40=",
-      "dependencies": {
-        "arg": "^4.1.0",
-        "diff": "^4.0.1",
-        "make-error": "^1.1.1",
-        "source-map-support": "^0.5.17",
-        "yn": "3.1.1"
-      },
-      "bin": {
-        "ts-node": "dist/bin.js",
-        "ts-node-script": "dist/bin-script.js",
-        "ts-node-transpile-only": "dist/bin-transpile.js",
-        "ts-script": "dist/bin-script-deprecated.js"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      },
-      "peerDependencies": {
-        "typescript": ">=2.7"
-      }
-    },
-    "node_modules/tslib": {
-      "version": "1.14.1",
-      "resolved": "https://registry.nlark.com/tslib/download/tslib-1.14.1.tgz?cache=0&sync_timestamp=1618846758811&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-1.14.1.tgz",
-      "integrity": "sha1-zy04vcNKE0vK8QkcQfZhni9nLQA="
-    },
-    "node_modules/tunnel-agent": {
-      "version": "0.6.0",
-      "resolved": "https://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz",
-      "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
-      "dependencies": {
-        "safe-buffer": "^5.0.1"
-      },
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/tweetnacl": {
-      "version": "0.14.5",
-      "resolved": "https://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz",
-      "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
-    },
-    "node_modules/typescript": {
-      "version": "4.3.2",
-      "resolved": "https://registry.nlark.com/typescript/download/typescript-4.3.2.tgz",
-      "integrity": "sha1-OZqxiqxFgC1vJJjeUFT8u+cWqAU=",
-      "peer": true,
-      "bin": {
-        "tsc": "bin/tsc",
-        "tsserver": "bin/tsserver"
-      },
-      "engines": {
-        "node": ">=4.2.0"
-      }
-    },
-    "node_modules/uri-js": {
-      "version": "4.4.1",
-      "resolved": "https://registry.npm.taobao.org/uri-js/download/uri-js-4.4.1.tgz?cache=0&sync_timestamp=1610237756396&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Furi-js%2Fdownload%2Furi-js-4.4.1.tgz",
-      "integrity": "sha1-mxpSWVIlhZ5V9mnZKPiMbFfyp34=",
-      "dependencies": {
-        "punycode": "^2.1.0"
-      }
-    },
-    "node_modules/url": {
-      "version": "0.11.0",
-      "resolved": "https://registry.npm.taobao.org/url/download/url-0.11.0.tgz",
-      "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
-      "dependencies": {
-        "punycode": "1.3.2",
-        "querystring": "0.2.0"
-      }
-    },
-    "node_modules/url/node_modules/punycode": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.3.2.tgz",
-      "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0="
-    },
-    "node_modules/uuid": {
-      "version": "3.4.0",
-      "resolved": "https://registry.nlark.com/uuid/download/uuid-3.4.0.tgz?cache=0&sync_timestamp=1622213086354&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fuuid%2Fdownload%2Fuuid-3.4.0.tgz",
-      "integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=",
-      "bin": {
-        "uuid": "bin/uuid"
-      }
-    },
-    "node_modules/verror": {
-      "version": "1.10.0",
-      "resolved": "https://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz",
-      "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
-      "engines": [
-        "node >=0.6.0"
-      ],
-      "dependencies": {
-        "assert-plus": "^1.0.0",
-        "core-util-is": "1.0.2",
-        "extsprintf": "^1.2.0"
-      }
-    },
-    "node_modules/wx-server-sdk": {
-      "version": "2.4.0",
-      "resolved": "https://registry.nlark.com/wx-server-sdk/download/wx-server-sdk-2.4.0.tgz",
-      "integrity": "sha1-XhRDK6DvHJVIXPcsk1lEbqs5K94=",
-      "dependencies": {
-        "@cloudbase/node-sdk": "2.4.7",
-        "protobufjs": "6.8.8",
-        "tcb-admin-node": "latest",
-        "tslib": "^1.9.3"
-      }
-    },
-    "node_modules/xml2js": {
-      "version": "0.4.23",
-      "resolved": "https://registry.npm.taobao.org/xml2js/download/xml2js-0.4.23.tgz",
-      "integrity": "sha1-oMaVFnUkIesqx1juTUzPWIQ+rGY=",
-      "dependencies": {
-        "sax": ">=0.6.0",
-        "xmlbuilder": "~11.0.0"
-      },
-      "engines": {
-        "node": ">=4.0.0"
-      }
-    },
-    "node_modules/xmlbuilder": {
-      "version": "11.0.1",
-      "resolved": "https://registry.npm.taobao.org/xmlbuilder/download/xmlbuilder-11.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fxmlbuilder%2Fdownload%2Fxmlbuilder-11.0.1.tgz",
-      "integrity": "sha1-vpuuHIoEbnazESdyY0fQrXACvrM=",
-      "engines": {
-        "node": ">=4.0"
-      }
-    },
-    "node_modules/yn": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npm.taobao.org/yn/download/yn-3.1.1.tgz",
-      "integrity": "sha1-HodAGgnXZ8HV6rJqbkwYUYLS61A=",
-      "engines": {
-        "node": ">=6"
-      }
-    }
-  },
-  "dependencies": {
-    "@cloudbase/database": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npm.taobao.org/@cloudbase/database/download/@cloudbase/database-1.2.2.tgz",
-      "integrity": "sha1-JMyTEJZ8J7wbuPokU19JAonIRAo=",
-      "requires": {
-        "bson": "^4.0.3",
-        "lodash.clonedeep": "4.5.0",
-        "lodash.set": "4.3.2",
-        "lodash.unset": "4.5.2"
-      }
-    },
-    "@cloudbase/node-sdk": {
-      "version": "2.4.7",
-      "resolved": "https://registry.nlark.com/@cloudbase/node-sdk/download/@cloudbase/node-sdk-2.4.7.tgz?cache=0&sync_timestamp=1622552558340&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40cloudbase%2Fnode-sdk%2Fdownload%2F%40cloudbase%2Fnode-sdk-2.4.7.tgz",
-      "integrity": "sha1-IGpM5swxN89GqTkso3IRe4JD1rM=",
-      "requires": {
-        "@cloudbase/database": "1.2.2",
-        "@cloudbase/signature-nodejs": "1.0.0-beta.0",
-        "@types/retry": "^0.12.0",
-        "agentkeepalive": "^4.1.3",
-        "is-regex": "^1.0.4",
-        "jsonwebtoken": "^8.5.1",
-        "lodash.merge": "^4.6.1",
-        "request": "^2.87.0",
-        "request-promise": "^4.2.5",
-        "retry": "^0.12.0",
-        "ts-node": "^8.10.2",
-        "xml2js": "^0.4.19"
-      }
-    },
-    "@cloudbase/signature-nodejs": {
-      "version": "1.0.0-beta.0",
-      "resolved": "https://registry.npm.taobao.org/@cloudbase/signature-nodejs/download/@cloudbase/signature-nodejs-1.0.0-beta.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40cloudbase%2Fsignature-nodejs%2Fdownload%2F%40cloudbase%2Fsignature-nodejs-1.0.0-beta.0.tgz",
-      "integrity": "sha1-Ix0F+ZytAbxGT2gjlVfGpbmn56M=",
-      "requires": {
-        "@types/clone": "^0.1.30",
-        "clone": "^2.1.2",
-        "is-stream": "^2.0.0",
-        "url": "^0.11.0"
-      }
-    },
-    "@protobufjs/aspromise": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npm.taobao.org/@protobufjs/aspromise/download/@protobufjs/aspromise-1.1.2.tgz",
-      "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78="
-    },
-    "@protobufjs/base64": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npm.taobao.org/@protobufjs/base64/download/@protobufjs/base64-1.1.2.tgz",
-      "integrity": "sha1-TIVzDlm5ofHzSQR9vyQpYDS7JzU="
-    },
-    "@protobufjs/codegen": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npm.taobao.org/@protobufjs/codegen/download/@protobufjs/codegen-2.0.4.tgz",
-      "integrity": "sha1-fvN/DQEPsCitGtWXIuUG2SYoFcs="
-    },
-    "@protobufjs/eventemitter": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npm.taobao.org/@protobufjs/eventemitter/download/@protobufjs/eventemitter-1.1.0.tgz",
-      "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A="
-    },
-    "@protobufjs/fetch": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npm.taobao.org/@protobufjs/fetch/download/@protobufjs/fetch-1.1.0.tgz",
-      "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=",
-      "requires": {
-        "@protobufjs/aspromise": "^1.1.1",
-        "@protobufjs/inquire": "^1.1.0"
-      }
-    },
-    "@protobufjs/float": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npm.taobao.org/@protobufjs/float/download/@protobufjs/float-1.0.2.tgz",
-      "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E="
-    },
-    "@protobufjs/inquire": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npm.taobao.org/@protobufjs/inquire/download/@protobufjs/inquire-1.1.0.tgz",
-      "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik="
-    },
-    "@protobufjs/path": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npm.taobao.org/@protobufjs/path/download/@protobufjs/path-1.1.2.tgz",
-      "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0="
-    },
-    "@protobufjs/pool": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npm.taobao.org/@protobufjs/pool/download/@protobufjs/pool-1.1.0.tgz",
-      "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q="
-    },
-    "@protobufjs/utf8": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npm.taobao.org/@protobufjs/utf8/download/@protobufjs/utf8-1.1.0.tgz",
-      "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA="
-    },
-    "@types/clone": {
-      "version": "0.1.30",
-      "resolved": "https://registry.nlark.com/@types/clone/download/@types/clone-0.1.30.tgz",
-      "integrity": "sha1-5zZWSMG0ITalnH1QQGN7O1yDthQ="
-    },
-    "@types/long": {
-      "version": "4.0.1",
-      "resolved": "https://registry.nlark.com/@types/long/download/@types/long-4.0.1.tgz",
-      "integrity": "sha1-RZxl+hhn2v5qjzIsTFFpVmPMVek="
-    },
-    "@types/node": {
-      "version": "10.17.60",
-      "resolved": "https://registry.nlark.com/@types/node/download/@types/node-10.17.60.tgz?cache=0&sync_timestamp=1622824508013&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-10.17.60.tgz",
-      "integrity": "sha1-NfPWIT2u2V2n8Pc+dbzGmA6QWXs="
-    },
-    "@types/retry": {
-      "version": "0.12.0",
-      "resolved": "https://registry.nlark.com/@types/retry/download/@types/retry-0.12.0.tgz?cache=0&sync_timestamp=1621242656518&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fretry%2Fdownload%2F%40types%2Fretry-0.12.0.tgz",
-      "integrity": "sha1-KzXsz87n04zXKtmSMvvVi/+zyE0="
-    },
-    "agentkeepalive": {
-      "version": "4.1.4",
-      "resolved": "https://registry.npm.taobao.org/agentkeepalive/download/agentkeepalive-4.1.4.tgz",
-      "integrity": "sha1-2SgCikhiyxFxjlUieHLoQqRMlFs=",
-      "requires": {
-        "debug": "^4.1.0",
-        "depd": "^1.1.2",
-        "humanize-ms": "^1.2.1"
-      }
-    },
-    "ajv": {
-      "version": "6.12.6",
-      "resolved": "https://registry.nlark.com/ajv/download/ajv-6.12.6.tgz",
-      "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=",
-      "requires": {
-        "fast-deep-equal": "^3.1.1",
-        "fast-json-stable-stringify": "^2.0.0",
-        "json-schema-traverse": "^0.4.1",
-        "uri-js": "^4.2.2"
-      }
-    },
-    "arg": {
-      "version": "4.1.3",
-      "resolved": "https://registry.npm.taobao.org/arg/download/arg-4.1.3.tgz",
-      "integrity": "sha1-Jp/HrVuOQstjyJbVZmAXJhwUQIk="
-    },
-    "asn1": {
-      "version": "0.2.4",
-      "resolved": "https://registry.npm.taobao.org/asn1/download/asn1-0.2.4.tgz",
-      "integrity": "sha1-jSR136tVO7M+d7VOWeiAu4ziMTY=",
-      "requires": {
-        "safer-buffer": "~2.1.0"
-      }
-    },
-    "assert-plus": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz",
-      "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
-    },
-    "asynckit": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz",
-      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
-    },
-    "aws-sign2": {
-      "version": "0.7.0",
-      "resolved": "https://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.7.0.tgz",
-      "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
-    },
-    "aws4": {
-      "version": "1.11.0",
-      "resolved": "https://registry.npm.taobao.org/aws4/download/aws4-1.11.0.tgz",
-      "integrity": "sha1-1h9G2DslGSUOJ4Ta9bCUeai0HFk="
-    },
-    "base64-js": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npm.taobao.org/base64-js/download/base64-js-1.5.1.tgz",
-      "integrity": "sha1-GxtEAWClv3rUC2UPCVljSBkDkwo="
-    },
-    "bcrypt-pbkdf": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz",
-      "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
-      "requires": {
-        "tweetnacl": "^0.14.3"
-      }
-    },
-    "bluebird": {
-      "version": "3.7.2",
-      "resolved": "https://registry.npm.taobao.org/bluebird/download/bluebird-3.7.2.tgz",
-      "integrity": "sha1-nyKcFb4nJFT/qXOs4NvueaGww28="
-    },
-    "bson": {
-      "version": "4.4.0",
-      "resolved": "https://registry.nlark.com/bson/download/bson-4.4.0.tgz",
-      "integrity": "sha1-akysfejFzCSpvMBZzUKphS4rrUo=",
-      "requires": {
-        "buffer": "^5.6.0"
-      }
-    },
-    "buffer": {
-      "version": "5.7.1",
-      "resolved": "https://registry.npm.taobao.org/buffer/download/buffer-5.7.1.tgz?cache=0&sync_timestamp=1606098078312&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbuffer%2Fdownload%2Fbuffer-5.7.1.tgz",
-      "integrity": "sha1-umLnwTEzBTWCGXFghRqPZI6Z7tA=",
-      "requires": {
-        "base64-js": "^1.3.1",
-        "ieee754": "^1.1.13"
-      }
-    },
-    "buffer-equal-constant-time": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npm.taobao.org/buffer-equal-constant-time/download/buffer-equal-constant-time-1.0.1.tgz",
-      "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk="
-    },
-    "buffer-from": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz",
-      "integrity": "sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8="
-    },
-    "call-bind": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npm.taobao.org/call-bind/download/call-bind-1.0.2.tgz?cache=0&sync_timestamp=1610402811207&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcall-bind%2Fdownload%2Fcall-bind-1.0.2.tgz",
-      "integrity": "sha1-sdTonmiBGcPJqQOtMKuy9qkZvjw=",
-      "requires": {
-        "function-bind": "^1.1.1",
-        "get-intrinsic": "^1.0.2"
-      }
-    },
-    "caseless": {
-      "version": "0.12.0",
-      "resolved": "https://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz",
-      "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
-    },
-    "clone": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npm.taobao.org/clone/download/clone-2.1.2.tgz",
-      "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18="
-    },
-    "combined-stream": {
-      "version": "1.0.8",
-      "resolved": "https://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.8.tgz",
-      "integrity": "sha1-w9RaizT9cwYxoRCoolIGgrMdWn8=",
-      "requires": {
-        "delayed-stream": "~1.0.0"
-      }
-    },
-    "core-util-is": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz",
-      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
-    },
-    "dashdash": {
-      "version": "1.14.1",
-      "resolved": "https://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz?cache=0&sync_timestamp=1601073714105&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdashdash%2Fdownload%2Fdashdash-1.14.1.tgz",
-      "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
-      "requires": {
-        "assert-plus": "^1.0.0"
-      }
-    },
-    "debug": {
-      "version": "4.3.1",
-      "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.3.1.tgz?cache=0&sync_timestamp=1607566548985&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.3.1.tgz",
-      "integrity": "sha1-8NIpxQXgxtjEmsVT0bE9wYP2su4=",
-      "requires": {
-        "ms": "2.1.2"
-      }
-    },
-    "delayed-stream": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz",
-      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
-    },
-    "depd": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz",
-      "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
-    },
-    "diff": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npm.taobao.org/diff/download/diff-4.0.2.tgz",
-      "integrity": "sha1-YPOuy4nV+uUgwRqhnvwruYKq3n0="
-    },
-    "ecc-jsbn": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz",
-      "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
-      "requires": {
-        "jsbn": "~0.1.0",
-        "safer-buffer": "^2.1.0"
-      }
-    },
-    "ecdsa-sig-formatter": {
-      "version": "1.0.11",
-      "resolved": "https://registry.npm.taobao.org/ecdsa-sig-formatter/download/ecdsa-sig-formatter-1.0.11.tgz",
-      "integrity": "sha1-rg8PothQRe8UqBfao86azQSJ5b8=",
-      "requires": {
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "extend": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz",
-      "integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo="
-    },
-    "extsprintf": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz",
-      "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
-    },
-    "fast-deep-equal": {
-      "version": "3.1.3",
-      "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz",
-      "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU="
-    },
-    "fast-json-stable-stringify": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz",
-      "integrity": "sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM="
-    },
-    "forever-agent": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz",
-      "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
-    },
-    "form-data": {
-      "version": "2.3.3",
-      "resolved": "https://registry.npm.taobao.org/form-data/download/form-data-2.3.3.tgz?cache=0&sync_timestamp=1613411617006&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fform-data%2Fdownload%2Fform-data-2.3.3.tgz",
-      "integrity": "sha1-3M5SwF9kTymManq5Nr1yTO/786Y=",
-      "requires": {
-        "asynckit": "^0.4.0",
-        "combined-stream": "^1.0.6",
-        "mime-types": "^2.1.12"
-      }
-    },
-    "function-bind": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz",
-      "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0="
-    },
-    "get-intrinsic": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npm.taobao.org/get-intrinsic/download/get-intrinsic-1.1.1.tgz",
-      "integrity": "sha1-FfWfN2+FXERpY5SPDSTNNje0q8Y=",
-      "requires": {
-        "function-bind": "^1.1.1",
-        "has": "^1.0.3",
-        "has-symbols": "^1.0.1"
-      }
-    },
-    "getpass": {
-      "version": "0.1.7",
-      "resolved": "https://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz",
-      "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
-      "requires": {
-        "assert-plus": "^1.0.0"
-      }
-    },
-    "har-schema": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz",
-      "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
-    },
-    "har-validator": {
-      "version": "5.1.5",
-      "resolved": "https://registry.npm.taobao.org/har-validator/download/har-validator-5.1.5.tgz",
-      "integrity": "sha1-HwgDufjLIMD6E4It8ezds2veHv0=",
-      "requires": {
-        "ajv": "^6.12.3",
-        "har-schema": "^2.0.0"
-      }
-    },
-    "has": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz",
-      "integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=",
-      "requires": {
-        "function-bind": "^1.1.1"
-      }
-    },
-    "has-symbols": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.2.tgz?cache=0&sync_timestamp=1614443617831&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhas-symbols%2Fdownload%2Fhas-symbols-1.0.2.tgz",
-      "integrity": "sha1-Fl0wcMADCXUqEjakeTMeOsVvFCM="
-    },
-    "http-signature": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npm.taobao.org/http-signature/download/http-signature-1.2.0.tgz",
-      "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
-      "requires": {
-        "assert-plus": "^1.0.0",
-        "jsprim": "^1.2.2",
-        "sshpk": "^1.7.0"
-      }
-    },
-    "humanize-ms": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npm.taobao.org/humanize-ms/download/humanize-ms-1.2.1.tgz",
-      "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=",
-      "requires": {
-        "ms": "^2.0.0"
-      }
-    },
-    "ieee754": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npm.taobao.org/ieee754/download/ieee754-1.2.1.tgz?cache=0&sync_timestamp=1603838235461&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fieee754%2Fdownload%2Fieee754-1.2.1.tgz",
-      "integrity": "sha1-jrehCmP/8l0VpXsAFYbRd9Gw01I="
-    },
-    "is-regex": {
-      "version": "1.1.3",
-      "resolved": "https://registry.nlark.com/is-regex/download/is-regex-1.1.3.tgz?cache=0&sync_timestamp=1620452229354&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-regex%2Fdownload%2Fis-regex-1.1.3.tgz",
-      "integrity": "sha1-0Cn5r/ZEi5Prvj8z2scVEf3L758=",
-      "requires": {
-        "call-bind": "^1.0.2",
-        "has-symbols": "^1.0.2"
-      }
-    },
-    "is-stream": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npm.taobao.org/is-stream/download/is-stream-2.0.0.tgz",
-      "integrity": "sha1-venDJoDW+uBBKdasnZIc54FfeOM="
-    },
-    "is-typedarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz",
-      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
-    },
-    "isstream": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz",
-      "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
-    },
-    "jsbn": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz",
-      "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
-    },
-    "json-schema": {
-      "version": "0.2.3",
-      "resolved": "https://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz?cache=0&sync_timestamp=1609553758550&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema%2Fdownload%2Fjson-schema-0.2.3.tgz",
-      "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
-    },
-    "json-schema-traverse": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz?cache=0&sync_timestamp=1607998042332&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-0.4.1.tgz",
-      "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA="
-    },
-    "json-stringify-safe": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz",
-      "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
-    },
-    "jsonwebtoken": {
-      "version": "8.5.1",
-      "resolved": "https://registry.npm.taobao.org/jsonwebtoken/download/jsonwebtoken-8.5.1.tgz?cache=0&sync_timestamp=1586264928256&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsonwebtoken%2Fdownload%2Fjsonwebtoken-8.5.1.tgz",
-      "integrity": "sha1-AOceC431TCEhofJhN98igGc7zA0=",
-      "requires": {
-        "jws": "^3.2.2",
-        "lodash.includes": "^4.3.0",
-        "lodash.isboolean": "^3.0.3",
-        "lodash.isinteger": "^4.0.4",
-        "lodash.isnumber": "^3.0.3",
-        "lodash.isplainobject": "^4.0.6",
-        "lodash.isstring": "^4.0.1",
-        "lodash.once": "^4.0.0",
-        "ms": "^2.1.1",
-        "semver": "^5.6.0"
-      }
-    },
-    "jsprim": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz",
-      "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
-      "requires": {
-        "assert-plus": "1.0.0",
-        "extsprintf": "1.3.0",
-        "json-schema": "0.2.3",
-        "verror": "1.10.0"
-      }
-    },
-    "jwa": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npm.taobao.org/jwa/download/jwa-1.4.1.tgz",
-      "integrity": "sha1-dDwymFy56YZVUw1TZBtmyGRbA5o=",
-      "requires": {
-        "buffer-equal-constant-time": "1.0.1",
-        "ecdsa-sig-formatter": "1.0.11",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "jws": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npm.taobao.org/jws/download/jws-3.2.2.tgz",
-      "integrity": "sha1-ABCZ82OUaMlBQADpmZX6UvtHgwQ=",
-      "requires": {
-        "jwa": "^1.4.1",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "lodash": {
-      "version": "4.17.21",
-      "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.21.tgz",
-      "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw="
-    },
-    "lodash.clonedeep": {
-      "version": "4.5.0",
-      "resolved": "https://registry.npm.taobao.org/lodash.clonedeep/download/lodash.clonedeep-4.5.0.tgz",
-      "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8="
-    },
-    "lodash.includes": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npm.taobao.org/lodash.includes/download/lodash.includes-4.3.0.tgz",
-      "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8="
-    },
-    "lodash.isboolean": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npm.taobao.org/lodash.isboolean/download/lodash.isboolean-3.0.3.tgz",
-      "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY="
-    },
-    "lodash.isinteger": {
-      "version": "4.0.4",
-      "resolved": "https://registry.npm.taobao.org/lodash.isinteger/download/lodash.isinteger-4.0.4.tgz",
-      "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M="
-    },
-    "lodash.isnumber": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npm.taobao.org/lodash.isnumber/download/lodash.isnumber-3.0.3.tgz",
-      "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w="
-    },
-    "lodash.isplainobject": {
-      "version": "4.0.6",
-      "resolved": "https://registry.npm.taobao.org/lodash.isplainobject/download/lodash.isplainobject-4.0.6.tgz",
-      "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs="
-    },
-    "lodash.isstring": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npm.taobao.org/lodash.isstring/download/lodash.isstring-4.0.1.tgz",
-      "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE="
-    },
-    "lodash.merge": {
-      "version": "4.6.2",
-      "resolved": "https://registry.npm.taobao.org/lodash.merge/download/lodash.merge-4.6.2.tgz",
-      "integrity": "sha1-VYqlO0O2YeGSWgr9+japoQhf5Xo="
-    },
-    "lodash.once": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npm.taobao.org/lodash.once/download/lodash.once-4.1.1.tgz",
-      "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w="
-    },
-    "lodash.set": {
-      "version": "4.3.2",
-      "resolved": "https://registry.npm.taobao.org/lodash.set/download/lodash.set-4.3.2.tgz",
-      "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM="
-    },
-    "lodash.unset": {
-      "version": "4.5.2",
-      "resolved": "https://registry.npm.taobao.org/lodash.unset/download/lodash.unset-4.5.2.tgz",
-      "integrity": "sha1-Nw0dPoW3Kn4bDN8tJyEhMG8j5O0="
-    },
-    "long": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npm.taobao.org/long/download/long-4.0.0.tgz",
-      "integrity": "sha1-mntxz7fTYaGU6lVSQckvdGjVvyg="
-    },
-    "make-error": {
-      "version": "1.3.6",
-      "resolved": "https://registry.npm.taobao.org/make-error/download/make-error-1.3.6.tgz",
-      "integrity": "sha1-LrLjfqm2fEiR9oShOUeZr0hM96I="
-    },
-    "mime-db": {
-      "version": "1.48.0",
-      "resolved": "https://registry.nlark.com/mime-db/download/mime-db-1.48.0.tgz?cache=0&sync_timestamp=1622433567590&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmime-db%2Fdownload%2Fmime-db-1.48.0.tgz",
-      "integrity": "sha1-41sxBF3X6to6qtU37YijOvvvLR0="
-    },
-    "mime-types": {
-      "version": "2.1.31",
-      "resolved": "https://registry.nlark.com/mime-types/download/mime-types-2.1.31.tgz?cache=0&sync_timestamp=1622569304088&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmime-types%2Fdownload%2Fmime-types-2.1.31.tgz",
-      "integrity": "sha1-oA12t0MXxh+cLbIhi46fjpxcnms=",
-      "requires": {
-        "mime-db": "1.48.0"
-      }
-    },
-    "ms": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433912031&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
-      "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk="
-    },
-    "oauth-sign": {
-      "version": "0.9.0",
-      "resolved": "https://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.9.0.tgz",
-      "integrity": "sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU="
-    },
-    "performance-now": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz",
-      "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
-    },
-    "protobufjs": {
-      "version": "6.8.8",
-      "resolved": "https://registry.nlark.com/protobufjs/download/protobufjs-6.8.8.tgz",
-      "integrity": "sha1-yLTxKC/XqQ5vWxCe0RyEr4KQjnw=",
-      "requires": {
-        "@protobufjs/aspromise": "^1.1.2",
-        "@protobufjs/base64": "^1.1.2",
-        "@protobufjs/codegen": "^2.0.4",
-        "@protobufjs/eventemitter": "^1.1.0",
-        "@protobufjs/fetch": "^1.1.0",
-        "@protobufjs/float": "^1.0.2",
-        "@protobufjs/inquire": "^1.1.0",
-        "@protobufjs/path": "^1.1.2",
-        "@protobufjs/pool": "^1.1.0",
-        "@protobufjs/utf8": "^1.1.0",
-        "@types/long": "^4.0.0",
-        "@types/node": "^10.1.0",
-        "long": "^4.0.0"
-      }
-    },
-    "psl": {
-      "version": "1.8.0",
-      "resolved": "https://registry.npm.taobao.org/psl/download/psl-1.8.0.tgz",
-      "integrity": "sha1-kyb4vPsBOtzABf3/BWrM4CDlHCQ="
-    },
-    "punycode": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz",
-      "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew="
-    },
-    "qs": {
-      "version": "6.5.2",
-      "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz",
-      "integrity": "sha1-yzroBuh0BERYTvFUzo7pjUA/PjY="
-    },
-    "querystring": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npm.taobao.org/querystring/download/querystring-0.2.0.tgz",
-      "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA="
-    },
-    "request": {
-      "version": "2.88.2",
-      "resolved": "https://registry.npm.taobao.org/request/download/request-2.88.2.tgz",
-      "integrity": "sha1-1zyRhzHLWofaBH4gcjQUb2ZNErM=",
-      "requires": {
-        "aws-sign2": "~0.7.0",
-        "aws4": "^1.8.0",
-        "caseless": "~0.12.0",
-        "combined-stream": "~1.0.6",
-        "extend": "~3.0.2",
-        "forever-agent": "~0.6.1",
-        "form-data": "~2.3.2",
-        "har-validator": "~5.1.3",
-        "http-signature": "~1.2.0",
-        "is-typedarray": "~1.0.0",
-        "isstream": "~0.1.2",
-        "json-stringify-safe": "~5.0.1",
-        "mime-types": "~2.1.19",
-        "oauth-sign": "~0.9.0",
-        "performance-now": "^2.1.0",
-        "qs": "~6.5.2",
-        "safe-buffer": "^5.1.2",
-        "tough-cookie": "~2.5.0",
-        "tunnel-agent": "^0.6.0",
-        "uuid": "^3.3.2"
-      }
-    },
-    "request-promise": {
-      "version": "4.2.6",
-      "resolved": "https://registry.npm.taobao.org/request-promise/download/request-promise-4.2.6.tgz",
-      "integrity": "sha1-fn5blXhjDm9ZjjgTwPjrNCon8KI=",
-      "requires": {
-        "bluebird": "^3.5.0",
-        "request-promise-core": "1.1.4",
-        "stealthy-require": "^1.1.1",
-        "tough-cookie": "^2.3.3"
-      }
-    },
-    "request-promise-core": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npm.taobao.org/request-promise-core/download/request-promise-core-1.1.4.tgz",
-      "integrity": "sha1-Pu3UIjII1BmGe3jOgVFn0QWToi8=",
-      "requires": {
-        "lodash": "^4.17.19"
-      }
-    },
-    "retry": {
-      "version": "0.12.0",
-      "resolved": "https://registry.npm.taobao.org/retry/download/retry-0.12.0.tgz",
-      "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs="
-    },
-    "safe-buffer": {
-      "version": "5.2.1",
-      "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.1.tgz",
-      "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY="
-    },
-    "safer-buffer": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz",
-      "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo="
-    },
-    "sax": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz",
-      "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk="
-    },
-    "semver": {
-      "version": "5.7.1",
-      "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1616463550093&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz",
-      "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc="
-    },
-    "source-map": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz",
-      "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM="
-    },
-    "source-map-support": {
-      "version": "0.5.19",
-      "resolved": "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.19.tgz",
-      "integrity": "sha1-qYti+G3K9PZzmWSMCFKRq56P7WE=",
-      "requires": {
-        "buffer-from": "^1.0.0",
-        "source-map": "^0.6.0"
-      }
-    },
-    "sshpk": {
-      "version": "1.16.1",
-      "resolved": "https://registry.npm.taobao.org/sshpk/download/sshpk-1.16.1.tgz",
-      "integrity": "sha1-+2YcC+8ps520B2nuOfpwCT1vaHc=",
-      "requires": {
-        "asn1": "~0.2.3",
-        "assert-plus": "^1.0.0",
-        "bcrypt-pbkdf": "^1.0.0",
-        "dashdash": "^1.12.0",
-        "ecc-jsbn": "~0.1.1",
-        "getpass": "^0.1.1",
-        "jsbn": "~0.1.0",
-        "safer-buffer": "^2.0.2",
-        "tweetnacl": "~0.14.0"
-      }
-    },
-    "stealthy-require": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npm.taobao.org/stealthy-require/download/stealthy-require-1.1.1.tgz",
-      "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks="
-    },
-    "tcb-admin-node": {
-      "version": "1.23.0",
-      "resolved": "https://registry.npm.taobao.org/tcb-admin-node/download/tcb-admin-node-1.23.0.tgz",
-      "integrity": "sha1-WISpMd6Ybbex4YwdhzjvZKRZN1g=",
-      "requires": {
-        "@cloudbase/database": "0.9.15",
-        "@cloudbase/signature-nodejs": "^1.0.0-beta.0",
-        "is-regex": "^1.0.4",
-        "jsonwebtoken": "^8.5.1",
-        "lodash.merge": "^4.6.1",
-        "request": "^2.87.0",
-        "xml2js": "^0.4.19"
-      },
-      "dependencies": {
-        "@cloudbase/database": {
-          "version": "0.9.15",
-          "resolved": "https://registry.npm.taobao.org/@cloudbase/database/download/@cloudbase/database-0.9.15.tgz",
-          "integrity": "sha1-Jo6bMSC+bJkpTmZFvBhx24unDTE=",
-          "requires": {
-            "bson": "^4.0.2",
-            "lodash.clonedeep": "4.5.0",
-            "lodash.set": "4.3.2",
-            "lodash.unset": "4.5.2"
-          }
-        }
-      }
-    },
-    "tough-cookie": {
-      "version": "2.5.0",
-      "resolved": "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.5.0.tgz",
-      "integrity": "sha1-zZ+yoKodWhK0c72fuW+j3P9lreI=",
-      "requires": {
-        "psl": "^1.1.28",
-        "punycode": "^2.1.1"
-      }
-    },
-    "ts-node": {
-      "version": "8.10.2",
-      "resolved": "https://registry.nlark.com/ts-node/download/ts-node-8.10.2.tgz",
-      "integrity": "sha1-7uA3ZGM7EjTd03+NuewQt17H+40=",
-      "requires": {
-        "arg": "^4.1.0",
-        "diff": "^4.0.1",
-        "make-error": "^1.1.1",
-        "source-map-support": "^0.5.17",
-        "yn": "3.1.1"
-      }
-    },
-    "tslib": {
-      "version": "1.14.1",
-      "resolved": "https://registry.nlark.com/tslib/download/tslib-1.14.1.tgz?cache=0&sync_timestamp=1618846758811&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-1.14.1.tgz",
-      "integrity": "sha1-zy04vcNKE0vK8QkcQfZhni9nLQA="
-    },
-    "tunnel-agent": {
-      "version": "0.6.0",
-      "resolved": "https://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz",
-      "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
-      "requires": {
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "tweetnacl": {
-      "version": "0.14.5",
-      "resolved": "https://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz",
-      "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
-    },
-    "typescript": {
-      "version": "4.3.2",
-      "resolved": "https://registry.nlark.com/typescript/download/typescript-4.3.2.tgz",
-      "integrity": "sha1-OZqxiqxFgC1vJJjeUFT8u+cWqAU=",
-      "peer": true
-    },
-    "uri-js": {
-      "version": "4.4.1",
-      "resolved": "https://registry.npm.taobao.org/uri-js/download/uri-js-4.4.1.tgz?cache=0&sync_timestamp=1610237756396&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Furi-js%2Fdownload%2Furi-js-4.4.1.tgz",
-      "integrity": "sha1-mxpSWVIlhZ5V9mnZKPiMbFfyp34=",
-      "requires": {
-        "punycode": "^2.1.0"
-      }
-    },
-    "url": {
-      "version": "0.11.0",
-      "resolved": "https://registry.npm.taobao.org/url/download/url-0.11.0.tgz",
-      "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
-      "requires": {
-        "punycode": "1.3.2",
-        "querystring": "0.2.0"
-      },
-      "dependencies": {
-        "punycode": {
-          "version": "1.3.2",
-          "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.3.2.tgz",
-          "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0="
-        }
-      }
-    },
-    "uuid": {
-      "version": "3.4.0",
-      "resolved": "https://registry.nlark.com/uuid/download/uuid-3.4.0.tgz?cache=0&sync_timestamp=1622213086354&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fuuid%2Fdownload%2Fuuid-3.4.0.tgz",
-      "integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4="
-    },
-    "verror": {
-      "version": "1.10.0",
-      "resolved": "https://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz",
-      "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
-      "requires": {
-        "assert-plus": "^1.0.0",
-        "core-util-is": "1.0.2",
-        "extsprintf": "^1.2.0"
-      }
-    },
-    "wx-server-sdk": {
-      "version": "2.4.0",
-      "resolved": "https://registry.nlark.com/wx-server-sdk/download/wx-server-sdk-2.4.0.tgz",
-      "integrity": "sha1-XhRDK6DvHJVIXPcsk1lEbqs5K94=",
-      "requires": {
-        "@cloudbase/node-sdk": "2.4.7",
-        "protobufjs": "6.8.8",
-        "tcb-admin-node": "latest",
-        "tslib": "^1.9.3"
-      }
-    },
-    "xml2js": {
-      "version": "0.4.23",
-      "resolved": "https://registry.npm.taobao.org/xml2js/download/xml2js-0.4.23.tgz",
-      "integrity": "sha1-oMaVFnUkIesqx1juTUzPWIQ+rGY=",
-      "requires": {
-        "sax": ">=0.6.0",
-        "xmlbuilder": "~11.0.0"
-      }
-    },
-    "xmlbuilder": {
-      "version": "11.0.1",
-      "resolved": "https://registry.npm.taobao.org/xmlbuilder/download/xmlbuilder-11.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fxmlbuilder%2Fdownload%2Fxmlbuilder-11.0.1.tgz",
-      "integrity": "sha1-vpuuHIoEbnazESdyY0fQrXACvrM="
-    },
-    "yn": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npm.taobao.org/yn/download/yn-3.1.1.tgz",
-      "integrity": "sha1-HodAGgnXZ8HV6rJqbkwYUYLS61A="
-    }
-  }
-}

+ 0 - 14
cloudfunctions/server/package.json

@@ -1,14 +0,0 @@
-{
-  "name": "server",
-  "version": "1.0.0",
-  "description": "",
-  "main": "index.js",
-  "scripts": {
-    "test": "echo \"Error: no test specified\" && exit 1"
-  },
-  "author": "",
-  "license": "ISC",
-  "dependencies": {
-    "wx-server-sdk": "~2.4.0"
-  }
-}

+ 98 - 0
index.html

@@ -0,0 +1,98 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="UTF-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+    <title>小程序管理</title>
+    <link
+      rel="stylesheet"
+      type="text/css"
+      href="https://cloud1-6gbxfp9x33ff3b7c-1306051304.tcloudbaseapp.com/cloudbase-cms/apps/assetManage/layui/css/layui.css"
+    />
+    <script src="https://cloud1-6gbxfp9x33ff3b7c-1306051304.tcloudbaseapp.com/cloudbase-cms/apps/assetManage/layui/layui.js"></script>
+    <style>
+      html,body{
+        width: 100%;
+        height: 100%;
+      }
+      body{
+        padding: 1em;
+      }
+      .m {
+        display: none;
+        background-color: rgba(0, 0, 0, 0.5);
+        position: absolute;
+        width: 100%;
+        height: 80vh;
+        top: 0;
+        left: 0;
+        bottom: 0;
+        right: 0;
+      }
+      .m .detail {
+        position: absolute;
+        transition: all 1s;
+        width: 50%;
+        height: 100%;
+        right: 0;
+        background-color: #fff;
+        padding: 3em 1em 1em 1em;
+      }
+      .m .close {
+        cursor: pointer;
+        position: absolute;
+        top: 1em;
+        right: 1em;
+      }
+      .m .upImg {
+        padding: 1em 0;
+      }
+      .m .upImg img {
+        margin: 3px 0 0 3px;
+        width: 80px;
+      }
+      .m .upImg video {
+        margin: 3px 0 0 3px;
+        width: 80px;
+      }
+    </style>
+  </head>
+  <body >
+    <button type="button" class="layui-btn addE">新增</button>
+    <table class="layui-table" id="Administration" lay-filter="Administration">
+      <colgroup>
+        <col width="80">
+        <col>
+        <col>
+      </colgroup>
+      <thead>
+        <tr>
+          <th>类型</th>
+          <th>加入时间</th>
+          <th>操作</th>
+        </tr> 
+      </thead>
+      <tbody class="tb"></tbody>
+    </table>
+    <div id="page"></div>
+    <!-- 新闻内容编辑  -->
+    <div class="m">
+      <div class="detail">
+        <i class="close layui-icon">&#x1006;</i>
+        <div class="layui-btn-group">
+          <button type="button" class="layui-btn">
+            <label for="up">
+              <i class="layui-icon">&#xe67c;</i>选择音视频
+            </label>
+          </button>
+          <button type="button" class="layui-btn upfile">上传</button>
+        </div>
+        <input id="up" multiple style="display: none" type="file" />
+        <div class="upImg"></div>
+      </div>
+    </div>    
+  </body>
+  
+  <script src="./js/entry.js" entry></script>
+</html>

+ 200 - 0
js/entry.js

@@ -0,0 +1,200 @@
+const render = global => {
+  async function getCloudBaseApp() {
+    const app = cloudbase.init({
+      env: "cloud1-6gbxfp9x33ff3b7c",
+    });
+
+    // 登录
+    const auth = app.auth({ persistence: "local" });
+    const loginState = await auth.getLoginState();
+
+    // 匿名登录
+    if (!loginState) {
+      await auth.anonymousAuthProvider().signIn();
+    }
+
+    return app;
+  }
+  global.layui.use(["jquery", "laypage"], async function () {
+    var laypage = layui.laypage;
+    var $ = layui.jquery;
+
+    var selectFiles = [];
+    var data = {
+      Administration: [],
+      page: 1,
+      pageSize: 20,
+    };
+    // 配置环境
+    const app = await getCloudBaseApp();
+    const db = app.database();
+    const _ = db.command;
+    let database = db.collection("data_asset");
+    let ori = await database.get();
+    data.Administration = ori.data || [];
+    //执行渲染.
+    laypage.render({
+      elem: "page",
+      limit: data.pageSize,
+      count: data.Administration.length, //数据总数,从服务端得到
+      jump: function (obj, first) {
+        //obj包含了当前分页的所有参数,比如:
+        console.log(obj.curr); //得到当前页,以便向服务端请求对应页的数据。
+        console.log(obj.limit); //得到每页显示的条数
+        data.page = obj.curr;
+        render_table();
+      },
+    });
+    // 渲染table
+    function render_table() {
+      let tb = $(".tb");
+      tb.html("");
+      let act = (data.page - 1) * data.pageSize;
+      let end = data.page * data.pageSize;
+      if (end > data.Administration.length) end = data.Administration.length;
+      for (let i = act; i < end; i++) {
+        const v = data.Administration[i];
+        let type = "";
+        if (v.type == "video") type = "视频";
+        else type = "图片";
+        let tr = $("<tr></tr>");
+        let tdType = $("<td>" + type + "</td>");
+        let tdUrl = $("<td>" + v.url + "</td>");
+        let tdTool = $(
+          '<td><a class="layui-btn layui-btn-danger layui-btn-xs delete" data-index="' +
+            i +
+            '">删除</a></td>'
+        );
+        tr.append(tdType);
+        tr.append(tdUrl);
+        tr.append(tdTool);
+        tb.append(tr);
+      }
+    }
+
+    $(".delete").click(function () {
+      let obj = data.Administration[$(this).attr("data-index")];
+      let remove = $(this).parent().parent();
+      //删除
+      layer.confirm("确定要删除该文件么", async function (index) {
+        layer.close(index);
+        //向服务端发送删除指令
+        try {
+          //   数据库删除
+          await database
+            .where({
+              _id: _.eq(obj._id),
+            })
+            .remove();
+          //   云存储删除
+          await app.deleteFile({
+            fileList: [obj.url],
+          });
+          remove.remove();
+          layer.msg("删除成功");
+        } catch (err) {
+          layer.msg("删除失败");
+        }
+      });
+    });
+
+    $("#up").change(function () {
+      let filesList = document.getElementById("up").files || [];
+      let pathlist = document.getElementById("up").value.split("\\");
+      pathlist.pop();
+      data.filePath = pathlist.join("\\") + "\\";
+      selectFiles = [];
+      let err = "";
+
+      for (let i = 0; i < filesList.length; i++) {
+        const f = filesList[i];
+        let file = {
+          name: f.name,
+          type: /image\/\w+/.test(f.type)
+            ? "img"
+            : /^video/.test(f.type)
+            ? "video"
+            : "orther",
+          file: f,
+        };
+        if (file.type == "orther") {
+          err = "已过滤非音视频文件";
+          continue;
+        }
+        if (file.type != "img") {
+          var url = null;
+          if (window.createObjectURL != undefined) {
+            // basic
+            url = window.createObjectURL(f);
+          } else if (window.URL != undefined) {
+            // mozilla(firefox)
+            url = window.URL.createObjectURL(f);
+          } else if (window.webkitURL != undefined) {
+            // webkit or chrome
+            url = window.webkitURL.createObjectURL(f);
+          }
+          $(".upImg").append($("<video src='" + url + "' />"));
+          selectFiles.push(file);
+          continue;
+        }
+        let reader = new FileReader();
+        reader.readAsDataURL(f);
+        reader.onload = function () {
+          // 当 FileReader 读取文件时候,读取的结果会放在 FileReader.result 属性中
+          // document.querySelector("#img").src = this.result;
+          file.base64 = this.result;
+          selectFiles.push(file);
+          $(".upImg").append($("<img src='" + this.result + "' />"));
+        };
+        // 设置以什么方式读取文件,这里以base64方式
+      }
+      err && layer.msg(err);
+    });
+    $(".addE").click(function () {
+      $(".m").show();
+    });
+    $(".upfile").click(async function () {
+      if (!selectFiles.length) return layer.msg("未选择文件");
+      for (let i = 0; i < selectFiles.length; i++) {
+        const v = selectFiles[i];
+        console.log('---------->',v)
+        let f = await app.uploadFile({
+          cloudPath: v.name,
+          filePath: v.file,
+        });
+        let d = {
+          // 新增数据
+          create_time: new Date().getTime(),
+          type: v.type,
+          url: f.fileID,
+        };
+        await database.add(d);
+      }
+      $(".close").click();
+      let list = await database.get();
+      data.Administration = list.data || [];
+      render_table()
+    });
+    $(".close").click(function () {
+      $(".m").hide();
+      $(".upImg").html("");
+      document.getElementById("up").value = "";
+    });
+  });
+
+  return Promise.resolve();
+};
+
+(global => {
+  global["purehtml"] = {
+    bootstrap: () => {
+      return Promise.resolve();
+    },
+    mount: () => {
+      return render(global);
+    },
+    unmount: () => {
+      return Promise.resolve();
+    },
+  };
+})(window);

+ 0 - 0
js/index.js


File diff suppressed because it is too large
+ 0 - 0
layui/css/layui.css


+ 1 - 0
layui/css/modules/code.css

@@ -0,0 +1 @@
+html #layuicss-skincodecss{display:none;position:absolute;width:1989px}.layui-code-h3,.layui-code-view{position:relative;font-size:12px}.layui-code-view{display:block;margin:10px 0;padding:0;border:1px solid #eee;border-left-width:6px;background-color:#FAFAFA;color:#333;font-family:Courier New}.layui-code-h3{padding:0 10px;height:40px;line-height:40px;border-bottom:1px solid #eee}.layui-code-h3 a{position:absolute;right:10px;top:0;color:#999}.layui-code-view .layui-code-ol{position:relative;overflow:auto}.layui-code-view .layui-code-ol li{position:relative;margin-left:45px;line-height:20px;padding:0 10px;border-left:1px solid #e2e2e2;list-style-type:decimal-leading-zero;*list-style-type:decimal;background-color:#fff}.layui-code-view .layui-code-ol li:first-child{padding-top:10px}.layui-code-view .layui-code-ol li:last-child{padding-bottom:10px}.layui-code-view pre{margin:0}.layui-code-notepad{border:1px solid #0C0C0C;border-left-color:#3F3F3F;background-color:#0C0C0C;color:#C2BE9E}.layui-code-notepad .layui-code-h3{border-bottom:none}.layui-code-notepad .layui-code-ol li{background-color:#3F3F3F;border-left:none}.layui-code-demo .layui-code{visibility:visible!important;margin:-15px;border-top:none;border-right:none;border-bottom:none}.layui-code-demo .layui-tab-content{padding:15px;border-top:none}

File diff suppressed because it is too large
+ 0 - 0
layui/css/modules/laydate/default/laydate.css


BIN
layui/css/modules/layer/default/icon-ext.png


BIN
layui/css/modules/layer/default/icon.png


File diff suppressed because it is too large
+ 0 - 0
layui/css/modules/layer/default/layer.css


BIN
layui/css/modules/layer/default/loading-0.gif


BIN
layui/css/modules/layer/default/loading-1.gif


BIN
layui/css/modules/layer/default/loading-2.gif


BIN
layui/font/iconfont.eot


File diff suppressed because it is too large
+ 25 - 0
layui/font/iconfont.svg


BIN
layui/font/iconfont.ttf


BIN
layui/font/iconfont.woff


BIN
layui/font/iconfont.woff2


File diff suppressed because it is too large
+ 0 - 0
layui/layui.js


+ 0 - 19
miniprogram/app.js

@@ -1,19 +0,0 @@
-//app.js
-App({
-  onLaunch: function () {
-    if (!wx.cloud) {
-      console.error('请使用 2.2.3 或以上的基础库以使用云能力')
-    } else {
-      wx.cloud.init({
-        // env 参数说明:
-        //   env 参数决定接下来小程序发起的云开发调用(wx.cloud.xxx)会默认请求到哪个云环境的资源
-        //   此处请填入环境 ID, 环境 ID 可打开云控制台查看
-        //   如不填则使用默认环境(第一个创建的环境)
-        // env: 'my-env-id',
-        traceUser: true,
-      })
-    }
-
-    this.globalData = {}
-  }
-})

+ 0 - 22
miniprogram/app.json

@@ -1,22 +0,0 @@
-{
-  "pages": [
-    "pages/home/index",
-    "pages/index/index",
-    "pages/interList/interList",
-    "pages/detail/detail",
-    "pages/marvellous/index"
-  ],
-  "window": {
-    "backgroundColor": "#F6F6F6",
-    "backgroundTextStyle": "light",
-    "navigationBarBackgroundColor": "#F6F6F6",
-    "navigationBarTitleText": "追寻红色记忆",
-    "navigationBarTextStyle": "black"
-  },
-  "requiredBackgroundModes":["audio"],
-  "sitemapLocation": "sitemap.json",
-  "style": "v2",
-  "useExtendedLib": {
-    "weui": true
-  }
-}

+ 0 - 166
miniprogram/app.wxss

@@ -1,166 +0,0 @@
-/**app.wxss**/
-.container {
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-  box-sizing: border-box;
-} 
-
-button {
-  background: initial;
-}
-
-button:focus{
-  outline: 0;
-}
-
-button::after{
-  border: none;
-}
-
-
-page {
-  background: #f6f6f6;
-  display: flex;
-  flex-direction: column;
-  justify-content: flex-start;
-  font-weight: 400;
-  width: 750rpx;
-  height: 100vh;
-  font-family: -apple-system,BlinkMacSystemFont,Helvetica Neue,Helvetica,Segoe UI,Arial,Roboto,PingFang SC,miui,Hiragino Sans GB,Microsoft Yahei,sans-serif;
-}
-
-.userinfo, .uploader, .tunnel {
-  margin-top: 40rpx;
-  height: 140rpx;
-  width: 100%;
-  background: #fff;
-  border: 1px solid rgba(0, 0, 0, 0.1);
-  border-left: none;
-  border-right: none;
-  display: flex;
-  flex-direction: row;
-  align-items: center;
-  transition: all 300ms ease;
-}
-
-.userinfo-avatar {
-  width: 100rpx;
-  height: 100rpx;
-  margin: 20rpx;
-  border-radius: 50%;
-  background-size: cover;
-  background-color: white;
-}
-
-.userinfo-avatar:after {
-  border: none;
-}
-
-.userinfo-nickname {
-  font-size: 32rpx;
-  color: #007aff;
-  background-color: white;
-  background-size: cover;
-}
-
-.userinfo-nickname::after {
-  border: none;
-}
-
-.uploader, .tunnel {
-  height: auto;
-  padding: 0 0 0 40rpx;
-  flex-direction: column;
-  align-items: flex-start;
-  box-sizing: border-box;
-}
-
-.uploader-text, .tunnel-text {
-  width: 100%;
-  line-height: 52px;
-  font-size: 34rpx;
-  color: #007aff;
-}
-
-.uploader-container {
-  width: 100%;
-  height: 400rpx;
-  padding: 20rpx 20rpx 20rpx 0;
-  display: flex;
-  align-content: center;
-  justify-content: center;
-  box-sizing: border-box;
-  border-top: 1px solid rgba(0, 0, 0, 0.1);
-}
-
-.uploader-image {
-  width: 100%;
-  height: 360rpx;
-}
-
-.tunnel {
-  padding: 0 0 0 40rpx;
-}
-
-.tunnel-text {
-  position: relative;
-  color: #222;
-  display: flex;
-  flex-direction: row;
-  align-content: center;
-  justify-content: space-between;
-  box-sizing: border-box;
-  border-top: 1px solid rgba(0, 0, 0, 0.1);
-}
-
-.tunnel-text:first-child {
-  border-top: none;
-}
-
-.tunnel-switch {
-  position: absolute;
-  right: 20rpx;
-  top: -2rpx;
-}
-
-.disable {
-  color: #888;
-}
-
-.service {
-  position: fixed;
-  right: 40rpx;
-  bottom: 40rpx;
-  width: 140rpx;
-  height: 140rpx;
-  border-radius: 50%;
-  background: linear-gradient(#007aff, #0063ce);
-  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3);
-  display: flex;
-  align-content: center;
-  justify-content: center;
-  transition: all 300ms ease;
-}
-
-.service-button {
-  position: absolute;
-  top: 40rpx;
-}
-
-.service:active {
-  box-shadow: none;
-}
-
-.request-text {
-  padding: 20rpx 0;
-  font-size: 24rpx;
-  line-height: 36rpx;
-  word-break: break-all;
-}
-
-.headImg {
-  width: 100%;
-  height: 250rpx;
-  border-radius: 22.5rpx;
-}

+ 0 - 337
miniprogram/components/chatroom/chatroom.js

@@ -1,337 +0,0 @@
-const FATAL_REBUILD_TOLERANCE = 10
-const SETDATA_SCROLL_TO_BOTTOM = {
-  scrollTop: 100000,
-  scrollWithAnimation: true,
-}
-
-Component({
-  properties: {
-    envId: String,
-    collection: String,
-    groupId: String,
-    groupName: String,
-    userInfo: Object,
-    onGetUserInfo: {
-      type: Function,
-    },
-    getOpenID: {
-      type: Function,
-    },
-  },
-
-  data: {
-    chats: [],
-    textInputValue: '',
-    openId: '',
-    scrollTop: 0,
-    scrollToMessage: '',
-    hasKeyboard: false,
-  },
-
-  methods: {
-    onGetUserInfo(e) {
-      this.properties.onGetUserInfo(e)
-    },
-
-    getOpenID() { 
-      return this.properties.getOpenID() 
-    },
-
-    mergeCommonCriteria(criteria) {
-      return {
-        groupId: this.data.groupId,
-        ...criteria,
-      }
-    },
-
-    async initRoom() {
-      this.try(async () => {
-        await this.initOpenID()
-
-        const { envId, collection } = this.properties
-        this.db = wx.cloud.database({
-          env: envId,
-        })
-        const db = this.db
-        const _ = db.command
-
-        const { data: initList } = await db.collection(collection).where(this.mergeCommonCriteria()).orderBy('sendTimeTS', 'desc').get()
-
-        console.log('init query chats', initList)
-
-        this.setData({
-          chats: initList.reverse(),
-          scrollTop: 10000,
-        })
-
-        this.initWatch(initList.length ? {
-          sendTimeTS: _.gt(initList[initList.length - 1].sendTimeTS),
-        } : {})
-      }, '初始化失败')
-    },
-
-    async initOpenID() {
-      return this.try(async () => {
-        const openId = await this.getOpenID()
-
-        this.setData({
-          openId,
-        })
-      }, '初始化 openId 失败')
-    },
-
-    async initWatch(criteria) {
-      this.try(() => {
-        const { collection } = this.properties
-        const db = this.db
-        const _ = db.command
-
-        console.warn(`开始监听`, criteria)
-        this.messageListener = db.collection(collection).where(this.mergeCommonCriteria(criteria)).watch({
-          onChange: this.onRealtimeMessageSnapshot.bind(this),
-          onError: e => {
-            if (!this.inited || this.fatalRebuildCount >= FATAL_REBUILD_TOLERANCE) {
-              this.showError(this.inited ? '监听错误,已断开' : '初始化监听失败', e, '重连', () => {
-                this.initWatch(this.data.chats.length ? {
-                  sendTimeTS: _.gt(this.data.chats[this.data.chats.length - 1].sendTimeTS),
-                } : {})
-              })
-            } else {
-              this.initWatch(this.data.chats.length ? {
-                sendTimeTS: _.gt(this.data.chats[this.data.chats.length - 1].sendTimeTS),
-              } : {})
-            }
-          },
-        })
-      }, '初始化监听失败')
-    },
-
-    onRealtimeMessageSnapshot(snapshot) {
-      console.warn(`收到消息`, snapshot)
-
-      if (snapshot.type === 'init') {
-        this.setData({
-          chats: [
-            ...this.data.chats,
-            ...[...snapshot.docs].sort((x, y) => x.sendTimeTS - y.sendTimeTS),
-          ],
-        })
-        this.scrollToBottom()
-        this.inited = true
-      } else {
-        let hasNewMessage = false
-        let hasOthersMessage = false
-        const chats = [...this.data.chats]
-        for (const docChange of snapshot.docChanges) {
-          switch (docChange.queueType) {
-            case 'enqueue': {
-              hasOthersMessage = docChange.doc._openid !== this.data.openId
-              const ind = chats.findIndex(chat => chat._id === docChange.doc._id)
-              if (ind > -1) {
-                if (chats[ind].msgType === 'image' && chats[ind].tempFilePath) {
-                  chats.splice(ind, 1, {
-                    ...docChange.doc,
-                    tempFilePath: chats[ind].tempFilePath,
-                  })
-                } else chats.splice(ind, 1, docChange.doc)
-              } else {
-                hasNewMessage = true
-                chats.push(docChange.doc)
-              }
-              break
-            }
-          }
-        }
-        this.setData({
-          chats: chats.sort((x, y) => x.sendTimeTS - y.sendTimeTS),
-        })
-        if (hasOthersMessage || hasNewMessage) {
-          this.scrollToBottom()
-        }
-      }
-    },
-
-    async onConfirmSendText(e) {
-      this.try(async () => {
-        if (!e.detail.value) {
-          return
-        }
-
-        const { collection } = this.properties
-        const db = this.db
-        const _ = db.command
-
-        const doc = {
-          _id: `${Math.random()}_${Date.now()}`,
-          groupId: this.data.groupId,
-          avatar: this.data.userInfo.avatarUrl,
-          nickName: this.data.userInfo.nickName,
-          msgType: 'text',
-          textContent: e.detail.value,
-          sendTime: new Date(),
-          sendTimeTS: Date.now(), // fallback
-        }
-
-        this.setData({
-          textInputValue: '',
-          chats: [
-            ...this.data.chats,
-            {
-              ...doc,
-              _openid: this.data.openId,
-              writeStatus: 'pending',
-            },
-          ],
-        })
-        this.scrollToBottom(true)
-
-        await db.collection(collection).add({
-          data: doc,
-        })
-
-        this.setData({
-          chats: this.data.chats.map(chat => {
-            if (chat._id === doc._id) {
-              return {
-                ...chat,
-                writeStatus: 'written',
-              }
-            } else return chat
-          }),
-        })
-      }, '发送文字失败')
-    },
-
-    async onChooseImage(e) {
-      wx.chooseImage({
-        count: 1,
-        sourceType: ['album', 'camera'],
-        success: async res => {
-          const { envId, collection } = this.properties
-          const doc = {
-            _id: `${Math.random()}_${Date.now()}`,
-            groupId: this.data.groupId,
-            avatar: this.data.userInfo.avatarUrl,
-            nickName: this.data.userInfo.nickName,
-            msgType: 'image',
-            sendTime: new Date(),
-            sendTimeTS: Date.now(), // fallback
-          }
-
-          this.setData({
-            chats: [
-              ...this.data.chats,
-              {
-                ...doc,
-                _openid: this.data.openId,
-                tempFilePath: res.tempFilePaths[0],
-                writeStatus: 0,
-              },
-            ]
-          })
-          this.scrollToBottom(true)
-
-          const uploadTask = wx.cloud.uploadFile({
-            cloudPath: `${this.data.openId}/${Math.random()}_${Date.now()}.${res.tempFilePaths[0].match(/\.(\w+)$/)[1]}`,
-            filePath: res.tempFilePaths[0],
-            config: {
-              env: envId,
-            },
-            success: res => {
-              this.try(async () => {
-                await this.db.collection(collection).add({
-                  data: {
-                    ...doc,
-                    imgFileID: res.fileID,
-                  },
-                })
-              }, '发送图片失败')
-            },
-            fail: e => {
-              this.showError('发送图片失败', e)
-            },
-          })
-
-          uploadTask.onProgressUpdate(({ progress }) => {
-            this.setData({
-              chats: this.data.chats.map(chat => {
-                if (chat._id === doc._id) {
-                  return {
-                    ...chat,
-                    writeStatus: progress,
-                  }
-                } else return chat
-              })
-            })
-          })
-        },
-      })
-    },
-
-    onMessageImageTap(e) {
-      wx.previewImage({
-        urls: [e.target.dataset.fileid],
-      })
-    },
-
-    scrollToBottom(force) {
-      if (force) {
-        console.log('force scroll to bottom')
-        this.setData(SETDATA_SCROLL_TO_BOTTOM)
-        return
-      }
-
-      this.createSelectorQuery().select('.body').boundingClientRect(bodyRect => {
-        this.createSelectorQuery().select(`.body`).scrollOffset(scroll => {
-          if (scroll.scrollTop + bodyRect.height * 3 > scroll.scrollHeight) {
-            console.log('should scroll to bottom')
-            this.setData(SETDATA_SCROLL_TO_BOTTOM)
-          }
-        }).exec()
-      }).exec()
-    },
-
-    async onScrollToUpper() {
-      if (this.db && this.data.chats.length) {
-        const { collection } = this.properties
-        const _ = this.db.command
-        const { data } = await this.db.collection(collection).where(this.mergeCommonCriteria({
-          sendTimeTS: _.lt(this.data.chats[0].sendTimeTS),
-        })).orderBy('sendTimeTS', 'desc').get()
-        this.data.chats.unshift(...data.reverse())
-        this.setData({
-          chats: this.data.chats,
-          scrollToMessage: `item-${data.length}`,
-          scrollWithAnimation: false,
-        })
-      }
-    },
-
-    async try(fn, title) {
-      try {
-        await fn()
-      } catch (e) {
-        this.showError(title, e)
-      }
-    },
-
-    showError(title, content, confirmText, confirmCallback) {
-      console.error(title, content)
-      wx.showModal({
-        title,
-        content: content.toString(),
-        showCancel: confirmText ? true : false,
-        confirmText,
-        success: res => {
-          res.confirm && confirmCallback()
-        },
-      })
-    },
-  },
-
-  ready() {
-    global.chatroom = this
-    this.initRoom()
-    this.fatalRebuildCount = 0
-  },
-})

+ 0 - 4
miniprogram/components/chatroom/chatroom.json

@@ -1,4 +0,0 @@
-{
-  "component": true,
-  "usingComponents": {}
-}

+ 0 - 85
miniprogram/components/chatroom/chatroom.wxml

@@ -1,85 +0,0 @@
-<view class="chatroom">
-  <view class="header">
-    <!-- display number of people in the room -->
-    <view class="left"></view>
-    <!-- room name -->
-    <view class="middle">{{groupName}}</view>
-    <!-- reserved -->
-    <view class="right"></view>
-  </view>
-
-  <!-- chats -->
-  <scroll-view 
-    class="body" 
-    scroll-y 
-    scroll-with-animation="{{scrollWithAnimation}}"
-    scroll-top="{{scrollTop}}" 
-    scroll-into-view="{{scrollToMessage}}"
-    bindscrolltoupper="onScrollToUpper"
-  >
-    <view 
-      wx:for="{{chats}}"
-      wx:key="{{item._id}}"
-      id="item-{{index}}"
-      class="message {{openId == item._openid ? 'message__self' : ''}}"
-    >
-      <image 
-        class="avatar"
-        src="{{item.avatar}}"
-        mode="scaleToFill"
-      ></image> 
-      <view class="main">
-        <view class="nickname">{{item.nickName}}</view>
-        <block wx:if="{{item.msgType === 'image'}}">
-          <view class="image-wrapper">
-            <view class="loading" wx:if="{{item.writeStatus > -1}}">{{item.writeStatus}}%</view>
-            <image 
-              src="{{item.tempFilePath || item.imgFileID}}" 
-              data-fileid="{{item.tempFilePath || item.imgFileID}}" 
-              class="image-content" 
-              style="{{item.imgStyle}}"
-              mode="scallToFill" 
-              bindtap="onMessageImageTap"></image>
-          </view>
-        </block>
-        <block wx:else>
-          <view class="text-wrapper">
-            <view class="loading" wx:if="{{item.writeStatus === 'pending'}}">···</view>
-            <view class="text-content">{{item.textContent}}</view>
-          </view>
-        </block>
-      </view>
-    </view>
-  </scroll-view>
-
-  <!-- message sender -->
-  <view class="footer">
-    <view class="message-sender" wx:if="{{userInfo}}">
-      <input 
-        class="text-input"
-        type="text"
-        confirm-type="send"
-        bindconfirm="onConfirmSendText"
-        cursor-spacing="20"
-        value="{{textInputValue}}"
-      ></input>
-
-      <image 
-        src="./photo.png" 
-        class="btn-send-image" 
-        mode="scaleToFill"
-        bindtap="onChooseImage"
-      ></image>
-    </view>
-
-    <view class="message-sender" wx:if="{{!userInfo}}">
-      <button 
-        open-type="getUserInfo" 
-        bindgetuserinfo="onGetUserInfo"
-        class="userinfo"
-      >请先登录后参与聊天</button>
-    </view>
-  </view>
-
-</view>
-

+ 0 - 161
miniprogram/components/chatroom/chatroom.wxss

@@ -1,161 +0,0 @@
-.chatroom {
-  width: 100%;
-  height: 100%;
-  display: flex;
-  flex-direction: column;
-}
-
-.chatroom .header {
-  flex-basis: fit-content;
-  display: flex;
-  flex-direction: row;
-  border-bottom: 1px solid #ddd;
-  padding: 20rpx 0 30rpx;
-  font-size: 30rpx;
-  /* background: rgb(34, 187, 47);
-  color: rgba(255, 255, 255, 1) */
-  /* font-family: 'Microsoft YaHei' */
-}
-
-.chatroom .header .left {
-  flex: 1;
-}
-
-.chatroom .header .middle {
-  flex: 2;
-  text-align: center;
-}
-
-.chatroom .header .right {
-  flex: 1;
-}
-
-.chatroom .body {
-  flex: 2;
-  display: flex;
-  flex-direction: column;
-  background: rgb(237,237,237);
-  padding-bottom: 16rpx;
-}
-
-.body .message {
-  display: flex;
-  flex-direction: row;
-  position: relative;
-  margin: 12rpx 0;
-}
-
-.body .message.message__self {
-  flex-direction: row-reverse;
-}
-
-.body .message .avatar {
-  position: relative;
-  top: 5rpx;
-  width: 60rpx;
-  height: 60rpx;
-  border-radius: 5rpx;
-  margin: 15rpx;
-}
-
-.body .message .main {
-  flex: 1;
-  display: flex;
-  flex-direction: column;
-  align-items: flex-start;
-}
-
-.body .message.message__self .main {
-  align-items: flex-end;
-}
-
-.body .message .nickname {
-  font-size: 24rpx;
-  color: #444;
-}
-
-.body .message .text-content {
-  border: 1px solid transparent;
-  border-radius: 3px;
-  background-color: #fff;
-  margin: 2px 0 0 0;
-  padding: 4px 10px;
-  font-size: 30rpx;
-  display: inline-block;
-}
-
-.body .message.message__self .text-content {
-  background-color: paleturquoise;
-}
-
-.body .message .text-wrapper {
-  display: flex;
-  flex-direction: row;
-  align-items: center;
-  max-width: 80%;
-}
-
-.body .message.message__self .text-wrapper .loading{
-  font-size: 16rpx;
-  margin-right: 18rpx;
-}
-
-.body .message .image-wrapper {
-  display: flex;
-  flex-direction: row;
-  align-items: center;
-}
-
-.body .message .image-content {
-  max-width: 240rpx;
-  max-height: 240rpx;
-}
-
-.body .message.message__self .image-wrapper .loading {
-  font-size: 20rpx;
-  margin-right: 18rpx;
-}
-
-.chatroom .footer {
-  flex-basis: fit-content;
-  display: flex;
-  flex-direction: row;
-  border-top: 1px solid #ddd;
-  font-size: 10rpx;
-  padding: 20rpx 30rpx;
-  background: rgb(246,246,246);
-}
-
-.chatroom .footer .message-sender {
-  flex: 1;
-  display: flex;
-  flex-direction: row;
-}
-
-.message-sender .text-input {
-  flex: 1;
-  font-size: 16px;
-  border: 1px solid transparent;
-  border-radius: 5px;
-  padding: 3px 6px;
-  margin: 0 10px 0 5px;
-  background: #fff;
-}
-
-.message-sender .btn-send-image {
-  width: 50rpx;
-  height: 50rpx;
-  align-self: center;
-}
-
-button {
-  font-size: 30rpx;
-}
-
-button.userinfo {
-  background: darkturquoise;
-  color: aliceblue;
-  padding: 0 100rpx;
-  border: 1px solid #ddd;
-  border-radius: 20px;
-}

BIN
miniprogram/images/0.png


BIN
miniprogram/images/1.png


BIN
miniprogram/images/2.png


BIN
miniprogram/images/3.png


BIN
miniprogram/images/4.png


BIN
miniprogram/images/5.png


BIN
miniprogram/images/door_left.jpg


BIN
miniprogram/images/door_right.jpg


BIN
miniprogram/images/tabbar_icon_home_active.png


BIN
miniprogram/images/tabbar_icon_home_default.png


BIN
miniprogram/images/tabbar_icon_setting_active.png


BIN
miniprogram/images/tabbar_icon_setting_default.png


BIN
miniprogram/images/wood.jpg


+ 0 - 101
miniprogram/pages/detail/detail.js

@@ -1,101 +0,0 @@
-// miniprogram/pages/detail/detail.js
-Page({
-
-  /**
-   * 页面的初始数据
-   */
-  data: {
-    detail: {}
-  },
-
-  /**
-   * 生命周期函数--监听页面加载
-   */
-  onLoad: async function (options) {
-    wx.setNavigationBarTitle({
-      title: options.title || "详情"
-    })
-    const db = wx.cloud.database();
-    const _ = db.command;
-    const _this = this;
-    let list = await db.collection('data_news').where({
-      _id: _.eq(options.id)
-    }).get();
-    if (!list.data.length) return wx.showToast({
-      title: '数据走丢了',
-      icon: "error"
-    })
-    let D = list.data[0] || {};
-    if (D.type !== 2 && D.content) {
-      D.content = D.content.replace(/<p>/gi, '<p style="text-indent: 2em">').replace(/<img/gi, "<img style='width:100%'")
-    }
-    if (D.creat_time) D.creat_time = this.format(D.creat_time);
-    console.log(D)
-    _this.setData({
-      detail: D
-    })
-  },
-
-  /**
-   * 生命周期函数--监听页面初次渲染完成
-   */
-  onReady: function () {
-
-  },
-
-  /**
-   * 生命周期函数--监听页面显示
-   */
-  onShow: function () {
-
-  },
-
-  /**
-   * 生命周期函数--监听页面隐藏
-   */
-  onHide: function () {
-
-  },
-
-  /**
-   * 生命周期函数--监听页面卸载
-   */
-  onUnload: function () {
-
-  },
-
-  /**
-   * 页面相关事件处理函数--监听用户下拉动作
-   */
-  onPullDownRefresh: function () {
-
-  },
-
-  /**
-   * 页面上拉触底事件的处理函数
-   */
-  onReachBottom: function () {
-
-  },
-
-  /**
-   * 用户点击右上角分享
-   */
-  onShareAppMessage: function () {
-
-  },
-
-  format: function (res) {
-    if (!res) return "";
-    let num = (res || 0) - 0;
-    let T = new Date(num);
-    let year = T.getFullYear();
-    let month = T.getMonth() + 1;
-    let day = T.getDate();
-    let hour = T.getHours();
-    let min = T.getMinutes() + 1;
-    let sec = T.getSeconds();
-
-    return year + "-" + (month > 9 ? month : "0" + month) + "-" + day + " " + (hour > 9 ? hour : '0' + hour) + ":" + (min > 9 ? min : '0' + min) + ":" + (sec > 9 ? sec : '0' + sec);
-  },
-})

+ 0 - 3
miniprogram/pages/detail/detail.json

@@ -1,3 +0,0 @@
-{
-  "usingComponents": {}
-}

+ 0 - 9
miniprogram/pages/detail/detail.wxml

@@ -1,9 +0,0 @@
-<!--miniprogram/pages/detail/detail.wxml-->
-<import src="./template/sysDetail/index.wxml"></import>
-<import src="./template/pdfDetail/index.wxml"></import>
-<import src="./template/defaultDetail/index.wxml"></import>
-<view class="detail">
-  <template wx:if="{{detail.type === 0}}" is="sysDetail" data="{{...detail}}"></template>
-  <template wx:if="{{detail.type === 2}}" is="pdfDetail" data="{{...detail}}"></template>
-  <template wx:if="{{detail.type === 1}}" is="defaultDetail" data="{{...detail}}"></template>
-</view>

+ 0 - 8
miniprogram/pages/detail/detail.wxss

@@ -1,8 +0,0 @@
-/* miniprogram/pages/detail/detail.wxss */
-@import "./template/sysDetail/index.wxss";
-@import "./template/pdfDetail/index.wxss";
-@import "./template/defaultDetail/index.wxss";
-
-.detail{
-  padding: 10rpx;
-}

+ 0 - 6
miniprogram/pages/detail/template/defaultDetail/index.wxml

@@ -1,6 +0,0 @@
-<!--miniprogram/pages/detail/template/pdfDetail/index.wxml-->
-<template name="defaultDetail">
-  <video class="video" wx:if="{{headUrl}}" src="{{headUrl}}"></video>
-  <view wx:if="{{creat_time}}"> 发表日期:{{creat_time}}</view>
-  <rich-text wx:if="{{content}}" nodes="{{content}}"></rich-text>
-</template>

+ 0 - 4
miniprogram/pages/detail/template/defaultDetail/index.wxss

@@ -1,4 +0,0 @@
-/* miniprogram/pages/detail/template/pdfDetail/index.wxss */
-.video{
-  width: 750rpx;
-}

+ 0 - 5
miniprogram/pages/detail/template/pdfDetail/index.wxml

@@ -1,5 +0,0 @@
-<!--miniprogram/pages/detail/template/pdfDetail/index.wxml-->
-<template name="pdfDetail">
-  <image class="headImg" src="{{headUrl}}"></image>
-  <image class="bodyImg" wx:for="{{content}}" src="{{item}}" wx:key="index"></image>
-</template>

+ 0 - 5
miniprogram/pages/detail/template/pdfDetail/index.wxss

@@ -1,5 +0,0 @@
-/* miniprogram/pages/detail/template/pdfDetail/index.wxss */
-.bodyImg{
-  width: 750rpx;
-  height: 1060rpx;
-}

+ 0 - 4
miniprogram/pages/detail/template/sysDetail/index.wxml

@@ -1,4 +0,0 @@
-<template name="sysDetail">
-  <image class="headImg" src="{{headUrl}}"></image>
-  <rich-text nodes="{{content}}"></rich-text>
-</template>

+ 0 - 1
miniprogram/pages/detail/template/sysDetail/index.wxss

@@ -1 +0,0 @@
-/* miniprogram/pages/detail/template/sysDetail/index.wxss */

+ 0 - 104
miniprogram/pages/home/index.js

@@ -1,104 +0,0 @@
-// miniprogram/pages/home/index.js
-Page({
-
-  /**
-   * 页面的初始数据
-   */
-  data: {
-    newList: []
-  },
-
-  /**
-   * 生命周期函数--监听页面加载
-   */
-  onLoad: async function (options) {
-    const db = wx.cloud.database();
-    const _ = db.command;
-    let list = await db.collection('data_news').where({
-      hot: 1,
-      type: 1
-    }).get();
-    for (let i = 0; i < list.data.length; i++) {
-      const v = list.data[i];
-      v.creat_time = this.format(v.creat_time || 0)
-    }
-    this.setData({
-      newList: list.data || []
-    })
-  },
-
-  /**
-   * 生命周期函数--监听页面初次渲染完成
-   */
-  onReady: function () {
-
-  },
-
-  /**
-   * 生命周期函数--监听页面显示
-   */
-  onShow: function () {
-
-  },
-
-  /**
-   * 生命周期函数--监听页面隐藏
-   */
-  onHide: function () {
-
-  },
-
-  /**
-   * 生命周期函数--监听页面卸载
-   */
-  onUnload: function () {
-
-  },
-
-  /**
-   * 页面相关事件处理函数--监听用户下拉动作
-   */
-  onPullDownRefresh: function () {
-
-  },
-
-  /**
-   * 页面上拉触底事件的处理函数
-   */
-  onReachBottom: function () {
-
-  },
-
-  /**
-   * 用户点击右上角分享
-   */
-  onShareAppMessage: function () {
-
-  },
-
-  format: function (res) {
-    if (!res) return ""
-    let T = new Date(res || 0);
-    let year = T.getFullYear();
-    let month = T.getMonth() + 1;
-    let day = T.getDate();
-    let hour = T.getHours();
-    let min = T.getMinutes() + 1;
-    let sec = T.getSeconds();
-
-    return year + "-" + (month > 9 ? month : "0" + month) + "-" + day + " " + (hour > 9 ? hour : '0' + hour) + ":" + (min > 9 ? min : '0' + min) + ":" + (sec > 9 ? sec : '0' + sec);
-  },
-  toDetail: function (e) {
-    let title = e.currentTarget.dataset.title, id = e.currentTarget.dataset.id;
-    wx.navigateTo({
-      url: '/pages/detail/detail?title=' + title + "&id=" + id,
-    })
-  },
-  toMarvellous: function (e) {
-    wx.navigateTo({
-      url: '/pages/marvellous/index?title=' + e.currentTarget.dataset.title + "&type=" + e.currentTarget.dataset.type,
-    })
-  }
-
-})
-

+ 0 - 5
miniprogram/pages/home/index.json

@@ -1,5 +0,0 @@
-{
-  "usingComponents": {
-    "mp-cell": "weui-miniprogram/cell/cell"
-  }
-}

+ 0 - 72
miniprogram/pages/home/index.wxml

@@ -1,72 +0,0 @@
-<!--miniprogram/pages/home/index.wxml-->
-<view class="home">
-  <image class="headImg" src="cloud://cloud1-6gbxfp9x33ff3b7c.636c-cloud1-6gbxfp9x33ff3b7c-1306051304/head.jpeg"></image>
-  <view class="title">
-    畅行中国•庆祝建党100周年“追寻红色记忆”主题——“红色文物会说话、红色遗址会发声”融媒传播发布仪式
-  </view>
-  <view class="subTitle">
-    2021年5月15日至16日
-  </view>
-
-  <view class="icon_container">
-    <view class="icon_item_cell">
-      <view class="icon_content" data-title="活动简介" data-id="79550af260b0394f1aea63d27b6f2ae9" bindtap="toDetail">
-        <image class="img" src="../../images/0.png"></image>
-        <view class="icon_title">
-          活动简介
-        </view>
-      </view>
-    </view>
-    <view class="icon_item_cell">
-      <view class="icon_content" data-title="日程会务" data-id="cbddf0af60b041bd0c3e871a1a8f5a7e" bindtap="toDetail">
-        <image class="img" src="../../images/1.png"></image>
-        <view class="icon_title">
-          日程会务
-        </view>
-      </view>
-    </view>
-    <view class="icon_item_cell">
-      <view class="icon_content" data-title="精彩瞬间" data-type="img" bindtap="toMarvellous">
-        <image class="img" src="../../images/3.png"></image>
-        <view class="icon_title">
-          精彩瞬间
-        </view>
-      </view>
-    </view>
-    <view class="icon_item_cell">
-      <view class="icon_content" data-title="红色声音" data-type="video" bindtap="toMarvellous">
-        <image class="img" src="../../images/4.png"></image>
-        <view class="icon_title">
-          红色声音
-        </view>
-      </view>
-    </view>
-    <view class="icon_item_cell">
-      <view class="icon_content" data-title="延安印迹" data-id="28ee4e3e60bee3dc20a8a74e3e2d8b10" bindtap="toDetail">
-        <image class="img" src="../../images/5.png"></image>
-        <view class="icon_title">
-          延安印迹
-        </view>
-      </view>
-    </view>
-    <view class="icon_item_cell">
-      <view class="icon_content" data-title="疫情防控" data-id="cbddf0af60b042750c3ebf6b09f3e165" bindtap="toDetail">
-        <image class="img" src="../../images/2.png"></image>
-        <view class="icon_title">
-          疫情防控
-        </view>
-      </view>
-    </view>
-  </view>
-
-  <mp-cell link hover value="新闻动态" footer="查看更多" url="/pages/interList/interList?type=news">
-  </mp-cell>
-  <view class="newList" wx:key="_id" wx:for="{{newList}}" data-id="{{item._id}}" data-title="{{item.title}}" bindtap="toDetail">
-    <image class="newsImg" src="{{item.cover}}"></image>
-    <view class="newsTitle">
-      <text class="top">{{item.title}}</text>
-      <text class="subTitle">发布日期 2021-05-15 11:25:00</text>
-    </view>
-  </view>
-  <view class="br"></view>
-</view>

+ 0 - 94
miniprogram/pages/home/index.wxss

@@ -1,94 +0,0 @@
-/* miniprogram/pages/home/index.wxss */
-
-.home {
-  padding: 10rpx;
-}
-
-.br {
-  height: 1em;
-}
-
-.home .title {
-  font-size: 16px;
-}
-
-.home .subTitle {
-  font-size: 12px;
-  margin: 10rpx 0;
-  color: #999;
-}
-
-.icon_container {
-  width: 750rpx;
-  margin-left: -10rpx;
-  font-size: 12px;
-  color: #666;
-}
-
-.icon_container .icon_item_cell {
-  box-sizing: border-box;
-  display: inline-block;
-  width: 250rpx;
-  padding: 5rpx;
-}
-
-.icon_container .icon_content {
-  text-align: center;
-  border-radius: 10rpx;
-  padding: 46rpx 0 20rpx 0;
-  box-shadow: 3rpx 3rpx 20rpx rgba(0, 0, 0, .1);
-}
-
-.icon_container .icon_title {
-  padding: 15rpx 0;
-}
-
-.icon_container .img {
-  width: 4em;
-  height: 4em;
-}
-
-.videoList {
-  margin-bottom: 20rpx;
-}
-
-.videoList .title {
-  overflow: hidden;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-}
-
-.newList {
-  width: 100%;
-  font-size: 0;
-  height: 240rpx;
-  overflow: hidden;
-  margin-bottom: 20rpx;
-  border-radius: 22.5rpx;
-  box-shadow: 3rpx 3rpx 20rpx rgba(0, 0, 0, .1);
-}
-
-.newList .newsImg {
-  width: 240rpx;
-  height: 240rpx;
-}
-
-.newList .newsTitle {
-  width: 100%;
-  height: 240rpx;
-  font-size: 14px;
-  margin-top: -240rpx;
-  padding: 20rpx 10rpx 20rpx 250rpx;
-  box-sizing: border-box;
-}
-
-.newList .top {
-  display: -webkit-box;
-  -webkit-box-orient: vertical;
-  -webkit-line-clamp: 3;
-  overflow: hidden;
-}
-
-.videoEle {
-  width: 100%;
-}

+ 0 - 124
miniprogram/pages/index/index.js

@@ -1,124 +0,0 @@
-//index.js
-const app = getApp()
-
-Page({
-  data: {
-    avatarUrl: './user-unlogin.png',
-    userInfo: {},
-    hasUserInfo: false,
-    logged: false,
-    takeSession: false,
-    requestResult: '',
-    canIUseGetUserProfile: false,
-    canIUseOpenData: wx.canIUse('open-data.type.userAvatarUrl') // 如需尝试获取用户信息可改为false
-  },
-
-  onLoad: function() {
-    if (!wx.cloud) {
-      wx.redirectTo({
-        url: '../chooseLib/chooseLib',
-      })
-      return
-    }
-    if (wx.getUserProfile) {
-      this.setData({
-        canIUseGetUserProfile: true,
-      })
-    }
-  },
-
-  getUserProfile() {
-    // 推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认,开发者妥善保管用户快速填写的头像昵称,避免重复弹窗
-    wx.getUserProfile({
-      desc: '展示用户信息', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
-      success: (res) => {
-        this.setData({
-          avatarUrl: res.userInfo.avatarUrl,
-          userInfo: res.userInfo,
-          hasUserInfo: true,
-        })
-      }
-    })
-  },
-
-  onGetUserInfo: function(e) {
-    if (!this.data.logged && e.detail.userInfo) {
-      this.setData({
-        logged: true,
-        avatarUrl: e.detail.userInfo.avatarUrl,
-        userInfo: e.detail.userInfo,
-        hasUserInfo: true,
-      })
-    }
-  },
-
-  onGetOpenid: function() {
-    // 调用云函数
-    wx.cloud.callFunction({
-      name: 'login',
-      data: {},
-      success: res => {
-        console.log('[云函数] [login] user openid: ', res.result.openid)
-        app.globalData.openid = res.result.openid
-        wx.navigateTo({
-          url: '../userConsole/userConsole',
-        })
-      },
-      fail: err => {
-        console.error('[云函数] [login] 调用失败', err)
-        wx.navigateTo({
-          url: '../deployFunctions/deployFunctions',
-        })
-      }
-    })
-  },
-
-  // 上传图片
-  doUpload: function () {
-    // 选择图片
-    wx.chooseImage({
-      count: 1,
-      sizeType: ['compressed'],
-      sourceType: ['album', 'camera'],
-      success: function (res) {
-        wx.showLoading({
-          title: '上传中',
-        })
-
-        const filePath = res.tempFilePaths[0]
-        
-        // 上传图片
-        const cloudPath = `my-image${filePath.match(/\.[^.]+?$/)[0]}`
-        wx.cloud.uploadFile({
-          cloudPath,
-          filePath,
-          success: res => {
-            console.log('[上传文件] 成功:', res)
-
-            app.globalData.fileID = res.fileID
-            app.globalData.cloudPath = cloudPath
-            app.globalData.imagePath = filePath
-            
-            wx.navigateTo({
-              url: '../storageConsole/storageConsole'
-            })
-          },
-          fail: e => {
-            console.error('[上传文件] 失败:', e)
-            wx.showToast({
-              icon: 'none',
-              title: '上传失败',
-            })
-          },
-          complete: () => {
-            wx.hideLoading()
-          }
-        })
-      },
-      fail: e => {
-        console.error(e)
-      }
-    })
-  },
-
-})

+ 0 - 3
miniprogram/pages/index/index.json

@@ -1,3 +0,0 @@
-{
-  "usingComponents": {}
-}

+ 0 - 77
miniprogram/pages/index/index.wxml

@@ -1,77 +0,0 @@
-<!--index.wxml-->
-<view class="container">
-
-  <!-- 用户 openid -->
-  <view class="userinfo">
-    <block wx:if="{{canIUseOpenData}}" class="userinfo-opendata">
-      <view class="userinfo-block-avatar" bindtap="bindViewTap">
-        <open-data type="userAvatarUrl"></open-data>
-      </view>
-    </block>
-    <block wx:elif="{{!hasUserInfo}}">
-      <button 
-        wx:if="{{canIUseGetUserProfile}}" 
-        bindtap="getUserProfile"
-        class="userinfo-avatar"
-        style="background-image: url({{avatarUrl}})"
-        size="default"
-      ></button>
-      <button
-        wx:else
-        open-type="getUserInfo" 
-        bindgetuserinfo="onGetUserInfo"
-        class="userinfo-avatar"
-        style="background-image: url({{avatarUrl}})"
-        size="default"
-      ></button>
-    </block>
-    <block wx:else>
-      <image bindtap="bindViewTap" class="userinfo-block-avatar" src="{{avatarUrl}}" mode="cover"></image>
-    </block>
-    <view class="userinfo-nickname-wrapper">
-      <button class="userinfo-nickname" bindtap="onGetOpenid">点击获取 openid</button>
-    </view>
-  </view>
-
-
-  <!-- 上传图片 -->
-  <view class="uploader">
-    <view class="uploader-text" bindtap="doUpload">
-      <text>上传图片</text>
-    </view>
-    <view class="uploader-container" wx:if="{{imgUrl}}">
-      <image class="uploader-image" src="{{imgUrl}}" mode="aspectFit" bindtap="previewImg"></image>
-    </view>
-  </view>
-
-
-  <!-- 操作数据库 -->
-  <view class="uploader">
-    <navigator url="../databaseGuide/databaseGuide" open-type="navigate" class="uploader-text">
-      <text>前端操作数据库</text>
-    </navigator>
-  </view>
-
-  <!-- 即时通信 -->
-  <view class="uploader">
-    <navigator url="../im/im" open-type="navigate" class="uploader-text">
-      <text>即时通信 Demo</text>
-    </navigator>
-  </view>
-
-  <!-- 新建云函数 -->
-  <view class="uploader">
-    <navigator url="../addFunction/addFunction" open-type="navigate" class="uploader-text">
-      <text>快速新建云函数</text>
-    </navigator>
-  </view>
-
-  <!-- 云调用 -->
-  <view class="uploader">
-    <navigator url="../openapi/openapi" open-type="navigate" class="uploader-text">
-      <text>云调用</text>
-    </navigator>
-  </view>
-
-
-</view>

+ 0 - 161
miniprogram/pages/index/index.wxss

@@ -1,161 +0,0 @@
-/**index.wxss**/
-
-page {
-  background: #f6f6f6;
-  display: flex;
-  flex-direction: column;
-  justify-content: flex-start;
-}
-
-.userinfo, .uploader, .tunnel {
-  margin-top: 40rpx;
-  height: 140rpx;
-  width: 100%;
-  background: #fff;
-  border: 1px solid rgba(0, 0, 0, 0.1);
-  border-left: none;
-  border-right: none;
-  display: flex;
-  flex-direction: row;
-  align-items: center;
-  transition: all 300ms ease;
-}
-
-.userinfo {
-  padding-left: 120rpx;
-}
-
-.userinfo-avatar {
-  width: 100rpx;
-  height: 100rpx;
-  margin: 20rpx;
-  border-radius: 50%;
-  background-size: cover;
-  background-color: white;
-}
-
-.userinfo-block-avatar {
-  width: 100rpx;
-  height: 100rpx;
-  margin: 20rpx;
-  border-radius: 50%;
-  overflow: hidden;
-}
-
-.userinfo-avatar[size] {
-  width: 100rpx;
-}
-
-
-.userinfo-avatar:after {
-  border: none;
-}
-
-.userinfo-nickname {
-  font-size: 32rpx;
-  color: #007aff;
-  background-color: white;
-  background-size: cover;
-  text-align: left;
-  padding-left: 0;
-  margin-left: 10px;
-}
-
-.userinfo-nickname::after {
-  border: none;
-}
-
-.userinfo-nickname-wrapper {
-  flex: 1;
-}
-
-.uploader, .tunnel {
-  height: auto;
-  padding: 0 0 0 40rpx;
-  flex-direction: column;
-  align-items: flex-start;
-  box-sizing: border-box;
-}
-
-.uploader-text, .tunnel-text {
-  width: 100%;
-  line-height: 52px;
-  font-size: 34rpx;
-  color: #007aff;
-}
-
-.uploader-container {
-  width: 100%;
-  height: 400rpx;
-  padding: 20rpx 20rpx 20rpx 0;
-  display: flex;
-  align-content: center;
-  justify-content: center;
-  box-sizing: border-box;
-  border-top: 1px solid rgba(0, 0, 0, 0.1);
-}
-
-.uploader-image {
-  width: 100%;
-  height: 360rpx;
-}
-
-.tunnel {
-  padding: 0 0 0 40rpx;
-}
-
-.tunnel-text {
-  position: relative;
-  color: #222;
-  display: flex;
-  flex-direction: row;
-  align-content: center;
-  justify-content: space-between;
-  box-sizing: border-box;
-  border-top: 1px solid rgba(0, 0, 0, 0.1);
-}
-
-.tunnel-text:first-child {
-  border-top: none;
-}
-
-.tunnel-switch {
-  position: absolute;
-  right: 20rpx;
-  top: -2rpx;
-}
-
-.disable {
-  color: #888;
-}
-
-.service {
-  position: fixed;
-  right: 40rpx;
-  bottom: 40rpx;
-  width: 140rpx;
-  height: 140rpx;
-  border-radius: 50%;
-  background: linear-gradient(#007aff, #0063ce);
-  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3);
-  display: flex;
-  align-content: center;
-  justify-content: center;
-  transition: all 300ms ease;
-}
-
-.service-button {
-  position: absolute;
-  top: 40rpx;
-}
-
-.service:active {
-  box-shadow: none;
-}
-
-.request-text {
-  padding: 20rpx 0;
-  font-size: 24rpx;
-  line-height: 36rpx;
-  word-break: break-all;
-}

BIN
miniprogram/pages/index/user-unlogin.png


+ 0 - 111
miniprogram/pages/interList/interList.js

@@ -1,111 +0,0 @@
-// miniprogram/pages/interList/interList.js
-Page({
-
-  /**
-   * 页面的初始数据
-   */
-  data: {
-    newsList: []
-  },
-
-  /**
-   * 生命周期函数--监听页面加载
-   */
-  onLoad: async function (options) {
-    console.log(options.type)
-    if (options.type == "news") {
-      wx.setNavigationBarTitle({
-        title: '新闻列表'
-      })
-    } else {
-      wx.setNavigationBarTitle({
-        title: '视频列表'
-      })
-    }
-    const db = wx.cloud.database();
-    let list = await db.collection('data_news').where({
-      type: 1
-    }).get();
-    for (let i = 0; i < list.data.length; i++) {
-      const v = list.data[i];
-      if (v.creat_time) v.creat_time = this.format(v.creat_time || 0)
-    }
-    console.log(list.data)
-    this.setData({
-      newsList: list.data || []
-    })
-  },
-
-  /**
-   * 生命周期函数--监听页面初次渲染完成
-   */
-  onReady: function () {
-
-  },
-
-  /**
-   * 生命周期函数--监听页面显示
-   */
-  onShow: function () {
-
-  },
-
-  /**
-   * 生命周期函数--监听页面隐藏
-   */
-  onHide: function () {
-
-  },
-
-  /**
-   * 生命周期函数--监听页面卸载
-   */
-  onUnload: function () {
-
-  },
-
-  /**
-   * 页面相关事件处理函数--监听用户下拉动作
-   */
-  onPullDownRefresh: function () {
-
-  },
-
-  /**
-   * 页面上拉触底事件的处理函数
-   */
-  onReachBottom: function () {
-
-  },
-
-  /**
-   * 用户点击右上角分享
-   */
-  onShareAppMessage: function () {
-
-  },
-
-  tolist: function (e) {
-    console.log(e)
-  },
-
-  format: function (res) {
-    if (!res) return ""
-    let num = (res || 0) -0
-    let T = new Date(num);
-    let year = T.getFullYear();
-    let month = T.getMonth() + 1;
-    let day = T.getDate();
-    let hour = T.getHours();
-    let min = T.getMinutes() + 1;
-    let sec = T.getSeconds();
-
-    return year + "-" + (month > 9 ? month : "0" + month) + "-" + day + " " + (hour > 9 ? hour : '0' + hour) + ":" + (min > 9 ? min : '0' + min) + ":" + (sec > 9 ? sec : '0' + sec);
-  },
-  toDetail:function(e){
-    let title = e.currentTarget.dataset.title, id = e.currentTarget.dataset.id;
-    wx.navigateTo({
-      url: '/pages/detail/detail?title=' + title + "&id=" + id,
-    })
-  }
-})

+ 0 - 4
miniprogram/pages/interList/interList.json

@@ -1,4 +0,0 @@
-{
-  "usingComponents": {},
-  "navigationBarTitleText": "列表"
-}

+ 0 - 21
miniprogram/pages/interList/interList.wxml

@@ -1,21 +0,0 @@
-<!--miniprogram/pages/interList/interList.wxml-->
-<view class="interList">
-  <view wx:for="{{newsList}}" style="margin-bottom: 20rpx" wx:key="_id" >
-
-    <view class="videoEle" wx:if="{{item.headUrl}}">
-      <text wx:if="{{item.title}}" class="top">{{item.title}}</text>
-      <video class="video" wx:if="{{item.headUrl}}" src="{{item.headUrl}}"></video>
-      <text wx:if="{{item.creat_time}}" class="subTitle">发布日期 {{item.creat_time}}</text>
-    </view>
-    <view wx:if="{{!item.headUrl}}" bindtap="toDetail"  data-id="{{item._id}}" data-title="{{item.title}}">
-      <view class="newList">
-        <image class="newsImg" src="{{item.cover}}" wx:if="{{item.cover}}"></image>
-        <view class="newsTitle">
-          <text wx:if="{{item.title}}" class="top">{{item.title}}</text>
-          <text wx:if="{{item.creat_time}}" class="subTitle">发布日期 {{item.creat_time}}</text>
-        </view>
-      </view>
-    </view>
-  </view>
-
-</view>

+ 0 - 56
miniprogram/pages/interList/interList.wxss

@@ -1,56 +0,0 @@
-/* miniprogram/pages/interList/interList.wxss */
-.interList {
-  padding: 10rpx;
-}
-
-.videoList {
-  margin-bottom: 20rpx;
-}
-
-.videoList .title {
-  overflow: hidden;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-}
-
-.newList {
-  width: 100%;
-  font-size: 0;
-  height: 240rpx;
-  overflow: hidden;
-  margin-bottom: 20rpx;
-  border-radius: 22.5rpx;
-  box-shadow: 3rpx 3rpx 20rpx rgba(0, 0, 0, .1);
-}
-
-.newList .newsImg {
-  width: 240rpx;
-  height: 240rpx;
-}
-
-.newList .newsTitle {
-  width: 100%;
-  height: 240rpx;
-  font-size: 14px;
-  margin-top: -240rpx;
-  padding: 20rpx 10rpx 20rpx 250rpx;
-  box-sizing: border-box;
-}
-
- .top {
-  display: -webkit-box;
-  -webkit-box-orient: vertical;
-  -webkit-line-clamp: 3;
-  overflow: hidden;
-}
-
-.videoEle {
-  box-shadow: 3rpx 3rpx 20rpx rgba(0, 0, 0, .1);
-  padding: 10rpx;
-}
-.videoEle .video{
-  width: 100%;
-}
-.videoEle .newsTitle{
-  padding: 10rpx;
-}

+ 0 - 72
miniprogram/pages/marvellous/components/videoAn/index.js

@@ -1,72 +0,0 @@
-// pages/marvellous/components/videoAn/video.js
-Component({
-  /**
-   * 组件的属性列表
-   */
-  properties: {
-  },
-  transverse: undefined,
-  portrait: undefined,
-  /**
-   * 组件的初始数据
-   */
-  data: {
-    tra: {},
-    por: {},
-    step: 0,
-    show: true,
-    heng: true,
-    shu: true
-  },
-
-  ready() {
-    // this.transverse = wx.createAnimation({
-    //   duration: 1500,
-    //   timingFunction: 'linear',
-    // })
-    // this.portrait = wx.createAnimation({
-    //   duration: 1500,
-    //   timingFunction: 'linear',
-    // })
-    // this.transverse.width("750rpx").step();
-    // this.portrait.height("100vh").step();
-  },
-  /**
-   * 组件的方法列表
-   */
-  methods: {
-    start() {
-      let _this = this;
-      this.setData({
-        // tra: this.transverse.export(),
-        step: 1
-      },()=>{
-        let time = setInterval(() => {
-          clearInterval(time);
-          _this.nextAnstion();
-        }, 1450);
-
-      })
-    },
-    nextAnstion() {
-      let _this = this;
-      this.setData({
-        heng: false,
-        // por: this.portrait.export(),
-        step: 2
-      },()=>{
-        let time = setInterval(() => {
-          clearInterval(time);
-          _this.end();
-        }, 1450);
-      })
-    },
-    end(){
-      this.setData({
-        shu: false,
-        step: 3
-      })
-      this.triggerEvent("close")
-    }
-  }
-})

+ 0 - 4
miniprogram/pages/marvellous/components/videoAn/index.json

@@ -1,4 +0,0 @@
-{
-  "component": true,
-  "usingComponents": {}
-}

+ 0 - 27
miniprogram/pages/marvellous/components/videoAn/index.wxml

@@ -1,27 +0,0 @@
-<!--miniprogram/pages/marvellous/template/videoAn/index.wxml-->
-
-<view class="door" bindtap="start" wx:if="show">
-  <view class="transverse" wx:if="{{heng}}">
-    <image class="left"
-      src="../../../../images/door_left.jpg"></image>
-    <view class="center {{ step === 1 ? 'width100' : '' }}" ></view>
-    <!-- <view class="center" animation="{{tra}}" bindtransitionend="nextAnstion"></view> -->
-    <image class="right"
-      src="../../../../images/door_right.jpg"></image>
-  </view>
-
-
-
-  <view class="portrait" wx:if="{{shu}}">
-    <view class="port">
-      <image class="up" src="../../../../images/wood.jpg">
-      </image>
-      <view class="center  {{ step === 2 ? 'height100' : '' }}"></view>
-      <!-- <view class="center" animation="{{por}}" bindtransitionend="end"></view> -->
-      <image class="down" src="../../../../images/wood.jpg">
-      </image>
-    </view>
-  </view>
-
-  <view class="tip">点击开始</view>
-</view>

+ 0 - 107
miniprogram/pages/marvellous/components/videoAn/index.wxss

@@ -1,107 +0,0 @@
-/* miniprogram/pages/marvellous/template/videoAn/index.wxss */
-.door {
-  top: 0;
-  left: 0;
-  position: fixed;
-  width: 750rpx;
-  height: 100vh;
-  z-index: 1;
-}
-.door .transverse{
-  white-space: nowrap;
-  overflow: hidden;
-  width: 1500rpx;
-  left: -375rpx;
-  position: absolute;
-  height: 100vh;
-  z-index: 3;
-  text-align: center;
-}
-
-.door .transverse .right,
-.door .transverse .left{
-  width: 375rpx;
-  height: 100vh;
-}
-
-.door .transverse .center{
-  width: 0;
-}
-.door .transverse .right,
-.door .transverse .left,
-.door .transverse .center{
-  display: inline-block;
-}
-
-.door .portrait{
-  height: 200vh;
-  margin-top: -50vh;
-}
-.door .portrait .port{
-  position: absolute;
-  overflow: hidden;
-  top: 50%;
-  transform: translateY(-50%);
-  width: 750rpx;
-  font-size: 0;
-}
-.door .port .up,
-.door .port .down{
-  height: 50vh;
-  width: 750rpx;
-}
-.door .portrait .center{
-  height: 0;
-}
-
-.door .tip {
-  position: absolute;
-  text-align: center;
-  font-size: 18px;
-  bottom: 20rpx;
-  color: #eee;
-  width: 750rpx;
-  z-index: 4;
-  animation: mymove 2s infinite;
-}
-
-@keyframes mymove {
-  0% {
-    opacity: 1;
-  }
-  50% {
-    opacity: 0;
-  }
-
-  100% {
-    opacity: 1;
-  }
-}
-
-.door .width100{
-  animation: width100 1.5s;
-
-}
-.door .height100{
-  animation: height100 1.5s;
-
-}
-
-@keyframes width100 {
-  0% {
-    width: 0;
-  }
-
-  100% {
-    width: 750rpx;
-  }
-}
-@keyframes height100 {
-  0% {
-    height: 0;
-  }
-
-  100% {
-    height: 100vh;
-  }
-}

+ 0 - 286
miniprogram/pages/marvellous/index.js

@@ -1,286 +0,0 @@
-// miniprogram/pages/marvellous/index.js
-Page({
-  imgList: [],
-  downCount: 0,
-  /**
-   * 页面的初始数据
-   */
-  data: {
-    pageList: [],
-    select: { count: 0 },
-    pageType: "",
-    showSelect: false,
-    showVideo: "",
-    showAnVideo: true
-  },
-
-  /**
-   * 生命周期函数--监听页面加载
-   */
-  onLoad: async function (options) {
-    wx.setNavigationBarTitle({
-      title: options.title || "精彩瞬间"
-    })
-
-    const db = wx.cloud.database();
-    const _ = db.command;
-    const $ = db.command.aggregate
-    this.imgList = [];
-    let pageList = {};
-    wx.showLoading();
-    let list = await db.collection('data_asset').where({
-      type: _.eq(options.type || "img")
-    }).get();
-    wx.hideLoading();
-    if (!list.data.length) return wx.showToast({
-      title: '暂无数据',
-      icon: "none"
-    })
-    let li = list.data || [];
-    for (let i = 0; i < li.length; i++) {
-      const v = li[i];
-      v.index = i;
-      // pageList[v.create_time] ? pageList[v.create_time].list.push(v) : pageList[v.create_time] = { list: [v], time: this.format(v.create_time) };
-      pageList[0] ? pageList[0].list.push(v) : pageList[0] = { list: [v], time: 0 };
-      this.imgList.push(v.url);
-    }
-    this.setData({
-      pageList: pageList,
-      pageType: options.type || "img",
-      showAnVideo: options.type === "video"
-    })
-  },
-
-  /**
-   * 生命周期函数--监听页面初次渲染完成
-   */
-  onReady: function () {
-
-  },
-
-  /**
-   * 生命周期函数--监听页面显示
-   */
-  onShow: function () {
-
-  },
-
-  /**
-   * 生命周期函数--监听页面隐藏
-   */
-  onHide: function () {
-
-  },
-
-  /**
-   * 生命周期函数--监听页面卸载
-   */
-  onUnload: function () {
-
-  },
-
-  /**
-   * 页面相关事件处理函数--监听用户下拉动作
-   */
-  onPullDownRefresh: function () {
-
-  },
-
-  /**
-   * 页面上拉触底事件的处理函数
-   */
-  onReachBottom: function () {
-
-  },
-
-  /**
-   * 用户点击右上角分享
-   */
-  onShareAppMessage: function () {
-
-  },
-  showImg(e) {
-    if (this.data.showSelect) return this.btnSelect(e);
-    if (this.data.pageType === "video") return this.showVideo(e);
-    if (this.data.pageType === "img") return this.showImage(e);
-  },
-  showVideo: function (e) {
-    this.setData({
-      showVideo: this.imgList[e.currentTarget.dataset.index]
-    })
-  },
-  showImage: function (e) {
-    wx.previewImage({
-      urls: this.imgList,
-      current: this.imgList[e.currentTarget.dataset.index],
-    })
-  },
-  longtap: function (e) {
-    this.setData({
-      showSelect: true
-    })
-  },
-  longClose: function (e) {
-    let pageList = this.data.pageList;
-    let select = this.data.select;
-    let keys = Object.keys(select);
-    for (let i = 0; i < keys.length; i++) {
-      let v = keys[i];
-      if (v === 'count') continue;
-      let li = v.split("-");
-      pageList[li[0]].list[li[1]].select = false;
-    }
-    this.setData({
-      showSelect: false,
-      pageList,
-      select: {
-        count: 0
-      }
-    })
-  },
-  btnSelect: function (e) {
-    if (this.data.select.count > 9) return;
-    let d = e.currentTarget.dataset;
-    let pageList = this.data.pageList;
-    let select = this.data.select;
-    pageList[d.key].list[d.o].select = !pageList[d.key].list[d.o].select;
-    if (pageList[d.key].list[d.o].select) {
-      select[d.key + "-" + d.o] = d.url;
-      select.count++;
-    } else {
-      select[d.key + "-" + d.o] = undefined;
-      select.count--;
-    }
-    this.setData({
-      pageList: pageList,
-      select
-    })
-  },
-  format: function (res) {
-    if (!res) return ""
-    let T = new Date(res || 0);
-    let year = T.getFullYear();
-    let month = T.getMonth() + 1;
-    let day = T.getDate();
-    let hour = T.getHours();
-    let min = T.getMinutes() + 1;
-    let sec = T.getSeconds();
-
-    return year + "-" + (month > 9 ? month : "0" + month) + "-" + day + " " + (hour > 9 ? hour : '0' + hour) + ":" + (min > 9 ? min : '0' + min) + ":" + (sec > 9 ? sec : '0' + sec);
-  },
-  saveAsset: function () {
-    if (this.data.select.count === 0) return;
-    let _this = this;
-    // 权限判断
-    wx.getSetting({
-      success: function (res) {
-        if (!res['scope.writePhotosAlbum']) {
-          wx.authorize({
-            scope: 'scope.writePhotosAlbum',
-            success: function (res) {
-              wx.showLoading();
-              let keys = Object.keys(_this.data.select);
-              _this.downCount = keys.length - 1;
-              for (let i = 0; i < keys.length; i++) {
-                const v = keys[i];
-                if (v === 'count') continue;
-                _this.downFile(v);
-              }
-            },
-            fail: function (err) {
-              wx.showToast({
-                title: '未获取权限',
-                icon: "none"
-              })
-            }
-          })
-          return
-        }
-        wx.showLoading();
-        let keys = Object.keys(this.data.select);
-        _this.downCount = keys.length - 1;
-        for (let i = 0; i < keys.length; i++) {
-          const v = keys[i];
-          if (v === 'count') continue;
-          _this.downFile(v);
-        }
-      },
-      fail: function (err) {
-        wx.showToast({
-          title: '未获取权限',
-          icon: "none"
-        })
-      }
-    })
-  },
-  downFile: function (v) {
-    let _this = this;
-    wx.cloud.downloadFile({
-      fileID: _this.data.select[v],
-      success: function (res) {
-        if (_this.data.pageType === "img") {
-          _this.saveImage(res.tempFilePath)
-        } else {
-          _this.savevideo(res.tempFilePath)
-        }
-      },
-      fail: function (err) {
-        wx.showToast({
-          title: "下载失败:" + _this.data.select[v],
-          icon: "none"
-        })
-        _this.downCount--;
-        if (_this.downCount <= 0) {
-          wx.hideLoading();
-        }
-      }
-    })
-  },
-  saveImage: function (tempFilePath) {
-    let _this = this;
-    wx.saveImageToPhotosAlbum({
-      filePath: tempFilePath,
-      success: function (res) {
-        _this.downEnd();
-      },
-      fail: function (err) {
-        wx.showToast({
-          title: '下载失败',
-          icon: "none"
-        })
-        _this.downEnd();
-      }
-    })
-  },
-  savevideo: function (tempFilePath) {
-    wx.saveVideoToPhotosAlbum({
-      filePath: tempFilePath,
-      success: function (res) {
-        _this.downEnd();
-      },
-      fail: function (err) {
-        wx.showToast({
-          title: '下载失败',
-          icon: "none"
-        })
-        _this.downEnd();
-      }
-    })
-  },
-  downEnd: function () {
-    this.downCount--;
-    if (this.downCount <= 0) {
-      wx.hideLoading();
-    }
-  },
-  closeVideo: function () {
-    this.setData({
-      showVideo: ""
-    })
-  },
-  closeAnvido: function () {
-    this.setData({
-      showAnVideo: false
-    })
-  }
-})

+ 0 - 6
miniprogram/pages/marvellous/index.json

@@ -1,6 +0,0 @@
-{
-  "usingComponents": {
-    "startAn": "./components/videoAn/index",
-    "mp-icon": "weui-miniprogram/icon/icon"
-  }
-}

+ 0 - 31
miniprogram/pages/marvellous/index.wxml

@@ -1,31 +0,0 @@
-<!--miniprogram/pages/marvellous/index.wxml-->
-<view class="marvellous">
-  <startAn wx:if="{{pageType === 'video' && showAnVideo}}" bindclose="closeAnvido"></startAn>
-  <view class="htead"></view>
-  <view wx:if="{{!showAnVideo}}">
-    <view class="bg" wx:for="{{pageList}}" wx:key="_id">
-      <!-- <text>{{item.time}}</text> -->
-      <view class="icon_container">
-        <view class="icon_item_cell" wx:for="{{item.list}}" wx:key="_id" wx:for-item="v" wx:for-index="o"
-          data-index="{{v.index}}" data-key="{{index}}" data-o="{{o}}" data-url="{{v.url}}" bindtap="showImg"
-          bindlongtap="longtap">
-          <cover-view wx:if="{{showSelect}}" class="btnClose {{ v.select ? 'act': '' }}" size="{{20}}">√</cover-view>
-          <image wx:if="{{pageType === 'img'}}" class="img" src="{{v.url}}"></image>
-          <video show-progress="{{false}}" show-fullscreen-btn="{{false}}" show-play-btn="{{false}}"
-            show-center-play-btn="{{false}}" bindlongtap="longtap" wx:if="{{pageType === 'video'}}" class="video {{}}"
-            src="{{v.url}}"></video>
-        </view>
-      </view>
-    </view>
-  </view>
-  <view class="bottomBtn" wx:if="{{showSelect}}">
-    <view class="btn" bindtap="longClose">取消</view>
-    <view class="btn" style="border-left: 1rpx solid #fff;" bindtap="saveAsset">确认({{select.count}})</view>
-  </view>
-
-  <!-- 视频 -->
-  <view class="videoM " style="display: {{showVideo == '' ? 'none': 'block'}}">
-    <mp-icon class="close" icon="close2" color="#fff" size="{{25}}" bindtap="closeVideo"></mp-icon>
-    <video show-play-btn="{{true}}" class="v" src="{{showVideo}}"></video>
-  </view>
-</view>

+ 0 - 89
miniprogram/pages/marvellous/index.wxss

@@ -1,89 +0,0 @@
-/* miniprogram/pages/marvellous/index.wxss */
-
-.marvellous {
-  padding: 10rpx;
-  height: 100%;
-}
-
-.icon_container {
-  width: 750rpx;
-  margin-left: -10rpx;
-  font-size: 12px;
-  color: #666;
-}
-
-.icon_container .icon_item_cell {
-  position: relative;
-  box-sizing: border-box;
-  display: inline-block;
-  width: 250rpx;
-  padding: 5rpx;
-}
-.icon_container .btnClose{
-  border: 2rpx solid #fff;
-  background-color: rgba(0,0,0, .2);
-  border-radius: 50%;
-  position: absolute;
-  font-size: 25rpx;
-  height: 30rpx;
-  width: 30rpx;
-  right: 10rpx;
-  top: 10rpx;
-  z-index: 1;
-  color: #fff;
-  text-align: center;
-  line-height: 30rpx;
-}
-.icon_container .act{
-  border-color: #07c160;
-  color: #07c160;
-}
-
-.img {
-  width: 245rpx;
-  height: 164rpx;
-}
-.video{
-  width: 245rpx;
-  height: 164rpx;
-}
-
-.bottomBtn{
-  background-color: #eee;
-  position: absolute;
-  width: 750rpx;
-  left: 0;
-  padding: 20rpx 0;
-  color: #333;
-  bottom: 0;
-}
-.bottomBtn .btn{
-  width: 370rpx;
-  text-align: center;
-  display: inline-block;
-}
-.bottomBtn .btn:last-child{
-  border-left: 1rpx solid #eee;
-}
-
-.videoM{
-  top: 0;
-  left: 0;
-  right: 0;
-  bottom: 0;
-  position: fixed;
-  background-color: rgba(0, 0, 0, .2);
-}
-.videoM .close{
-  position:absolute;
-  top: 10rpx;
-  right: 10rpx;
-}
-
-.videoM .v{
-  top: 50%;
-  width: 750rpx;
-  height: 422rpx;
-  position: absolute;
-  transform: translateY(-50%);
-}

+ 0 - 7
miniprogram/sitemap.json

@@ -1,7 +0,0 @@
-{
-  "desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html",
-  "rules": [{
-    "action": "allow",
-    "page": "*"
-  }]
-}

+ 0 - 144
miniprogram/style/guide.wxss

@@ -1,144 +0,0 @@
-page {
-  background: #f6f6f6;
-  display: flex;
-  flex-direction: column;
-  justify-content: flex-start;
-}
-
-.list {
-  margin-top: 40rpx;
-  height: auto;
-  width: 100%;
-  background: #fff;
-  padding: 0 40rpx;
-  border: 1px solid rgba(0, 0, 0, 0.1);
-  border-left: none;
-  border-right: none;
-  transition: all 300ms ease;
-  display: flex;
-  flex-direction: column;
-  align-items: stretch;
-  box-sizing: border-box;
-}
-
-.list-item {
-  width: 100%;
-  padding: 0;
-  line-height: 104rpx;
-  font-size: 34rpx;
-  color: #007aff;
-  border-top: 1px solid rgba(0, 0, 0, 0.1);
-  display: flex;
-  flex-direction: row;
-  align-content: center;
-  justify-content: space-between;
-  box-sizing: border-box;
-}
-
-.list-item:first-child {
-  border-top: none;
-}
-
-.list-item image {
-  max-width: 100%;
-  max-height: 20vh;
-  margin: 20rpx 0;
-}
-
-.request-text {
-  color: #222;
-  padding: 20rpx 0;
-  font-size: 24rpx;
-  line-height: 36rpx;
-  word-break: break-all;
-}
-
-.guide {
-  width: 100%;
-  padding: 40rpx;
-  box-sizing: border-box;
-  display: flex;
-  flex-direction: column;
-}
-
-.guide .headline {
-  font-size: 34rpx;
-  font-weight: bold;
-  color: #555;
-  line-height: 40rpx;
-}
-
-.guide .p {
-  margin-top: 20rpx;
-  font-size: 28rpx;
-  line-height: 36rpx;
-  color: #666;
-}
-
-.guide .code {
-  margin-top: 20rpx;
-  font-size: 28rpx;
-  line-height: 36rpx;
-  color: #666;
-  background: white;
-  white-space: pre;
-}
-
-.guide .code-dark {
-  margin-top: 20rpx;
-  background: rgba(0, 0, 0, 0.8);
-  padding: 20rpx;
-  font-size: 28rpx;
-  line-height: 36rpx;
-  border-radius: 6rpx;
-  color: #fff;
-  white-space: pre
-}
-
-.guide image {
-  max-width: 100%;
-}
-
-.guide .image1 {
-  margin-top: 20rpx;
-  max-width: 100%;
-  width: 356px;
-  height: 47px;
-}
-
-.guide .image2 {
-  margin-top: 20rpx;
-  width: 264px;
-  height: 100px;
-}
-
-.guide .flat-image {
-  height: 100px;
-}
-
-.guide .code-image {
-  max-width: 100%;
-}
-
-.guide .copyBtn {
-  width: 180rpx;
-  font-size: 20rpx;
-  margin-top: 16rpx;
-  margin-left: 0;
-}
-
-.guide .nav {
-  margin-top: 50rpx;
-  display: flex;
-  flex-direction: row;
-  align-content: space-between;
-}
-
-.guide .nav .prev {
-  margin-left: unset;
-}
-
-.guide .nav .next {
-  margin-right: unset;
-}
-

+ 0 - 66
project.config.json

@@ -1,66 +0,0 @@
-{
-  "miniprogramRoot": "miniprogram/",
-  "cloudfunctionRoot": "cloudfunctions/",
-  "setting": {
-    "urlCheck": false,
-    "es6": true,
-    "enhance": true,
-    "postcss": true,
-    "preloadBackgroundData": false,
-    "minified": true,
-    "newFeature": true,
-    "coverView": true,
-    "nodeModules": true,
-    "autoAudits": false,
-    "showShadowRootInWxmlPanel": true,
-    "scopeDataCheck": false,
-    "uglifyFileName": false,
-    "checkInvalidKey": true,
-    "checkSiteMap": true,
-    "uploadWithSourceMap": true,
-    "compileHotReLoad": false,
-    "useMultiFrameRuntime": true,
-    "useApiHook": true,
-    "useApiHostProcess": true,
-    "babelSetting": {
-      "ignore": [],
-      "disablePlugins": [],
-      "outputPath": ""
-    },
-    "enableEngineNative": false,
-    "useIsolateContext": true,
-    "useCompilerModule": true,
-    "userConfirmedUseCompilerModuleSwitch": false,
-    "userConfirmedBundleSwitch": false,
-    "packNpmManually": false,
-    "packNpmRelationList": [],
-    "minifyWXSS": true
-  },
-  "appid": "wx0cf4e5aa4357576b",
-  "projectname": "miniprogram-1",
-  "libVersion": "2.14.1",
-  "cloudfunctionTemplateRoot": "cloudfunctionTemplate",
-  "condition": {
-    "search": {
-      "list": []
-    },
-    "conversation": {
-      "list": []
-    },
-    "plugin": {
-      "list": []
-    },
-    "game": {
-      "list": []
-    },
-    "miniprogram": {
-      "list": [
-        {
-          "id": -1,
-          "name": "db guide",
-          "pathName": "pages/databaseGuide/databaseGuide"
-        }
-      ]
-    }
-  }
-}

+ 0 - 36
project.private.config.json

@@ -1,36 +0,0 @@
-{
-  "setting": {},
-  "condition": {
-    "plugin": {
-      "list": []
-    },
-    "game": {
-      "list": []
-    },
-    "gamePlugin": {
-      "list": []
-    },
-    "miniprogram": {
-      "list": [
-        {
-          "name": "pages/marvellous/index",
-          "pathName": "pages/marvellous/index",
-          "query": "title=%E7%B2%BE%E5%BD%A9%E7%9E%AC%E9%97%B4",
-          "scene": null
-        },
-        {
-          "name": "pages/ruins/index",
-          "pathName": "pages/ruins/index",
-          "query": "",
-          "scene": null
-        },
-        {
-          "name": "pages/provincialArea/index",
-          "pathName": "pages/provincialArea/index",
-          "query": "title=%E4%B8%8A%E6%B5%B7",
-          "scene": null
-        }
-      ]
-    }
-  }
-}

Some files were not shown because too many files changed in this diff