Browse Source

更新代码,修复提交申请后跳转到审核状态页面的功能

pull/1/head
徐飞洋 3 months ago
parent
commit
68d1d635a2
  1. 47
      custom-tab-bar/index.js
  2. BIN
      images/你有好蛋.png
  3. 305
      package-lock.json
  4. 3
      package.json
  5. 62
      pages/index/index.js
  6. 46
      pages/profile/index.js
  7. 63
      pages/publish/index.js
  8. 260
      pages/seller/index.js
  9. 13
      pages/seller/index.wxml
  10. 34
      pages/seller/index.wxss
  11. 177
      pages/settlement/index.js
  12. 13
      pages/settlement/index.wxml
  13. 54
      pages/settlement/index.wxss

47
custom-tab-bar/index.js

@ -79,53 +79,8 @@ Component({
}
}
// 特殊处理:点击货源页面时检查登录状态和入驻状态
if (key === 'seller' && url === 'pages/seller/index') {
console.log('点击货源页面,开始检查登录状态和入驻状态...');
// 首先检查登录状态
const userId = wx.getStorageSync('userId');
const userInfo = wx.getStorageSync('userInfo');
if (!userId || !userInfo) {
console.log('用户未登录,跳转到登录或入驻页面');
wx.navigateTo({
url: '/pages/settlement/index',
success: (res) => {
console.log('跳转到入驻页面成功:', res);
},
fail: (err) => {
console.error('跳转到入驻页面失败:', err);
this.navigateToTabPage(url);
}
});
} else {
// 用户已登录,检查合作商状态
const settlementStatus = wx.getStorageSync('settlement_status');
console.log('检查合作商状态:', settlementStatus);
if (!settlementStatus || settlementStatus === '') {
console.log('合作商状态不存在,用户未入驻');
wx.navigateTo({
url: '/pages/settlement/index'
});
} else if (settlementStatus === 'underreview') {
console.log('合作商状态为审核中,跳转到货源页面显示审核中内容');
this.navigateToTabPage(url);
} else if (settlementStatus === 'approved' || settlementStatus === 'incooperation') {
console.log('合作商状态为审核通过,正常跳转到货源页面');
this.navigateToTabPage(url);
} else {
console.log('其他状态,跳转到入驻页面');
wx.navigateTo({
url: '/pages/settlement/index'
});
}
}
} else {
// 其他tab页面正常跳转
// 无论是否登录,直接跳转到对应页面
this.navigateToTabPage(url)
}
} catch (e) {
console.error('switchTab方法执行错误:', e)
}

BIN
images/你有好蛋.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

305
package-lock.json

@ -13,9 +13,40 @@
"cors": "^2.8.5",
"express": "^5.1.0",
"form-data": "^4.0.4",
"mysql2": "^3.15.2"
"mysql2": "^3.15.3",
"sequelize": "^6.37.7"
}
},
"node_modules/@types/debug": {
"version": "4.1.12",
"resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz",
"integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==",
"license": "MIT",
"dependencies": {
"@types/ms": "*"
}
},
"node_modules/@types/ms": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz",
"integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==",
"license": "MIT"
},
"node_modules/@types/node": {
"version": "24.10.1",
"resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.1.tgz",
"integrity": "sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==",
"license": "MIT",
"dependencies": {
"undici-types": "~7.16.0"
}
},
"node_modules/@types/validator": {
"version": "13.15.10",
"resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.15.10.tgz",
"integrity": "sha512-T8L6i7wCuyoK8A/ZeLYt1+q0ty3Zb9+qbSSvrIVitzT3YjZqkTZ40IbRsPanlB4h1QB3JVL1SYCdR6ngtFYcuA==",
"license": "MIT"
},
"node_modules/accepts": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz",
@ -77,35 +108,27 @@
}
},
"node_modules/body-parser": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz",
"integrity": "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==",
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.1.tgz",
"integrity": "sha512-nfDwkulwiZYQIGwxdy0RUmowMhKcFVcYXUU7m4QlKYim1rUtg83xm2yjZ40QjDuc291AJjjeSc9b++AWHSgSHw==",
"license": "MIT",
"dependencies": {
"bytes": "^3.1.2",
"content-type": "^1.0.5",
"debug": "^4.4.0",
"debug": "^4.4.3",
"http-errors": "^2.0.0",
"iconv-lite": "^0.6.3",
"iconv-lite": "^0.7.0",
"on-finished": "^2.4.1",
"qs": "^6.14.0",
"raw-body": "^3.0.0",
"type-is": "^2.0.0"
"raw-body": "^3.0.1",
"type-is": "^2.0.1"
},
"engines": {
"node": ">=18"
}
},
"node_modules/body-parser/node_modules/iconv-lite": {
"version": "0.6.3",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
"integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
"license": "MIT",
"dependencies": {
"safer-buffer": ">= 2.1.2 < 3.0.0"
},
"engines": {
"node": ">=0.10.0"
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/express"
}
},
"node_modules/bytes": {
@ -254,6 +277,12 @@
"node": ">= 0.8"
}
},
"node_modules/dottie": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/dottie/-/dottie-2.0.6.tgz",
"integrity": "sha512-iGCHkfUc5kFekGiqhe8B/mdaurD+lakO9txNnTvKtA6PISrw86LgqHvRzWYPyoE2Ph5aMIrCw9/uko6XHTKCwA==",
"license": "MIT"
},
"node_modules/dunder-proto": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
@ -344,18 +373,19 @@
}
},
"node_modules/express": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/express/-/express-5.1.0.tgz",
"integrity": "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==",
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz",
"integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==",
"license": "MIT",
"dependencies": {
"accepts": "^2.0.0",
"body-parser": "^2.2.0",
"body-parser": "^2.2.1",
"content-disposition": "^1.0.0",
"content-type": "^1.0.5",
"cookie": "^0.7.1",
"cookie-signature": "^1.2.1",
"debug": "^4.4.0",
"depd": "^2.0.0",
"encodeurl": "^2.0.0",
"escape-html": "^1.0.3",
"etag": "^1.8.1",
@ -584,28 +614,23 @@
}
},
"node_modules/http-errors": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
"integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz",
"integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==",
"license": "MIT",
"dependencies": {
"depd": "2.0.0",
"inherits": "2.0.4",
"setprototypeof": "1.2.0",
"statuses": "2.0.1",
"toidentifier": "1.0.1"
"depd": "~2.0.0",
"inherits": "~2.0.4",
"setprototypeof": "~1.2.0",
"statuses": "~2.0.2",
"toidentifier": "~1.0.1"
},
"engines": {
"node": ">= 0.8"
}
},
"node_modules/http-errors/node_modules/statuses": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
"integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
"license": "MIT",
"engines": {
"node": ">= 0.8"
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/express"
}
},
"node_modules/iconv-lite": {
@ -624,6 +649,15 @@
"url": "https://opencollective.com/express"
}
},
"node_modules/inflection": {
"version": "1.13.4",
"resolved": "https://registry.npmjs.org/inflection/-/inflection-1.13.4.tgz",
"integrity": "sha512-6I/HUDeYFfuNCVS3td055BaXBwKYuzw7K3ExVMStBowKo9oOAMJIXIHvdyR3iboTCp1b+1i5DSkIZTcwIktuDw==",
"engines": [
"node >= 0.4.0"
],
"license": "MIT"
},
"node_modules/inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
@ -651,6 +685,12 @@
"integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==",
"license": "MIT"
},
"node_modules/lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"license": "MIT"
},
"node_modules/long": {
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz",
@ -732,6 +772,27 @@
"node": ">= 0.6"
}
},
"node_modules/moment": {
"version": "2.30.1",
"resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz",
"integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==",
"license": "MIT",
"engines": {
"node": "*"
}
},
"node_modules/moment-timezone": {
"version": "0.5.48",
"resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.48.tgz",
"integrity": "sha512-f22b8LV1gbTO2ms2j2z13MuPogNoh5UzxL3nzNAYKGraILnbGc9NEE6dyiiiLv46DGRb8A4kg8UKWLjPthxBHw==",
"license": "MIT",
"dependencies": {
"moment": "^2.29.4"
},
"engines": {
"node": "*"
}
},
"node_modules/ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
@ -739,9 +800,9 @@
"license": "MIT"
},
"node_modules/mysql2": {
"version": "3.15.2",
"resolved": "https://registry.npmjs.org/mysql2/-/mysql2-3.15.2.tgz",
"integrity": "sha512-kFm5+jbwR5mC+lo+3Cy46eHiykWSpUtTLOH3GE+AR7GeLq8PgfJcvpMiyVWk9/O53DjQsqm6a3VOOfq7gYWFRg==",
"version": "3.15.3",
"resolved": "https://registry.npmjs.org/mysql2/-/mysql2-3.15.3.tgz",
"integrity": "sha512-FBrGau0IXmuqg4haEZRBfHNWB5mUARw6hNwPDXXGg0XzVJ50mr/9hb267lvpVMnhZ1FON3qNd4Xfcez1rbFwSg==",
"license": "MIT",
"dependencies": {
"aws-ssl-profiles": "^1.1.1",
@ -840,6 +901,12 @@
"url": "https://opencollective.com/express"
}
},
"node_modules/pg-connection-string": {
"version": "2.9.1",
"resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.9.1.tgz",
"integrity": "sha512-nkc6NpDcvPVpZXxrreI/FOtX3XemeLl8E0qFr6F2Lrm/I8WOnaWNhIPK2Z7OHpw7gh5XJThi6j6ppgNoaT1w4w==",
"license": "MIT"
},
"node_modules/proxy-addr": {
"version": "2.0.7",
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
@ -884,20 +951,26 @@
}
},
"node_modules/raw-body": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.1.tgz",
"integrity": "sha512-9G8cA+tuMS75+6G/TzW8OtLzmBDMo8p1JRxN5AZ+LAp8uxGA8V8GZm4GQ4/N5QNQEnLmg6SS7wyuSmbKepiKqA==",
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.2.tgz",
"integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==",
"license": "MIT",
"dependencies": {
"bytes": "3.1.2",
"http-errors": "2.0.0",
"iconv-lite": "0.7.0",
"unpipe": "1.0.0"
"bytes": "~3.1.2",
"http-errors": "~2.0.1",
"iconv-lite": "~0.7.0",
"unpipe": "~1.0.0"
},
"engines": {
"node": ">= 0.10"
}
},
"node_modules/retry-as-promised": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/retry-as-promised/-/retry-as-promised-7.1.1.tgz",
"integrity": "sha512-hMD7odLOt3LkTjcif8aRZqi/hybjpLNgSk5oF5FCowfCjok6LukpN2bDX7R5wDmbgBQFn7YoBxSagmtXHaJYJw==",
"license": "MIT"
},
"node_modules/router": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz",
@ -940,6 +1013,18 @@
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
"license": "MIT"
},
"node_modules/semver": {
"version": "7.7.3",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
"integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
"license": "ISC",
"bin": {
"semver": "bin/semver.js"
},
"engines": {
"node": ">=10"
}
},
"node_modules/send": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz",
@ -988,6 +1073,77 @@
"resolved": "https://registry.npmjs.org/seq-queue/-/seq-queue-0.0.5.tgz",
"integrity": "sha512-hr3Wtp/GZIc/6DAGPDcV4/9WoZhjrkXsi5B/07QgX8tsdc6ilr7BFM6PM6rbdAX1kFSDYeZGLipIZZKyQP0O5Q=="
},
"node_modules/sequelize": {
"version": "6.37.7",
"resolved": "https://registry.npmjs.org/sequelize/-/sequelize-6.37.7.tgz",
"integrity": "sha512-mCnh83zuz7kQxxJirtFD7q6Huy6liPanI67BSlbzSYgVNl5eXVdE2CN1FuAeZwG1SNpGsNRCV+bJAVVnykZAFA==",
"funding": [
{
"type": "opencollective",
"url": "https://opencollective.com/sequelize"
}
],
"license": "MIT",
"dependencies": {
"@types/debug": "^4.1.8",
"@types/validator": "^13.7.17",
"debug": "^4.3.4",
"dottie": "^2.0.6",
"inflection": "^1.13.4",
"lodash": "^4.17.21",
"moment": "^2.29.4",
"moment-timezone": "^0.5.43",
"pg-connection-string": "^2.6.1",
"retry-as-promised": "^7.0.4",
"semver": "^7.5.4",
"sequelize-pool": "^7.1.0",
"toposort-class": "^1.0.1",
"uuid": "^8.3.2",
"validator": "^13.9.0",
"wkx": "^0.5.0"
},
"engines": {
"node": ">=10.0.0"
},
"peerDependenciesMeta": {
"ibm_db": {
"optional": true
},
"mariadb": {
"optional": true
},
"mysql2": {
"optional": true
},
"oracledb": {
"optional": true
},
"pg": {
"optional": true
},
"pg-hstore": {
"optional": true
},
"snowflake-sdk": {
"optional": true
},
"sqlite3": {
"optional": true
},
"tedious": {
"optional": true
}
}
},
"node_modules/sequelize-pool": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/sequelize-pool/-/sequelize-pool-7.1.0.tgz",
"integrity": "sha512-G9c0qlIWQSK29pR/5U2JF5dDQeqqHRragoyahj/Nx4KOOQ3CPPfzxnfqFPCSB7x5UgjOgnZ61nSxz+fjDpRlJg==",
"license": "MIT",
"engines": {
"node": ">= 10.0.0"
}
},
"node_modules/serve-static": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.0.tgz",
@ -1108,6 +1264,12 @@
"node": ">=0.6"
}
},
"node_modules/toposort-class": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/toposort-class/-/toposort-class-1.0.1.tgz",
"integrity": "sha512-OsLcGGbYF3rMjPUf8oKktyvCiUxSbqMMS39m33MAjLTC1DVIH6x3WSt63/M77ihI09+Sdfk1AXvfhCEeUmC7mg==",
"license": "MIT"
},
"node_modules/type-is": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz",
@ -1132,17 +1294,27 @@
}
},
"node_modules/type-is/node_modules/mime-types": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz",
"integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==",
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz",
"integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==",
"license": "MIT",
"dependencies": {
"mime-db": "^1.54.0"
},
"engines": {
"node": ">= 0.6"
"node": ">=18"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/express"
}
},
"node_modules/undici-types": {
"version": "7.16.0",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz",
"integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==",
"license": "MIT"
},
"node_modules/unpipe": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
@ -1152,6 +1324,24 @@
"node": ">= 0.8"
}
},
"node_modules/uuid": {
"version": "8.3.2",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
"license": "MIT",
"bin": {
"uuid": "dist/bin/uuid"
}
},
"node_modules/validator": {
"version": "13.15.23",
"resolved": "https://registry.npmjs.org/validator/-/validator-13.15.23.tgz",
"integrity": "sha512-4yoz1kEWqUjzi5zsPbAS/903QXSYp0UOtHsPpp7p9rHAw/W+dkInskAE386Fat3oKRROwO98d9ZB0G4cObgUyw==",
"license": "MIT",
"engines": {
"node": ">= 0.10"
}
},
"node_modules/vary": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
@ -1161,6 +1351,15 @@
"node": ">= 0.8"
}
},
"node_modules/wkx": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/wkx/-/wkx-0.5.0.tgz",
"integrity": "sha512-Xng/d4Ichh8uN4l0FToV/258EjMGU9MGcA0HV2d9B/ZpZB3lqQm7nkOdZdm5GhKtLLhAE7PiVQwN4eN+2YJJUg==",
"license": "MIT",
"dependencies": {
"@types/node": "*"
}
},
"node_modules/wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",

3
package.json

@ -16,6 +16,7 @@
"cors": "^2.8.5",
"express": "^5.1.0",
"form-data": "^4.0.4",
"mysql2": "^3.15.2"
"mysql2": "^3.15.3",
"sequelize": "^6.37.7"
}
}

62
pages/index/index.js

@ -37,8 +37,8 @@ Page({
// 选择卖家身份
async chooseSeller() {
// 先检查是否登录
this.checkLoginAndProceed('seller');
this.finishSetUserType('seller');
},
// 检查登录状态并继续操作
@ -69,6 +69,8 @@ Page({
// 处理卖家路由逻辑
async handleSellerRoute() {
try {
wx.switchTab({ url: '/pages/seller/index' });
// 查询用户信息获取partnerstatus字段
const userInfo = await API.getUserInfo();
@ -78,23 +80,15 @@ Page({
console.log('获取到的partnerstatus:', userInfo.data.partnerstatus);
// 根据partnerstatus值控制路由跳转
if (userInfo.data.partnerstatus === 'approved') {
// 如果为approved,则进入seller/index页面
wx.switchTab({ url: '/pages/seller/index' });
} else {
// 否则进入pages/settlement/index页面
wx.navigateTo({ url: '/pages/settlement/index' });
}
} else {
// 如果没有获取到partnerstatus,默认进入settlement页面
console.log('未获取到partnerstatus字段');
wx.navigateTo({ url: '/pages/settlement/index' });
}
// 无论partnerstatus是什么,都直接进入seller/index页面
wx.switchTab({ url: '/pages/seller/index' });
} catch (error) {
console.error('获取用户信息失败:', error);
// 出错时也进入settlement页面
wx.navigateTo({ url: '/pages/settlement/index' });
// 出错时也直接进入seller/index页面
wx.switchTab({ url: '/pages/seller/index' });
}
},
@ -925,45 +919,15 @@ Page({
// 完成用户类型设置并跳转
finishSetUserType(type) {
const userId = wx.getStorageSync('userId')
// 更新用户类型
let users = wx.getStorageSync('users')
// 检查users是否为对象,如果不是则重新初始化为空对象
if (typeof users !== 'object' || users === null) {
users = {}
}
// 确保userId对应的用户对象存在
if (!users[userId]) {
users[userId] = {}
}
users[userId].type = type
wx.setStorageSync('users', users)
// 打标签
let tags = wx.getStorageSync('tags')
// 检查tags是否为对象,如果不是则重新初始化为空对象
if (typeof tags !== 'object' || tags === null) {
tags = {}
}
// 确保userId对应的标签数组存在
tags[userId] = tags[userId] || []
// 移除已有的身份标签
tags[userId] = tags[userId].filter(tag => !tag.startsWith('身份:'))
// 添加新的身份标签
tags[userId].push(`身份:${type}`)
wx.setStorageSync('tags', tags)
console.log('用户类型设置完成,准备跳转到', type === 'buyer' ? '买家页面' : '卖家页面')
// 添加小延迟确保所有异步操作都完成后再跳转
// 无论是否登录,直接跳转到对应页面
setTimeout(() => {
// 跳转到对应页面
if (type === 'buyer') {
wx.switchTab({ url: '/pages/buyer/index' })
} else {
// 卖家身份需要处理partnerstatus逻辑,调用专门的方法
this.handleSellerRoute()
// 卖家身份直接跳转到卖家页面,不需要处理partnerstatus逻辑
wx.switchTab({ url: '/pages/seller/index' })
}
}, 500)
},

46
pages/profile/index.js

@ -37,7 +37,7 @@ Page({
app.globalData.userInfo = localUserInfo
this.setData({
userInfo: localUserInfo,
needPhoneAuth: !localUserInfo.phoneNumber || localUserInfo.phoneNumber === '13800138000'
needPhoneAuth: !localUserInfo.phoneNumber
})
}
@ -133,15 +133,6 @@ Page({
if (res.success && res.data) {
const serverUserInfo = res.data
// 检查手机号是否是临时手机号
if (serverUserInfo.phoneNumber === '13800138000') {
console.warn('服务器返回的仍是临时手机号,用户可能需要重新授权手机号')
// 可以在这里显示提示,让用户重新授权手机号
this.setData({
needPhoneAuth: true
})
}
// 更新本地用户信息
const app = getApp()
const updatedUserInfo = {
@ -164,14 +155,6 @@ Page({
if (res.success && res.data) {
const serverUserInfo = res.data
// 检查手机号是否是临时手机号
if (serverUserInfo.phoneNumber === '13800138000') {
console.warn('服务器返回的仍是临时手机号,用户可能需要重新授权手机号')
this.setData({
needPhoneAuth: true
})
}
// 更新本地用户信息
const app = getApp()
const updatedUserInfo = {
@ -414,14 +397,18 @@ Page({
const isNewPhone = res.isNewPhone || true
const phoneNumber = res.phoneNumber || null
// 如果有手机号冲突且没有返回手机号,使用临时手机号
const finalPhoneNumber = hasPhoneConflict && !phoneNumber ? '13800138000' : phoneNumber
if (finalPhoneNumber) {
// 如果有手机号冲突,直接提示用户
if (hasPhoneConflict) {
wx.showToast({
title: '手机号已被其他账号绑定,请更换账号后重试',
icon: 'none',
duration: 3000
})
} else if (phoneNumber) {
// 保存手机号到用户信息
const app = getApp()
const userInfo = app.globalData.userInfo || wx.getStorageSync('userInfo') || {}
userInfo.phoneNumber = finalPhoneNumber
userInfo.phoneNumber = phoneNumber
// 更新本地和全局用户信息
app.globalData.userInfo = userInfo
@ -437,26 +424,16 @@ Page({
// 更新页面状态
this.setData({
needPhoneAuth: finalPhoneNumber === '13800138000'
needPhoneAuth: false
})
// 重新加载用户信息以更新UI
this.loadUserInfo()
}
// 根据服务器返回的结果显示不同的提示
if (hasPhoneConflict) {
wx.showToast({
title: '获取成功,但手机号已被其他账号绑定',
icon: 'none',
duration: 3000
})
} else {
wx.showToast({
title: '手机号绑定成功',
icon: 'success'
})
}
} else {
console.error('获取手机号失败:', res)
wx.showToast({
@ -464,6 +441,7 @@ Page({
icon: 'none'
})
}
}
})
.catch(err => {
wx.hideLoading()

63
pages/publish/index.js

@ -143,27 +143,7 @@ Page({
* 生命周期函数--监听页面加载
*/
onLoad(options) {
// 检查用户是否已登录
this.checkLoginStatus();
},
/**
* 检查用户登录状态
*/
checkLoginStatus() {
const openid = wx.getStorageSync('openid');
if (!openid) {
wx.showModal({
title: '提示',
content: '请先登录后再发布商品',
showCancel: false,
success: (res) => {
if (res.confirm) {
wx.navigateTo({ url: '/pages/index/index' });
}
}
});
}
// 移除登录检查,允许直接发布商品
},
/**
@ -257,29 +237,6 @@ Page({
onPublishTap() {
console.log('发布按钮点击');
// 检查用户登录状态
const openid = wx.getStorageSync('openid');
const userInfo = wx.getStorageSync('userInfo');
const userId = wx.getStorageSync('userId');
console.log('检查用户授权状态 - openid:', !!openid, 'userInfo:', !!userInfo, 'userId:', !!userId);
if (!openid || !userId || !userInfo) {
console.log('用户未登录或未授权,引导重新登录');
wx.showModal({
title: '登录过期',
content: '请先授权登录后再发布商品',
showCancel: false,
confirmText: '去登录',
success: (res) => {
if (res.confirm) {
wx.navigateTo({ url: '/pages/index/index' });
}
}
});
return;
}
if (!this.validateForm()) {
console.log('表单验证失败');
return;
@ -333,6 +290,8 @@ Page({
// 【终极修复】使用全局上传管理器处理上传,完全脱离页面生命周期
// 将所有数据存储到全局对象中,防止被回收
console.log('【上传前检查】存储数据到全局对象');
// 从本地存储获取userId,如果不存在则使用默认值
const userId = wx.getStorageSync('userId') || 'anonymous';
global.tempUploadData = {
formData: formDataCopy,
images: imagesCopy,
@ -519,22 +478,8 @@ Page({
setTimeout(() => {
wx.hideLoading();
if (err.needRelogin) {
wx.showModal({
title: '登录状态失效',
content: '请重新授权登录',
showCancel: false,
success: (res) => {
if (res.confirm) {
wx.removeStorageSync('openid');
wx.removeStorageSync('userId');
wx.navigateTo({ url: '/pages/login/index' });
}
}
});
} else {
// 直接显示错误提示,不进行登录验证
wx.showToast({ title: err.message || '发布失败,请重试', icon: 'none' });
}
// 清理全局临时数据
if (global.tempUploadData) {

260
pages/seller/index.js

@ -122,15 +122,14 @@ Page({
showAuthModal: false, // 控制未授权提示弹窗显示
showOneKeyLoginModal: false, // 控制一键登录弹窗显示
pendingUserType: 'seller', // 记录用户即将选择的身份类型
avatarUrl: '/images/default-avatar.png' // 默认头像
avatarUrl: '/images/default-avatar.png', // 默认头像
partnerstatus: '' // 用户入驻状态,用于显示入驻/未入驻
},
onLoad() {
console.log('卖家页面onLoad开始执行');
// 移除强制登录检查,允许用户浏览货源页面
// 只有在创建新货源时才检查登录状态
this.loadSupplies();
// 初始化规格搜索相关数据
this.setData({
specSearchKeyword: '',
@ -138,7 +137,6 @@ Page({
filteredSpecOptions: this.data.specOptions,
filteredEditSpecOptions: this.data.specOptions
});
console.log('卖家页面onLoad执行完毕');
},
@ -315,6 +313,8 @@ Page({
onShow() {
console.log('seller页面onShow开始加载')
// 获取用户入驻状态
this.getUserStatus();
// 检查页面是否是初次加载(onLoad已调用loadSupplies)
// 避免在页面初次加载时重复加载数据
if (!this.data._hasLoadedOnShow) {
@ -342,6 +342,26 @@ Page({
app.updateCurrentTab('seller');
},
// 获取用户入驻状态
getUserStatus() {
const openid = wx.getStorageSync('openid');
if (openid) {
API.getUserInfo(openid)
.then(response => {
console.log('获取到的用户信息响应:', response);
// 修复:访问data字段获取用户信息
const userInfo = response.data || {};
console.log('处理后的用户信息:', userInfo);
this.setData({
partnerstatus: userInfo.partnerstatus || ''
});
})
.catch(err => {
console.error('获取用户信息失败:', err);
});
}
},
// 加载货源列表并分类 - 修改为分页加载
loadSupplies() {
console.log('开始加载货源数据 - 分页模式');
@ -1189,26 +1209,12 @@ Page({
showAddSupply(e) {
console.log('点击创建新货源按钮');
// 检查登录状态
const openid = wx.getStorageSync('openid');
const userId = wx.getStorageSync('userId');
if (!openid || !userId) {
console.log('用户未登录,触发授权登录流程');
// 显示授权弹窗
this.setData({
showAuthModal: true,
pendingUserType: 'seller'
});
return;
}
// 阻止事件冒泡,防止触发父元素的点击事件
if (e && e.stopPropagation) {
e.stopPropagation();
}
// 已登录,继续原有逻辑
// 直接显示创建货源弹窗,无需登录验证
this.setData({
showImagePreview: false,
showModal: true,
@ -1336,6 +1342,32 @@ Page({
},
// 添加新货源 - 先创建商品再上传图片(修复版)
addSupply() {
// 检查登录状态
const userId = wx.getStorageSync('userId');
const openid = wx.getStorageSync('openid');
const userInfo = wx.getStorageSync('userInfo');
if (!userId || !openid || !userInfo) {
console.log('用户未登录,显示登录提示');
// 用户未登录,显示未授权提示弹窗
wx.showModal({
title: '登录提示',
content: '请先登录再发布商品',
showCancel: true,
confirmText: '去登录',
success: (res) => {
if (res.confirm) {
// 用户点击确定,跳转到登录页面或显示登录弹窗
this.setData({
showAuthModal: true,
pendingUserType: 'seller'
});
}
}
});
return;
}
const { name, price, minOrder, yolk, spec, region, imageUrls } = this.data.newSupply
if (!name || !price || !minOrder || !yolk) {
wx.showToast({ title: '请填写完整信息', icon: 'none', duration: 2000 })
@ -1343,33 +1375,20 @@ Page({
}
// 显示加载中提示
wx.showLoading({ title: '正在创建商品...', mask: true })
wx.showLoading({ title: '正在验证权限...', mask: true })
const openid = wx.getStorageSync('openid')
console.log('当前用户openid:', openid)
// 检查openid是否存在
if (!openid) {
console.error('openid不存在,无法上传商品到服务器')
wx.hideLoading()
wx.showModal({
title: '登录状态异常',
content: '您的登录状态已失效,请重新登录后再尝试发布商品',
showCancel: false,
success: () => {
wx.showToast({
title: '创建失败,请先登录',
icon: 'none',
duration: 3000
})
}
})
// 检查用户的partnerstatus是否为approved
API.getUserInfo(openid)
.then(response => {
const userInfoRes = response.data;
console.log('获取用户信息成功:', userInfoRes)
this.setData({
showModal: false,
newSupply: { name: '', price: '', minOrder: '', yolk: '', spec: '', region: '', grossWeight: '', imageUrls: [] }
})
this.enablePageScroll()
return
// 检查partnerstatus字段
const partnerStatus = userInfoRes.partnerstatus || 'pending'
console.log('用户合作状态:', partnerStatus)
if (partnerStatus !== 'approved') {
throw new Error('partnerstatus_not_approved')
}
// 第一步:先创建商品(不带图片)
@ -1388,8 +1407,12 @@ Page({
console.log('第一步:准备创建商品,数据:', productData)
// 更新加载提示
wx.showLoading({ title: '正在创建商品...', mask: true })
// 调用API创建商品(不带图片)
API.publishProduct(productData)
return API.publishProduct(productData)
})
.then(res => {
console.log('商品创建成功:', res)
@ -1439,28 +1462,20 @@ Page({
console.error('商品创建或图片上传失败:', err)
wx.hideLoading()
// 错误处理
if (err.needRelogin) {
console.warn('检测到需要重新登录')
// 处理权限不足的情况
if (err.message === 'partnerstatus_not_approved') {
wx.showModal({
title: '登录状态失效',
content: '您的登录已过期,请重新授权登录',
title: '权限不足',
content: '您的合作伙伴身份尚未通过审核,请等待审核通过后再发布商品',
showCancel: false,
success: (res) => {
if (res.confirm) {
wx.removeStorageSync('openid')
wx.removeStorageSync('userId')
wx.navigateTo({ url: '/pages/login/index' })
}
}
confirmText: '确定'
})
} else {
return
}
// 其他错误处理:所有错误都显示通用提示,不再跳转登录
let errorMsg = '上传服务器失败'
if (err.message && err.message.includes('用户不存在')) {
errorMsg = '用户未登录,请先登录'
} else if (err.message && err.message.includes('卖家才能发布商品')) {
errorMsg = '请先在个人资料中修改用户类型为卖家'
} else if (err.message && err.message.includes('商品不存在')) {
if (err.message && err.message.includes('商品不存在')) {
errorMsg = '商品创建失败,无法上传图片'
}
wx.showModal({
@ -1471,7 +1486,6 @@ Page({
this.loadSupplies()
}
})
}
})
},
@ -1651,6 +1665,37 @@ Page({
return;
}
// 检查用户合作状态
API.getUserInfo(openid)
.then(response => {
const userInfo = response.data;
if (userInfo.partnerstatus !== 'approved') {
wx.hideLoading();
wx.showToast({
title: '权限不足,无法保存商品',
icon: 'none',
duration: 3000
});
this.setData({ showEditModal: false });
this.enablePageScroll();
return Promise.reject('partnerstatus not approved');
}
return Promise.resolve();
})
.catch(err => {
if (err !== 'partnerstatus not approved') {
wx.hideLoading();
wx.showToast({
title: '获取用户信息失败',
icon: 'none',
duration: 3000
});
this.setData({ showEditModal: false });
this.enablePageScroll();
}
return Promise.reject(err);
})
.then(() => {
// 【关键修复】准备商品数据 - 确保包含地区字段
const productData = {
productName: editSupply.name,
@ -1750,6 +1795,7 @@ Page({
}
});
}
});
},
// 预览图片
@ -2144,6 +2190,40 @@ Page({
showImagePreview: false
});
// 登录验证
const userId = wx.getStorageSync('userId');
const openid = wx.getStorageSync('openid');
const userInfo = wx.getStorageSync('userInfo');
if (!userId || !openid || !userInfo) {
wx.showModal({
title: '提示',
content: '请先登录再进行商品上架操作',
showCancel: false,
success: (res) => {
if (res.confirm) {
this.setData({ showAuthModal: true });
}
}
});
return;
}
// 检查用户合作状态
API.getUserInfo(openid)
.then(response => {
const userInfo = response.data;
if (userInfo.partnerstatus !== 'approved') {
wx.hideLoading();
this.enablePageScroll();
wx.showModal({
title: '权限不足',
content: '您的合作状态尚未通过审核,暂时无法进行商品上架操作',
showCancel: false
});
return;
}
const id = e.currentTarget.dataset.id
// 优先使用编辑中的商品数据
let supply = null
@ -2158,10 +2238,9 @@ Page({
if (!supply) {
wx.hideLoading();
// 恢复页面滚动
this.enablePageScroll();
wx.showToast({
title: '操作失败,货源不存在',
title: '货源信息不存在',
icon: 'none',
duration: 2000
});
@ -2303,6 +2382,17 @@ Page({
duration: 2000
});
}
})
.catch(err => {
console.error('获取用户信息失败:', err);
wx.hideLoading();
this.enablePageScroll();
wx.showToast({
title: '获取用户信息失败',
icon: 'none',
duration: 2000
});
});
},
// 下架货源 - 移除本地存储操作
@ -3329,5 +3419,43 @@ Page({
}
}
});
},
// 入驻申请
applyForSettlement() {
const openid = wx.getStorageSync('openid');
if (openid) {
API.getUserInfo(openid)
.then(response => {
console.log('获取到的用户信息:', response);
const userInfo = response.data;
const partnerstatus = userInfo.partnerstatus || '';
if (partnerstatus === 'approved') {
// 如果已经审核通过,显示提示
wx.showToast({
title: '您已成功入驻',
icon: 'success',
duration: 2000
});
} else {
// 否则进入入驻页面
wx.navigateTo({
url: '/pages/settlement/index'
});
}
})
.catch(err => {
console.error('获取用户信息失败:', err);
// 获取失败时,默认进入入驻页面
wx.navigateTo({
url: '/pages/settlement/index'
});
});
} else {
// 未登录时,直接进入入驻页面
wx.navigateTo({
url: '/pages/settlement/index'
});
}
}
})

13
pages/seller/index.wxml

@ -2,13 +2,24 @@
style="align-items: flex-start; padding: 20rpx; width: 100%; max-width: 100vw; overflow-x: hidden; position: relative; box-sizing: border-box;"
catchtouchmove="{{touchMoveBlocked ? 'preventTouchMove' : ''}}">
<view style="display: flex; justify-content: space-between; align-items: center; width: 90%; margin-bottom: 20rpx;">
<view class="title">我的鸡蛋货源</view>
<view class="title">我的货源</view>
<view style="display: flex; align-items: center; gap: 10rpx;">
<button
bindtap="contactCustomerService"
class="customer-service-btn"
>
联系客服
</button>
<view style="color: {{partnerstatus === 'approved' ? '#52c41a' : '#f5222d'}}; font-size: 24rpx;">
{{partnerstatus === 'approved' ? '已入驻' : '未入驻'}}
</view>
<button
bindtap="applyForSettlement"
class="apply-settlement-btn"
>
{{partnerstatus === 'approved' ? '已入驻' : '入驻'}}
</button>
</view>
</view>
<!-- 搜索框 -->

34
pages/seller/index.wxss

@ -69,6 +69,40 @@
0 1rpx 0 rgba(255, 255, 255, 0.3) inset;
}
/* 服务区域容器 */
.service-container {
display: flex;
align-items: center;
gap: 20rpx;
}
/* 未入驻状态样式 */
.no-settlement-status {
font-size: 24rpx;
color: #ff4d4f;
padding: 0 10rpx;
}
/* 入驻按钮样式 */
.apply-settlement-btn {
background: #1677ff;
color: white;
font-size: 28rpx;
padding: 10rpx 20rpx;
border-radius: 8rpx;
border: none;
box-shadow: none;
transition: all 0.2s ease;
min-width: 100rpx;
text-align: center;
}
.apply-settlement-btn:active {
background: #4096ff;
transform: none;
box-shadow: none;
}
/* 登录授权弹窗样式 - 专门用于登录相关弹窗 */
.auth-modal-overlay {
position: fixed;

177
pages/settlement/index.js

@ -1,4 +1,5 @@
// pages/settlement/settlement.js
const API = require('../../utils/api.js');
Page({
data: {
// 是否显示引导页
@ -56,6 +57,8 @@ Page({
currentStep: 3,
partnerstatus: options.status
});
// 同步服务器状态,确保显示最新状态
this.syncSettlementStatus();
return; // 直接返回,不执行后续逻辑
}
}
@ -90,6 +93,9 @@ Page({
}
}, 500);
}
// 同步服务器状态,确保显示最新的partnerstatus
this.syncSettlementStatus();
},
onUnload() {
@ -99,6 +105,7 @@ Page({
}
},
// 加载入驻进度
loadSettlementProgress() {
const settlementData = wx.getStorageSync('settlement_data');
@ -172,23 +179,8 @@ Page({
console.log('开始入驻流程');
try {
// 检查登录状态
const userId = wx.getStorageSync('userId');
const userInfo = wx.getStorageSync('userInfo');
if (!userId || !userInfo) {
console.log('用户未登录,显示登录弹窗');
this.setData({
showAuthModal: true,
loginModalTitle: '请先登录',
loginModalContent: '为了您的账户安全,请先完成手机号登录',
showLoginButton: true
});
return;
}
// 检查数据库中是否存在入驻信息
console.log('用户已登录,检查入驻信息');
console.log('检查入驻信息');
await this.syncSettlementStatus();
// 根据入驻状态处理
@ -504,14 +496,21 @@ Page({
// 检查用户是否已登录
const openid = wx.getStorageSync('openid');
const userId = wx.getStorageSync('userId');
console.log('检查用户登录状态,openid:', openid);
if (!openid) {
console.log('用户未登录,调用首页授权登录');
this.goToAuthLogin();
return;
// 如果未登录,显示登录弹窗
if (!openid || !userId) {
console.log('用户未登录,显示授权弹窗');
// 保存当前表单数据
this.saveSettlementProgress();
// 显示登录弹窗
this.setData({
showAuthModal: true
});
return; // 取消提交申请
}
console.log('使用已登录用户信息提交申请:', openid, userId);
// 先上传所有文件
wx.showLoading({
title: '正在上传文件...',
@ -662,18 +661,10 @@ Page({
return;
}
// 手机号为空时使用默认值,不再强制要求
if (!contactPhone) {
wx.showToast({
title: '请先完成手机号授权',
icon: 'none'
});
// 显示授权弹窗
this.setData({
showAuthModal: true,
loginModalTitle: '请完成手机号授权',
loginModalContent: '入驻申请需要您的手机号信息,请完成授权'
});
return;
contactPhone = 'default_phone';
console.log('使用默认手机号:', contactPhone);
}
// 验证省市区字段是否填写完整(用于构建region字段)
@ -747,20 +738,25 @@ Page({
wx.setStorageSync('applicationId', appId);
}
this.setData({
partnerstatus: 'underreview', // 使用数据库字段名 (原auditStatus)
applicationId: appId
});
wx.showToast({
title: '提交成功,等待审核',
icon: 'none',
duration: 2000
});
// 跳转到审核状态页面
// 跳转到审核状态页面 - 立即执行
this.setData({
currentStep: 3 // 设置为第4步(审核状态页面)
currentStep: 3, // 设置为第4步(审核状态页面)
partnerstatus: 'underreview', // 使用数据库字段名 (原auditStatus)
applicationId: appId
});
// 调用API获取用户完整数据 - 异步执行,不影响跳转
const API = require('../../utils/api.js');
API.getUserInfo().then(userRes => {
console.log('用户完整数据:', userRes.data);
}).catch(err => {
console.error('获取用户数据失败:', err);
});
// 清除进度数据,因为已经提交了
@ -962,23 +958,24 @@ Page({
// 撤回备案
async withdrawApplication() {
// 检查用户是否已登录
const openid = wx.getStorageSync('openid');
if (!openid) {
console.log('用户未登录,显示授权弹窗');
// 显示登录弹窗
this.setData({
showAuthModal: true
});
return; // 取消撤回申请
}
wx.showModal({
title: '确认撤回',
content: '确定要撤回备案申请吗?撤回后可以重新提交。',
success: async (res) => {
if (res.confirm) {
try {
// 获取用户的openid
const openid = wx.getStorageSync('openid');
console.log('准备撤回申请,openid:', openid);
if (!openid) {
wx.showToast({
title: '请先登录',
icon: 'none'
});
return;
}
console.log('使用已登录用户openid撤回申请:', openid);
// 调用API撤回申请,不再需要applicationId,只需要用户openid
const API = require('../../utils/api.js');
@ -1022,15 +1019,49 @@ Page({
// 审核中我知道了
knowAudit() {
// 直接返回首页,不显示提示
// 获取用户openid
const openid = wx.getStorageSync('openid');
console.log('使用openid获取用户数据:', openid);
// 调用API获取用户完整数据
API.getUserInfo(openid).then(res => {
console.log('用户完整数据:', res.data);
// 更新本地状态
if (res.data && res.data.partnerstatus) {
wx.setStorageSync('settlementStatus', res.data.partnerstatus);
this.setData({
partnerstatus: res.data.partnerstatus
});
}
// 跳转到seller页面,不显示提示
wx.reLaunch({
url: '/pages/index/index'
url: '/pages/seller/index'
});
}).catch(err => {
console.error('获取用户数据失败:', err);
// 即使获取失败也跳转到seller页面
wx.reLaunch({
url: '/pages/seller/index'
});
});
},
// 重新提交备案
async resubmitApplication() {
try {
// 检查用户是否已登录
const openid = wx.getStorageSync('openid');
if (!openid) {
console.log('用户未登录,显示授权弹窗');
// 显示登录弹窗
this.setData({
showAuthModal: true
});
return; // 取消重新提交申请
}
const API = require('../../utils/api.js');
const applicationId = wx.getStorageSync('applicationId');
@ -1055,7 +1086,9 @@ Page({
// 更新本地状态
wx.setStorageSync('settlementStatus', 'underreview');
// 确保页面显示审核状态页面
this.setData({
currentStep: 3, // 确保显示审核状态页面
partnerstatus: 'underreview' // 使用数据库字段名 (原auditStatus)
});
@ -1089,9 +1122,11 @@ Page({
icon: 'success'
});
// 延迟返回上一页
// 延迟跳转到seller页面
setTimeout(() => {
wx.navigateBack();
wx.reLaunch({
url: '/pages/seller/index'
});
}, 1500);
},
@ -1127,35 +1162,39 @@ Page({
// 从服务器同步入驻状态
async syncSettlementStatus() {
try {
const userId = wx.getStorageSync('userId');
if (!userId) {
console.log('用户未登录,跳过状态同步');
// 获取用户openid
const openid = wx.getStorageSync('openid');
if (!openid) {
console.log('未登录,无法同步入驻状态');
return;
}
const API = require('../../utils/api.js');
const result = await API.getSettlementStatus(userId);
console.log('使用openid同步状态:', openid);
const result = await API.getUserInfo(openid);
if (result && result.success && result.data) {
const serverData = result.data;
const userData = result.data;
// 更新本地状态
wx.setStorageSync('hasSubmittedSettlement', true);
// 只有在有实际状态值时才设置,避免空值时默认为审核中
wx.setStorageSync('settlementStatus', serverData.partnerstatus || '');
if (serverData.id) {
wx.setStorageSync('applicationId', serverData.id);
}
wx.setStorageSync('settlementStatus', userData.partnerstatus || '');
// 更新页面状态
this.setData({
partnerstatus: serverData.partnerstatus || '', // 使用数据库字段名 (原auditStatus),不设置默认值
applicationId: serverData.id
partnerstatus: userData.partnerstatus || '', // 使用数据库字段名,不设置默认值
});
console.log('已同步服务器入驻状态:', serverData.partnerstatus);
console.log('已同步服务器入驻状态:', userData.partnerstatus);
// 根据partnerstatus更新页面步骤
if (userData.partnerstatus === 'approved') {
this.setData({
showGuidePage: false,
currentStep: 3
});
}
}
} catch (error) {
console.error('同步入驻状态失败:', error);

13
pages/settlement/index.wxml

@ -1,17 +1,4 @@
<view class="container">
<!-- 供应商展示区域 -->
<view class="supplier-showcase">
<image class="supplier-image" src="/images/你有好蛋.png" mode="aspectFit"></image>
<view class="supplier-text">
<view class="supplier-title">已入住供应商</view>
<view class="supplier-list">
<text class="supplier-item">四川又鸟蛋</text>
<text class="supplier-item">蛋小满贸易</text>
<text class="supplier-item">...</text>
</view>
<view class="supplier-invite">我们等待您的加入!</view>
</view>
</view>
<!-- 内容区域 -->
<view class="content">
<!-- 引导页 -->

54
pages/settlement/index.wxss

@ -1695,57 +1695,3 @@ picker {
margin-top: 24rpx;
line-height: 1.4;
}
/* 供应商展示区域样式 */
.supplier-showcase {
background-color: #fff;
border-radius: 12rpx;
margin: 20rpx;
padding: 30rpx;
box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.05);
display: flex;
flex-direction: column;
align-items: center;
}
.supplier-image {
width: 600rpx;
height: 300rpx;
margin-bottom: 20rpx;
border-radius: 8rpx;
}
.supplier-text {
text-align: center;
width: 100%;
}
.supplier-title {
font-size: 32rpx;
font-weight: bold;
color: #333;
margin-bottom: 20rpx;
}
.supplier-list {
display: flex;
justify-content: center;
flex-wrap: wrap;
margin-bottom: 20rpx;
}
.supplier-item {
font-size: 28rpx;
color: #666;
margin: 0 20rpx 10rpx 0;
padding: 8rpx 20rpx;
background-color: #f0f0f0;
border-radius: 20rpx;
}
.supplier-invite {
font-size: 30rpx;
color: #ff6b35;
font-weight: bold;
margin-top: 10rpx;
}
Loading…
Cancel
Save