snippet.json 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339
  1. {
  2. "vue-template": {
  3. "prefix": "vue2",
  4. "body": [
  5. "<template>",
  6. " <div id=\"${TM_FILENAME_BASE}\">",
  7. " <p>${TM_FILENAME_BASE}</p>",
  8. " </div>",
  9. "</template>",
  10. "",
  11. "<script>",
  12. "import { mapState, createNamespacedHelpers } from 'vuex';",
  13. "export default {",
  14. " name: '${TM_FILENAME_BASE}',",
  15. " props: {},",
  16. " components: {},",
  17. " data: function () {",
  18. " return {};",
  19. " },",
  20. " created() {},",
  21. " methods: {},",
  22. " computed: {",
  23. " ...mapState(['user', 'menuParams']),",
  24. " pageTitle() {",
  25. " return `${this.\\$route.meta.title}`;",
  26. " },",
  27. " },",
  28. " metaInfo() {",
  29. " return { title: this.\\$route.meta.title };",
  30. " },",
  31. "};",
  32. "</script>",
  33. "",
  34. "<style lang=\"less\" scoped></style>",
  35. "",
  36. ],
  37. "description": "vue template"
  38. },
  39. "fast lodash": {
  40. "prefix": "lodash",
  41. "body": [
  42. "const _ = require('lodash');",
  43. ],
  44. "description": "lodash"
  45. },
  46. "fast moment": {
  47. "prefix": "moment",
  48. "body": [
  49. "const moment = require('moment');",
  50. ],
  51. "description": "moment"
  52. },
  53. "JSON copy": {
  54. "prefix": "JSONps",
  55. "body": [
  56. "JSON.parse(JSON.stringify(${1}));",
  57. ],
  58. "description": "space"
  59. },
  60. "console in function": {
  61. "prefix": "function in",
  62. "body": [
  63. "console.log('in function:');",
  64. ],
  65. "description": "test button "
  66. },
  67. "fast import components": {
  68. "prefix": "import components",
  69. "body": [
  70. "import ${1} from '@/components/${1}.vue';",
  71. ],
  72. "description": "fast import components "
  73. },
  74. "log": {
  75. "prefix": "log",
  76. "body": [
  77. "console.log(${1});",
  78. ],
  79. "description": "fast import components "
  80. },
  81. "duplicate": {
  82. "prefix": "duplicate",
  83. "body": [
  84. "let dup = _.cloneDeep(${1});",
  85. ],
  86. "description": "fast copy "
  87. },
  88. // vue3模板
  89. "vue3-template": {
  90. "prefix": "vue3",
  91. "body": [
  92. "<template>",
  93. " <div id=\"${TM_FILENAME_BASE}\">",
  94. " <p>${TM_FILENAME_BASE}</p>",
  95. " </div>",
  96. "</template>",
  97. "",
  98. "<script>",
  99. "import { defineComponent, ref, reactive } from 'vue';",
  100. "export default defineComponent({",
  101. " name: '${TM_FILENAME_BASE}',",
  102. " components: {},",
  103. " props: {},",
  104. " setup(props, context) {",
  105. " return {};",
  106. " },",
  107. "});",
  108. "</script>",
  109. "",
  110. "<style lang=\"less\" scoped></style>",
  111. "",
  112. ],
  113. "description": "vue template"
  114. },
  115. // 服务端部分
  116. "mongodb model column": {
  117. "prefix": "mmc",
  118. "body": [
  119. "${1}: { type: ${2} }, // ${3}",
  120. ],
  121. "description": "mongodb fast model "
  122. },
  123. "egg controller config": {
  124. "prefix": "egg config",
  125. "body": [
  126. "module.exports = {",
  127. " create: {",
  128. " requestBody: [],",
  129. " },",
  130. " destroy: {",
  131. " params: [\"!id\"],",
  132. " service: \"delete\",",
  133. " },",
  134. " update: {",
  135. " params: [\"!id\"],",
  136. " requestBody: [],",
  137. " },",
  138. " show: {",
  139. " parameters: {",
  140. " params: [\"!id\"],",
  141. " },",
  142. " service: \"fetch\",",
  143. " },",
  144. " index: {",
  145. " parameters: {",
  146. " query: {",
  147. " \"meta.createdAt@start\": \"meta.createdAt@start\",",
  148. " \"meta.createdAt@end\": \"meta.createdAt@end\",",
  149. " },",
  150. " // options: {",
  151. " // \"meta.state\": 0 // 默认条件",
  152. " // },",
  153. " },",
  154. " service: \"query\",",
  155. " options: {",
  156. " query: [\"skip\", \"limit\"],",
  157. " sort: [\"meta.createdAt\"],",
  158. " desc: true,",
  159. " count: true,",
  160. " },",
  161. " },",
  162. "};",
  163. "",
  164. ],
  165. "description": "egg fast controller config "
  166. },
  167. "mongodb model free": {
  168. "prefix": "fmmodel",
  169. "body": [
  170. "'use strict';",
  171. "const Schema = require('mongoose').Schema;",
  172. "const moment = require('moment');",
  173. "const metaPlugin = require('naf-framework-mongoose-free/lib/model/meta-plugin');",
  174. "const { ObjectId } = require('mongoose').Types;",
  175. "// ${1}表",
  176. "const ${TM_FILENAME_BASE} = {",
  177. " remark: { type: String },",
  178. "};",
  179. "const schema = new Schema(${TM_FILENAME_BASE}, { toJSON: { virtuals: true } });",
  180. "schema.index({ id: 1 });",
  181. "schema.index({ 'meta.createdAt': 1 });",
  182. "schema.plugin(metaPlugin);",
  183. "module.exports = app => {",
  184. " const { mongoose } = app;",
  185. " return mongoose.model('${TM_FILENAME_BASE/(.*)/${1:/capitalize}/}', schema, '${TM_FILENAME_BASE}');",
  186. "};",
  187. "",
  188. ],
  189. "description": "mongodb fast model "
  190. },
  191. "egg service free": {
  192. "prefix": "fegg service",
  193. "body": [
  194. "'use strict';",
  195. "const { CrudService } = require('naf-framework-mongoose-free/lib/service');",
  196. "const { BusinessError, ErrorCode } = require('naf-core').Error;",
  197. "const _ = require('lodash');",
  198. "const assert = require('assert');",
  199. "",
  200. "// $2",
  201. "class ${TM_FILENAME_BASE/(.*)/${1:/capitalize}/}Service extends CrudService {",
  202. " constructor(ctx) {",
  203. " super(ctx, '${TM_FILENAME_BASE/(.*)/${1:/downcase}/}');",
  204. " this.model = this.ctx.model.$3${TM_FILENAME_BASE/(.*)/${1:/capitalize}/};",
  205. " }",
  206. "}",
  207. "",
  208. "module.exports = ${TM_FILENAME_BASE/(.*)/${1:/capitalize}/}Service;",
  209. "",
  210. ],
  211. "description": "egg fast service "
  212. },
  213. "egg controller free": {
  214. "prefix": "fegg controller",
  215. "body": [
  216. "'use strict';",
  217. "const meta = require('./.${TM_FILENAME_BASE/(.*)/${1:/downcase}/}.js');",
  218. "const Controller = require('egg').Controller;",
  219. "const { CrudController } = require('naf-framework-mongoose-free/lib/controller');",
  220. "",
  221. "// $1",
  222. "class ${TM_FILENAME_BASE/(.*)/${1:/capitalize}/}Controller extends Controller {",
  223. " constructor(ctx) {",
  224. " super(ctx);",
  225. " this.service = this.ctx.service.$2${TM_FILENAME_BASE/(.*)/${1:/downcase}/};",
  226. " }",
  227. "}",
  228. "module.exports = CrudController(${TM_FILENAME_BASE/(.*)/${1:/capitalize}/}Controller, meta);",
  229. "",
  230. ],
  231. "description": "egg fast controller "
  232. },
  233. "mongodb model": {
  234. "prefix": "mmodel",
  235. "body": [
  236. "'use strict';",
  237. "const Schema = require('mongoose').Schema;",
  238. "const moment = require('moment');",
  239. "const metaPlugin = require('naf-framework-mongoose/lib/model/meta-plugin');",
  240. "const { ObjectId } = require('mongoose').Types;",
  241. "// ${1}表",
  242. "const ${TM_FILENAME_BASE} = {",
  243. " remark: { type: String },",
  244. "};",
  245. "const schema = new Schema(${TM_FILENAME_BASE}, { toJSON: { virtuals: true } });",
  246. "schema.index({ id: 1 });",
  247. "schema.index({ 'meta.createdAt': 1 });",
  248. "schema.plugin(metaPlugin);",
  249. "module.exports = app => {",
  250. " const { mongoose } = app;",
  251. " return mongoose.model('${TM_FILENAME_BASE/(.*)/${1:/capitalize}/}', schema, '${TM_FILENAME_BASE}');",
  252. "};",
  253. "",
  254. ],
  255. "description": "mongodb fast model "
  256. },
  257. "egg service": {
  258. "prefix": "egg service",
  259. "body": [
  260. "'use strict';",
  261. "const { CrudService } = require('naf-framework-mongoose/lib/service');",
  262. "const { BusinessError, ErrorCode } = require('naf-core').Error;",
  263. "const _ = require('lodash');",
  264. "const assert = require('assert');",
  265. "",
  266. "// $2",
  267. "class ${TM_FILENAME_BASE/(.*)/${1:/capitalize}/}Service extends CrudService {",
  268. " constructor(ctx) {",
  269. " super(ctx, '${TM_FILENAME_BASE/(.*)/${1:/downcase}/}');",
  270. " this.model = this.ctx.model.$3${TM_FILENAME_BASE/(.*)/${1:/capitalize}/};",
  271. " }",
  272. "}",
  273. "",
  274. "module.exports = ${TM_FILENAME_BASE/(.*)/${1:/capitalize}/}Service;",
  275. "",
  276. ],
  277. "description": "egg fast service "
  278. },
  279. "egg controller": {
  280. "prefix": "egg controller",
  281. "body": [
  282. "'use strict';",
  283. "const meta = require('./.${TM_FILENAME_BASE/(.*)/${1:/downcase}/}.js');",
  284. "const Controller = require('egg').Controller;",
  285. "const { CrudController } = require('naf-framework-mongoose/lib/controller');",
  286. "",
  287. "// $1",
  288. "class ${TM_FILENAME_BASE/(.*)/${1:/capitalize}/}Controller extends Controller {",
  289. " constructor(ctx) {",
  290. " super(ctx);",
  291. " this.service = this.ctx.service.$2${TM_FILENAME_BASE/(.*)/${1:/downcase}/};",
  292. " }",
  293. "}",
  294. "module.exports = CrudController(${TM_FILENAME_BASE/(.*)/${1:/capitalize}/}Controller, meta);",
  295. "",
  296. ],
  297. "description": "egg fast controller "
  298. },
  299. "check result":{
  300. "prefix": "cres",
  301. "body":[
  302. "if (this.\\$checkRes(res)) {",
  303. " ",
  304. "}"
  305. ],
  306. "description": "fast $checkRes "
  307. },
  308. "$set":{
  309. "prefix": "$set",
  310. "body":[
  311. "this.\\$set(this${1}, `${2}`, ${3});",
  312. ],
  313. "description": "fast $checkRes "
  314. },
  315. "computed var":{
  316. "prefix": "comvar",
  317. "body":[
  318. "${1}() {",
  319. " return ${2}",
  320. "},"
  321. ]
  322. },
  323. "middleware":{
  324. "prefix": "mware",
  325. "body":[
  326. "'use strict';",
  327. "const _ = require('lodash');",
  328. "module.exports = options => {",
  329. " return async function ${TM_FILENAME_BASE/(.*)/${1:/downcase}/}(ctx, next) {",
  330. " console.log('function in ${TM_FILENAME_BASE/(.*)/${1:/downcase}/} middleware');",
  331. " await next();",
  332. " };",
  333. "};",
  334. ""
  335. ]
  336. }
  337. }