mixin.js 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. // 引入自己封装的方法
  2. import Helper from '@/util/plugins/helper.js'
  3. // 引入big.js
  4. import Big from '@/static/js/big.js'
  5. Big.prototype.toNumber = function() {
  6. return Number(this)
  7. }
  8. /*
  9. * @description 定义全局mixin。
  10. * @example-$M_Big $M_Big格式:$M(表示mixin的的方法) Big(表示具体方法名)
  11. */
  12. export default {
  13. methods: {
  14. // 阻止冒泡
  15. $M_stopPrevent() {
  16. return false;
  17. },
  18. // 调试
  19. $M_Log(...obj) {
  20. console.log('\n', ...obj, '\n')
  21. },
  22. /*
  23. 加-add:this.$M_Big(num1).add(num2).toNumber();
  24. 减-sub:this.$M_Big(num1).sub(num2).toNumber();
  25. 乘-mul:this.$M_Big(num1).mul(num2).toNumber();
  26. 除-div:this.$M_Big(num1).div(num2).toNumber();
  27. */
  28. $M_Big(opt) {
  29. // 浮点计算: 加-add 减-sub 乘-mul 除-div 四舍五入-round(位数,模式)
  30. return new Big(opt)
  31. },
  32. // 路由跳转
  33. $M_Go(url, opt = {}) {
  34. return uni.navigateTo({
  35. animationType: 'pop-in',
  36. animationDuration: 200,
  37. url,
  38. ...opt
  39. })
  40. },
  41. $M_Rd(url, opt = {}) {
  42. return uni.redirectTo({
  43. animationType: 'pop-in',
  44. animationDuration: 200,
  45. url,
  46. ...opt
  47. })
  48. },
  49. $M_Rl(url, opt = {}) {
  50. return uni.reLaunch({
  51. animationType: 'pop-in',
  52. animationDuration: 200,
  53. url,
  54. ...opt
  55. })
  56. },
  57. $M_Back(delta, opt) {
  58. return uni.navigateBack({
  59. delta,
  60. ...opt
  61. })
  62. },
  63. // VUEX 语法糖
  64. $M_Dp(name, data) {
  65. return this.$store.dispatch(name, data)
  66. },
  67. $M_Cm(name, data) {
  68. return this.$store.commit(name, data)
  69. },
  70. $M_GS(module, data) {
  71. return this.$store.state[module][data]
  72. },
  73. // 对象
  74. $M_Extend: Helper.Extend, // 继承一个对象$M_Extend(obj,...obj)
  75. $M_Origin: Helper.Origin, // 拷贝一个对象(有缺陷)
  76. $M_DeepCopy: Helper.DeepCopy, // 完美深拷贝一个对象
  77. $M_IsEmpty: Helper.IsEmpty, // 判断是否是空对象、数组
  78. $M_ArrayToObject: Helper
  79. .ArrayToObject, // ArrayToObject(array,key) 把数组转换为对象格式,第一个参数传入对象,第二个参数传入使用 item 的哪一个参数作为对象属性的 key , 不传则默认使用数组索引
  80. // 缓存
  81. $M_Cache: Helper
  82. .Cache, // 获取缓存-Cache(key) 清除缓存-Cache(key,null) 设置缓存-Cache(key,val,timeout) // timeout: 缓存时间单位 Number 秒 || '10m'=分钟 '10h'=小时 '10d'=天
  83. $M_CacheClean: Helper.CacheClean, // 清理所有缓存
  84. $M_Token: Helper.Token, // 获取-Token() 保存-Token(val) 清除-Token(null)
  85. // 时间格式化
  86. $M_Time: Helper
  87. .Time, // 获取日期字符串,不传 Date 默认获取当前日期 Time(Date,"yyyy-MM-dd hh:mm:ss"),也可把 Date 参数替换城时间戳,方法自动判断时间戳单位是秒或毫秒
  88. $M_Timestamp: Helper.Timestamp, // 把 Date 日期转换为时间戳,单位秒,如果不传 Date 则默认取当前时间戳
  89. $M_UnTimestamp: Helper.UnTimestamp, // 同 Time 方法
  90. },
  91. }