setting.js 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  1. 'use strict';
  2. const { Controller } = require('ee-core');
  3. const Log = require('ee-core/log');
  4. const Services = require('ee-core/services');
  5. const path = require('path');
  6. const fs = require('fs');
  7. const {
  8. getDeviceConfigs,
  9. getDeviceConfigDetail,
  10. getDeviceConfigDetailQuery,
  11. removeConfig,
  12. saveDeviceConfig,
  13. resetDeviceConfig,
  14. updateSysConfigs,
  15. getSysConfig,
  16. getDeviceTabs,
  17. updateLeftRightConfig,
  18. updateTabName,
  19. syncSysConfigs,
  20. syncPhotoRecord,
  21. syncActions
  22. } = require('../api/setting');
  23. const { t } = require('../config/i18n');
  24. const errData = {
  25. msg : t('common.requestFailed'),
  26. code: 999
  27. }
  28. /**
  29. * 设置控制器
  30. * @class
  31. */
  32. class SettingController extends Controller {
  33. constructor(ctx) {
  34. super(ctx);
  35. this.configPath = path.join(__dirname, '..', 'config', 'app.config.json');
  36. }
  37. /**
  38. * 获取设备配置列表
  39. */
  40. async getDeviceConfigList(args) {
  41. try {
  42. const result = await getDeviceConfigs(args);
  43. if(result.data) return result.data
  44. return errData;
  45. } catch (error) {
  46. Log.error('获取设备配置列表失败:', error);
  47. return errData;
  48. }
  49. }
  50. /**
  51. * 获取二级 设备配置列表
  52. */
  53. async getDeviceTabs(args) {
  54. try {
  55. const result = await getDeviceTabs(args);
  56. if(result.data) return result.data
  57. return errData;
  58. } catch (error) {
  59. Log.error('获取设备配置二级列表失败:', error);
  60. return errData;
  61. }
  62. }
  63. /**
  64. * 获取设备配置详情
  65. * @param {Object} args - 配置ID
  66. */
  67. async getDeviceConfigDetail(args) {
  68. try {
  69. let fun = getDeviceConfigDetail
  70. if(!args.id) {
  71. fun = getDeviceConfigDetailQuery
  72. }
  73. const result = await fun(args);
  74. if(result.data) return result.data
  75. return errData;
  76. } catch (error) {
  77. Log.error('获取设备配置详情失败:', error);
  78. return errData;
  79. }
  80. }
  81. /**
  82. * 删除设备配置
  83. * @param {Object} args - 配置ID
  84. */
  85. async removeDeviceConfig(args) {
  86. try {
  87. const result = await removeConfig(args)
  88. if(result.data) return result.data
  89. return errData;
  90. } catch (error) {
  91. Log.error('删除设备配置失败:', error);
  92. return errData;
  93. }
  94. }
  95. /**
  96. * 保存设备配置
  97. * @param {Object} args - 配置内容
  98. */
  99. async saveDeviceConfig(args) {
  100. try {
  101. const result = await saveDeviceConfig(args);
  102. if(result.data) return result.data
  103. return errData;
  104. } catch (error) {
  105. Log.error('保存设备配置失败:', error);
  106. return errData;
  107. }
  108. }
  109. async updateLeftRightConfig(args) {
  110. try {
  111. const result = await updateLeftRightConfig(args);
  112. if(result.data) return result.data
  113. return errData;
  114. } catch (error) {
  115. Log.error('更新左右脚失败:', error);
  116. return errData;
  117. }
  118. }
  119. /**
  120. * 重置设备配置
  121. * @param {Object} args - 配置ID
  122. */
  123. async resetDeviceConfig(args) {
  124. try {
  125. const result = await resetDeviceConfig(args);
  126. if(result.data) return result.data
  127. return errData;
  128. } catch (error) {
  129. Log.error('重置设备配置失败:', error);
  130. return errData;
  131. }
  132. }
  133. async updateTabName(args) {
  134. try {
  135. const result = await updateTabName(args);
  136. if(result.data) return result.data
  137. return errData;
  138. } catch (error) {
  139. Log.error('重命名配置失败:', error);
  140. return errData;
  141. }
  142. }
  143. /**
  144. * 读取配置
  145. * @param {Object} args - 配置ID
  146. */
  147. async getSysConfig(args) {
  148. try {
  149. const result = await getSysConfig(args);
  150. if(result.data) return result.data
  151. return errData;
  152. } catch (error) {
  153. Log.error('重置设备配置失败:', error);
  154. return errData;
  155. }
  156. }
  157. /**
  158. * 保存配置
  159. * @param {Object} args - 配置ID
  160. */
  161. async updateSysConfigs(args) {
  162. try {
  163. const result = await updateSysConfigs(args);
  164. if(result.data) return result.data
  165. return errData;
  166. } catch (error) {
  167. Log.error('保存配置:', error);
  168. return errData;
  169. }
  170. }
  171. /**
  172. * 同步创作历史
  173. * @param {Object} token
  174. */
  175. async syncPhotoRecord(args) {
  176. try {
  177. const result = await syncPhotoRecord(args);
  178. if(result.data) return result.data
  179. return errData;
  180. } catch (error) {
  181. Log.error('同步配置接口:', error);
  182. return errData;
  183. }
  184. }
  185. /**
  186. * 同步配置接口
  187. * @param {Object} token
  188. */
  189. async syncSysConfigs(args) {
  190. try {
  191. const result = await syncSysConfigs(args);
  192. if(result.data) return result.data
  193. return errData;
  194. } catch (error) {
  195. Log.error('同步配置接口:', error);
  196. return errData;
  197. }
  198. }
  199. /**
  200. * 同步左右脚配置
  201. * @param {Object} token
  202. */
  203. async syncActions(args) {
  204. try {
  205. const result = await syncActions(args);
  206. if(result.data){
  207. await syncSysConfigs(args);
  208. return result.data
  209. }
  210. return errData;
  211. } catch (error) {
  212. Log.error('同步左右脚配置:', error);
  213. return errData;
  214. }
  215. }
  216. }
  217. SettingController.toString = () => '[class SettingController]';
  218. module.exports = SettingController;