index.js 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408
  1. import {
  2. imgServerUrl
  3. } from '../../config/config.js'
  4. import {
  5. getCenterInfo,
  6. getResume,
  7. getMoneyAccountDetail,
  8. myPoint
  9. } from '../../services/index.js'
  10. import {
  11. updataStorageData
  12. } from '../../utils/storage.js'
  13. import {
  14. showToast
  15. } from '../../utils/tips.js'
  16. import {
  17. checkPhone
  18. } from '../../services/wx.js'
  19. var app = getApp()
  20. Page({
  21. data: {
  22. imgServerUrl: imgServerUrl,
  23. userInfo: {},
  24. noPhone: true,
  25. canIUse: wx.canIUse('button.open-type.getUserInfo'),
  26. percent: 0,
  27. userId: '',
  28. memberId: '',
  29. userToken: '',
  30. isLogin: false, //默认:未登录
  31. approveStatus: 0,
  32. hpMember: {},
  33. userResume: {},
  34. hpUserResumeId: '',
  35. visible: false,
  36. actions: [{
  37. name: '稍后再说',
  38. color: '#327AE1',
  39. },
  40. {
  41. name: '立即认证',
  42. color: '#327AE1',
  43. fontWeight: 500
  44. },
  45. ],
  46. },
  47. onLoad: function(options) {
  48. },
  49. onShow: function() {
  50. //获取用户user_id和member_id,判断是否处于登录态
  51. var userId = wx.getStorageSync("user_id");
  52. var userToken = wx.getStorageSync("user_token");
  53. var memberId = wx.getStorageSync("member_id");
  54. var userInfo = wx.getStorageSync("userInfo");
  55. var hpMember = wx.getStorageSync('hpMember');
  56. var phone = wx.getStorageSync("phone");
  57. this.setData({
  58. hpUserResumeId: '',
  59. userResume: {},
  60. percent: 0
  61. })
  62. var isLogin = false;
  63. if (userId && memberId) {
  64. isLogin = true;
  65. //必传参数放于app全局变量内
  66. app.globalData.userId = userId;
  67. app.globalData.userToken = userToken;
  68. app.globalData.memberId = memberId;
  69. if (userInfo) {
  70. app.globalData.userInfo = userInfo;
  71. console.log('有info===', userInfo)
  72. }
  73. this.start();
  74. }
  75. this.setData({
  76. avatar: (app.globalData.userInfo && app.globalData.userInfo.avatarUrl) ? app.globalData.userInfo.avatarUrl : `${imgServerUrl}/images/avatar/man.png`,
  77. isLogin: isLogin,
  78. userInfo: userInfo,
  79. hpMember: hpMember,
  80. phone: phone
  81. })
  82. },
  83. /**
  84. * 用户点击右上角分享
  85. */
  86. onShareAppMessage: function() {
  87. },
  88. start() {
  89. this.fetchData();
  90. this.getUserResume();
  91. // this.getWallt();
  92. this.getSign();
  93. },
  94. // 获取钱包信息
  95. getWallt() {
  96. getMoneyAccountDetail({
  97. user_id: wx.getStorageSync('user_id'),
  98. user_token: wx.getStorageSync('user_token'),
  99. member_id: wx.getStorageSync('member_id'),
  100. }).then(res => {
  101. if (res.errcode === 0) {
  102. this.setData({
  103. moneyBalance: res.data.MpMemberAccountAPI.moneyBalance.toFixed(2) + ' 元'
  104. })
  105. }
  106. })
  107. },
  108. // 获取积分信息
  109. getSign() {
  110. myPoint({
  111. user_id: wx.getStorageSync('user_id'),
  112. user_token: wx.getStorageSync('user_token'),
  113. member_id: wx.getStorageSync('member_id'),
  114. }).then(res => {
  115. if (res.errcode === 0) {
  116. this.setData({
  117. pointsBalance: res.data.mpMemberAccount.pointsBalance + ' 分',
  118. moneyBalance: res.data.mpMemberAccount.moneyBalance.toFixed(2) + ' 元'
  119. })
  120. }
  121. })
  122. },
  123. //获取用户简历详情
  124. getUserResume() {
  125. let paramsObj = {
  126. user_id: app.globalData.userId,
  127. user_token: app.globalData.userToken,
  128. member_id: app.globalData.memberId
  129. }
  130. Object.assign(paramsObj);
  131. getResume(paramsObj).then(data => {
  132. if (data.data.userResume) {
  133. var percent = 0;
  134. if (data.data.userResume.phone) {
  135. percent = 40 + percent;
  136. }
  137. if (data.data.userResume.expectationPosition) {
  138. percent = 40 + percent;
  139. }
  140. if (data.data.userResume.hpResumeWorkExperienceList.length > 0) {
  141. percent = 20 + percent;
  142. }
  143. this.setData({
  144. hpUserResumeId: data.data.userResume.id,
  145. userResume: data.data.userResume,
  146. percent: percent
  147. })
  148. }
  149. }).catch(data => {
  150. console.log('No!', data)
  151. })
  152. },
  153. //获取用户认证状态
  154. fetchData() {
  155. let paramsObj = {
  156. user_id: app.globalData.userId,
  157. user_token: app.globalData.userToken,
  158. member_id: app.globalData.memberId
  159. }
  160. Object.assign(paramsObj);
  161. getCenterInfo(paramsObj).then(data => {
  162. let {
  163. approveStatus
  164. } = data.data
  165. this.setData({
  166. approveStatus, // 认证状态(0:未认证 1:等待认证 2:未通过 3:已认证) ,
  167. })
  168. })
  169. },
  170. // 简历
  171. tojianli() {
  172. if (!this.data.isLogin) {
  173. wx.navigateTo({
  174. url: '/pages/login/login',
  175. })
  176. return;
  177. }
  178. if (this.data.hpUserResumeId) {
  179. wx.navigateTo({
  180. url: '../jianli/index?hpUserResumeId=' + this.data.hpUserResumeId,
  181. })
  182. } else {
  183. wx.navigateTo({
  184. url: '../user-info/user-info',
  185. })
  186. }
  187. },
  188. //去认证页面
  189. toAuth() {
  190. if (!this.data.isLogin) {
  191. wx.navigateTo({
  192. url: '/pages/login/login',
  193. })
  194. return;
  195. }
  196. let approveState = this.data.approveStatus
  197. console.log(approveState)
  198. if (approveState == 0) {
  199. //身份认证
  200. wx.navigateTo({
  201. url: '../identification/index',
  202. })
  203. } else if (approveState == 3) {
  204. showToast("已认证")
  205. //个人信息页面
  206. // wx.navigateTo({
  207. // url: '../user-form/index',
  208. // })
  209. } else if (approveState == 2) {
  210. //认证不通过
  211. wx.navigateTo({
  212. url: '../result/index?type=auth&status=0',
  213. })
  214. } else if (approveState == 1) {
  215. //待审核
  216. wx.navigateTo({
  217. url: '../result/index?type=auth&status=2',
  218. })
  219. }
  220. },
  221. checkStatus() {
  222. let approveState = this.data.approveStatus
  223. if (!wx.getStorageSync("user_id") || !wx.getStorageSync("user_token") || !wx.getStorageSync("member_id")) {
  224. wx.showModal({
  225. title: '提示',
  226. content: '你还未登录,请先登录小程序',
  227. showCancel: false,
  228. success: res => {
  229. if (res.confirm) {
  230. // wx.navigateBack({
  231. // delta: 1,
  232. // })
  233. wx.navigateTo({
  234. url: '/pages/login/login',
  235. })
  236. }
  237. }
  238. })
  239. return false;
  240. }
  241. if (approveState == 0) {
  242. wx.showModal({
  243. title: '提示',
  244. content: '你还未认证,请先进行身份认证',
  245. showCancel: false,
  246. success: res => {
  247. if (res.confirm) {
  248. //身份认证
  249. wx.navigateTo({
  250. url: '../identification/index',
  251. })
  252. }
  253. }
  254. })
  255. return false
  256. } else if (approveState == 2) {
  257. //认证不通过
  258. wx.navigateTo({
  259. url: '../result/index?type=auth&status=0',
  260. })
  261. return false;
  262. } else if (approveState == 1) {
  263. //待审核
  264. wx.navigateTo({
  265. url: '../result/index?type=auth&status=2',
  266. })
  267. return false
  268. }
  269. return true
  270. },
  271. apply() {
  272. if (!this.data.isLogin) {
  273. wx.navigateTo({
  274. url: '/pages/login/login',
  275. })
  276. return;
  277. }
  278. //我的申请
  279. wx.navigateTo({
  280. url: '../apply-list/index',
  281. })
  282. },
  283. collection() {
  284. if (!this.data.isLogin) {
  285. wx.navigateTo({
  286. url: '/pages/login/login',
  287. })
  288. return;
  289. }
  290. //我的收藏
  291. wx.navigateTo({
  292. url: '../collection-list/index',
  293. })
  294. },
  295. interview() {
  296. if (!this.data.isLogin) {
  297. wx.navigateTo({
  298. url: '/pages/login/login',
  299. })
  300. return;
  301. }
  302. //面试邀请
  303. wx.navigateTo({
  304. url: '../interview/index',
  305. })
  306. },
  307. setup() {
  308. if (!this.data.isLogin) {
  309. wx.navigateTo({
  310. url: '/pages/login/login',
  311. })
  312. return;
  313. }
  314. //设置
  315. wx.navigateTo({
  316. url: '../set/index',
  317. })
  318. },
  319. toPayRoll(e) {
  320. if (!this.data.isLogin) {
  321. wx.showModal({
  322. title: '提示',
  323. content: '你还未登录,请先登录小程序',
  324. showCancel: false,
  325. success: res => {
  326. if (res.confirm) {
  327. // wx.navigateBack({
  328. // delta: 1,
  329. // })
  330. wx.navigateTo({
  331. url: '/pages/login/login',
  332. })
  333. }
  334. }
  335. })
  336. return false;
  337. }
  338. // if (this.data.approveStatus === 0) {
  339. // this.setData({
  340. // visible: true
  341. // })
  342. // return
  343. // }
  344. const {
  345. url,
  346. title
  347. } = e.currentTarget.dataset;
  348. if (wx.getStorageSync('user_id') && wx.getStorageSync('member_id') && this.checkStatus()) {
  349. wx.navigateTo({
  350. url: `/pages/check-iphone/index?phone=${this.data.phone}&&title=${title}&&url=${url}`
  351. })
  352. }
  353. },
  354. toLogin() {
  355. wx.navigateTo({
  356. url: '/pages/login/login',
  357. })
  358. },
  359. toDetail(e) {
  360. const {
  361. url
  362. } = e.currentTarget.dataset;
  363. if (wx.getStorageSync('user_id') && wx.getStorageSync('member_id')) {
  364. wx.navigateTo({
  365. url
  366. })
  367. } else {
  368. wx.showModal({
  369. title: '提示',
  370. content: '你还未登录,请先登录小程序',
  371. showCancel: false,
  372. success: res => {
  373. if (res.confirm) {
  374. // wx.navigateBack({
  375. // delta: 1,
  376. // })
  377. wx.navigateTo({
  378. url: '/pages/login/login',
  379. })
  380. }
  381. }
  382. })
  383. }
  384. },
  385. handel(e) {
  386. if (!this.data.isLogin) {
  387. wx.navigateTo({
  388. url: '/pages/login/login',
  389. })
  390. return;
  391. }
  392. const {
  393. index
  394. } = e.detail;
  395. this.setData({
  396. visible: false
  397. })
  398. if (index === 1) {
  399. this.toAuth();
  400. }
  401. }
  402. })