userArea动态化: 存储/读取/可编辑, 不再硬编码13003000000

This commit is contained in:
97694732@qq.com 2026-06-03 17:12:19 +08:00
parent 57249ab3e8
commit e4b396dc4b
2 changed files with 24 additions and 6 deletions

View File

@ -244,7 +244,15 @@
</view>
</view>
</view>
<view class="form-section" v-if="isLoggedIn">
<view class="section-title">
<text class="title-text">搜索区域</text>
</view>
<view class="form-section-body">
<input class="form-input" v-model="kongfzUserArea" placeholder="区域代码默认13003000000" @blur="saveUserArea" />
<text class="form-hint">孔夫子API搜索区域代码登录后可修改</text>
</view>
</view>
<view class="bottom-placeholder"></view>
</scroll-view>
</view>
@ -821,6 +829,7 @@ export default {
rememberPassword: false,
blockedList: '',
kongfzToken: '',
kongfzUserArea: '',
savedAccountList: [],
//
@ -842,10 +851,12 @@ export default {
//
const savedToken = uni.getStorageSync('kongfz_phpsessid')
const savedName = uni.getStorageSync('kongfz_shop_name')
const savedArea = uni.getStorageSync('kongfz_user_area')
if (savedToken && savedName) {
this.kongfzToken = savedToken
this.shopName = savedName
this.shopRegion = uni.getStorageSync('kongfz_shop_region') || '孔夫子旧书网'
this.kongfzUserArea = savedArea || '13003000000'
this.isLoggedIn = true
}
//
@ -987,13 +998,14 @@ export default {
// 2. -
const phpsessid = this.kongfzToken || uni.getStorageSync('kongfz_phpsessid') || ''
const userArea = this.kongfzUserArea || uni.getStorageSync('kongfz_user_area') || '13003000000'
// 7=() 5=
const sortType = this.sortBy === 'book' ? '5' : '7'
// + +
Promise.all([
searchProducts(keyword, { phpsessid, sortType }),
searchFacet(keyword, { phpsessid, dataType: 0 }),
searchFacet(keyword, { phpsessid, dataType: 1 })
searchProducts(keyword, { phpsessid, sortType, userArea }),
searchFacet(keyword, { phpsessid, dataType: 0, userArea }),
searchFacet(keyword, { phpsessid, dataType: 1, userArea })
]).then(([productsData, onSaleFacet, soldFacet]) => {
this.isLoading = false
if (productsData && productsData.total > 0) {
@ -1354,14 +1366,20 @@ export default {
this.shopName = ''
this.shopRegion = ''
this.kongfzToken = ''
this.kongfzUserArea = ''
uni.removeStorageSync('kongfz_phpsessid')
uni.removeStorageSync('kongfz_shop_name')
uni.removeStorageSync('kongfz_shop_region')
uni.removeStorageSync('kongfz_user_area')
}
}
})
},
saveUserArea() {
uni.setStorageSync('kongfz_user_area', this.kongfzUserArea)
},
//
loadSavedAccounts() {
try {

View File

@ -190,13 +190,13 @@ export function fetchItems(token, params = {}, onProgress) {
* list中每项: {id, title, author, press, priceText, imgBigUrl, shopName, qualityText, pubDateText, postage}
*/
export function searchProducts(keyword, options = {}) {
const { phpsessid = '', page = 1, sortType = '' } = options
const { phpsessid = '', page = 1, sortType = '', userArea = '13003000000' } = options
return new Promise((resolve, reject) => {
const reqData = {
dataType: 0,
keyword: keyword,
page: page,
userArea: '13003000000'
userArea: userArea
}
if (sortType) {
reqData.sortType = sortType