wx.js 853 B

1234567891011121314151617181920212223242526272829
  1. // 微信程序的context适配
  2. var CAPITALIZED_ATTRS_MAP = {
  3. fontSize: 'FontSize',
  4. opacity: 'GlobalAlpha',
  5. lineDash: 'LineDash',
  6. textAlign: 'TextAlign',
  7. };
  8. /**
  9. * wxapp textAlign align 可选值为 left|center|right
  10. * 标准canvas textAlign align 可选值为 left|center|right|start|end
  11. */
  12. var TEXT_ALIGN_MAP = {
  13. start: 'left',
  14. end: 'right',
  15. };
  16. export default (function (ctx) {
  17. Object.keys(CAPITALIZED_ATTRS_MAP).map(function (style) {
  18. Object.defineProperty(ctx, style, {
  19. set: function (value) {
  20. if (style === 'textAlign') {
  21. value = TEXT_ALIGN_MAP[value] ? TEXT_ALIGN_MAP[value] : value;
  22. }
  23. var name = 'set' + CAPITALIZED_ATTRS_MAP[style];
  24. ctx[name](value);
  25. }
  26. });
  27. return style;
  28. });
  29. });