login.js 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. import Vue from 'vue';
  2. /* 获取用户权限 */
  3. function query_userauth() {
  4. return new Promise((resolve, reject) => {
  5. Vue.prototype.$Http.basic({
  6. "classname": "sysmanage.develop.userauth.userauth",
  7. "method": "query_userauth",
  8. content: {
  9. nocache: true
  10. }
  11. }).then(res => {
  12. console.log("查询用户权限", res)
  13. if (Vue.prototype.cutoff(res.msg)) return resolve(false);
  14. resolve(true)
  15. parsingAuth(res.data)
  16. });
  17. })
  18. }
  19. /* 查询站点数据 */
  20. function querySite_Parameter() {
  21. return new Promise((resolve, reject) => {
  22. Vue.prototype.$Http.basic({
  23. "classname": "webmanage.site.site",
  24. "method": "querySite_Parameter", //查询站点数据
  25. "content": {}
  26. }).then(res => {
  27. console.log("查询站点配置", res)
  28. if (Vue.prototype.cutoff(res.msg)) return resolve(false);
  29. uni.removeStorage({
  30. key: 'siteP',
  31. })
  32. uni.setStorageSync('siteP', res.data);
  33. resolve(true)
  34. });
  35. })
  36. }
  37. /* 查询站点数据 */
  38. function querySite() {
  39. return new Promise((resolve, reject) => {
  40. Vue.prototype.$Http.basic({
  41. "classname": "webmanage.site.site",
  42. "method": "querySite",
  43. "content": {},
  44. }).then(res => {
  45. console.log("查询站点配置", res)
  46. if (Vue.prototype.cutoff(res.msg)) return resolve(false);
  47. res.data.logo = res.data.attinfos.length ? Vue.prototype.getSpecifiedImage(res.data.attinfos.find(s => s.usetype == "actionlogo") || res.data.attinfos[0]) : ''
  48. uni.removeStorage({
  49. key: 'site',
  50. })
  51. uni.setStorageSync('site', res.data);
  52. resolve(true)
  53. });
  54. })
  55. }
  56. /* 格式化权限 */
  57. function parsingAuth(list) {
  58. let authList = {}
  59. list.forEach(system => {
  60. // let systemObj = {}
  61. system.modules.forEach(app => {
  62. let appObj = {}
  63. app.apps.forEach(m => {
  64. appObj[m.meta.title] = {
  65. path: m.path,
  66. pathDetail: m.path_index,
  67. pathDetail: m.path_index,
  68. name: m.name,
  69. remark: m.meta.title,
  70. remarks: m.remarks,
  71. cover: m.cover,
  72. option: m.meta.auth.map(v => v.option),
  73. forms: m.meta.forms,
  74. optionname: m.meta.auth.map(v => v.optionname)
  75. }
  76. })
  77. // systemObj[app.systemmodulename] = appObj;
  78. authList[app.systemmodulename] = appObj;
  79. })
  80. // authList[system.systemname] = systemObj;
  81. });
  82. uni.removeStorage({
  83. key: 'authList'
  84. })
  85. uni.setStorageSync('authList', authList)
  86. }
  87. class Login {
  88. wechatLogin() {
  89. return new Promise((resolve, reject) => {
  90. uni.login({
  91. success(res) {
  92. Vue.prototype.$Http.loginbywechat({
  93. wechat_code: res.code,
  94. "systemclient": "marketingtool"
  95. }).then(res => {
  96. console.log("微信登录", res)
  97. if (Vue.prototype.cutoff(res.msg)) return resolve(false);
  98. resolve(res.account_list[0].token)
  99. uni.removeStorage({
  100. key: 'userMsg',
  101. })
  102. uni.setStorageSync('userMsg', res.account_list[0])
  103. getApp().globalData.systemInitIsComplete = Promise.all([query_userauth(), querySite_Parameter(), querySite()]).then(res => {
  104. getApp().globalData.systemInitIsComplete = true
  105. getApp().globalData.HomePageStartRendering.forEach(v => v())
  106. })
  107. })
  108. }
  109. })
  110. })
  111. }
  112. }
  113. export {
  114. Login
  115. }