Compare commits
10 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
b6b0ca3dbd | |
|
|
0d0017eac7 | |
|
|
5c2377b482 | |
|
|
1346f8bf3b | |
|
|
d18d67dd62 | |
|
|
f2bfb2d79b | |
|
|
3c3ee616fd | |
|
|
beca206592 | |
|
|
becfc58eca | |
|
|
d2f29362a0 |
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "芋道商城",
|
"name": "芋道商城",
|
||||||
"appid": "__UNI__460BC4C",
|
"appid": "__UNI__460BC4C",
|
||||||
"description": "基于 uni-app + Vue3 技术驱动的在线商城系统,内含诸多功能与丰富的活动,期待您的使用和反馈。",
|
"description": "基于 uni-app + Vue3 技术驱动的在线商城系统,内含诸多功能与丰富的活动,期待您的使用和反馈。",
|
||||||
"versionName": "2025.12",
|
"versionName": "2026.03",
|
||||||
"versionCode": "183",
|
"versionCode": "183",
|
||||||
"transformPx": false,
|
"transformPx": false,
|
||||||
"app-plus": {
|
"app-plus": {
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
"id": "shopro",
|
"id": "shopro",
|
||||||
"name": "shopro",
|
"name": "shopro",
|
||||||
"displayName": "芋道商城",
|
"displayName": "芋道商城",
|
||||||
"version": "2025.12",
|
"version": "2026.03",
|
||||||
"description": "芋道商城,一套代码,同时发行到iOS、Android、H5、微信小程序多个平台,请使用手机扫码快速体验强大功能",
|
"description": "芋道商城,一套代码,同时发行到iOS、Android、H5、微信小程序多个平台,请使用手机扫码快速体验强大功能",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"prettier": "prettier --write \"{pages,sheep}/**/*.{js,json,tsx,css,less,scss,vue,html,md}\""
|
"prettier": "prettier --write \"{pages,sheep}/**/*.{js,json,tsx,css,less,scss,vue,html,md}\""
|
||||||
|
|
|
||||||
|
|
@ -163,7 +163,7 @@
|
||||||
<text class="num font-color">{{ item.brokerageUserCount || 0 }} </text>人
|
<text class="num font-color">{{ item.brokerageUserCount || 0 }} </text>人
|
||||||
</view>
|
</view>
|
||||||
<view>
|
<view>
|
||||||
<text class="num">{{ item.orderCount || 0 }}</text
|
<text class="num">{{ item.brokerageOrderCount || 0 }}</text
|
||||||
>单</view
|
>单</view
|
||||||
>
|
>
|
||||||
<view>
|
<view>
|
||||||
|
|
@ -320,6 +320,7 @@
|
||||||
|
|
||||||
function setType(e) {
|
function setType(e) {
|
||||||
state.pagination.list = [];
|
state.pagination.list = [];
|
||||||
|
state.pagination.pageNo = 1;
|
||||||
state.level = e + '';
|
state.level = e + '';
|
||||||
getTeamList();
|
getTeamList();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -115,7 +115,7 @@
|
||||||
>
|
>
|
||||||
<uni-easyinput
|
<uni-easyinput
|
||||||
:inputBorder="false"
|
:inputBorder="false"
|
||||||
:value="state.accountInfo.bankName"
|
:value="bankNameLabel"
|
||||||
placeholder="请选择银行"
|
placeholder="请选择银行"
|
||||||
suffixIcon="right"
|
suffixIcon="right"
|
||||||
disabled
|
disabled
|
||||||
|
|
@ -164,7 +164,7 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { onBeforeMount, reactive } from 'vue';
|
import { onBeforeMount, reactive, computed } from 'vue';
|
||||||
import sheep from '@/sheep';
|
import sheep from '@/sheep';
|
||||||
import accountTypeSelect from './components/account-type-select.vue';
|
import accountTypeSelect from './components/account-type-select.vue';
|
||||||
import { fen2yuan } from '@/sheep/hooks/useGoods';
|
import { fen2yuan } from '@/sheep/hooks/useGoods';
|
||||||
|
|
@ -199,6 +199,14 @@
|
||||||
bankListSelectedIndex: '', // 选中银行 bankList 的 index
|
bankListSelectedIndex: '', // 选中银行 bankList 的 index
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const bankNameLabel = computed(() => {
|
||||||
|
if (!state.accountInfo.bankName || !state.bankList || state.bankList.length === 0) {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
const item = state.bankList.find((it) => it.value === state.accountInfo.bankName);
|
||||||
|
return item ? item.label : '';
|
||||||
|
});
|
||||||
|
|
||||||
// 打开提现方式的弹窗
|
// 打开提现方式的弹窗
|
||||||
const onAccountSelect = (e) => {
|
const onAccountSelect = (e) => {
|
||||||
state.accountSelect = e;
|
state.accountSelect = e;
|
||||||
|
|
@ -300,7 +308,8 @@
|
||||||
function bankChange(e) {
|
function bankChange(e) {
|
||||||
const value = e.detail.value;
|
const value = e.detail.value;
|
||||||
state.bankListSelectedIndex = value;
|
state.bankListSelectedIndex = value;
|
||||||
state.accountInfo.bankName = state.bankList[value].label;
|
const item = state.bankList[value];
|
||||||
|
state.accountInfo.bankName = item ? item.value : undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
onBeforeMount(() => {
|
onBeforeMount(() => {
|
||||||
|
|
|
||||||
|
|
@ -109,7 +109,7 @@
|
||||||
<script setup>
|
<script setup>
|
||||||
import { computed, reactive, watch } from 'vue';
|
import { computed, reactive, watch } from 'vue';
|
||||||
import sheep from '@/sheep';
|
import sheep from '@/sheep';
|
||||||
import { convertProductPropertyList, fen2yuan } from '@/sheep/hooks/useGoods';
|
import { convertProductPropertyList, initDefaultSelect, fen2yuan } from '@/sheep/hooks/useGoods';
|
||||||
|
|
||||||
const headerBg = sheep.$url.css('/static/img/shop/goods/groupon-btn-long.png');
|
const headerBg = sheep.$url.css('/static/img/shop/goods/groupon-btn-long.png');
|
||||||
const emits = defineEmits(['change', 'addCart', 'buy', 'close', 'ladder']);
|
const emits = defineEmits(['change', 'addCart', 'buy', 'close', 'ladder']);
|
||||||
|
|
@ -315,7 +315,8 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
changeDisabled(false);
|
changeDisabled(false);
|
||||||
// TODO 芋艿:待讨论的优化点:1)单规格,要不要默认选中;2)默认要不要选中第一个规格
|
// 初始化默认选中规格中的第一个,如果不需要,注释这段代码即可
|
||||||
|
initDefaultSelect(propertyList, onSelectSku);
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|
|
||||||
|
|
@ -95,7 +95,12 @@
|
||||||
<script setup>
|
<script setup>
|
||||||
import { computed, reactive, watch } from 'vue';
|
import { computed, reactive, watch } from 'vue';
|
||||||
import sheep from '@/sheep';
|
import sheep from '@/sheep';
|
||||||
import { formatStock, convertProductPropertyList, fen2yuan } from '@/sheep/hooks/useGoods';
|
import {
|
||||||
|
formatStock,
|
||||||
|
convertProductPropertyList,
|
||||||
|
fen2yuan,
|
||||||
|
initDefaultSelect,
|
||||||
|
} from '@/sheep/hooks/useGoods';
|
||||||
|
|
||||||
const emits = defineEmits(['change', 'addCart', 'buy', 'close']);
|
const emits = defineEmits(['change', 'addCart', 'buy', 'close']);
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
|
|
@ -305,7 +310,8 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
changeDisabled(false);
|
changeDisabled(false);
|
||||||
// TODO 芋艿:待讨论的优化点:1)单规格,要不要默认选中;2)默认要不要选中第一个规格
|
// 初始化默认选中规格中的第一个,如果不需要,注释这段代码即可
|
||||||
|
initDefaultSelect(propertyList, onSelectSku);
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|
|
||||||
|
|
@ -497,3 +497,18 @@ export function getRewardActivityRuleItemDescriptions(activity) {
|
||||||
});
|
});
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 单规格,要默认选中 */
|
||||||
|
export function initDefaultSelect(propertyList, onSelectSku) {
|
||||||
|
if (propertyList.length === 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// 遍历每一个属性
|
||||||
|
for (const property of propertyList) {
|
||||||
|
const firstValue = (property.values || [])[0];
|
||||||
|
// 不是禁用直接选中
|
||||||
|
if (firstValue && !firstValue.disabled) {
|
||||||
|
onSelectSku(property.id, firstValue.id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -30,8 +30,9 @@ export default {
|
||||||
}
|
}
|
||||||
|
|
||||||
// 调用后端接口,获得 JSSDK 初始化所需的签名
|
// 调用后端接口,获得 JSSDK 初始化所需的签名
|
||||||
const url = location.origin;
|
// 微信要求签名 URL 与当前页面去掉 hash 后完全一致;不能直接用 location.origin(会丢子路径与 query)
|
||||||
const { code, data } = await AuthUtil.createWeixinMpJsapiSignature(url);
|
const signUrl = location.href.split('#')[0];
|
||||||
|
const { code, data } = await AuthUtil.createWeixinMpJsapiSignature(signUrl);
|
||||||
if (code === 0) {
|
if (code === 0) {
|
||||||
jweixin.config({
|
jweixin.config({
|
||||||
debug: false,
|
debug: false,
|
||||||
|
|
@ -57,7 +58,11 @@ export default {
|
||||||
configSuccess = true;
|
configSuccess = true;
|
||||||
jweixin.error((err) => {
|
jweixin.error((err) => {
|
||||||
configSuccess = false;
|
configSuccess = false;
|
||||||
console.error('微信 JSSDK 初始化失败', err);
|
console.error('[wx-jssdk] config error', err, {
|
||||||
|
href: location.href,
|
||||||
|
signUrl,
|
||||||
|
data,
|
||||||
|
});
|
||||||
$helper.toast('微信JSSDK:' + err.errMsg);
|
$helper.toast('微信JSSDK:' + err.errMsg);
|
||||||
});
|
});
|
||||||
jweixin.ready(() => {
|
jweixin.ready(() => {
|
||||||
|
|
|
||||||
|
|
@ -74,7 +74,7 @@ const app = defineStore({
|
||||||
this.info = {
|
this.info = {
|
||||||
name: '芋道商城',
|
name: '芋道商城',
|
||||||
logo: 'https://static.iocoder.cn/ruoyi-vue-pro-logo.png',
|
logo: 'https://static.iocoder.cn/ruoyi-vue-pro-logo.png',
|
||||||
version: '2025.12',
|
version: '2026.03',
|
||||||
copyright: '全部开源,个人与企业可 100% 免费使用',
|
copyright: '全部开源,个人与企业可 100% 免费使用',
|
||||||
copytime: 'Copyright© 2018-2025',
|
copytime: 'Copyright© 2018-2025',
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue