login.js 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329
  1. // pages/login/login.js
  2. import {
  3. login
  4. } from "../api/user-api";
  5. import {
  6. imgUrl
  7. } from "../api/request"
  8. import {
  9. cacheSet
  10. } from "../../utils/cacheUtil"
  11. Page({
  12. /**
  13. * 页面的初始数据
  14. */
  15. data: {
  16. imgUrl: imgUrl,
  17. agreementImg: '',
  18. agree: false,
  19. canIUse: wx.canIUse('button.open-type.getUserInfo'),
  20. showLogin: false,
  21. deda: 0,
  22. loadText: "登录中....",
  23. showPrivacy:false
  24. },
  25. /**
  26. * 生命周期函数--监听页面加载
  27. */
  28. onLoad(options) {
  29. wx.getPrivacySetting({
  30. success: res => {
  31. console.log(res) // 返回结果为: res = { needAuthorization: true/false, privacyContractName: '《xxx隐私保护指引》' }
  32. if (res.needAuthorization) {
  33. // 需要弹出隐私协议
  34. this.setData({
  35. showPrivacy: true
  36. })
  37. } else {
  38. // 用户已经同意过隐私协议,所以不需要再弹出隐私协议,也能调用已声明过的隐私接口
  39. // wx.getUserProfile()
  40. // wx.chooseMedia()
  41. // wx.getClipboardData()
  42. // wx.startRecord()
  43. }
  44. },
  45. fail: () => {},
  46. complete: () => {}
  47. })
  48. },
  49. /**
  50. * 生命周期函数--监听页面初次渲染完成
  51. */
  52. onReady() {
  53. },
  54. /**
  55. * 生命周期函数--监听页面显示
  56. */
  57. onShow() {
  58. this.setData({
  59. agree: false,
  60. showLogin: false,
  61. })
  62. this.setData({
  63. agreementImg: imgUrl+'/icon/' + 'login-allow.png'
  64. })
  65. },
  66. /**
  67. * 生命周期函数--监听页面隐藏
  68. */
  69. onHide() {
  70. },
  71. agreementSuccess(e) {
  72. if (this.data.agree === true) {
  73. this.setData({
  74. agree: false
  75. })
  76. this.setData({
  77. agreementImg: imgUrl+'/icon/' + 'login-allow.png'
  78. })
  79. } else {
  80. this.setData({
  81. agree: true
  82. })
  83. this.setData({
  84. agreementImg: imgUrl+'/icon/' + 'login-select-allow.png'
  85. })
  86. }
  87. },
  88. handleAgreePrivacyAuthorization() {
  89. // 用户同意隐私协议事件回调
  90. // 用户点击了同意,之后所有已声明过的隐私接口和组件都可以调用了
  91. this.setData({
  92. showPrivacy: false
  93. })
  94. },
  95. handleOpenPrivacyContract() {
  96. // 打开隐私协议页面
  97. wx.openPrivacyContract({
  98. success: () => {}, // 打开成功
  99. fail: () => {}, // 打开失败
  100. complete: () => {}
  101. })
  102. },
  103. getPhoneNumber(e) {
  104. var that = this
  105. var phoneCode = e.detail.code
  106. wx.login({
  107. success(res) {
  108. if (res.code) {
  109. let data = {
  110. code: res.code,
  111. phoneCode: phoneCode
  112. };
  113. let int = setInterval(function () {
  114. that.setData({
  115. deda: that.data.deda + 1
  116. })
  117. switch (that.data.deda) {
  118. case 1:
  119. that.setData({
  120. loadText: "掌新南岸用户数据更新同步中...."
  121. })
  122. break
  123. case 7:
  124. that.setData({
  125. loadText: "初始化静态资源中...."
  126. })
  127. break
  128. }
  129. }, 1000)
  130. that.setData({
  131. showLogin: true
  132. })
  133. login(data).then(res => {
  134. that.setData({
  135. showLogin: false,
  136. deda: 0,
  137. loadText: "登录中..."
  138. })
  139. clearInterval(int)
  140. if (res.result) {
  141. cacheSet('token', res.data.token, 3600 * 24)
  142. // wx.setStorageSync("token", res.data.token)
  143. wx.setStorageSync('imgUrl', res.data.imgUrl)
  144. wx.setStorageSync('nickName', res.data.nickName)
  145. wx.setStorageSync('hlToken', res.data.hlToken)
  146. wx.setStorageSync('userid', res.data.userId)
  147. // 返回上一页携带登录标志
  148. let pages = getCurrentPages();
  149. let prevPage = pages[pages.length - 2];
  150. prevPage.setData({
  151. loginReturnFlag: true
  152. })
  153. wx.navigateBack({
  154. delta: 1
  155. });
  156. } else {
  157. that.setData({
  158. showLogin: false
  159. })
  160. wx.showModal({
  161. title: '登录失败',
  162. content: '登录失败,请重试',
  163. complete: (res) => { }
  164. })
  165. }
  166. })
  167. } else {
  168. console.log('登录失败!' + res.errMsg)
  169. }
  170. }
  171. })
  172. },
  173. // getPhoneNumber(e) {
  174. // var that = this
  175. // console.log(this.data.agree);
  176. // var phoneCode = e.detail.code
  177. // wx.login({
  178. // success(res) {
  179. // if (res.code) {
  180. // let data = {
  181. // code: res.code,
  182. // // phoneCode: phoneCode
  183. // };
  184. // let int = setInterval(function () {
  185. // that.setData({
  186. // deda: that.data.deda + 1
  187. // })
  188. // switch (that.data.deda) {
  189. // case 1:
  190. // that.setData({
  191. // loadText: "掌新南岸用户数据更新同步中...."
  192. // })
  193. // break
  194. // case 7:
  195. // that.setData({
  196. // loadText: "初始化静态资源中...."
  197. // })
  198. // break
  199. // }
  200. // }, 1000)
  201. // that.setData({
  202. // showLogin: true
  203. // })
  204. // login(data).then(res => {
  205. // that.setData({
  206. // showLogin: false,
  207. // deda: 0,
  208. // loadText: "登录中..."
  209. // })
  210. // clearInterval(int)
  211. // if (res.result) {
  212. // cacheSet('token', res.data.token, 3600 * 24)
  213. // // wx.setStorageSync("token", res.data.token)
  214. // wx.setStorageSync('imgUrl', res.data.imgUrl)
  215. // wx.setStorageSync('nickName', res.data.nickName)
  216. // wx.setStorageSync('hlToken', res.data.hlToken)
  217. // wx.setStorageSync('userid', res.data.userId)
  218. // // 返回上一页携带登录标志
  219. // let pages = getCurrentPages();
  220. // let prevPage = pages[pages.length - 2];
  221. // prevPage.setData({
  222. // loginReturnFlag: true
  223. // })
  224. // wx.navigateBack({
  225. // delta: 1
  226. // });
  227. // } else {
  228. // that.setData({
  229. // showLogin: false
  230. // })
  231. // wx.showModal({
  232. // title: '登录失败',
  233. // content: '登录失败,请重试',
  234. // complete: (res) => { }
  235. // })
  236. // }
  237. // })
  238. // } else {
  239. // console.log('登录失败!' + res.errMsg)
  240. // }
  241. // }
  242. // })
  243. // },
  244. protocolTips() {
  245. wx.showModal({
  246. title: '温馨提示',
  247. content: '请仔细阅读并勾选用户服务协议!',
  248. confirmText: '同意',
  249. cancelText:"不同意",
  250. success: function (res) {
  251. },
  252. });
  253. },
  254. showSettingToast: function (e) {
  255. wx.showModal({
  256. title: '提示!',
  257. confirmText: '去设置',
  258. showCancel: false,
  259. content: e,
  260. success: function (res) {
  261. if (res.confirm) {
  262. wx.navigateTo({
  263. // url: '../setting/setting',
  264. })
  265. }
  266. }
  267. })
  268. },
  269. serviceAgreement(){
  270. wx.navigateTo({
  271. url: '/pages/aticle1/aticle',
  272. })
  273. },
  274. informationProcessing(){
  275. wx.navigateTo({
  276. url: '/pages/aticle2/aticle',
  277. })
  278. },
  279. /**
  280. * 生命周期函数--监听页面卸载
  281. */
  282. onUnload() {
  283. },
  284. /**
  285. * 页面相关事件处理函数--监听用户下拉动作
  286. */
  287. onPullDownRefresh() {
  288. },
  289. /**
  290. * 页面上拉触底事件的处理函数
  291. */
  292. onReachBottom() {
  293. },
  294. /**
  295. * 用户点击右上角分享
  296. */
  297. onShareAppMessage() {
  298. return {
  299. title: '登录'
  300. }
  301. }
  302. })