index.ts 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235
  1. import { login, loginQuery, tokenCheck } from '../../services/api/account/index'
  2. import { appConfig } from '../../config/index'
  3. import { getDivisions, getLoginCode, loginid, saveAuthorization, saveLoginID, saveLoginQuery, saveMarketID, saveTradeActive, saveUserId, xtoken, setAllEnums, setAllErrors, setLoginCode, taAccounts } from '../../services/utils'
  4. import { getAllEnums, queryErrorInfos } from '../../services/api/common/index'
  5. import { hideLoading, showLoading, showToast } from '../../utils/message/index'
  6. import { encryptBody } from '../../utils/websocket/crypto'
  7. Page({
  8. /**
  9. * 页面的初始数据
  10. */
  11. data: {
  12. /// 底部安全区域
  13. safeBottom: getApp().globalData.safeBottom,
  14. /// 姓名
  15. username: '',
  16. /// 密码
  17. pwd: '',
  18. /// 版本号
  19. version: appConfig.version,
  20. /// 是否loding
  21. isLoding: false,
  22. /// 加载地址
  23. imgUrl: appConfig.imgUrl,
  24. },
  25. /**
  26. * 合规性校验
  27. */
  28. check(): boolean {
  29. /// 请输入用户名
  30. if (this.data.username.length == 0) {
  31. showToast('请输入用户名!')
  32. return false
  33. }
  34. /// 请输入密码并且大于6位数!
  35. if (this.data.pwd.length < 6) {
  36. showToast('请输入密码并且大于6位数!')
  37. return false
  38. }
  39. return true
  40. },
  41. /// Token校验
  42. tokenCheck() {
  43. /// 如果为空
  44. if (xtoken() === '') {
  45. return
  46. }
  47. /// 登出
  48. setTimeout(function () {
  49. /// tokenCheck
  50. tokenCheck({
  51. success: () => {
  52. /// 跳转到首页
  53. wx.reLaunch({ url: '/pages/home/index' })
  54. },
  55. fail: () => {}
  56. })
  57. }, 10)
  58. },
  59. /**
  60. * 用户登录请求方法
  61. */
  62. onLogin() {
  63. /// 合规性校验
  64. if (!this.check()) return
  65. /// loding.....
  66. this.setData({ isLoding: true })
  67. /// loding......
  68. showLoading(() => {
  69. /// 进行账户登录
  70. login({
  71. data: {
  72. userName: this.data.username,
  73. password: encryptBody(this.data.pwd, true),
  74. clientType: 5
  75. },
  76. enableAuthorization: false,
  77. success: (res) => {
  78. hideLoading(() => {
  79. /// 登录失败
  80. if (res.code != 0) {
  81. /// isLoding
  82. this.setData({ isLoding: false })
  83. return
  84. }
  85. /// 设置登录账号
  86. setLoginCode(this.data.username)
  87. /// 存储token以及loginId、userId
  88. saveAuthorization(res.data.token)
  89. saveLoginID(res.data.loginId)
  90. saveUserId(res.data.userId)
  91. /// 获取地区区域信息
  92. getDivisions()
  93. /// 获取资金账户信息
  94. taAccounts()
  95. /// 登录查询
  96. this.loginQuery()
  97. })
  98. },
  99. fail: (emsg) => {
  100. /// hideLoading
  101. hideLoading(()=> { this.setData({ isLoding: false }) }, emsg)
  102. }
  103. })
  104. }, '登录中.....')
  105. },
  106. /// 登录查询
  107. loginQuery() {
  108. /// showLoading
  109. showLoading(()=>{
  110. /// 发送查询请求
  111. loginQuery({
  112. data: { loginID: loginid() },
  113. success: (res) => {
  114. /// 数据存储
  115. saveLoginQuery(res.data)
  116. /// 默认挂牌大厅为出售
  117. saveTradeActive(0)
  118. /// 存储市场ID
  119. saveMarketID(res.data.markets[0].marketid)
  120. /// 获取所有的枚举值
  121. this.getAllEnums()
  122. /// 获取所有的错误码
  123. this.getAllErrors()
  124. /// 登录失败
  125. if (res.code != 200) {
  126. hideLoading(()=>{}, '数据查询失败,原因:'+res.msg)
  127. return
  128. }
  129. /// showToast
  130. hideLoading(()=>{
  131. /// 跳转到首页
  132. wx.reLaunch({ url: '/pages/home/index' })
  133. }, '登录成功', 'success')
  134. },
  135. fail: (emsg) => {
  136. /// showToast
  137. hideLoading(()=>{}, emsg)
  138. },
  139. complete: () => {
  140. /// isLoding
  141. this.setData({ isLoding: false })
  142. }
  143. })
  144. })
  145. },
  146. /// 获取所有的错误码
  147. getAllErrors() {
  148. /// 获取错误码
  149. queryErrorInfos({
  150. success: (res) => {
  151. setAllErrors(res.data)
  152. }
  153. })
  154. },
  155. /// 获取所有的枚举值
  156. getAllEnums() {
  157. /// 发送请求
  158. getAllEnums({
  159. success: (res) => {
  160. setAllEnums(res.data)
  161. }
  162. })
  163. },
  164. /**
  165. * 生命周期函数--监听页面加载
  166. */
  167. onLoad() {
  168. this.setData({ username: getLoginCode() })
  169. },
  170. /**
  171. * 生命周期函数--监听页面初次渲染完成
  172. */
  173. onReady() {
  174. },
  175. /**
  176. * 生命周期函数--监听页面显示
  177. */
  178. onShow() {
  179. /// tokenCheck()
  180. this.tokenCheck()
  181. },
  182. /**
  183. * 生命周期函数--监听页面隐藏
  184. */
  185. onHide() {
  186. },
  187. /**
  188. * 生命周期函数--监听页面卸载
  189. */
  190. onUnload() {
  191. },
  192. /**
  193. * 页面相关事件处理函数--监听用户下拉动作
  194. */
  195. onPullDownRefresh() {
  196. },
  197. /**
  198. * 页面上拉触底事件的处理函数
  199. */
  200. onReachBottom() {
  201. },
  202. /**
  203. * 用户点击右上角分享
  204. */
  205. onShareAppMessage() {
  206. }
  207. })