WeiTai Q&A 004-Как корзина реализует функцию суммирования

В апплете электронной коммерции мы обычно предоставляем пользователям функцию корзины покупок, которая может самостоятельно добавлять товары в корзину. Поскольку купленный товар имеет цену за единицу и количество, нам необходимо рассчитать промежуточный итог.

Правило промежуточного итога = цена за единицу * количество

После подсчета промежуточной суммы вам необходимо просуммировать промежуточную сумму купленных товаров для расчета общей цены.

Для реализации функции корзины покупок мы рассмотрели два варианта: один — добавить товар в кеш апплета, а затем работать через кеш. Другое решение — установить источник данных и добавить его к источнику данных, чтобы вычислять результат каждый раз, когда пользователь выбирает продукт.

Вентилятор в соответствии с апплетом электронной коммерции колонки

Во время разработки столкнулись со многими проблемами, ниже приведен наш процесс общения и процесс определения проблемы.

Потратьте некоторое время, чтобы помочь мне увидеть, установлена ​​ли сумма суммирования на 0,
чтобы увидеть, есть ли опечатка в коде,
пожалуйста, дайте мне некоторое руководство, спасибо

вставьте сюда описание изображения
На что нам нужно обратить внимание в полях здесь, так это на то, что сначала должно быть поле openid, которое является полем разрешения данных, которое используется для определения того, кому принадлежат данные.

Другое поле промежуточного итога товаров, и формула расчета выбрана в качестве типа. Формула расчета будет рассчитана автоматически по вашему собственному алгоритму

Какое выражение вы используете?

вставьте сюда описание изображения
вставьте сюда описание изображения
вставьте сюда описание изображения
вставьте сюда описание изображения
вставьте сюда описание изображения
В курсе мы говорили о необходимости посчитать общую сумму корзины через API, а затем использовать переменную для вызова результата расчета API, и привязать результат к компоненту для отображения

Теперь проблема производительности в том, что общая сумма равна 0, и я не знаю, что пошло не так. Самое большое препятствие, с которым сталкиваются обычные новички, заключается в том, что они не знают, как отлаживать программу.Если они обнаруживают, что ожидаемый эффект не получен, они чувствуют, что у них нет возможности начать.

Общая отладка делится на внутреннюю отладку и отладку внешнего интерфейса.Прежде всего, необходимо судить, нормально ли возвращает результат серверная часть, поэтому я попросил его проверить с помощью метода API, чтобы увидеть, нормальный ли результат можно вернуть.

вставьте сюда описание изображения
Возвращаемый результат равен 0. Судя по снимку экрана, сначала необходимо отправить параметры, а правильные параметры не указаны.

{
    
    
  "openid":"这里是示例"
}

Значение параметра по умолчанию является примером здесь. Когда вы делаете тест, вам нужно передать фактическое значение. Значение по умолчанию определенно не сможет найти данные.

Другой - проверить код, чтобы убедиться, что параметры переданы правильно.

вставьте сюда описание изображения
Когда мы конструируем входные параметры, левая сторона — это имя параметра, а правая сторона — это значение параметра, которое должно соответствовать синтаксису формата объекта json.

Здесь строится условие запроса, что буквально означает openid=фактическое значение

Здесь есть синтаксис, называемый значением строкового литерала, который обычно заключен в двойные кавычки для формирования значения строкового литерала, тогда ваш фактический эффект запроса становится

openid=params.openid точно не сможет узнать содержимое, на самом деле нам нужно использовать значение входного параметра как условие запроса, поэтому меняем код на

{
    
    
	"key":"openid",
	"rel":"eq",
	"val":params.openid
}

После его изменения выясняется, что значение по-прежнему не может быть возвращено. В это время вам нужно проверить свои данные. Здесь
вставьте сюда описание изображения
две строки цены за единицу товара. Мы не очень хорошо проверяли, поэтому грязные данные хранился в базе данных.

В реальных проектах нельзя думать, что пользователи будут вводить данные по установленным правилам, либо по неосторожности, либо намеренно вводя, поэтому необходима проверка типа поля.

Еще проблема в том, что несколько кусков данных в openid пустые.Обычно такая ситуация возникает при входе через ПК. Поскольку openid нельзя получить в среде H5, вам необходимо опубликовать программу как небольшую программу для тестирования.

вставьте сюда описание изображения
После изменения кода и правильной передачи параметров API может нормально вернуться

После того, как бэкенд вернется правильно и обнаружит, что количество по-прежнему равно 0, нам нужно проверить внешний интерфейс.Мы получаем API через определение переменной, затем открываем инструмент разработки и отладки, вводим путь к переменной и смотрим, страница возвращает данные нормально

вставьте сюда описание изображения
Если переменная не возвращается, значит ваши параметры были переданы неправильно, и значение не может быть получено, мы можем его изменить и настроить через API в функции жизненного цикла.Структура кода такая

const result = await app.cloud.callConnector(
 {
    
    
   name:'API标识',
   methodName:'方法标识',
   params:{
    
    
     openid:app.auth.currentUser.openId
   }
 }
)

console.log(result)

После публикации в виде небольшой программы откройте инструмент отладки небольшой программы и наблюдайте за результатами в окне

В повседневной разработке мы должны владеть методами внутренней отладки, внешней отладки и отладки небольших программ, чтобы, когда в программе возникают проблемы, вы могли знать, как их решить.

Supongo que te gusta

Origin blog.csdn.net/u012877217/article/details/129580262
Recomendado
Clasificación