login.js 3.9 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. cover: m.cover,
  71. option: m.meta.auth.map(v => v.option),
  72. optionname: m.meta.auth.map(v => v.optionname)
  73. }
  74. })
  75. // systemObj[app.systemmodulename] = appObj;
  76. authList[app.systemmodulename] = appObj;
  77. })
  78. // authList[system.systemname] = systemObj;
  79. });
  80. uni.removeStorage({
  81. key: 'authList'
  82. })
  83. uni.setStorageSync('authList', authList)
  84. }
  85. class Login {
  86. wechatLogin() {
  87. return new Promise((resolve, reject) => {
  88. uni.login({
  89. success(res) {
  90. Vue.prototype.$Http.loginbywechat({
  91. wechat_code: res.code,
  92. "systemclient": "marketingtool"
  93. }).then(res => {
  94. console.log("微信登录", res)
  95. if (Vue.prototype.cutoff(res.msg)) return resolve(false);
  96. resolve(res.account_list[0].token)
  97. uni.removeStorage({
  98. key: 'userMsg',
  99. })
  100. uni.setStorageSync('userMsg', res.account_list[0])
  101. Vue.prototype.$Http.systemInitIsComplete = Promise.all([query_userauth(), querySite_Parameter(), querySite()]).then(res => {
  102. Vue.prototype.$Http.systemInitIsComplete = true
  103. Vue.prototype.$Http.HomePageStartRendering && Vue.prototype.$Http.HomePageStartRendering()
  104. })
  105. })
  106. }
  107. })
  108. })
  109. }
  110. }
  111. export {
  112. Login
  113. }