@legns/leg-wx-page

1.0.6 • Public • Published

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

Package Sidebar

Install

npm i @legns/leg-wx-page

Weekly Downloads

1

Version

1.0.6

License

MIT

Unpacked Size

25.5 kB

Total Files

4

Last publish

Collaborators

  • lucky8guy