index.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435
  1. // pages/register/index.js
  2. const request = require('../../utils/request.js');
  3. const app = getApp()
  4. Page({
  5. /**
  6. * 页面的初始数据
  7. */
  8. data: {
  9. nvabarData: {
  10. showCapsule: 0, //是否显示左上角图标,消息中心 1表示显示 0表示不显示
  11. showBack: 1, //返回
  12. title: '注册', //导航栏 中间的标题
  13. // 此页面 页面内容距最顶部的距离
  14. height: app.globalData.height * 2 + 20,
  15. },
  16. instructionBook: '已阅读并同意使用',
  17. radioCheck: false,
  18. disabled: false,
  19. phone:'',
  20. password:'',
  21. againpassword:'',
  22. yanzhengma:'',
  23. code: '获取验证码',
  24. defaultType: true,
  25. passwordType: true,
  26. defaultType1: true,
  27. passwordType1: true
  28. },
  29. radioClick: function (event) {
  30. var radioCheck = this.data.radioCheck;
  31. this.setData({
  32. "radioCheck": !radioCheck
  33. });
  34. },
  35. agreementBtn: function () {
  36. wx.navigateTo({
  37. url: '/pages/agreement/index'
  38. })
  39. // wx.navigateTo({
  40. // url: '/pages/agreement/index?phone='this.data.phone +'&password=' +this.data.password+ '&againpassword=' + this.data.againpassword + '&yanzhengma=' + this.data.yanzhengma // 希望跳转过去的页面
  41. // })
  42. },
  43. getCode:function (e) {
  44. this.setData({
  45. code:e.detail.value
  46. })
  47. },
  48. talks:function (e) {
  49. this.setData({
  50. phone:e.detail.value
  51. })
  52. wx.setStorage({
  53. key:"phone",
  54. data:e.detail.value
  55. })
  56. },
  57. getYanzhengma:function (e) {
  58. console.log("e",e);
  59. this.setData({
  60. yanzhengma:e.detail.value
  61. });
  62. wx.setStorage({
  63. key:"yanzhengma",
  64. data:e.detail.value
  65. });
  66. },
  67. getPassword:function (e) {
  68. console.log("e",e);
  69. this.setData({
  70. password:e.detail.value
  71. });
  72. wx.setStorage({
  73. key:"password",
  74. data:e.detail.value
  75. });
  76. },
  77. getPassword1:function (e) {
  78. this.setData({
  79. againpassword:e.detail.value
  80. })
  81. wx.setStorage({
  82. key:"againpassword",
  83. data:e.detail.value
  84. })
  85. },
  86. //校验手机号
  87. async isPoneAvailable(str) {
  88. var myreg = /^[1][3,4,5,7,8][0-9]{9}$/;
  89. if (!myreg.test(str)) {
  90. wx.showToast({
  91. title: '请输入正确手机号',
  92. image:'/pages/images/jinggao.png',
  93. duration: 2000
  94. })
  95. return false;
  96. } else {
  97. var that = this;
  98. var time = 60;
  99. that.setData({
  100. code: '60秒后重发',
  101. disabled: true
  102. })
  103. var Interval = setInterval(function() {
  104. time--;
  105. if (time>0){
  106. that.setData({
  107. code: time + '秒后重发'
  108. })
  109. }else{
  110. clearInterval(Interval);
  111. that.setData({
  112. code: '获取验证码',
  113. disabled: false
  114. })
  115. }
  116. },1000)
  117. let list = await request.query({
  118. url: 'api/financial/phoneMessage/sendMessage',
  119. data: {phone:this.data.phone},
  120. method: 'post'
  121. });
  122. if (list && list.data.data.Message && list.data.data.Message == 'OK' && list.data.data.Code && list.data.data.Code== 'OK') {
  123. if (list.data.data.number) {
  124. wx.setStorage({
  125. key: 'code',
  126. data: list.data.data.number,
  127. })
  128. }
  129. } else{
  130. wx.showToast({
  131. title: '获取验证码失败',
  132. icon: 'none',
  133. duration: 2000
  134. })
  135. }
  136. }
  137. },
  138. getCode(){
  139. if (this.data.phone) {
  140. wx.hideKeyboard()
  141. this.isPoneAvailable(this.data.phone);
  142. // var that = this;
  143. // var time = 60;
  144. // that.setData({
  145. // code: '60秒后重发',
  146. // disabled: true
  147. // })
  148. // let list = await request.query({
  149. // url: 'api/financial/phoneMessage/sendMessage',
  150. // data: {phone:this.data.phone},
  151. // method: 'post'
  152. // });
  153. // if (list && list.data.data.Message && list.data.data.Message == 'OK' && list.data.data.Code && list.data.data.Code== 'OK') {
  154. // if (list.data.data.number) {
  155. // wx.setStorage({
  156. // key: 'code',
  157. // data: list.data.data.number,
  158. // })
  159. // }
  160. // var Interval = setInterval(function() {
  161. // time--;
  162. // if (time>0){
  163. // that.setData({
  164. // code: time + '秒后重发'
  165. // })
  166. // }else{
  167. // clearInterval(Interval);
  168. // that.setData({
  169. // code: '获取验证码',
  170. // disabled: false
  171. // })
  172. // }
  173. // },1000)
  174. // } else{
  175. // wx.showToast({
  176. // title: '获取验证码失败',
  177. // icon: 'none',
  178. // duration: 2000
  179. // })
  180. // }
  181. }else{
  182. wx.showToast({
  183. title: '请输入手机号',
  184. icon: 'none',
  185. duration: 2000
  186. })
  187. }
  188. },
  189. // 注册账号
  190. formSubmit: function (e) {
  191. console.log('form发生了submit事件,携带数据为:', e.detail.value)
  192. if(e.detail.value.person==""||e.detail.value.phone==""||e.detail.value.yanzhengma==""||e.detail.value.password==""||e.detail.value.againpassword==""){
  193. wx.showToast({
  194. title: '缺少部分信息项',
  195. icon: 'none',
  196. duration: 1500
  197. })
  198. return false
  199. }
  200. let code = wx.getStorageSync('code')
  201. if (code == e.detail.value.yanzhengma) {
  202. if (this.data.radioCheck ) {
  203. if(e.detail.value.password==e.detail.value.againpassword){
  204. let pwdRegex = new RegExp('(?=.*[0-9])(?=.*[a-zA-Z])');
  205. if (!pwdRegex.test(e.detail.value.password) || e.detail.value.password.length < 8|| e.detail.value.password.length >20) {
  206. wx.showModal({
  207. title: '提示',
  208. content: '密码格式错误',
  209. confirmText: '确定',
  210. success(res) {
  211. if (res.confirm) {
  212. // console.log('用户点击取消')
  213. } else if (res.cancel) {
  214. // console.log('用户点击取消')
  215. }
  216. }
  217. })
  218. // wx.showModal({
  219. // title: '密码格式错误',
  220. // // content: '密码至少为8位字母数字组合。',
  221. // success (res) {
  222. // if (res.confirm) {
  223. // // console.log('用户点击取消')
  224. // } else if (res.cancel) {
  225. // // console.log('用户点击取消')
  226. // }
  227. // }
  228. // })
  229. }else{
  230. wx.setStorage({
  231. key:"phone",
  232. data:e.detail.value.phone
  233. })
  234. wx.setStorage({
  235. key:"password",
  236. data:e.detail.value.password
  237. })
  238. wx.request({
  239. method: "POST",
  240. url: app.globalData.publicUrl + 'api/financial/companyuser',
  241. data: {
  242. phone: e.detail.value.phone,
  243. passwd: e.detail.value.password,
  244. // person: e.detail.value.person
  245. },
  246. success: (e) => {
  247. console.log('success', e);
  248. if (e.data.errcode == 0) {
  249. wx.showModal({
  250. title: '注册成功',
  251. content: '如需获得更多服务请进行企业认证',
  252. success (res) {
  253. if (res.confirm) {
  254. wx.navigateTo({
  255. url: '/pages/login/index'
  256. })
  257. } else if (res.cancel) {
  258. // console.log('用户点击取消')
  259. }
  260. }
  261. })
  262. } else {
  263. if (e.data.details === "phone无效") {
  264. wx.showToast({
  265. title: '请重新输入手机号',
  266. icon: 'none',
  267. duration: 1500
  268. })
  269. } else if (e.data.errmsg === "数据已存在") {
  270. wx.showToast({
  271. title: '该手机号已被注册',
  272. icon: 'none',
  273. duration: 1500
  274. })
  275. } else {
  276. wx.showToast({
  277. title: e.data.details ? e.data.details : e.data.errmsg,
  278. icon: 'none',
  279. duration: 1500
  280. })
  281. }
  282. }
  283. }
  284. })
  285. }
  286. }else{
  287. wx.showToast({
  288. title: '两次密码输入不一致',
  289. icon: 'none',
  290. duration: 1500
  291. })
  292. }
  293. } else {
  294. wx.showToast({
  295. title: '请勾选企业授权协议',
  296. icon: 'none',
  297. duration: 1500
  298. })
  299. }
  300. } else{
  301. wx.showToast({
  302. title: '验证码错误',
  303. icon: 'none',
  304. duration: 1500
  305. })
  306. }
  307. },
  308. // 眼镜变色
  309. eyeStatus(){
  310. if (this.data.defaultType) {
  311. this.setData({
  312. passwordType: false,
  313. defaultType: false,
  314. })
  315. } else {
  316. this.setData({
  317. passwordType: true,
  318. defaultType: true,
  319. })
  320. }
  321. },
  322. eyeStatus1(){
  323. if (this.data.defaultType1) {
  324. this.setData({
  325. passwordType1: false,
  326. defaultType1: false,
  327. })
  328. } else {
  329. this.setData({
  330. passwordType1: true,
  331. defaultType1: true,
  332. })
  333. }
  334. },
  335. /**
  336. * 生命周期函数--监听页面加载
  337. */
  338. onLoad: function (options) {
  339. this.setData({
  340. radioCheck: options.radioCheck
  341. });
  342. let that = this;
  343. wx.getStorage({
  344. key: 'phone',
  345. success (res) {
  346. console.log(res.data)
  347. that.setData({
  348. phone:res.data
  349. })
  350. }
  351. })
  352. wx.getStorage({
  353. key: 'password',
  354. success (res) {
  355. console.log(res.data)
  356. that.setData({
  357. password:res.data
  358. })
  359. }
  360. })
  361. wx.getStorage({
  362. key: 'againpassword',
  363. success (res) {
  364. console.log(res.data)
  365. that.setData({
  366. againpassword:res.data
  367. })
  368. }
  369. })
  370. wx.getStorage({
  371. key: 'yanzhengma',
  372. success (res) {
  373. console.log(res.data)
  374. that.setData({
  375. yanzhengma:res.data
  376. })
  377. }
  378. })
  379. },
  380. /**
  381. * 生命周期函数--监听页面初次渲染完成
  382. */
  383. onReady: function () {
  384. },
  385. /**
  386. * 生命周期函数--监听页面显示
  387. */
  388. onShow: function () {
  389. },
  390. /**
  391. * 生命周期函数--监听页面隐藏
  392. */
  393. onHide: function () {
  394. },
  395. /**
  396. * 生命周期函数--监听页面卸载
  397. */
  398. onUnload: function () {
  399. },
  400. /**
  401. * 页面相关事件处理函数--监听用户下拉动作
  402. */
  403. onPullDownRefresh: function () {
  404. },
  405. /**
  406. * 页面上拉触底事件的处理函数
  407. */
  408. onReachBottom: function () {
  409. },
  410. /**
  411. * 用户点击右上角分享
  412. */
  413. onShareAppMessage: function () {
  414. }
  415. })