props.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. import { defineProps } from '../../libs/util/props';
  2. export default defineProps('signature', {
  3. // 标题
  4. title: {
  5. type: String,
  6. default: () => uni.$u.$t('uSignature.title'),
  7. },
  8. // 是否显示标题
  9. showTitle: {
  10. type: Boolean,
  11. default: true,
  12. },
  13. // 是否显示工具栏
  14. showToolbar: {
  15. type: Boolean,
  16. default: true,
  17. },
  18. // 是否显示颜色列表
  19. showColorList: {
  20. type: Boolean,
  21. default: true,
  22. },
  23. // 是否显示清空按钮
  24. showClear: {
  25. type: Boolean,
  26. default: true,
  27. },
  28. // 是否显示撤销按钮
  29. showUndo: {
  30. type: Boolean,
  31. default: true,
  32. },
  33. // 是否显示关闭按钮
  34. showClose: {
  35. type: Boolean,
  36. default: true,
  37. },
  38. // 关闭按钮的文本
  39. closeText: {
  40. type: String,
  41. default: () => uni.$u.$t('uSignature.closeText'),
  42. },
  43. // 清空按钮的文本
  44. clearText: {
  45. type: String,
  46. default: () => uni.$u.$t('uSignature.clearText'),
  47. },
  48. // 撤销按钮的文本
  49. undoText: {
  50. type: String,
  51. default: () => uni.$u.$t('uSignature.undoText'),
  52. },
  53. // 完成按钮的文本
  54. confirmText: {
  55. type: String,
  56. default: () => uni.$u.$t('uSignature.confirmText'),
  57. },
  58. // 工具栏对齐方式
  59. toolbarStyle: {
  60. type: Object,
  61. default: () => ({}),
  62. },
  63. // 是否固定标题栏和工具栏
  64. fixed: {
  65. type: Boolean,
  66. default: false,
  67. },
  68. // 线条最小宽度
  69. minLineWidth: {
  70. type: [String, Number],
  71. default: 2,
  72. },
  73. // 线条最大宽度
  74. maxLineWidth: {
  75. type: [String, Number],
  76. default: 6,
  77. },
  78. // 画笔颜色
  79. penColor: {
  80. type: String,
  81. default: '#333333',
  82. },
  83. // 画笔颜色列表
  84. penColorList: {
  85. type: Array,
  86. default: ['#333333', '#FF1E10', '#FFBE00', '#1A9BFF', '#1AAD19'],
  87. },
  88. // 画笔大小
  89. penSize: {
  90. type: [String, Number],
  91. default: 2,
  92. },
  93. // 背景颜色
  94. backgroundColor: {
  95. type: String,
  96. default: '#ffffff',
  97. },
  98. // 是否开启压感
  99. openSmooth: {
  100. type: Boolean,
  101. default: false,
  102. },
  103. // 最大历史记录数
  104. maxHistoryLength: {
  105. type: [String, Number],
  106. default: 20,
  107. },
  108. // 是否横屏
  109. landscape: {
  110. type: Boolean,
  111. default: false,
  112. },
  113. // 是否禁用滚动
  114. disableScroll: {
  115. type: Boolean,
  116. default: true,
  117. },
  118. // 是否禁用
  119. disabled: {
  120. type: Boolean,
  121. default: false,
  122. },
  123. // 只生成内容区域
  124. boundingBox: {
  125. type: Boolean,
  126. default: false,
  127. },
  128. // 输出的图片类型,如果发现裁剪的图片很大,可能是因为设置为了"png",改成"jpg"即可
  129. fileType: {
  130. type: String,
  131. default: 'png',
  132. },
  133. // 图片的质量,取值范围为 (0, 1],不在范围内时当作1.0处理
  134. quality: {
  135. type: Number,
  136. default: 1,
  137. },
  138. // 是否显示水印
  139. showWatermark: {
  140. type: Boolean,
  141. default: false,
  142. },
  143. // 水印配置对象
  144. watermark: {
  145. type: Object,
  146. default: () => ({
  147. showOnSave: true,
  148. text: '',
  149. color: 'rgba(0, 0, 0, 0.2)',
  150. fontSize: 16,
  151. fontFamily: 'Arial',
  152. rotate: -30,
  153. spacing: 100,
  154. single: false
  155. }),
  156. },
  157. });