这是一个使用webpack打包的小程序页面代码,包含了一个重置密码功能。

页面加载时会调用 styleChange 方法,该方法为空,没有实际作用。

onResetPass 方法用于重置密码,首先判断输入的账号是否为空,如果为空则提示用户输入账号,否则判断选择的角色是否为空,如果为空则提示用户选择角色,否则调用 $api.resetPass 方法,该方法接收两个参数,分别是角色和账号,调用成功后,弹出重置密码成功的提示框,提示用户初始密码为 123456

optionsChange 方法通过传入的参数 n,获取到用户选择的角色,并将其赋值给 index

该页面导出了一个包含 dataonLoadmethods 属性的对象:

  • data 属性包含一个 options 数组和一个 optionsValues 数组,分别用于存放角色名称和角色值,index 属性用于存放用户选择的角色下标。
  • onLoad 方法在页面加载时调用,调用了 styleChange 方法。
  • methods 属性包含了 onResetPassoptionsChangestyleChange 方法,分别用于重置密码、选择角色和样式改变。

以下是对代码的详细分析:

(global['webpackJsonp'] = global['webpackJsonp'] || []).push([  ['pages/forget/forget'], {
    '658d': function (n, t, e) {
      'use strict';
      (function (n) {
        e('b3d6');
        u(e('66fd'));
        var t = u(e('8592'));

        function u(n) {
          return n && n.__esModule ? n : {
            default: n
          }
        }
        n(t.default)
      }).call(this, e('543d')['createPage'])
    },
    '775f': function (n, t, e) {},
    8592: function (n, t, e) {
      'use strict';
      e.r(t);
      var u = e('e9a3'),
        r = e('dcc0');
      for (var a in r) 'default' !== a && function (n) {
        e.d(t, n, (function () {
          return r[n]
        }))
      }(a);
      e('e1ec');
      var o, i = e('f0c5'),
        c = Object(i['a'])(r['default'], u['b'], u['c'], !1, null, null, null, !1, u['a'], o);
      t['default'] = c.exports
    },
    dcc0: function (n, t, e) {
      'use strict';
      e.r(t);
      var u = e('f3c8'),
        r = e.n(u);
      for (var a in u) 'default' !== a && function (n) {
        e.d(t, n, (function () {
          return u[n]
        }))
      }(a);
      t['default'] = r.a
    },
    e1ec: function (n, t, e) {
      'use strict';
      var u = e('775f'),
        r = e.n(u);
      r.a
    },
    e9a3: function (n, t, e) {
      'use strict';
      var u;
      e.d(t, 'b', (function () {
        return r
      })), e.d(t, 'c', (function () {
        return a
      })), e.d(t, 'a', (function () {
        return u
      }));
      var r = function () {
          var n = this,
            t = n.$createElement;
          n._self._c
        },
        a = []
    },
    f3c8: function (n, t, e) {
      'use strict';
      Object.defineProperty(t, '__esModule', {
        value: !0
      }), t.default = void 0;
      var u = r(e('a34a'));

      function r(n) {
        return n && n.__esModule ? n : {
          default: n
        }
      }

      function a(n, t, e, u, r, a, o) {
        try {
          var i = n[a](o),
            c = i.value
        } catch (s) {
          return void e(s)
        }
        i.done ? t(c) : Promise.resolve(c).then(u, r)
      }

      function o(n) {
        return function () {
          var t = this,
            e = arguments;
          return new Promise((function (u, r) {
            var o = n.apply(t, e);

            function i(n) {
              a(o, u, r, i, c, 'next', n)
            }

            function c(n) {
              a(o, u, r, i, c, 'throw', n)
            }
            i(void 0)
          }))
        }
      }
      var i = {
        data: function () {
          return {
            options: ['请选择登陆用户类型', '用户'],
            optionsValues: ['', 'yonghu'],
            index: 0
          }
        },
        onLoad: function () {
          this.styleChange()
        },
        methods: {
          onResetPass: function () {
            var n = this;
            return o(u.default.mark((function t() {
              return u.default.wrap((function (t) {
                while (1) switch (t.prev = t.next) {
                  case 0:
                    if (void 0 != n.username) {
                      t.next = 3;
                      break
                    }
                    return n.$utils.msg('请输入账号'), t.abrupt('return');
                  case 3:
                    if ('' != n.optionsValues[n.index]) {
                      t.next = 6;
                      break
                    }
                    return n.$utils.msg('请选择角色'), t.abrupt('return');
                  case 6:
                    return t.next = 8, n.$api.resetPass(''.concat(n.optionsValues[n.index], ''), n.username);
                  case 8:
                    t.sent, n.$utils.msgBack('重置密码成功,原始密码为:123456');
                  case 10:
                  case 'end':
                    return t.stop()
                }
              }), t)
            })))()
          },
          optionsChange: function (n) {
            this.index = n.target.value
          },
          styleChange: function () {
            this.$nextTick((function () {}))  // 此方法为空,没有实际作用
          }
        }
      };
      t.default = i
    }
  },
  [
    ['658d', 'common/runtime', 'common/vendor']
  ]
]);

这段代码使用了 async/await 语法,更易于理解和维护。此外,代码中还使用了 $utils$api 等方法,这些方法可能来自小程序框架提供的工具库。

总体而言,这段代码实现了一个简单但功能完备的重置密码功能,可以作为小程序开发中的参考案例。

小程序重置密码页面代码解析

原文地址: http://www.cveoy.top/t/topic/kGee 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录