1

Принцип использования flags и flagsMask

Topic: Принцип использования flags и flagsMask

Появился вопрос по поводу использования функции update_user_flags, доступную в wialon pro API.

http://sdk.wialon.com/wiki/ru/pro/remot … user_flags 

Объясните, пожалуйста, принцип указания параметров flags и flagsMask. Какой бы, например, была бы команда ( 0 Пользователь выключен, 1 Может создавать элементы, 1 Может отправлять SMS)?

2

Принцип использования flags и flagsMask

Re: Принцип использования flags и flagsMask

Принцип расчета параметра flagsMask:
Открываем документацию и смотрим какие флаги нам нужно изменить. В вашем случае это:
0x01 - Пользователь выключен
0x04     Может создавать элементы
0x20     Может отправлять SMS
Итого маска: 0x1 + 0x4 + 0x20 = 0x25

Расчет flags:
Решаем какие из этих флагов нужно включить:
0x1 - вам нужно что бы пользователь был выключен, следовательно данный флаг  должен быть включен,
0x4 - аналогично данный флаг вы тоже хотите включить,
0x20 - и этот тоже
Итого флаги: 0x1 + 0x4 + 0x20 = 0x25

Флаги, которые не присутствуют в маске, остануться неизменными.

Development Department
Gurtam
3

Принцип использования flags и flagsMask

(edited by xardas 12/06/2013 10:18:07)

Re: Принцип использования flags и flagsMask

Спасибо, но все же при коммандах
?svc=user/update_user_flags&params={"userId":"992","flags":"1","flagsMask":0x01}&ssid=
приходит {fl: 1} (все верно)
?svc=user/update_user_flags&params={"userId":"992","flags":"1","flagsMask":0x02}&ssid
приходит {fl: 1}, но в админке видно, что у этого пользователя активировано свойство Can change password:, а по документации должно быть отключено.

Уточню, работаю с wialon pro.

4

Принцип использования flags и flagsMask

Re: Принцип использования flags и flagsMask

Обратите внимание что активированный флаг 0x02 значит, что пользователь не может менять пароль. Поэтому, если вы хотите ему запретить менять пароль, то запрос будет:
?svc=user/update_user_flags&params={"userId":"992","flags":0x02,"flagsMask":0x02}&ssid
если же вы хотите разрешить, то:
?svc=user/update_user_flags&params={"userId":"992","flags":0,"flagsMask":0x02}&ssid

Development Department
Gurtam
5

Принцип использования flags и flagsMask

Re: Принцип использования flags и flagsMask

Все ясно, спасибо.
Видимо запутало то, что при тестах использовалась маска 20(смс), которая вела к ошибке . {error: 7}