/** * 用户基础信息 */ (function() { /** *退出 ------ * @callmethod people.quit(function(){...}); * @param {{type:function,have:true}} 回调方法 无返回值 * @examples * ... * 退出 * ... * ... * @function * 无返回值 * @return {{type:none}} 无返回值 */ function quit(func) { ms.http.get(ms.base + "/people/quit.do",{ headers: { 'content-type': 'application/x-www-form-urlencoded' } }).then(func, (err) => { console.log(err) }) } /** * 设置密码 ------ * @callmethod people.resetpassword(data,function(returnjson){...}); * @param {{type:string,have:true}} peoplepassword 用户密码 * @param {{type:function}} 回调方法 返回值(returnjson) * @examples * ... * ... * @function * {"resultmsg":"","result":true} * @return {{type:resultmsg}} 提示信息 * @return {{type:result}} true成功、false失败 */ function resetpassword(data, func) { if (validator.isempty(data+"")) { alert("数据不能为空"); return; } if (validator.isempty(data.peoplepassword+"")) { alert("密码不能为空"); return; } ms.http.post(ms.base + "/people/resetpassword.do", data,{ headers: { 'content-type': 'application/x-www-form-urlencoded' } }) .then(func, (err) => { console.log(err) }) } /** * 验证用户接收的验证码 ------ * @callmethod people.checkpeoplecode(peoplecode,function(returnjson){...}); * @param {{type:string,have:true}} peoplecode 短信、邮箱验证码 * @param {{type:function,have:true}} 回调方法 返回值(returnjson) * @examples * ... * ... * @function * {code:"模块编码",result:true} * @return {{type:code}} 编码 * @return {{type:result}} true成功、false失败 */ function checkpeoplecode(peoplecode, func) { if (validator.isempty(peoplecode+"")) { return; } ms.http.post(ms.base + "/people/checkpeoplecode.do", peoplecode,{ headers: { 'content-type': 'application/x-www-form-urlencoded' } }) .then(func, (err) => { console.log(err) }) } /** * 获取用户基本信息 ------ * @callmethod people.info(function(returnjson){...}); * @param {{type:function,have:true}} 回调方法 返回值(returnjson) * @examples * ... * ... * @function * { * "peopleautologin":0, * "peoplename":"mstest", * "peopledatetime":"2016-05-08 13:14:00", * "peopleid":5201314, * } * @return {{type:peopleautologin}} 自动登录多少天 * @return {{type:peoplename}} 用户名 * @return {{type:peopledatetime}} 用户登录时间 * @return {{type:peopleid}} 用户编号 */ function info(func) { ms.http.get(ms.base + "/people/info.do") .then(func, (err) => { console.log(err) }) } /** * 修改密码 ------ * 如果修改密码,在输入新密码后需要再次填入确认密码,需要前端自行判断新密码与再次确认密码是否一致,接口未做判断 * @callmethod people.changepassword(data,function(returnjson){...}); * @param {{type:string,have:true}} peopleoldpassword 原密码 * @param {{type:string,have:true}} peoplepassword 新密码 * @param {{type:function,have:true}} 回调方法 返回值(returnjson) * @examples * ... * ... * @function * {code:"模块编码",result:true,resultmsg:""} * @return {{type:code}} 模块编码 * @return {{type:result}} true成功、false失败 * @return {{type:resultmsg}} 错误信息 */ function changepassword(data, func) { if (validator.isempty(data+"")) { return; } if (validator.isempty(data.peopleoldpassword+"")) { alert("原密码不能为空"); return; } if (validator.isempty(data.peoplepassword+"")) { alert("新密码不能为空"); return; } ms.http.post(ms.base + "/people/changepassword.do", data,{ headers: { 'content-type': 'application/x-www-form-urlencoded' } }) .then(func, (err) => { console.log(err) }) } /** * 验证用户名,手机号或邮箱 * @param data * @returns */ function checkvalidator(data) { if (validator.isempty(data + "")) { return; } if ((validator.isempty(data.peoplename +"") || typeof(data.peoplename) == "undefined") && (validator.isempty(data.peoplephone +"") || typeof(data.peoplephone) == "undefined") && (validator.isempty(data.peoplemail +"") || typeof(data.peoplemail) == "undefined")) { alert("用户名,手机号,邮箱必须有一个不为空"); return; } if(!validator.isempty(data.peoplephone +"") && typeof(data.peoplephone) != "undefined"){ if (!validator.ismobilephone(data.peoplephone, 'zh-cn')) { alert("请输入正确的手机号"); return; } } if(!validator.isempty(data.peoplemail+"") && typeof(data.peoplemail) != "undefined"){ if (!validator.isemail(data.peoplemail)) { alert("请输入正确的邮箱"); return; } } if (validator.isempty(data.peoplepassword + "")) { alert("密码不能为空"); return; } } /** * 注册 - ----- * 用户可以用名称、手机号、邮箱三者之一进行注册 * 几种注册流程的形式: * 1、普通用户名称、登录密码,优先用户名注册,登录密码最长度范围3~30个字符; * 2、邮箱、邮箱验证码、登录密码(邮箱必须是可接收验证码); * 3、手机号、短信验证码、登录密码; * 注意: 1、注册页面必须存在图片验证码 * 2、如果需要接收验证码操作,需要使用“发送验证码”配合使用才能完成注册流程 * @callmethod register(data,function(returnjson){...}); * @param {{type:string}} peoplephone 手机号 * @param {{type:string}} peoplename 用名称 用户名长度在3~30个字符之间,只能是字母数字混合 * @param {{type:string}} peoplemail 邮箱 * @param {{type:string,have:true}} peoplepassword 注册密码 * @param {{type:strings,have:true}} rand_code 验证码 * @param {{type:function,have:true}} 回调方法 返回值(returnjson) * @examples * ... *
* * * * * *
* ... * ... * @function * {"resultmsg":"注册成功","result":true,"code":"07010100"} * @return {{type:resultmsg}} 提示信息 * @return {{type:code}} 错误编码 * @return {{type:result}} true成功、false失败 */ function register(data, func) { checkvalidator(data);//验证表单信息 ms.http.post(ms.base + "/register.do", data, { headers: { 'content-type': 'application/x-www-form-urlencoded' } }) .then(func, (err) => { console.log(err); }) } /** *登录 ------ * 登录验证,登录必须存在验证码 * @callmethod checklogin(data,function(returnjson){...}); * @param {{type:string,have:true}} peoplename 用户名 * @param {{type:string,have:true}} peoplepassword 登录密码 * @param {{type:string,have:true}} rand_code 验证码 * @param {{type:string}} peopleautologin 自动登录 如果大于0表示开启自动登录,1表示自动登录保留1天 * @param {{type:function,have:true}} 回调方法 返回值(returnjson) * @examples * ... *
* * * * * ... *
* ... * ... * @function * {"resultmsg":"{ * \"peopleappid\":0, * \"peopleautologin\":0, * \"peopleid\":9020, * \"peoplemailcheck\":0, * \"peoplename\":\"mstest\", * \"peoplephonecheck\":0, * \"peoplestate\":0}", * "result":true, * "code":"07010200"} * @return {{type:code}} 错误编码 * @return {{type:result}} true成功、false失败 * @return {{type:resultmsg}} 提示信息 * @return {{type:resultdata}} {"peopleautologin":自动登录多少天,"peoplename":用户,"peopleid":用户编号,"peoplemail ":用户邮箱} */ function checklogin(data, func) { if (validator.isempty(data+"")) { return; } if (validator.isempty(data.peoplename + "")) { alert("用户名不能为空"); return; } if (validator.isempty(data.peoplepassword + "")) { alert("密码不能为空"); return; } if (validator.isempty(data.rand_code + "")) { alert("验证码不能为空"); return; } ms.http.post(ms.base + "/checklogin.do", data,{ headers: { 'content-type': 'application/x-www-form-urlencoded' } }).then(func, (err) => { console.log(err) }) } /** *验证登录状态 ------ * @callmethod checkloginstatus(function(returnjson){...}); * @param {{type:function,have:true}} 回调方法 返回值(returnjson) * @examples * ... * @function * {result:"false"} * @return {{type:result}} true成功、false失败 */ function checkloginstatus(func) { ms.http.post(ms.base + "/checkloginstatus.do") .then(func, (err) => { console.log(err) }) } /** * 发送验证码 ------ * 用户发送验证码,可以通过邮箱或手机发送 * @callmethod sendcode(data,function(returnjson){...}); * @param {{type:string,have:true}} receive 接收地址,只能是邮箱或手机号,邮箱需要使用邮箱插件,手机号需要短信插件 * @param {{type:string,have:true}} modelcode 对应邮件插件的模块编号 * @param {{type:function,have:true}} 回调方法 返回值(returnjson) * @examples * ... *
* * * ... *
* ... * ... * @function * {result:"true"} * @return {{type:result}} true成功、false失败 */ function sendcode(data, func) { if (validator.isempty(data+"")) { return; } if (validator.isempty(data.receive + "")) { alert("接收地址不能为空"); return; } if (validator.isempty(data.modelcode + "")) { alert("对应邮件插件的模块编号不能为空"); return; } ms.http.get(ms.base + "/sendcode.do", data ).then(func, (err) => { console.log(err) }) } /** * 验证用户接收的验证码 ------ * 验证用户输入的系统发送邮件或者短信验证码是否正确 * @callmethod checksendcode(data,function(returnjson){...}); * @param {{type:string,have:true}} receive 接收地址,只能是邮箱或手机号,邮箱需要使用邮箱插件,手机号需要短信插件 * @param {{type:string,have:true}} code 对应接收的验证码 * @param {{type:function,have:true}} 回调方法 返回值(returnjson) * @examples * ... *
* * * ... * * ... *
* ... * @function * {result:"true"} * @return {{type:result}} true成功、false失败 */ function checksendcode(data, func) { if (validator.isempty(data+"")) { return; } if (validator.isempty(data.receive + "")) { alert("接收地址不能为空"); return; } if (validator.isempty(data.code + "")) { alert("接收的验证码不能为空"); return; } ms.http.post(ms.base + "/checksendcode.do", data,{ headers: { 'content-type': 'application/x-www-form-urlencoded' } }) .then(func, (err) => { console.log(err) }) } /** * 解绑邮箱验证用户接收的验证码 ------ * 解绑邮箱时,验证用户输入的系统发送邮件或者短信验证码是否正确 * @callmethod cancelbind(data,function(returnjson){...}); * @param {{type:string,have:true}} receive 接收地址,只能是邮箱或手机号,邮箱需要使用邮箱插件,手机号需要短信插件 * @param {{type:string,have:true}} code 对应接收的验证码 * @param {{type:function,have:true}} 回调方法 返回值(returnjson) * @examples * ... *
* * * ... * * ... *
* ... * @function * {result:"true"} * @return {{type:result}} true成功、false失败 */ function cancelbind(data, func) { if (validator.isempty(data+"")) { return; } if (validator.isempty(data.receive + "")) { alert("接收的验证码不能为空"); return; } if (validator.isempty(data.code + "")) { alert("接收的验证码不能为空"); return; } ms.http.post(ms.base + "/cancelbind.do", data,{ headers: { 'content-type': 'application/x-www-form-urlencoded' } }).then(func, (err) => { console.log(err) }) } /** * 验证已保存用户 ------ * 验证用户名、手机号、邮箱是否已保存,同一时间只能判断一种,优先用户名称 * 适用场景: * 1、用户注册是对用户名、邮箱或手机号唯一性判断 * 2、用户取回密码是判断账号是否存在 * @callmethod check(data,function(returnjson){...}); * @param {{type:string}} peoplename 用户名称验证 * @param {{type:string}} peoplemail 用户邮箱验证 * @param {{type:string}} peoplephone 用户手机验证 * @param {{type:function,have:true}} 回调方法 返回值(returnjson) * @examples *... *
* ... * * ... *
* ... * @function * {result:"true"} * @return {{type:code}} 模块编码 * @return {{type:result}} true存在|false不存在或错误 * @return {{type:resultmsg}} 错误信息 */ function check(data, func) { if (validator.isempty(data+"")) { return; } checkvalidator(data);//验证表单 ms.http.post(ms.base + "/check.do", data,{ headers: { 'content-type': 'application/x-www-form-urlencoded' } }) .then(func, (err) => { console.log(err) }) } /** * 验证已绑定用户 ------ * 验证用户名、手机号、邮箱是否已保存并绑定,同一时间只能判断一种,优先用户名称 * 适用场景: * 1、用户注册是对用户名、邮箱或手机号唯一性判断 * 2、用户取回密码是判断账号是否存在 * 3、用户绑定邮箱或者手机号验证,邮箱或手机号是否存在并已绑定 * @callmethod isexists(data,function(returnjson){...}); * @param {{type:string}} peoplename 用户名称验证 * @param {{type:string}} peoplemail 用户邮箱验证,注意:只验证绑定成功的邮箱 * @param {{type:string}} peoplephone 用户手机验证,注意:只验证绑定成功的手机 * @param {{type:function,have:true}} 回调方法 返回值(returnjson) * @examples * ... *
* ... * * ... *
* ... * super.load(["super.people"],function(mpeople){ * mpeople.isexists($("form").serialize(),function(returnjson){ * alert(json.stringify(returnjson)); * }); * }) * @function * {result:"true"} * @return {{type:code}} 模块编码 * @return {{type:result}} true存在|false不存在或错误 * @return {{type:resultmsg}} 错误信息 */ function isexists(data, func) { if (validator.isempty(data+"")) { return; } checkvalidator(data);//验证表单信息 ms.http.post(ms.base + "/isexists.do", data,{ headers: { 'content-type': 'application/x-www-form-urlencoded' } }).then(func, (err) => { console.log(err) }) } /** *验证图片验证码 ------ *例如流程需要短信验证或邮箱验证,为有效防止恶意发送验证码。提供给ajax异步请求使用 *注意:页面提交对验证码表单属性名称必须是rand_code,否则无效 * @callmethod checkcode(rand_code,function(returnjson){...}); * @param {{type:strings,have:true}} rand_code 验证码 * @param {{type:function,have:true}} 回调方法 返回值(returnjson) * @examples * ... *
* * *
*... * @function * {code:"错误编码",result:"true成功、false失败",resultmsg: "提示信息"} * @return {{type:code}} 错误编码 * @return {{type:result}} true成功、false失败 * @return {{type:resultmsg}} 提示信息 */ function checkcode(rand_code, func) { if (validator.isempty(rand_code+"")) { alert("接收的验证码不能为空"); return; } ms.http.post(ms.base + "/checkcode.do", rand_code,{ headers: { 'content-type': 'application/x-www-form-urlencoded' } }) .then(func, (err) => { console.log(err) }) } /** * 重置密码 ------ * 当用户忘记登录密码时可以通过注册绑定的邮箱或绑定的手机号进行取回,操作过程中需要通过邮件模块与短信模块发送验证码给用户 * 业务场景:用户输入手机号(邮箱),点击发送验证码,发送间隔时间为60秒,用户将接收到的验证码输入提交,此接口不会对用户再次输入新密码进行判断,需要开发者做前端判断 * @callmethod resetpassword(data,function(returnjson){...}); * @param {{type:string,have:true}} peoplepassword 用户新密码 * @param {{type:string,have:true}} rand_code 验证码 * @param {{type:function,have:true}} 回调方法 返回值(returnjson) * @examples * ... *
* ... * * * * * ... *
* ... * ... * @function * {code:"0777700",result:true,resultmsg: "提示信息"} * @return {{type:code}} 错误编码 * @return {{type:result}} true成功、false失败 * @return {{type:resultmsg}} 提示信息 */ function resetpassword(data, func) { if (validator.isempty(data+"")) { return; } if (validator.isempty(data.peoplepassword + "")) { alert("用户新密码不能为空"); return; } if (validator.isempty(data.peoplecode + "")) { alert("接收的验证码不能为空"); return; } if (validator.isempty(data.rand_code + "")) { alert("图片验证码不能为空"); return; } ms.http.post(ms.base + "/resetpassword.do", data,{ headers: { 'content-type': 'application/x-www-form-urlencoded' } }) .then(func, (err) => { console.log(err) }) } /** * 验证重置密码收到的验证码 ------ * 忘记密码时需要将第一步验证用户时的接收验证码作为重置密码的验证码 * @callmethod checkresetpasswordcode(data,function(returnjson){...}); * @param {{type:string,have:true}} peoplecode 短信、邮箱验证码 * @param {{type:string,have:true}} rand_code 验证码,可能会传递经过多个流程,具体根据业务确定 * @param {{type:function,have:true}} 回调方法 返回值(returnjson) * @examples * ... *
* ... * * * * ... *
* ... * @function * {result:"true"} * @return {{type:result}} true成功、false失败 */ function checkresetpasswordcode(data, func) { if (validator.isempty(data+"")) { return; } if (validator.isempty(data.peoplecode + "")) { alert("接收的验证码不能为空"); return; } if (validator.isempty(data.rand_code + "")) { alert("图片验证码不能为空"); return; } ms.http.post(ms.base + "/checkresetpasswordcode.do", data,{ headers: { 'content-type': 'application/x-www-form-urlencoded' } }).then(func, (err) => { console.log(err) }) } let people = { quit:quit, resetpassword:resetpassword, checkpeoplecode:checkpeoplecode, info:info, changepassword:changepassword, register:register, sendcode:sendcode, checklogin:checklogin, checkloginstatus:checkloginstatus, checksendcode:checksendcode, cancelbind:cancelbind, check:check, isexists:isexists, checkcode:checkcode, resetpassword:resetpassword, checkresetpasswordcode:checkresetpasswordcode, } window.ms.people = people; }());/** * 用户基础信息 */ (function() { /** * 获取用户详情 ------ * @callmethod people.info(function(returnjson){...}); * @param {{type:function,have:true}} 回调方法 返回值(returnjson) * @examples * ... * ... * @function * { * "peopleautologin":0, * "peoplename":"mstest", * "peopledatetime":"2016-05-08 13:14:00", * "peopleid":5201314, * } * @return {{type:peopleautologin}} 自动登录多少天 * @return {{type:peoplename}} 用户名 * @return {{type:peopledatetime}} 用户登录时间 * @return {{type:peopleid}} 用户编号 */ function info(func) { ms.http.post(ms.base + "/people/user/info.do") .then(func, (err) => { console.log(err) }) } /** * 更新手机号或邮箱 ------ * 更新用户信息中保存的手机号或者邮箱号,二者必须存在一个 * @callmethod people.update(data,function(returnjson){...}); * @param {{type:string,have:true}} peoplemail 邮箱 * @param {{type:string}} peoplephone 手机号 * @param {{type:function,have:true}} 回调方法 返回值(returnjson) * @examples * ... *
* ... * * ... *
* .. * ... * @function * {code:"模块编码",result:true,resultmsg:""} * @return {{type:code}} 模块编码 * @return {{type:result}} true成功、false失败 * @return {{type:resultmsg}} 错误信息 */ function update(data, func) { if (validator.isempty(data+"")) { return; } if ((validator.isempty(data.peoplephone +"") || typeof(data.peoplephone) == "undefined") && (validator.isempty(data.peoplemail +"") || typeof(data.peoplemail) == "undefined")) { alert("用户名,手机号,邮箱必须有一个不为空"); return; } if(!validator.isempty(data.peoplephone +"") && typeof(data.peoplephone) != "undefined"){ if (!validator.ismobilephone(data.peoplephone, 'zh-cn')) { alert("请输入正确的手机号"); return; } } if(!validator.isempty(data.peoplemail+"") && typeof(data.peoplemail) != "undefined"){ if (!validator.isemail(data.peoplemail)) { alert("请输入正确的邮箱"); return; } } ms.http.post(ms.base + "/people/user/update.do", data,{ headers: { 'content-type': 'application/x-www-form-urlencoded' } }) .then(func, (err) => { console.log(err) }) } function saveusericon(data, func) { if (validator.isempty(data+"")) { return; } ms.http.post(ms.base + "/people/user/saveusericon.do", data,{ headers: { 'content-type': 'application/x-www-form-urlencoded' } }) .then(func, (err) => { console.log(err) }) } function updateusericon(data, func) { if (validator.isempty(data+"")) { return; } ms.http.post(ms.base + "/people/user/updateusericon.do", data,{ headers: { 'content-type': 'application/x-www-form-urlencoded' } }) .then(func, (err) => { console.log(err) }) } let user = { info:info, update:update, saveusericon:saveusericon, updateusericon:updateusericon } window.ms.people.user = user; }());/** * 普通用户收货地址信息 */ (function() { /** * 用户收货地址列表 * @param data * @param func * @returns */ function list(data,func) { ms.http.get(ms.base + "/people/address/list.do",data,{ headers: { 'content-type': 'application/x-www-form-urlencoded' } }).then(func, (err) => { console.log(err) }) } /** * 保存用户收货地址 * @param data * @param func * @returns */ function save(data,func) { ms.http.post(ms.base + "/people/address/save.do",data,{ headers: { 'content-type': 'application/x-www-form-urlencoded' } }).then(func, (err) => { console.log(err) }) } /** * 更新用户收货地址 * @param data * @param func * @returns */ function update(data,func) { ms.http.post(ms.base + "/people/address/update.do",data,{ headers: { 'content-type': 'application/x-www-form-urlencoded' } }).then(func, (err) => { console.log(err) }) } /** * 设置默认地址 * @param data * @param func * @returns */ function setdefault(data,func) { ms.http.post(ms.base + "/people/address/setdefault.do",data,{ headers: { 'content-type': 'application/x-www-form-urlencoded' } }).then(func, (err) => { console.log(err) }) } /** * 通过peopleaddressid查询用户收货地址实体 * @param data * @param func * @returns */ function get(data,func) { ms.http.get(ms.base + "/people/address/get.do",data ).then(func, (err) => { console.log(err) }) } /** * 根据收货地址id删除收货信息 * @param data * @param func * @returns */ function del(data,func) { ms.http.get(ms.base + "/people/address/delete.do",data ).then(func, (err) => { console.log(err) }) } let address = { list:list, save:save, update:update, setdefault:setdefault, get:get, del:del } window.ms.people.address = address; }());