kintoone에 로그인 보너스 같은 거 설치.

11371 단어 kintone
이번에는 킨토인에 로그인하면 포인트를 받을 수 있는 로그인 보너스 같은 맞춤형 제작이다.

규격.


kintoone에 로그인하면 '로그인 보너스' 대화상자가 표시됩니다.
Logbo(로그인 보너스 생략)는 애플리케이션에 포인트를 적립했다.1일 1분!이렇게

관리자는 전체 인원의 점수를 볼 수 있다

일반 사용자는 자신의 몫만 본다

포인트 비교?차트 등에서

로그 응용 프로그램 만들기


그럼 바로 시작합시다.
우선 로그인 보너스를 저장하는 프로그램을 만듭니다.

창 설정


필드 유형
필드 코드
초기 값
기타
일자
일자
레코드 등록 일자를 초기값으로 설정합니다.
반드시... 해야 한다
사용자 선택
사용자 선택
로그인 사용자
반드시... 해야 한다
숫자.
주안점
1
반드시, 이벤트 기간 2분도 가능
문자열(단일행)

없음
중복 금지 & 필수

어플리케이션 액세스


에브리원은 음반 열람과 추가만 허용된다.

레코드 액세스


모든 음반에 대해 음반 내용을 볼 수 있는 조합(예를 들어 Admin)을 모두 허용한다.
창 필드를 추가하여 사용자 선택의 사용자만 탐색할 수 있도록 합니다.
에브리원, 모든 검사 다 빼.

필드 액세스


키 이외의 필드는 탐색만 하면 됩니다.키는 JavaScript로 편집되었으므로 여기서는 설정하지 않습니다.

JavaScript


자바스크립트는 로그 애플리케이션의 자바스크립트와 포털에 설정된 자바스크립트 2종으로 나뉜다.

로그 응용 프로그램 JavaScript


일반 사용자는 원래 편집 권한이 없지만 새로 추가된 권한이 있다.
따라서 JavaScript를 사용하여 응용 프로그램이 직접 추가될 때의 제한을 더합니다.
음반을 더 넣으면 너무 질질 끌린다.
키는 '날짜 사용자 코드' 로서 중복과 필수입니다.
이 키를 설정하면 하루에 한 번만 LOGBO를 추가할 수 있습니다.
(() => {
  "use strict";

  // 新規追加時、キーはアプリから値の変更ができないようにする。
  kintone.events.on(["app.record.create.show"], (event) => {
    event.record.キー.disabled = true;
    return event;
  });

  // 新規追加時、キー(日付_ユーザーコード)を設定する
  kintone.events.on(["app.record.create.submit"], (event) => {
    event.record.キー.value =
      event.record.日付.value + "_" + event.record.ユーザー選択.value[0].code;
    return event;
  });
})();

포털의 JavaScript


kintone 시스템 관리 JavaScript/CSS를 통한 사용자 정의
Cybozu CDN에 다음 2개를 추가합니다.
Luxon(날짜용)https://js.cybozu.com/luxon/1.26.0/luxon.min.jsSweetAlert v2.x (대화 상자가 귀여워짐)https://js.cybozu.com/sweetalert/v2.1.2/sweetalert.min.js
(() => {
  "use strict";
  kintone.events.on(["portal.show"], async (event) => {

    //今日のログボゲット済みか調べるパラメータ
    const getbody = {
      app: ログボアプリのID,
      query: `ユーザー選択 in (LOGINUSER()) and 日付 = TODAY()`,
      totalCount: true,
    };

    // ログボゲット済みか確かめる用
    const resp = await kintone.api(
      kintone.api.url("/k/v1/records", true),
      "GET",
      getbody
    );

    // 0件だったらログボゲット
    if (resp.totalCount === "0") {
      // ログイン中のユーザ情報取得
      const loginUser = kintone.getLoginUser();
      // 今日の日付ゲットする
      const date = luxon.DateTime.local();
      // レコード追加パラメータ。
      const postbody = {
        app: ログボアプリのID,
        // ※recordにはキー(日付_ユーザーコード)を設定。(他フィールドは初期値仕様なので設定不要)
        record: {
          キー: { value: date.toFormat("yyyy-MM-dd") + "_" + loginUser.code },
        },
      };
      const getLogb = await kintone.api(
        kintone.api.url("/k/v1/record", true),
        "POST",
        postbody
      );

      // SweetAlert
      swal({
        title: "ログインボーナス",
        text: "1ポイントゲットしたよ",
        icon: "success",
        button: "受け取る",
      });

    }
    return event;
  });
})();

총결산


로그인 보너스를 저축하면 어떻게 합니까?내 생각에도 이런 과제가 있을 것 같지만,kintoone에 로그인하면 조금 즐거워질지도 모른다.

좋은 웹페이지 즐겨찾기