1.0.6 • Published 11 months ago

@legns/leg-wx-page v1.0.6

Weekly downloads
-
License
MIT
Repository
-
Last release
11 months ago

leg-wx-page

微信小程序 魔改 写法

版本

1.0.6 新增加自定义修改优化

//app.ts中添加
//onLaunch的globalThis仍需要(防止出错,毕竟官方没有说支持globalThis)
const leg = require('@legns/leg-wx-page') as any;

// demo为自定义的如果不自定义则不需要 调用leg.set()方法
const demo = require('./utils/demo')
leg.set(demo)

//demo.ts
module.exports = {
    page: {
        /**
         第一个写法
         只会执行此方法 你在调用页面写的Message函数会失效
        */
        Messages() {
            return function (q: any) {
                setTimeout(() => {
                    wx.showToast({
                        title: q.title,
                        icon: 'none',
                        duration: q.time || 2000
                    });
                }, 200);
            };
        },
        /**
         第二个写法
         都会执行 先执行此函数
         在执行你在调用页面的函数
        */
        Message(message: any) {
            return function (q: any) {
                //判断当前页面是否有这个函数
                if (!message) {
                    setTimeout(() => {
                        wx.showToast({
                            title: q.title,
                            icon: 'none',
                            duration: q.time || 2000
                        });
                    }, 200);
                } else {
                    //有就返回
                    return message.call(this, q, { a: 123 })
                }
            };
        }
    },
    wx: {
        //改写或添加自己的方法 wx.调用
        navigateToProxy(navigateTo: any): any {
            return function newNavigateTo(object: any) {
                let param = myParamToJson(object.param);
                object.url = object.url + "?param=" + JSON.stringify(param)

                return navigateTo({
                    ...object,
                });
            };
        }
    }
}

1.0.5 leg.data产生的bug修复优化

安装

npm install leg-wx-page --save

使用

用法1:
    在app.js/ts中引用即可
    require('@legns/leg-wx-page')
用法2:
    在app.js/ts中引用即可
    const leg = require('@legns/leg-wx-page')
    并在onLaunch写入
    if (typeof globalThis === 'undefined') {
      Object.defineProperty(globalThis, "leg", {
        get() {
          return leg
        },
        configurable: false,
        enumerable: false
      });
    } else {
      //@ts-ignore
      globalThis.leg = leg;
    }

魔改了以下方法与生命周期

公共的有
    onLoad
    myBack
    goto
    clear
    Message
    onShow
用法2添加了 this.setData 的另一种写法
但没有修原 this.setData (改过this.data但太耗性能了)用法如下:
    leg.data={time:{asd:321}}
    leg.data.time.asd=123
    leg.data.end.name.toFixed(3)
    leg.data['time[0].asd']
    可正常如js复制写且能动态渲染

ts:需在typings/types/wx/lib.wx.page.d.ts中添加[name: string]: any 在47行左右
    interface ILifetime {
      [name: string]: any

有其他bug问题请反馈https://gitee.com/Lucky8Guy/LEG/issues 或QQ 1334199284

1.0.6

11 months ago

1.0.5

11 months ago

1.0.4

11 months ago

1.0.3

11 months ago

1.0.2

11 months ago

1.0.1

11 months ago

1.0.0

11 months ago