Page({ data: { keyword: '', loading: false, hasSearched: false, errorMsg: '', result: null, }, onKeywordChange(e) { this.setData({ keyword: e.detail.value || '', }); }, onSearch() { const keyword = (this.data.keyword || '').trim(); if (!keyword) { wx.showToast({ title: '请输入股票代码或名称', icon: 'none', }); return; } this.setData({ loading: true, hasSearched: true, errorMsg: '', result: null, }); // TODO: 将 baseUrl 修改为你自己的后端域名(并在小程序后台配置 request 合法域名) const baseUrl = 'https://api.your-domain.com'; wx.request({ url: `${baseUrl}/v1/score/query`, method: 'POST', header: { 'content-type': 'application/json', }, data: { keyword, }, success: (res) => { if (res.statusCode !== 200 || !res.data) { this.setData({ errorMsg: '服务暂不可用,请稍后重试', }); return; } const { code, message, data } = res.data; if (code !== 0 || !data) { this.setData({ errorMsg: message || '未查询到相关股票,请检查代码或名称', }); return; } this.setData({ result: { stockCode: data.stockCode, stockName: data.stockName, market: data.market || '', score: data.score, scoreLevel: data.scoreLevel || '', scoreDate: data.scoreDate || '', price: data.price || '', changePercent: data.changePercent || 0, }, }); }, fail: () => { this.setData({ errorMsg: '网络异常,请检查网络后重试', }); }, complete: () => { this.setData({ loading: false, }); }, }); }, });