小程序重置密码页面代码解析
这是一个使用webpack打包的小程序页面代码,包含了一个重置密码功能。
页面加载时会调用 styleChange 方法,该方法为空,没有实际作用。
onResetPass 方法用于重置密码,首先判断输入的账号是否为空,如果为空则提示用户输入账号,否则判断选择的角色是否为空,如果为空则提示用户选择角色,否则调用 $api.resetPass 方法,该方法接收两个参数,分别是角色和账号,调用成功后,弹出重置密码成功的提示框,提示用户初始密码为 123456。
optionsChange 方法通过传入的参数 n,获取到用户选择的角色,并将其赋值给 index。
该页面导出了一个包含 data、onLoad 和 methods 属性的对象:
data属性包含一个options数组和一个optionsValues数组,分别用于存放角色名称和角色值,index属性用于存放用户选择的角色下标。onLoad方法在页面加载时调用,调用了styleChange方法。methods属性包含了onResetPass、optionsChange和styleChange方法,分别用于重置密码、选择角色和样式改变。
以下是对代码的详细分析:
(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 著作权归作者所有。请勿转载和采集!