me.js 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399
  1. // pages/me/me.js
  2. const app = getApp();
  3. Page({
  4. /**
  5. * 页面的初始数据
  6. */
  7. data: {
  8. thumbnail: app.globalData.thumbnail,
  9. baseImgUrl: app.globalData.baseImgUrl,
  10. userInfo: null,
  11. pageNo: 1,
  12. pageSize: 5,
  13. list:[],
  14. childImg:'',
  15. hiddenModel:false,
  16. isAll:false,
  17. isShell: 1,
  18. footerData: {
  19. actIndex: 2,
  20. list: [
  21. {
  22. text: '首页',
  23. url: '../../image/shou_ye_hui.png',
  24. actUrl: '../../image/shou_ye.png',
  25. src: 'homework_list',
  26. id: 'homework_list'
  27. },
  28. {
  29. text: '学习成长报告',
  30. url: '../../image/xue_qing_hui.png',
  31. actUrl: '../../image/xue_qing.png',
  32. src: 'learning_report',
  33. id: 'learning_report'
  34. },
  35. {
  36. text: '我的',
  37. url: '../../image/wo_de_hui.png',
  38. actUrl: '../../image/wo_de.png',
  39. src: 'me',
  40. id: 'me'
  41. }
  42. ],
  43. },
  44. user: {
  45. headIcon: '../../assets/shu_gong@3x.png',
  46. nickName: '维尼尊者'
  47. },
  48. actChildIndex: 0,
  49. vip: {
  50. // nickName: '',
  51. // headIcon: '',
  52. // totalCapacity: 52,
  53. // capacity: 26,
  54. // userId:''
  55. },
  56. listOne: [
  57. {
  58. icon: '../../assets/xiao_xi@3x.png',
  59. text: '消息',
  60. src: 'chat_detail',
  61. method: null
  62. },
  63. {
  64. icon: '../../assets/hai_zi_zhang_hao@3x.png',
  65. text: '孩子账号',
  66. src: 'children',
  67. method: null
  68. },
  69. {
  70. icon: '../../assets/yu_yue_dao_guan@3x.png',
  71. text: '预约到馆',
  72. src: '', //appointment
  73. method: null
  74. },
  75. {
  76. icon: '../../assets/hui_yuan_xu_fei@3x.png',
  77. text: '会员续费',
  78. src: '', // membership
  79. method: null
  80. },
  81. {
  82. icon: '../../assets/yong_hu_zhi_nan@3x.png',
  83. text: '用户使用指南',
  84. src: '', // guide
  85. method: null
  86. },
  87. {
  88. icon: '../../assets/yong_hu_xie_yi@3x.png',
  89. text: '用户协议',
  90. src: 'agreement',
  91. method: null
  92. }
  93. ],
  94. listTwo: [
  95. {
  96. icon: '../../assets/she_zhi@3x.png',
  97. text: '设置',
  98. src: 'settings',
  99. method: null
  100. }
  101. ]
  102. },
  103. /**
  104. * 生命周期函数--监听页面加载
  105. */
  106. onLoad: function (options) {
  107. app.getWxloginCode(code => {
  108. this.setData({ code })
  109. })
  110. const userInfo = app.globalData.userInfo || wx.getStorageSync('userInfo') || null
  111. if (userInfo) {
  112. this.setData({ userInfo })
  113. }
  114. this.setData({ options });
  115. if (!options.vipId) {
  116. const userId = app.globalData.userId || wx.getStorageSync('userId')
  117. const vipId = app.globalData.parentVipId || wx.getStorageSync(`parentVipId-${userId}`)
  118. options.vipId = vipId
  119. options.userId = userId
  120. this.setData({ options });
  121. }
  122. },
  123. /**
  124. * 生命周期函数--监听页面初次渲染完成
  125. */
  126. onReady: function () {
  127. },
  128. /**
  129. * 生命周期函数--监听页面显示
  130. */
  131. onShow: function () {
  132. const userInfo = wx.getStorageSync('userInfo')
  133. const { vipId } = this.data.options
  134. if (!userInfo) {
  135. this.setData({ isOne: true })
  136. } else if (userInfo) {
  137. this.getMyInfo()
  138. }
  139. },
  140. /**
  141. * 生命周期函数--监听页面隐藏
  142. */
  143. onHide: function () {
  144. },
  145. /**
  146. * 生命周期函数--监听页面卸载
  147. */
  148. onUnload: function () {
  149. },
  150. /**
  151. * 页面相关事件处理函数--监听用户下拉动作
  152. */
  153. onPullDownRefresh: function () {
  154. },
  155. /**
  156. * 页面上拉触底事件的处理函数
  157. */
  158. onReachBottom: function () {
  159. // const { isAll } = this.data
  160. // if (isAll) {
  161. // return
  162. // }
  163. // const userId = app.globalData.userId || wx.getStorageSync('userId')
  164. // if (userId) {
  165. // const { pageNo}=this.data;
  166. // const parentVipId = app.globalData.parentVipId || wx.getStorageSync(`parentVipId-${userId}`) || '';
  167. // this.setData({ parentVipId, pageNo: pageNo+1})
  168. // }
  169. },
  170. /**
  171. * 用户点击右上角分享
  172. */
  173. onShareAppMessage: function () {
  174. },
  175. /**
  176. * 底部导航跳转
  177. */
  178. redirectCtl: app.redirectCtl,
  179. /**
  180. * 路由跳转
  181. */
  182. navigateCtl:function(e) {
  183. const { userInfo } = this.data
  184. if (userInfo) {
  185. app.navigateCtl(e);
  186. } else {
  187. wx.showToast({
  188. title: '请授权登录后再试',
  189. icon: 'none'
  190. })
  191. }
  192. },
  193. /**
  194. * 孩子名片
  195. */
  196. businessCard: function (e) {
  197. const { vipId, childIndex, userInfo } = this.data
  198. if (childIndex>=0) {
  199. this.setData({ parentVipLiIdx: childIndex });
  200. }
  201. if (vipId) {
  202. app.navigateCtl(e);
  203. } else if (!userInfo) {
  204. wx.showToast({
  205. title: '请授权登录后再试',
  206. icon: 'none'
  207. })
  208. }else{
  209. wx.showToast({
  210. title: '请添加孩子后再试',
  211. icon: 'none'
  212. })
  213. }
  214. },
  215. // 会员中心
  216. memberCtrl:function(){
  217. wx.showToast({
  218. title: '暂未开放',
  219. icon: 'none'
  220. })
  221. },
  222. //查看图片
  223. viewImageCtl:app.viewImageCtl,
  224. /**
  225. * 我的信息
  226. */
  227. getMyInfo: function () {
  228. var that=this;
  229. const userId = app.globalData.userId || wx.getStorageSync('userId');
  230. const postData = { fn: this.getChildInfo, param: { ...arguments } }
  231. app.post('/api/parents/parents/V2/getMyInfo', {}, 0, postData).then(res => {
  232. const { childList,phone} = res.data;
  233. if (phone=="") {
  234. that.redirectCtl({ url:'phone', method: { isFrist: 1} }, true)
  235. }
  236. if (userId) {
  237. const parentInfo = app.globalData.parentInfo || wx.getStorageSync(`parentInfo-${userId}`)
  238. // const parentVipList = wx.getStorageSync(`parentVipList-${userId}`) || []
  239. var parentVipList=childList
  240. const parentVipLiIdx = app.globalData.parentVipLiIdx || wx.getStorageSync(`parentVipLiIdx-${userId}`) || 0
  241. const parentVipId = app.globalData.parentVipId || wx.getStorageSync(`parentVipId-${userId}`) || ''
  242. const parentImg = parentInfo.imgUrl || '';
  243. const { imgUrl } = parentVipList[parentVipLiIdx] ? parentVipList[parentVipLiIdx] : { imgUrl: '' };
  244. const { childName, derver, vipId, isZybService, zybEndDate, childType, qrCodeImg} = parentVipList[parentVipLiIdx];
  245. this.setData({ userId, parentVipList,parentInfo, parentVipLiIdx, parentVipId, parentImg,imgUrl, childName, derver, vipId, isZybService, zybEndDate, childType, qrCodeImg})
  246. }
  247. })
  248. },
  249. /**
  250. * 提示框隐藏
  251. */
  252. allShowModel: function () {
  253. this.setData({hiddenModel: false })
  254. },
  255. /**
  256. * 切换孩子信息
  257. */
  258. modalInfo:function(e){
  259. const { index } = e.currentTarget.dataset;
  260. // console.log(index)
  261. this.setData({ hiddenModel: true, childIndex: index})
  262. this.setData({
  263. parentVipLiIdx: index
  264. })
  265. },
  266. sureCheckChildren:function(){
  267. const { childIndex}=this.data;
  268. this.setData({ hiddenModel: false});
  269. this.checkActChildCtl(childIndex);
  270. },
  271. checkActChildCtl: function (res) {
  272. const index = res;
  273. const { parentVipLiIdx, parentVipList, userId } = this.data
  274. this.setData({
  275. parentVipLiIdx: index,
  276. parentVipId: parentVipList[index]['vipId']
  277. })
  278. getApp().globalData.parentVipLiIdx = index
  279. getApp().globalData.parentVipId = parentVipList[index]['vipId']
  280. wx.setStorageSync(`parentVipLiIdx-${userId}`, index)
  281. wx.setStorageSync(`parentVipId-${userId}`, parentVipList[index]['vipId'])
  282. this.setData({pageNo: 1})
  283. this.getMyInfo();
  284. },
  285. // /**
  286. // * 获取定位经纬度
  287. // */
  288. // getLocation: function () {
  289. // app.getWxUserLocationSetting(res => {
  290. // wx.showLoading({
  291. // title: '定位中'
  292. // })
  293. // wx.getLocation({
  294. // type: 'wgs84',
  295. // success: res => {
  296. // this.setData({
  297. // longitude: res.longitude, // '113.36403' ||
  298. // latitude: res.latitude // '23.14203' ||
  299. // })
  300. // },
  301. // fail: res => {
  302. // setTimeout(() => {
  303. // wx.showToast({
  304. // title: '定位失败',
  305. // icon: 'none'
  306. // })
  307. // }, 10)
  308. // setTimeout(() => {
  309. // wx.navigateBack({
  310. // delta: 1
  311. // })
  312. // }, 1000)
  313. // },
  314. // complete: res => {
  315. // wx.hideLoading()
  316. // }
  317. // })
  318. // })
  319. // },
  320. /**
  321. * 添加学员
  322. */
  323. addChildCtl: function () {
  324. const postData = { fn: this.addChildCtl, param: { ...arguments } }
  325. const {vipId}=this.data.options;
  326. const { longitude, latitude}=this.data;
  327. // console.log(longitude, latitude)
  328. wx.scanCode({
  329. onlyFromCamera: true,
  330. success: (e) => {
  331. if (e.result.indexOf('https://t.sharingschool.com')!=-1){
  332. app.post('/api/parents/parents/swipeQrCode', {
  333. vipId,
  334. longitude,
  335. latitude,
  336. qrCode: e.result
  337. }, 0, postData).then(res => {
  338. wx.showToast({
  339. title: '扫码成功',
  340. icon: 'success',
  341. duration: 1000
  342. })
  343. })
  344. }else{
  345. wx.showToast({
  346. title: '二维码不正确',
  347. icon: 'none',
  348. duration: 1000
  349. })
  350. }
  351. }
  352. })
  353. },
  354. /**
  355. * 微信授权
  356. */
  357. bindGetUserInfo: function (e) {
  358. const {code } = this.data;
  359. if (e.detail.userInfo) {
  360. app.saveUserInfo(e.detail, code)
  361. } else {
  362. wx.showToast({
  363. title: '微信授权失败',
  364. icon: 'none'
  365. })
  366. }
  367. }
  368. })