index.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. 'use strict';
  2. const success = {
  3. success: true
  4. }
  5. const fail = {
  6. success: false
  7. }
  8. const checkVersion = require('./checkVersion')
  9. exports.main = async (event, context) => {
  10. //event为客户端上传的参数
  11. const db = uniCloud.database()
  12. const appListDBName = 'opendb-app-list'
  13. const appVersionDBName = 'opendb-app-versions'
  14. let res = {};
  15. if (event.headers) {
  16. try {
  17. if (event.httpMethod.toLocaleLowerCase() === 'get') {
  18. event = event.queryStringParameters;
  19. } else {
  20. event = JSON.parse(event.body);
  21. }
  22. } catch (e) {
  23. return {
  24. code: 500,
  25. msg: '请求错误'
  26. };
  27. }
  28. }
  29. let params = event.data || event.params;
  30. switch (event.action) {
  31. case 'checkVersion':
  32. res = await checkVersion(event, context)
  33. break;
  34. case 'deleteFile':
  35. res = await uniCloud.deleteFile({
  36. fileList: params.fileList
  37. })
  38. break;
  39. case 'setNewAppData':
  40. params.value.create_date = Date.now()
  41. res = await db.collection(appListDBName).doc(params.id).set(params.value)
  42. break;
  43. case 'getAppInfo':
  44. let dbAppList
  45. try {
  46. dbAppList = db.collection(appListDBName)
  47. } catch (e) {}
  48. if (!dbAppList) return fail;
  49. const dbAppListRecord = await dbAppList.where({
  50. appid: params.appid
  51. }).get()
  52. if (dbAppListRecord && dbAppListRecord.data.length)
  53. return Object.assign({}, success, dbAppListRecord.data[0])
  54. //返回数据给客户端
  55. return fail
  56. break;
  57. case 'getAppVersionInfo':
  58. let dbVersionList
  59. try {
  60. dbVersionList = db.collection(appVersionDBName)
  61. } catch (e) {}
  62. if (!dbVersionList) return fail;
  63. const dbVersionListrecord = await dbVersionList.where({
  64. appid: params.appid,
  65. platform: params.platform,
  66. type: "native_app",
  67. stable_publish: true
  68. })
  69. .orderBy('create_date', 'desc')
  70. .get();
  71. if (dbVersionListrecord && dbVersionListrecord.data && dbVersionListrecord.data.length > 0)
  72. return Object.assign({}, dbVersionListrecord.data[0], success)
  73. return fail
  74. break;
  75. }
  76. //返回数据给客户端
  77. return res
  78. };